==> Updating pacman database cache
:: Synchronizing package databases...
core downloading...
extra downloading...
==> Building qwen-code
-> repo: extra-staging
-> arch: aarch64
-> worker: ben-1
==> Building qwen-code for [extra-staging] (aarch64)
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.
🔵 Container arch-nspawn-2817848 on armbuild:: Synchronizing package databases...
core-staging downloading...
core-testing downloading...
core downloading...
extra-staging downloading...
extra-testing downloading...
aur downloading...
extra downloading...
:: Starting full system upgrade...
there is nothing to do
==> Building in chroot for [extra-staging] (aarch64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-staging-aarch64/root] -> [ben-1]...done
==> Making package: qwen-code 0.23.0-1 (Sat Oct 31 21:38:49 2026)
==> Retrieving sources...
-> Cloning qwen-code git repo...
Cloning into bare repository '/home/ben/alpb/build/qwen-code/qwen-code'...
remote: Enumerating objects: 1015383, done.
remote: Counting objects: 100% (3942/3942), done.
remote: Compressing objects: 100% (1719/1719), done.
remote: Total 1015383 (delta 3550), reused 2283 (delta 2160), pack-reused 1011441 (from 5)
Receiving objects: 100% (1015383/1015383), 1.94 GiB | 36.34 MiB/s, done.
Resolving deltas: 100% (811285/811285), done.
==> 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.
🔵 Container makechrootpkg-qwen-code.build.2817802 on armbuild3008;start=9da57da3df6e45dc841f6ab5277eb68e;user=root;hostname=makechrootpkg-qwen-code.build.2817802;machineid=79bbe7a13811466a874d323e27492c9b;bootid=011b0849286442cda1795eeb3007332d;pid=14;pidfdid=86709506;comm=sudo;targetuser=builduser;type=session==> Making package: qwen-code 0.23.0-1 (Sun Nov 1 04:40:25 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (9) New Version Net Change
extra-testing/abseil-cpp 20260817.0-2 11.78 MiB
extra-testing/ada 4.0.0-1 1.00 MiB
extra-testing/c-ares 1.34.9-1 0.68 MiB
extra-testing/gtest 1.18.0-1 1.80 MiB
extra-testing/libuv 1.53.0-1 0.70 MiB
extra-testing/simdjson 2:5.0.5-1 10.05 MiB
extra-testing/nodejs 26.13.0-1 63.17 MiB
core/procps-ng 4.0.7-1 3.15 MiB
extra-testing/ripgrep 15.2.0-1 4.15 MiB
Total Installed Size: 96.50 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 procps-ng...
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-testing/node-gyp 13.1.0-1 6.85 MiB
extra-testing/nodejs-nopt 10.0.1-1 0.03 MiB
extra-testing/oniguruma 6.9.10-3 0.93 MiB
extra-testing/perl-error 0.17031-1 0.04 MiB
extra-testing/perl-mailtools 2.22-3 0.10 MiB
extra-testing/perl-timedate 2.35-1 0.15 MiB
extra-testing/semver 7.8.5-1 0.10 MiB
extra-testing/zlib-ng 2.3.3-1 0.25 MiB
extra-testing/git 2.56.0-1 33.32 MiB
extra-testing/jq 1.8.2-1 0.55 MiB
extra-testing/npm 12.2.1-1 9.46 MiB
Total Installed Size: 51.77 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: 100% (13726/13726), 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 node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
added 2121 packages, and audited 2148 packages in 2m
588 packages are looking for funding
run `npm fund` for details
93 vulnerabilities (7 low, 55 moderate, 21 high, 10 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
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.23.0 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.23.0 generate
npm notice run node scripts/generate-git-commit-info.js
npm notice run @qwen-code/qwen-code-core@0.23.0 build
npm notice run node ../../scripts/build_package.js
Successfully copied files.
npm notice run @qwen-code/web-templates@0.23.0 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 12 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: browsers data (caniuse-lite) is 12 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
✓ 8 modules transformed.
rendering chunks...
computing gzip size...
dist/main.css 17.77 kB │ gzip: 4.28 kB
dist/main.js 32.80 kB │ gzip: 9.04 kB
✓ built in 603ms
Reading generated files...
Successfully generated /build/qwen-code/src/qwen-code/packages/web-templates/src/generated/insightTemplate.ts
Successfully built all web-templates.
npm notice run @qwen-code/channel-base@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-telegram@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-weixin@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-dingtalk@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-dws@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-wecom@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-feishu@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-qqbot@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-github@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-gitlab@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/channel-plugin-example@0.23.0 build
npm notice run tsc --build
npm notice run @qwen-code/audio-capture@0.23.0 build:ts
npm notice run tsc --build
npm notice run @qwen-code/node-repl-mcp@0.1.2 build
npm notice run node build.mjs
node-repl-mcp: runtime assets copied to /build/qwen-code/src/qwen-code/packages/node-repl/dist/runtime
npm notice run @qwen-code/acp-bridge@0.23.0 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.23.0 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...
Compiler option "skipLibCheck" is disabled to properly check generated output
Done in 48.93s
npm notice run @qwen-code/qwen-code@0.23.0 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...
Compiler option "skipLibCheck" is disabled to properly check generated output
Done in 6.45s
Browser daemon SDK bundle is 228009 bytes
Browser daemon SDK bundle exceeds the 221184-byte warning threshold
npm notice run @qwen-code/qwen-code@0.23.0 build
npm notice run node ../../scripts/build_package.js
Successfully copied files.
Generated settings JSON Schema at: /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/schemas/settings.schema.json
(node:2755) [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/qwen-live@0.1.0 build
npm notice run node build.mjs
npm notice run @qwen-code/webui@0.23.0 build
npm notice run vite build
vite v5.4.21 building for production...
transforming...
Browserslist: browsers data (caniuse-lite) is 12 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
✓ 163 modules transformed.
rendering chunks...
[vite:dts] Start generate declaration files...
computing gzip size...
dist/styles.css 84.48 kB │ gzip: 15.69 kB
dist/index.js 400.73 kB │ gzip: 100.32 kB │ map: 860.97 kB
[vite:dts] Start rollup declaration files...
Analysis will use the bundled TypeScript version 5.9.3
[vite:dts] Declaration files built in 12929ms.
dist/styles.css 84.48 kB │ gzip: 15.69 kB
dist/index.cjs 410.30 kB │ gzip: 101.02 kB │ map: 866.08 kB
✓ built in 15.39s
npm notice run @qwen-code/web-shell@0.23.0 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...
✓ 5771 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/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/index.html 13.80 kB │ gzip: 5.23 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-BGZRqbRo.css 532.03 kB │ gzip: 92.39 kB
../dist/assets/channel-B7ohGDil.js 0.11 kB │ gzip: 0.13 kB
../dist/assets/init-Gi6I4Gst.js 0.15 kB │ gzip: 0.13 kB
../dist/assets/chunk-2Q5K7J3B-jVDmOpAQ.js 0.19 kB │ gzip: 0.16 kB
../dist/assets/chunk-XXDRQBXY-CiG2j2Ji.js 0.23 kB │ gzip: 0.21 kB
../dist/assets/chunk-JWPE2WC7-DuArnVtF.js 0.30 kB │ gzip: 0.20 kB
../dist/assets/chunk-5VM5RSS4-DbG_SwdB.js 0.37 kB │ gzip: 0.27 kB
../dist/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js 0.43 kB │ gzip: 0.30 kB
../dist/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js 0.47 kB │ gzip: 0.32 kB
../dist/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js 0.47 kB │ gzip: 0.32 kB
../dist/assets/chunk-POPQ4Y6H-lVLu9Ild.js 0.53 kB │ gzip: 0.37 kB
../dist/assets/codeowners-Bp6g37R7.js 0.55 kB │ gzip: 0.32 kB
../dist/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js 0.55 kB │ gzip: 0.37 kB
../dist/assets/infoDiagram-RXCK75RN-eT1fANNm.js 0.59 kB │ gzip: 0.40 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-CcZuKIae.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-D_b-S0iK.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-Cxf7xE_Z.js 1.81 kB │ gzip: 0.89 kB
../dist/assets/hxml-TIA70rKU.js 1.83 kB │ gzip: 0.89 kB
../dist/assets/chunk-F27PBJKO-QEc4cY1v.js 1.85 kB │ gzip: 0.82 kB
../dist/assets/pegDiagram-XKGWAZYB-CwoI2T5G.js 1.96 kB │ gzip: 0.93 kB
../dist/assets/ebnfDiagram-PWID7BFC-Duk83Ek_.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-ESi1eNkE.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-yXqoYF1J.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-Bdkd3mCz.js 5.66 kB │ gzip: 2.32 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-FG0FNokz.js 6.23 kB │ gzip: 2.66 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-DaTmBmPG.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-DgCkp_Lm.js 8.30 kB │ gzip: 3.72 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-BKv4Z-UX.js 10.08 kB │ gzip: 3.61 kB
../dist/assets/gherkin--30QC5Em.js 10.12 kB │ gzip: 5.02 kB
../dist/assets/stateDiagram-HBIQ2CUA-CFoiJwD_.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-JgkP9qg-.js 10.82 kB │ gzip: 4.18 kB
../dist/assets/cadence-DNquZEk8.js 11.03 kB │ gzip: 2.32 kB
../dist/assets/dagre-3AP2YEHR-B4ABMIG-.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-C6XYlIer.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-ADh2x83l.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-k3evzZNn.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-WHfJo-22.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-C9V4rBvo.js 23.36 kB │ gzip: 7.81 kB
../dist/assets/sankeyDiagram-P5KCCOFB-m6AhoD0l.js 23.39 kB │ gzip: 8.54 kB
../dist/assets/journeyDiagram-EYS64GPL-CGim3EAi.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-CquLxtMr.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-zqvnpGHv.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-t_ug9vO8.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-DMdvxySG.js 30.92 kB │ gzip: 10.51 kB
../dist/assets/requirementDiagram-EFPCY7ZU-zUzTN7VE.js 31.20 kB │ gzip: 9.69 kB
../dist/assets/timeline-definition-24CTP7MA-Dzzc05t9.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-plh6MyGI.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-DkqIaFlJ.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-iJ36lQ3X.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-DemK0f7Y.js 42.37 kB │ gzip: 15.66 kB
../dist/assets/shellscript-atvbtKCR.js 42.71 kB │ gzip: 6.35 kB
../dist/assets/blockDiagram-NRAW4CY4-Bc8DEasw.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-BTBKTM5g.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-DxOf1zwL.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-DHjVgSji.js 62.60 kB │ gzip: 19.76 kB
../dist/assets/c4Diagram-UCG6FXSJ-Dimb2Hmh.js 65.55 kB │ gzip: 18.65 kB
../dist/assets/ocaml-BNioltXt.js 65.87 kB │ gzip: 5.19 kB
../dist/assets/ganttDiagram-EL5Y4UJY-DMM9DkCE.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-DGVHMMVm.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-CgS9hcaV.js 117.13 kB │ gzip: 42.48 kB
../dist/assets/sequenceDiagram-WJ2MYXX4-Cwhzsine.js 117.42 kB │ gzip: 31.01 kB
../dist/assets/mdx-sdHcTMYB.js 140.36 kB │ gzip: 23.83 kB
../dist/assets/architectureDiagram-5GKGNRK7-D9l7-bDo.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-D6cgpCnH.js 690.59 kB │ gzip: 154.58 kB
../dist/assets/mermaid.core-CGw0LkT_.js 695.49 kB │ gzip: 171.13 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-DRri_6_x.js 4,289.84 kB │ gzip: 1,249.06 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 36.38s
vite v5.4.21 building for production...
transforming...
✓ 570 modules transformed.
rendering chunks...
computing gzip size...
dist/daemon-react-sdk.js 1.69 kB │ gzip: 0.76 kB
dist/toolNames-DcL_jF5B.js 226.00 kB │ gzip: 52.52 kB
dist/index.js 6,738.48 kB │ gzip: 1,914.84 kB
✓ built in 12.15s
npm notice run qwen-code-vscode-ide-companion@0.23.0 build
npm notice run npm run build:dev
npm notice run qwen-code-vscode-ide-companion@0.23.0 build:dev
npm notice run npm run check-types && npm run lint && node esbuild.js
npm notice run qwen-code-vscode-ide-companion@0.23.0 check-types
npm notice run tsc --noEmit
npm notice run qwen-code-vscode-ide-companion@0.23.0 lint
npm notice run eslint src
npm notice run @qwen-code/chrome-bridge@0.23.0 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.23.0 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.23.0 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 67ms
npm notice run @qwen-code/external-context-mem0@0.23.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 @qwen-code/external-context-mem0@0.23.0 clean
npm notice run node -e "require('node:fs').rmSync('dist',{recursive:true,force:true})"
dist/main.js 1.2mb ⚠️
⚡ Done in 52ms
npm notice run @qwen-code/qwen-code@0.23.0 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.23.0 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 15 OpenTUI runtime assets to dist/opentui-assets/
Copied extension examples to dist/examples/
Copied Web Shell UI to dist/web-shell/
Stamped the review source digest over 111 files.
✅ All bundle assets copied to dist/
npm notice
npm notice 📦 @qwen-code/qwen-code@0.23.0
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 11.7kB README.md
npm notice 9.0kB dist/bundled/batch/SKILL.md
npm notice 214B dist/bundled/computer-use/agents/openai.yaml
npm notice 5.9kB 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.8kB 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 17.4kB dist/bundled/qc-helper/docs/common-workflow.md
npm notice 205B dist/bundled/qc-helper/docs/configuration/_meta.ts
npm notice 18.3kB dist/bundled/qc-helper/docs/configuration/auth.md
npm notice 51.1kB dist/bundled/qc-helper/docs/configuration/model-providers.md
npm notice 3.0kB dist/bundled/qc-helper/docs/configuration/qwen-ignore.md
npm notice 294.1kB 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.4kB dist/bundled/qc-helper/docs/extension/introduction.md
npm notice 968B dist/bundled/qc-helper/docs/features/_meta.ts
npm notice 15.1kB dist/bundled/qc-helper/docs/features/approval-mode.md
npm notice 12.5kB dist/bundled/qc-helper/docs/features/arena.md
npm notice 15.9kB dist/bundled/qc-helper/docs/features/auto-mode.md
npm notice 260B dist/bundled/qc-helper/docs/features/channels/_meta.ts
npm notice 11.7kB dist/bundled/qc-helper/docs/features/channels/dingtalk.md
npm notice 7.1kB 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 40.1kB 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 58.9kB dist/bundled/qc-helper/docs/features/code-review.md
npm notice 64.6kB 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 8.7kB dist/bundled/qc-helper/docs/features/goals.md
npm notice 31.3kB dist/bundled/qc-helper/docs/features/headless.md
npm notice 64.3kB 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.3kB dist/bundled/qc-helper/docs/features/memory.md
npm notice 2.9kB dist/bundled/qc-helper/docs/features/multi-agent-coordination.md
npm notice 3.4kB dist/bundled/qc-helper/docs/features/output-styles.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 17.4kB dist/bundled/qc-helper/docs/qwen-serve-deploy-local.md
npm notice 157.1kB 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 25.3kB dist/bundled/review/references/persistence.md
npm notice 60.0kB dist/bundled/review/references/posting.md
npm notice 360.6kB 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-M4X5F3VK.js
npm notice 968.6kB dist/chunks/acpAgent-B54FNVBZ.js
npm notice 2.7kB dist/chunks/agent-DLPO62R4.js
npm notice 2.4kB dist/chunks/agent-headless-H6JJR4IF.js
npm notice 236.8kB dist/chunks/anthropicContentGenerator-L76MR5OR.js
npm notice 25.1kB dist/chunks/artifact-tool-MYCL2QCS.js
npm notice 12.9kB dist/chunks/askUserQuestion-THQZMG44.js
npm notice 3.4kB dist/chunks/bridge-JXIPNYSV.js
npm notice 1.5kB dist/chunks/build-63BIOYWK.js
npm notice 177.1kB dist/chunks/ca-BNU7YNDE.js
npm notice 15.7kB dist/chunks/channel-management-service-4MTCEGJB.js
npm notice 3.6kB dist/chunks/channel-settings-store-JHULP3EL.js
npm notice 880B dist/chunks/channel-worker-group-47F4ISUZ.js
npm notice 22.3kB dist/chunks/channel-worker-manager-I5Y44GYR.js
npm notice 942B dist/chunks/channel-worker-supervisor-6VCLUXFE.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 19.3kB dist/chunks/chunk-2M3EWQNG.js
npm notice 16.4kB dist/chunks/chunk-2MIN6GRR.js
npm notice 37.1kB dist/chunks/chunk-2TMRWTPF.js
npm notice 953B dist/chunks/chunk-2X56YUSZ.js
npm notice 51.5kB dist/chunks/chunk-3AKCBZVW.js
npm notice 526.5kB dist/chunks/chunk-3HLT7WTP.js
npm notice 378B dist/chunks/chunk-3JQZVCBI.js
npm notice 11.7kB dist/chunks/chunk-3LQUNURB.js
npm notice 2.5kB dist/chunks/chunk-3SH53ANB.js
npm notice 2.0kB dist/chunks/chunk-3VUENPWF.js
npm notice 3.9kB dist/chunks/chunk-3XGEQF73.js
npm notice 63.3kB dist/chunks/chunk-4HVH57J3.js
npm notice 1.8kB dist/chunks/chunk-4JRM2BSM.js
npm notice 2.4kB dist/chunks/chunk-4LIFGNI4.js
npm notice 27.9kB dist/chunks/chunk-4P6OTVPH.js
npm notice 5.2kB dist/chunks/chunk-4PSDSCW3.js
npm notice 37.2kB dist/chunks/chunk-4UANMABT.js
npm notice 8.6kB dist/chunks/chunk-4UBPBVWF.js
npm notice 9.6kB dist/chunks/chunk-4VQBQLIZ.js
npm notice 265B dist/chunks/chunk-4WGODMVR.js
npm notice 3.8kB dist/chunks/chunk-5EJZE3FP.js
npm notice 775.8kB dist/chunks/chunk-5H5S4UY5.js
npm notice 932B dist/chunks/chunk-5HBA2Z7V.js
npm notice 689B dist/chunks/chunk-5IENVM7Z.js
npm notice 12.6kB dist/chunks/chunk-5M6IDOMF.js
npm notice 789B dist/chunks/chunk-5O2XNYP6.js
npm notice 3.2kB dist/chunks/chunk-5Q5RC2WE.js
npm notice 19.3kB dist/chunks/chunk-5QWWOFGG.js
npm notice 553.1kB dist/chunks/chunk-5WV5S2GT.js
npm notice 1.2kB dist/chunks/chunk-6H67XLET.js
npm notice 3.2kB dist/chunks/chunk-6HUXPLB5.js
npm notice 1.5kB dist/chunks/chunk-6MBXY6WM.js
npm notice 2.5kB dist/chunks/chunk-6PLDPT2C.js
npm notice 662B dist/chunks/chunk-6PVPNMXU.js
npm notice 1.4kB dist/chunks/chunk-7FA2II6K.js
npm notice 3.1kB dist/chunks/chunk-7IKXTGZT.js
npm notice 622.3kB dist/chunks/chunk-7JMGTOH7.js
npm notice 9.4kB dist/chunks/chunk-7TBU7PU2.js
npm notice 21.2kB dist/chunks/chunk-7U5G6JXI.js
npm notice 12.8kB dist/chunks/chunk-7XL4WRXM.js
npm notice 15.8kB dist/chunks/chunk-22UH7VTP.js
npm notice 1.5kB dist/chunks/chunk-24FVUD5P.js
npm notice 44.3kB dist/chunks/chunk-27FZJ5RG.js
npm notice 8.0kB dist/chunks/chunk-47ECGEJC.js
npm notice 14.7kB dist/chunks/chunk-47RYEQW5.js
npm notice 114.4kB dist/chunks/chunk-53ROTTE4.js
npm notice 7.9kB dist/chunks/chunk-54C6PIGT.js
npm notice 50.6kB dist/chunks/chunk-57OAHC2Y.js
npm notice 15.4kB dist/chunks/chunk-64QH2UC6.js
npm notice 158.3kB dist/chunks/chunk-74TONY4F.js
npm notice 18.7kB dist/chunks/chunk-75DOP5OR.js
npm notice 8.8kB dist/chunks/chunk-373DQUVA.js
npm notice 90.4kB dist/chunks/chunk-A4N4FTMH.js
npm notice 85.9kB dist/chunks/chunk-ADCW5QS7.js
npm notice 6.9kB dist/chunks/chunk-ADJD4LZF.js
npm notice 22.3kB dist/chunks/chunk-ADYN7P2Y.js
npm notice 3.0kB dist/chunks/chunk-AHYTURFB.js
npm notice 6.9kB dist/chunks/chunk-AI35S34R.js
npm notice 1.4kB dist/chunks/chunk-ALMR3E6Q.js
npm notice 429.9kB dist/chunks/chunk-AMDSOFFV.js
npm notice 28.4kB dist/chunks/chunk-ANVG3BVV.js
npm notice 3.4kB dist/chunks/chunk-AQ37AY7B.js
npm notice 2.0kB dist/chunks/chunk-ATBAUAUB.js
npm notice 159.7kB dist/chunks/chunk-B6VPATI5.js
npm notice 7.4kB dist/chunks/chunk-B37BBFNF.js
npm notice 3.1kB dist/chunks/chunk-BA4WJC4L.js
npm notice 2.3kB dist/chunks/chunk-BA6APJ56.js
npm notice 883.2kB dist/chunks/chunk-bdqvmfwv-ZTSOWAFE.js
npm notice 3.2kB dist/chunks/chunk-BFSFJR3D.js
npm notice 655.2kB dist/chunks/chunk-BFX5T57T.js
npm notice 1.6kB dist/chunks/chunk-BHTYRHJF.js
npm notice 1.2kB dist/chunks/chunk-CFKIH3D3.js
npm notice 1.2kB dist/chunks/chunk-CHEIIBT3.js
npm notice 541.9kB dist/chunks/chunk-CQ35AJ4Z.js
npm notice 11.3kB dist/chunks/chunk-CVX63TFJ.js
npm notice 296.9kB dist/chunks/chunk-CXK6ROLJ.js
npm notice 433.3kB dist/chunks/chunk-DI35ZN7T.js
npm notice 3.1kB dist/chunks/chunk-DJ2GSRLV.js
npm notice 1.6kB dist/chunks/chunk-DMEUXLSS.js
npm notice 20.2kB dist/chunks/chunk-DMTGGOSA.js
npm notice 48.2kB dist/chunks/chunk-DQCKVAF5.js
npm notice 243.0kB dist/chunks/chunk-DYTW3QVG.js
npm notice 20.2kB dist/chunks/chunk-E4JNFXNI.js
npm notice 53.0kB dist/chunks/chunk-EAHOJF6V.js
npm notice 10.7kB dist/chunks/chunk-ECBQ7CO6.js
npm notice 44.5kB dist/chunks/chunk-EFTPIZIC.js
npm notice 2.0kB dist/chunks/chunk-EIJT2PQ6.js
npm notice 1.1kB dist/chunks/chunk-EKTCKZV5.js
npm notice 1.9kB dist/chunks/chunk-ENYUKMFK.js
npm notice 16.3kB dist/chunks/chunk-F47DITLZ.js
npm notice 1.5kB dist/chunks/chunk-FBX2SDQ4.js
npm notice 279.6kB dist/chunks/chunk-FD5SJOWT.js
npm notice 667.9kB dist/chunks/chunk-FKLHUM4Y.js
npm notice 8.0kB dist/chunks/chunk-FPGTNKCP.js
npm notice 2.8kB dist/chunks/chunk-FSESR3V3.js
npm notice 1.8kB dist/chunks/chunk-FTJMWDND.js
npm notice 17.5kB dist/chunks/chunk-FUO5V5KI.js
npm notice 9.7kB dist/chunks/chunk-FWSSXAIL.js
npm notice 6.8kB dist/chunks/chunk-FYJ7W2PI.js
npm notice 23.6kB dist/chunks/chunk-G5PBOQWI.js
npm notice 36.4kB dist/chunks/chunk-G7HBEEX7.js
npm notice 11.6kB dist/chunks/chunk-GB4UKWY5.js
npm notice 16.6kB dist/chunks/chunk-GIX4WHTU.js
npm notice 4.3kB dist/chunks/chunk-GOFAQQZA.js
npm notice 578.2kB dist/chunks/chunk-GUZLH4A6.js
npm notice 688B dist/chunks/chunk-GYTKQYDB.js
npm notice 344.3kB dist/chunks/chunk-H43PSPYS.js
npm notice 878B dist/chunks/chunk-HHJLM3WQ.js
npm notice 42.0kB dist/chunks/chunk-HQQLJ6EO.js
npm notice 12.8kB dist/chunks/chunk-HRPFBHW7.js
npm notice 832B dist/chunks/chunk-HRVMTN37.js
npm notice 8.2kB dist/chunks/chunk-HT5S5TRQ.js
npm notice 20.8kB dist/chunks/chunk-HWPATYVI.js
npm notice 4.0kB dist/chunks/chunk-HWVUSYSN.js
npm notice 13.8kB dist/chunks/chunk-I4NRYS6A.js
npm notice 5.5kB dist/chunks/chunk-I24UW3ZU.js
npm notice 2.2kB dist/chunks/chunk-IDS7MSUP.js
npm notice 38.6kB dist/chunks/chunk-IG4W5SJR.js
npm notice 495B dist/chunks/chunk-IQAFKVXS.js
npm notice 4.6kB dist/chunks/chunk-IRH27ZC2.js
npm notice 1.4MB dist/chunks/chunk-IRKQ4YYX.js
npm notice 78.9kB dist/chunks/chunk-IW6RQPQB.js
npm notice 2.5kB dist/chunks/chunk-J2S4EL5Y.js
npm notice 233.0kB dist/chunks/chunk-J4MOFEOK.js
npm notice 1.2kB dist/chunks/chunk-J5TTWBZK.js
npm notice 6.6kB dist/chunks/chunk-J7Z5C5M5.js
npm notice 18.9kB dist/chunks/chunk-J766GQJT.js
npm notice 267.1kB dist/chunks/chunk-JA5CBKRP.js
npm notice 4.2kB dist/chunks/chunk-JCHBYNIA.js
npm notice 85.0kB dist/chunks/chunk-JHN7UIDW.js
npm notice 196.0kB dist/chunks/chunk-JJKNYRFY.js
npm notice 71.3kB dist/chunks/chunk-JK24XSRE.js
npm notice 8.5kB dist/chunks/chunk-JR42V4UY.js
npm notice 613B dist/chunks/chunk-JS73NNWF.js
npm notice 934B dist/chunks/chunk-JVEGA3MM.js
npm notice 640B dist/chunks/chunk-JX6XHPTX.js
npm notice 7.1kB dist/chunks/chunk-JZWOCUZ3.js
npm notice 233.6kB dist/chunks/chunk-K6KS3LTN.js
npm notice 13.2kB dist/chunks/chunk-KFN2IZYR.js
npm notice 80.4kB dist/chunks/chunk-KGV55H53.js
npm notice 13.0kB dist/chunks/chunk-KHP66DFN.js
npm notice 583.2kB dist/chunks/chunk-KJYTBLAG.js
npm notice 65.7kB dist/chunks/chunk-KM3XVTMO.js
npm notice 3.6kB dist/chunks/chunk-KMU3ZHH4.js
npm notice 671B dist/chunks/chunk-KW7NOTN6.js
npm notice 39.0kB dist/chunks/chunk-KWITYKTK.js
npm notice 70.7kB dist/chunks/chunk-KZKSPWUX.js
npm notice 725B dist/chunks/chunk-L34XSHIZ.js
npm notice 8.9kB dist/chunks/chunk-LAUEEBDL.js
npm notice 11.7kB dist/chunks/chunk-LB3WQQJK.js
npm notice 687B dist/chunks/chunk-LBOVL47Y.js
npm notice 30.0kB dist/chunks/chunk-LEPCWS5A.js
npm notice 29.6kB dist/chunks/chunk-LGXA2ENT.js
npm notice 784B dist/chunks/chunk-LIKIJAUH.js
npm notice 359B dist/chunks/chunk-LJZSMWOH.js
npm notice 42.6kB dist/chunks/chunk-LKODFJRD.js
npm notice 6.9kB dist/chunks/chunk-LT4JJ7DR.js
npm notice 39.8kB dist/chunks/chunk-LU77UT4D.js
npm notice 14.5kB dist/chunks/chunk-M2NMY2QR.js
npm notice 2.8kB dist/chunks/chunk-M4KFODIP.js
npm notice 17.8kB dist/chunks/chunk-M4LBBSVP.js
npm notice 3.5kB dist/chunks/chunk-M5GB774H.js
npm notice 62.4kB dist/chunks/chunk-MAHMGWF7.js
npm notice 55.2kB dist/chunks/chunk-MLXTMF7H.js
npm notice 13.5kB dist/chunks/chunk-MOF6VZN2.js
npm notice 1.3kB dist/chunks/chunk-MR3PXB6E.js
npm notice 235B dist/chunks/chunk-N2TNM3QB.js
npm notice 2.1kB dist/chunks/chunk-N4QWUPDM.js
npm notice 8.3kB dist/chunks/chunk-NAVJD2PQ.js
npm notice 34.2kB dist/chunks/chunk-NB5RW5FX.js
npm notice 19.8kB dist/chunks/chunk-NF5J2WFA.js
npm notice 7.3kB dist/chunks/chunk-NFIDVZND.js
npm notice 5.5kB dist/chunks/chunk-NPQ5ZKRP.js
npm notice 891B dist/chunks/chunk-NRL5CUZT.js
npm notice 18.7kB dist/chunks/chunk-NSUKQ4DN.js
npm notice 1.9kB dist/chunks/chunk-NUHOLAQ6.js
npm notice 11.3kB dist/chunks/chunk-NXKOVOM5.js
npm notice 539B dist/chunks/chunk-NYWWQ437.js
npm notice 3.7kB dist/chunks/chunk-NYX53SV4.js
npm notice 898.6kB dist/chunks/chunk-O4KNCAX4.js
npm notice 8.1kB dist/chunks/chunk-O5CD7T4T.js
npm notice 478B dist/chunks/chunk-O6GEWCJA.js
npm notice 70.0kB dist/chunks/chunk-OBTWL6ZW.js
npm notice 353B dist/chunks/chunk-OCPBI7J5.js
npm notice 32.4kB dist/chunks/chunk-ODZF64DM.js
npm notice 16.5kB dist/chunks/chunk-OHOO527W.js
npm notice 5.1kB dist/chunks/chunk-OHU2H5CS.js
npm notice 271B dist/chunks/chunk-OIBUG24X.js
npm notice 3.9kB dist/chunks/chunk-OKTNXDVO.js
npm notice 89.6kB dist/chunks/chunk-OKVCACYT.js
npm notice 10.7kB dist/chunks/chunk-OPNC6R3I.js
npm notice 147.9kB dist/chunks/chunk-ORFIYTI2.js
npm notice 30.5kB dist/chunks/chunk-OSHQMOBS.js
npm notice 1.9MB dist/chunks/chunk-OSKBZFA3.js
npm notice 73.9kB dist/chunks/chunk-OSSTATJF.js
npm notice 13.6kB dist/chunks/chunk-P6UIF2OW.js
npm notice 11.9kB dist/chunks/chunk-PB7JBAHF.js
npm notice 723B dist/chunks/chunk-PDAKFU7M.js
npm notice 5.4kB dist/chunks/chunk-PQEISIKS.js
npm notice 486B dist/chunks/chunk-QAK5475D.js
npm notice 20.8kB dist/chunks/chunk-QFRC36OL.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 213.4kB dist/chunks/chunk-QJNDUTOL.js
npm notice 16.9kB dist/chunks/chunk-QJVZLILI.js
npm notice 95.5kB dist/chunks/chunk-QKDNS6FU.js
npm notice 93.2kB dist/chunks/chunk-QMGX2KO2.js
npm notice 20.2kB dist/chunks/chunk-QMZBMY5P.js
npm notice 2.7kB dist/chunks/chunk-QPSAJVIF.js
npm notice 5.3kB dist/chunks/chunk-QQD2GART.js
npm notice 423B dist/chunks/chunk-QUPXZXLV.js
npm notice 5.6kB dist/chunks/chunk-R4YOSRJH.js
npm notice 9.8kB dist/chunks/chunk-RAFQIHN2.js
npm notice 9.5kB dist/chunks/chunk-RDFW3LHT.js
npm notice 3.6kB dist/chunks/chunk-RKFGE7JH.js
npm notice 430B dist/chunks/chunk-RKUWKYED.js
npm notice 8.1kB dist/chunks/chunk-RKW36UWC.js
npm notice 71.7kB dist/chunks/chunk-RVFB6IQH.js
npm notice 129.3kB dist/chunks/chunk-RVIGZBIT.js
npm notice 16.4kB dist/chunks/chunk-S2T7H5MI.js
npm notice 10.2kB dist/chunks/chunk-S6H3ELPG.js
npm notice 1.4kB dist/chunks/chunk-S6LOFUVP.js
npm notice 169.0kB dist/chunks/chunk-SI7WDR3U.js
npm notice 5.3kB dist/chunks/chunk-STUJ7IMZ.js
npm notice 1.9kB dist/chunks/chunk-SV5PQVQE.js
npm notice 61.0kB dist/chunks/chunk-TBWQLLFO.js
npm notice 5.8kB dist/chunks/chunk-TJYRTS4S.js
npm notice 52.9kB dist/chunks/chunk-TQHPVKO6.js
npm notice 11.7kB dist/chunks/chunk-TSJEVCWU.js
npm notice 1.5kB dist/chunks/chunk-TSTTR56N.js
npm notice 845B dist/chunks/chunk-TSZSGQ3N.js
npm notice 966B dist/chunks/chunk-TWPJO254.js
npm notice 675B dist/chunks/chunk-TXASDT2M.js
npm notice 357.4kB dist/chunks/chunk-U4DJ5XB3.js
npm notice 12.9kB dist/chunks/chunk-U6D2PPMN.js
npm notice 35.2kB dist/chunks/chunk-UA2VS6N2.js
npm notice 957B dist/chunks/chunk-UDG5EZJI.js
npm notice 10.2kB dist/chunks/chunk-UJ4DUYIH.js
npm notice 5.1kB dist/chunks/chunk-UKYXYWI2.js
npm notice 20.3kB dist/chunks/chunk-UTYBJC5U.js
npm notice 5.6kB dist/chunks/chunk-UXEO7E3V.js
npm notice 719B dist/chunks/chunk-V5U2NZNJ.js
npm notice 537B dist/chunks/chunk-V6WHFGST.js
npm notice 1.1kB dist/chunks/chunk-V7RNNPGC.js
npm notice 530B dist/chunks/chunk-VBWD6C27.js
npm notice 15.4kB dist/chunks/chunk-VCVKLJLA.js
npm notice 10.5kB dist/chunks/chunk-VGC4I5JJ.js
npm notice 1.6kB dist/chunks/chunk-VGHZT6JR.js
npm notice 21.4kB dist/chunks/chunk-VKKC42DE.js
npm notice 12.2kB dist/chunks/chunk-VNOVK4I7.js
npm notice 12.4kB dist/chunks/chunk-VYIUNFEA.js
npm notice 870B dist/chunks/chunk-W3N5XAZ6.js
npm notice 64.2kB dist/chunks/chunk-W6CAPKBP.js
npm notice 2.4kB dist/chunks/chunk-WCCLLK7X.js
npm notice 1.7kB dist/chunks/chunk-WUDDUBIM.js
npm notice 2.0kB dist/chunks/chunk-WZAD4ZNJ.js
npm notice 74.7kB dist/chunks/chunk-X5J5RYNI.js
npm notice 4.1kB dist/chunks/chunk-XBVNNDPK.js
npm notice 9.2kB dist/chunks/chunk-XEAAO654.js
npm notice 195.3kB dist/chunks/chunk-XFSFZCM5.js
npm notice 20.4kB dist/chunks/chunk-XLXAZLDR.js
npm notice 11.0kB dist/chunks/chunk-XWHRZ2O3.js
npm notice 2.6kB dist/chunks/chunk-XWRJCPHC.js
npm notice 395B dist/chunks/chunk-YAF2MQZ6.js
npm notice 6.2MB dist/chunks/chunk-YFI2I7K4.js
npm notice 6.2kB dist/chunks/chunk-YFU6G4PB.js
npm notice 3.3kB dist/chunks/chunk-YQ3U5MUC.js
npm notice 3.8kB dist/chunks/chunk-YQKF3I2O.js
npm notice 18.1kB dist/chunks/chunk-Z3WWQXT3.js
npm notice 1.2kB dist/chunks/chunk-Z7B6SRPM.js
npm notice 2.4kB dist/chunks/chunk-ZDFQGHZH.js
npm notice 17.4kB dist/chunks/chunk-ZDSNJ4YR.js
npm notice 680B dist/chunks/chunk-ZELCTN6Y.js
npm notice 1.4kB dist/chunks/chunk-ZEZKIS2K.js
npm notice 5.6kB dist/chunks/chunk-ZGCKTAL5.js
npm notice 6.3kB dist/chunks/chunk-ZHO2CW6D.js
npm notice 7.0kB dist/chunks/chunk-ZJ2LM2SI.js
npm notice 71.0kB dist/chunks/chunk-ZL4HFSL6.js
npm notice 36.8kB dist/chunks/chunk-ZLBIFIMV.js
npm notice 3.4kB dist/chunks/chunk-ZNHRHLKU.js
npm notice 3.1kB dist/chunks/chunk-ZPJWUGCS.js
npm notice 58.3kB dist/chunks/chunk-ZTPGUFQV.js
npm notice 7.5kB dist/chunks/chunk-ZVP4PWBU.js
npm notice 19.4kB dist/chunks/chunk-ZWJIQZFI.js
npm notice 202B dist/chunks/cli-entry-path-4VJ3Y6T2.js
npm notice 3.3kB dist/chunks/config-utils-Z46R2VWN.js
npm notice 3.1kB dist/chunks/contextCommand-LJNITBCJ.js
npm notice 4.3kB dist/chunks/core-runtime-QYF2JCKW.js
npm notice 31.5kB dist/chunks/create-sub-session-3GBGXIRQ.js
npm notice 402B dist/chunks/create-sub-session-LUPWEUHR.js
npm notice 11.0kB dist/chunks/cron-create-CRSPET3H.js
npm notice 2.9kB dist/chunks/cron-delete-DB77SZTU.js
npm notice 4.5kB dist/chunks/cron-list-U2JNYWV6.js
npm notice 83.8kB dist/chunks/daemon-git-worktree-guard-WYBLDDWO.js
npm notice 479.0kB dist/chunks/daemon-RKDGBFLK.js
npm notice 3.4kB dist/chunks/daemon-status-provider-OSPTJEMB.js
npm notice 5.8kB dist/chunks/daemon-trust-policy-monitor-EI3M6VAN.js
npm notice 3.3kB dist/chunks/daemon-trust-policy-NC7VINUE.js
npm notice 140.8kB dist/chunks/de-T4BLOKEC.js
npm notice 3.1kB dist/chunks/deferred-core-runtime-X3GFP4EM.js
npm notice 747.0kB dist/chunks/devtools-VDRJYPZF.js
npm notice 720B dist/chunks/discovery-TUM3ZQ6U.js
npm notice 5.8kB dist/chunks/display-image-73C7XNRK.js
npm notice 98.9kB dist/chunks/dist-62OZ7QXB.js
npm notice 5.8MB dist/chunks/dist-EDHQIBYD.js
npm notice 505.7kB dist/chunks/dist-GT64AAUR.js
npm notice 27.1kB dist/chunks/dist-JVXT4VUJ.js
npm notice 405.7kB dist/chunks/dist-L6URO6CK.js
npm notice 359.7kB dist/chunks/dist-LXFYIJNG.js
npm notice 121.5kB dist/chunks/dist-PDGNRVPY.js
npm notice 258B dist/chunks/dist-PZV5RKM6.js
npm notice 108.2kB dist/chunks/dist-QAF5DO3Y.js
npm notice 203.6kB dist/chunks/dist-ZCJLKQSP.js
npm notice 3.1kB dist/chunks/earlyInputCapture-N6RT4RSR.js
npm notice 33.9kB dist/chunks/edit-UNS7XBL3.js
npm notice 165.9kB dist/chunks/en-2RATMNX7.js
npm notice 7.6kB dist/chunks/enter-worktree-B6USKSIK.js
npm notice 8.5kB dist/chunks/enterPlanMode-PVSYM5JO.js
npm notice 3.7kB dist/chunks/environment-5TAGQILZ.js
npm notice 3.2kB dist/chunks/errors-JOUH3M7G.js
npm notice 165.7kB dist/chunks/esm-K5FARBNI.js
npm notice 17.1kB dist/chunks/exit-worktree-DLQ73SJH.js
npm notice 2.4kB dist/chunks/exitPlanMode-EHMLO3BC.js
npm notice 10.1kB dist/chunks/external-tool-guard-provider-TE4DRY36.js
npm notice 18.2kB dist/chunks/fast-path-PCAYEJAN.js
npm notice 760B dist/chunks/fast-path-settings-MFUR3IWK.js
npm notice 4.8kB dist/chunks/fileFromPath-UDALK7FM.js
npm notice 145.7kB dist/chunks/fr-BGHGYX6A.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-EPOQZ5D6.js
npm notice 2.9kB dist/chunks/goal-tools-6LSKM45K.js
npm notice 21.0kB dist/chunks/grep-AJVLCVXC.js
npm notice 3.2kB dist/chunks/handleAutoUpdate-WJRUKLW7.js
npm notice 3.4kB dist/chunks/i18n-SNHM5OBC.js
npm notice 7.1kB dist/chunks/image-gen-VOIDOHOB.js
npm notice 3.3kB dist/chunks/initializer-JONUPVGM.js
npm notice 3.1kB dist/chunks/installationInfo-36ATQRBI.js
npm notice 198.8kB dist/chunks/ja-G3FTD5XE.js
npm notice 270B dist/chunks/keychain-token-storage-REZVMJA6.js
npm notice 434B dist/chunks/kittyProtocolDetector-BFLAKYXH.js
npm notice 226B dist/chunks/lib-RUF3WZA6.js
npm notice 5.0kB dist/chunks/list-agents-SBMONIUK.js
npm notice 3.4kB dist/chunks/list-FC7HLJ44.js
npm notice 120.5kB dist/chunks/llm-55J6CX2Q.js
npm notice 10.3kB dist/chunks/llm-content-generator-LX4NKPHF.js
npm notice 3.3kB dist/chunks/loadedSettingsAdapter-LURWNBWE.js
npm notice 49.3kB dist/chunks/loggingContentGenerator-DHPDND2Q.js
npm notice 6.8kB dist/chunks/loop-wakeup-QA6SHCZT.js
npm notice 1.5MB dist/chunks/lowlight-J2OZNPCA.js
npm notice 9.4kB dist/chunks/ls-HEJNCEYO.js
npm notice 35.4kB dist/chunks/lsp-WOQKNZP6.js
npm notice 198B dist/chunks/main-PXAUXNF2.js
npm notice 14.0kB dist/chunks/managed-npm-update-M255YLVR.js
npm notice 3.2kB dist/chunks/MaxSizedBox-RNGVXWGA.js
npm notice 3.2kB dist/chunks/mcp-SXZJHF4P.js
npm notice 22.9kB dist/chunks/monitor-QZ36I7HT.js
npm notice 12.1kB dist/chunks/multipart-parser-AWZKXSQN.js
npm notice 6.5kB dist/chunks/node-UETAYMMO.js
npm notice 5.6kB dist/chunks/nonInteractiveCli-QARDVI4R.js
npm notice 29.0kB dist/chunks/notebook-edit-7K4HHAM2.js
npm notice 1.5kB dist/chunks/open-with-auth-D6JD6LDS.js
npm notice 2.1kB dist/chunks/openaiContentGenerator-B54P5Q4I.js
npm notice 3.1kB dist/chunks/pidfile-2IXMDQ54.js
npm notice 21.9kB dist/chunks/process-registry-OAEG6WGC.js
npm notice 708B dist/chunks/processUtils-522KAVXK.js
npm notice 3.1kB dist/chunks/prompt-terminal-ledger-73JOMAKF.js
npm notice 220B dist/chunks/proper-lockfile-3LHWIM44.js
npm notice 140.2kB dist/chunks/pt-D73IFYT7.js
npm notice 8.0kB dist/chunks/qwenContentGenerator-L3A2O3HU.js
npm notice 1.3kB dist/chunks/qwenOAuth2-7AOCKSOQ.js
npm notice 200B dist/chunks/react-SG7JAQSZ.js
npm notice 794B dist/chunks/read-file-RDKMUBV5.js
npm notice 6.4kB dist/chunks/read-mcp-resource-GLAGB6R7.js
npm notice 268B dist/chunks/read-package-up-6T6ICKR7.js
npm notice 616B dist/chunks/record-artifact-SWVR7NSU.js
npm notice 3.2kB dist/chunks/renderer-selection-M4UN63VJ.js
npm notice 858B dist/chunks/report-findings-AL5YW3KI.js
npm notice 4.2kB dist/chunks/request-shutdown-5YK4IZ54.js
npm notice 3.5kB dist/chunks/resumeHistoryUtils-WOBB5C5Z.js
npm notice 1.0kB dist/chunks/ripGrep-O7AXXATQ.js
npm notice 341.9kB dist/chunks/ru-QMISLKRH.js
npm notice 383.1kB dist/chunks/run-qwen-serve-NFIE7YNK.js
npm notice 4.3kB dist/chunks/runtime-ZJWIOHCI.js
npm notice 3.9kB dist/chunks/scheduled-tasks-HX535XSL.js
npm notice 3.7kB dist/chunks/scheduler-ZKKVWCFZ.js
npm notice 913.8kB dist/chunks/sdk-exporters-grpc-MXTVSE3C.js
npm notice 21.1kB dist/chunks/sdk-exporters-http-3JO5TJNU.js
npm notice 458.5kB dist/chunks/sdk-impl-HZAUUTHJ.js
npm notice 18.3kB dist/chunks/send-message-JC7NJTY6.js
npm notice 3.5kB dist/chunks/serve-OBUWKE3T.js
npm notice 1.9MB dist/chunks/server-WNKUEOPA.js
npm notice 3.1kB dist/chunks/session-attachments-root-6CX6VTO4.js
npm notice 91.1kB dist/chunks/session-LFG3HD43.js
npm notice 14.2kB dist/chunks/session-pr-refresh-QCRVAI4Q.js
npm notice 4.4kB dist/chunks/settings-MJ4KVV5U.js
npm notice 2.7kB dist/chunks/shell-IENGJWIX.js
npm notice 3.5kB dist/chunks/skill-settings-PSDKV3LP.js
npm notice 25.2kB dist/chunks/skill-TPDOCBA4.js
npm notice 3.2kB dist/chunks/spawnChannel-5EVMY2TN.js
npm notice 48.9kB dist/chunks/src-VLI3TKEY.js
npm notice 3.4kB dist/chunks/standalone-update-OIYCVSWZ.js
npm notice 7.8kB dist/chunks/StandaloneSessionPicker-RFZC45ZN.js
npm notice 2.0MB dist/chunks/start-opentui-ui-J75HAZ7I.js
npm notice 1.8MB dist/chunks/startInteractiveUI-D7O3HJPK.js
npm notice 400B dist/chunks/stdioHelpers-AY6XCDY2.js
npm notice 368B dist/chunks/syntheticOutput-HJNZSEHN.js
npm notice 732B dist/chunks/task-create-6RSD54S5.js
npm notice 5.3kB dist/chunks/task-list-IQSACPOM.js
npm notice 7.3kB dist/chunks/task-stop-HE2LRQNW.js
npm notice 17.3kB dist/chunks/task-update-XAJ2NYOA.js
npm notice 13.9kB dist/chunks/team-create-XXG7P257.js
npm notice 3.6kB dist/chunks/team-delete-NGNNKGMG.js
npm notice 6.9kB dist/chunks/team-plan-approval-M27R2LEE.js
npm notice 3.4kB dist/chunks/terminal-image-renderer-CWYZWILH.js
npm notice 2.9kB dist/chunks/theme-manager-GJSOWV45.js
npm notice 19.6kB dist/chunks/todoWrite-5UTVUXHA.js
npm notice 16.5kB dist/chunks/tool-search-MPYHCBOG.js
npm notice 3.3kB dist/chunks/total-session-admission-J7OU6QM5.js
npm notice 254.7kB dist/chunks/tree-sitter-7EW4JL6E.js
npm notice 1.9MB dist/chunks/tree-sitter-bash-YGKTQMZY.js
npm notice 157.8kB dist/chunks/tree-sitter-YJVE2ZUK.js
npm notice 3.5kB dist/chunks/trustedFolders-Q3N62QZB.js
npm notice 592.4kB dist/chunks/turndown.cjs-FZHGMUTY.js
npm notice 464B dist/chunks/types-HKLPXZB3.js
npm notice 1.1MB dist/chunks/undici-S7WJSKGJ.js
npm notice 2.9kB dist/chunks/update-relaunch-6UANNQZD.js
npm notice 3.4kB dist/chunks/updateCheck-K2VK5DZA.js
npm notice 206B dist/chunks/updateEventEmitter-5MKC7BLQ.js
npm notice 3.5kB dist/chunks/useAutoAcceptIndicator-3X5FXAJZ.js
npm notice 7.7kB dist/chunks/validateNonInterActiveAuth-WHRJKQ22.js
npm notice 226B dist/chunks/version-JKNG7YDH.js
npm notice 27.0kB dist/chunks/web-fetch-2DC6H2JC.js
npm notice 27.7kB dist/chunks/web-search-5AKJ5YTI.js
npm notice 988B dist/chunks/web-shell-static-POZHGGXE.js
npm notice 133.3kB dist/chunks/webapi-Z5OM224P.js
npm notice 163.3kB dist/chunks/workflow-GBTKP3RS.js
npm notice 3.4kB dist/chunks/workspace-providers-status-M7YERUXV.js
npm notice 1.1kB dist/chunks/workspace-registration-store-JVGJZYCF.js
npm notice 3.6kB dist/chunks/workspace-registry-VJIWUJQN.js
npm notice 3.7kB dist/chunks/workspace-runtime-coordinator-IV2XLQVX.js
npm notice 3.8kB dist/chunks/workspace-service-YZK5GS5P.js
npm notice 3.4kB dist/chunks/workspace-skills-status-563V2OOY.js
npm notice 12.1kB dist/chunks/workspace-trust-reconciler-AUZZ752V.js
npm notice 1.2kB dist/chunks/wrapper-JH3IFHT2.js
npm notice 2.5kB dist/chunks/write-file-4K4WY27Z.js
npm notice 212.9kB dist/chunks/xterm-headless-NTYVIBT3.js
npm notice 207B dist/chunks/yargs-6H2AUULL.js
npm notice 207.3kB dist/chunks/zh-25DF7OGK.js
npm notice 198.2kB dist/chunks/zh-TW-5EDMZVGK.js
npm notice 7.2kB dist/chunks/zoom-image-RWEZ4HX6.js
npm notice 14.6kB 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.8kB dist/locales/ca.js
npm notice 141.0kB dist/locales/de.js
npm notice 167.6kB dist/locales/en.js
npm notice 143.8kB dist/locales/fr.js
npm notice 140.7kB dist/locales/ja.js
npm notice 138.3kB dist/locales/pt.js
npm notice 176.8kB dist/locales/ru.js
npm notice 150.6kB dist/locales/zh-TW.js
npm notice 159.8kB dist/locales/zh.js
npm notice 26.9MB dist/opentui-assets/@opentui/core-linux-arm64-musl/libopentui.so
npm notice 27.1MB dist/opentui-assets/@opentui/core-linux-arm64/libopentui.so
npm notice 2.9kB dist/opentui-assets/@opentui/core/assets/javascript/highlights.scm
npm notice 411.8kB dist/opentui-assets/@opentui/core/assets/javascript/tree-sitter-javascript.wasm
npm notice 2.1kB dist/opentui-assets/@opentui/core/assets/markdown_inline/highlights.scm
npm notice 426.0kB dist/opentui-assets/@opentui/core/assets/markdown_inline/tree-sitter-markdown_inline.wasm
npm notice 3.4kB dist/opentui-assets/@opentui/core/assets/markdown/highlights.scm
npm notice 815B dist/opentui-assets/@opentui/core/assets/markdown/injections.scm
npm notice 421.5kB dist/opentui-assets/@opentui/core/assets/markdown/tree-sitter-markdown.wasm
npm notice 9.8kB dist/opentui-assets/@opentui/core/assets/typescript/highlights.scm
npm notice 1.4MB dist/opentui-assets/@opentui/core/assets/typescript/tree-sitter-typescript.wasm
npm notice 3.5kB dist/opentui-assets/@opentui/core/assets/zig/highlights.scm
npm notice 691.7kB dist/opentui-assets/@opentui/core/assets/zig/tree-sitter-zig.wasm
npm notice 172.6kB dist/opentui-assets/@opentui/core/parser.worker.js
npm notice 205.5kB dist/opentui-assets/web-tree-sitter/tree-sitter.wasm
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-Cxf7xE_Z.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-ESi1eNkE.js
npm notice 151.8kB dist/web-shell/assets/architectureDiagram-5GKGNRK7-D9l7-bDo.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-Bc8DEasw.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-Dimb2Hmh.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-B7ohGDil.js
npm notice 193B dist/web-shell/assets/chunk-2Q5K7J3B-jVDmOpAQ.js
npm notice 366B dist/web-shell/assets/chunk-5VM5RSS4-DbG_SwdB.js
npm notice 1.9kB dist/web-shell/assets/chunk-F27PBJKO-QEc4cY1v.js
npm notice 38.6kB dist/web-shell/assets/chunk-G27WJ6UU-iJ36lQ3X.js
npm notice 297B dist/web-shell/assets/chunk-JWPE2WC7-DuArnVtF.js
npm notice 49.3kB dist/web-shell/assets/chunk-LCL6LL3I-DxOf1zwL.js
npm notice 532B dist/web-shell/assets/chunk-POPQ4Y6H-lVLu9Ild.js
npm notice 15.8kB dist/web-shell/assets/chunk-SVP7TREG-C6XYlIer.js
npm notice 230B dist/web-shell/assets/chunk-XXDRQBXY-CiG2j2Ji.js
npm notice 14.6kB dist/web-shell/assets/clarity-BHOwM8T6.js
npm notice 467B dist/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js
npm notice 467B dist/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.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-DGVHMMVm.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-D6cgpCnH.js
npm notice 10.1kB dist/web-shell/assets/cynefinDiagram-5FMLGOSQ-BKv4Z-UX.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-B4ABMIG-.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-DgCkp_Lm.js
npm notice 6.2kB dist/web-shell/assets/diagram-UQ7AKVKN-FG0FNokz.js
npm notice 10.8kB dist/web-shell/assets/diagram-VSXAHHWV-JgkP9qg-.js
npm notice 16.1kB dist/web-shell/assets/diagram-VX7I27RA-ADh2x83l.js
npm notice 4.2kB dist/web-shell/assets/diagram-Z3DM3KII-yXqoYF1J.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-Duk83Ek_.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-DMdvxySG.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-DHjVgSji.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-DMM9DkCE.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-t_ug9vO8.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 532.0kB dist/web-shell/assets/index-BGZRqbRo.css
npm notice 1.1MB dist/web-shell/assets/index-CGT341lL.js
npm notice 4.3MB dist/web-shell/assets/index-DRri_6_x.js
npm notice 28.3kB dist/web-shell/assets/index-zqvnpGHv.js
npm notice 587B dist/web-shell/assets/infoDiagram-RXCK75RN-eT1fANNm.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-k3evzZNn.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-CGim3EAi.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-WHfJo-22.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-DkqIaFlJ.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-Bdkd3mCz.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-CGw0LkT_.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-C9V4rBvo.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-CwoI2T5G.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-DaTmBmPG.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-plh6MyGI.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-D_b-S0iK.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-zUzTN7VE.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-m6AhoD0l.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-Cwhzsine.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-CcZuKIae.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-CFoiJwD_.js
npm notice 428B dist/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.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-CgS9hcaV.js
npm notice 548B dist/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.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-Dzzc05t9.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-DemK0f7Y.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-CquLxtMr.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-BTBKTM5g.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 13.8kB dist/web-shell/index.html
npm notice 10.5kB 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-arm64
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.23.0
npm notice filename: qwen-code-qwen-code-0.23.0.tgz
npm notice package size: 43.4 MB
npm notice unpacked size: 170.7 MB
npm notice shasum: ff3d8aaf30cb0e130ecdd1ecc2dfff30797e3f27
npm notice integrity: sha512-JlfZ2EVvyUdPV[...]h/QXmQlwKAHcA==
npm notice bundled deps: 43
npm notice bundled files: 0
npm notice own files: 5278
npm notice total files: 5278
npm notice
qwen-code-qwen-code-0.23.0.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 (7ms)
✓ 10 test/coord-norm.test.ts:49:5 › normToPx maps edges (4ms)
✓ 11 test/coord-norm.test.ts:59:5 › normToPx rounds to nearest (3ms)
✓ 12 test/coord-norm.test.ts:69:5 › hasCoordFields returns true for click tools (5ms)
✓ 13 test/coord-norm.test.ts:82:5 › normToPx respects custom scale (999) (4ms)
✓ 14 test/coord-norm.test.ts:93:5 › pxToNorm (removed) is no longer exported (4ms)
✓ 15 test/coord-norm.test.ts:104:5 › denormalizeArgs click uses width for x, height for y (4ms)
✓ 16 test/coord-norm.test.ts:121:5 › denormalizeArgs swipe converts x, y, and distance by direction (6ms)
✓ 17 test/coord-norm.test.ts:150:5 › denormalizeArgs leaves non-coord tools untouched (4ms)
✓ 18 test/coord-norm.test.ts:161:5 › denormalizeArgs ignores missing coord fields (4ms)
✓ 19 test/coord-norm.test.ts:180:5 › normalizeElementResult and normalizeScreenSizeResult are no longer exported (4ms)
✓ 20 test/coord-norm.test.ts:192:5 › screen size cache round-trip (3ms)
✓ 21 test/coord-norm.test.ts:203:5 › screen size cache returns undefined for unknown device (3ms)
✓ 22 test/coord-norm.test.ts:212:5 › ingestScreenSizeFromResult parses response (3ms)
✓ 23 test/coord-norm.test.ts:225:5 › isNormalized returns false by default (3ms)
✓ 24 test/coord-norm.test.ts:236:5 › isNormalized returns true when MOBILE_MCP_COORDINATE_SPACE=1 (2ms)
✓ 25 test/coord-norm.test.ts:247:5 › coordinateScale defaults to 1000 (3ms)
✓ 26 test/coord-norm.test.ts:258:5 › coordinateScale reads custom value (3ms)
✓ 27 test/coord-norm.test.ts:271:5 › rewriteDescription replaces 'in pixels' with normalized wording (4ms)
✓ 28 test/coord-norm.test.ts:284:5 › coordParamDesc is passthrough when not normalized (3ms)
✓ 29 test/coord-norm.test.ts:296:5 › coordParamDesc rewrites when normalized (3ms)
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-7e9f0d46-63be-4f79-a69c-870557c77746.xml"}
=> UI hierarchy XML saved to: /tmp/mobile-ui-dump-7e9f0d46-63be-4f79-a69c-870557c77746.xml
✓ 40 test/mobile-ui-dump.test.ts:12:5 › mobile_ui_dump preserves absolute bounds from UIAutomator (56ms)
✓ 41 test/mobilecli.test.ts:27:9 › mobilecli › getVersion › should return a version string (10ms)
✓ 42 test/mobilecli.test.ts:33:9 › mobilecli › getVersion › should return version in correct format (8ms)
✓ 43 test/mobilecli.test.ts:43:9 › mobilecli › getVersion › should return failed when MOBILECLI_PATH points to invalid location (4ms)
✓ 44 test/mobilecli.test.ts:57:9 › mobilecli › getVersion › should call executeCommand with --version argument (4ms)
✓ 45 test/mobilecli.test.ts:85:9 › mobilecli › getDevices › should call executeCommand with devices argument when no options (3ms)
✓ 46 test/mobilecli.test.ts:93:9 › mobilecli › getDevices › should call executeCommand with platform filter (3ms)
✓ 47 test/mobilecli.test.ts:101:9 › mobilecli › getDevices › should call executeCommand with type filter (3ms)
✓ 48 test/mobilecli.test.ts:109:9 › mobilecli › getDevices › should call executeCommand with includeOffline flag (3ms)
✓ 49 test/mobilecli.test.ts:117:9 › mobilecli › getDevices › should call executeCommand with combined options (3ms)
✓ 50 test/payload-filter.test.ts:76:5 › filtered terms use deterministic exact round-trip references (420ms)
✓ 51 test/payload-filter.test.ts:93:5 › multiple filtered terms preserve mixed case and separators (5ms)
✓ 52 test/payload-filter.test.ts:103:5 › invalid and unrelated references are not decoded (4ms)
✓ 53 test/payload-filter.test.ts:111:5 › literal reference tokens survive an encode-decode round trip (3ms)
✓ 54 test/payload-filter.test.ts:119:5 › message transformation preserves envelopes and binary data (12ms)
✓ 55 test/payload-filter.test.ts:148:5 › message transformation preserves special object keys (4ms)
✓ 56 test/payload-filter.test.ts:161:5 › transport chains callbacks installed before wrapping (2ms)
✓ 57 test/payload-filter.test.ts:185:5 › transport rejects decoded key collisions before dispatch (3ms)
✓ 58 test/png.ts:5:7 › png › should be able to parse png (3ms)
✓ 59 test/png.ts:13:7 › png › should be able to detect an invalid png (3ms)
✓ 60 test/server-payload-filter.test.ts:43:5 › MCP boundary preserves payloads when filtering is disabled (24ms)
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 (/build/qwen-code/src/qwen-code/packages/mobile-mcp/test/server-payload-filter.test.ts:123:11)
at /build/qwen-code/src/qwen-code/packages/mobile-mcp/src/server.ts:962:40
at PayloadFilteredMcpServer.executeToolHandler (/build/qwen-code/src/qwen-code/packages/mobile-mcp/node_modules/@modelcontextprotocol/sdk/src/server/mcp.ts:352:42)
at /build/qwen-code/src/qwen-code/packages/mobile-mcp/node_modules/@modelcontextprotocol/sdk/src/server/mcp.ts:214:43
at wrappedHandler (/build/qwen-code/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 (1.4s)
18 skipped
43 passed (6.6s)
-----------------------|---------|----------|---------|---------|-----------------------------------
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.23.0 test
npm notice run vitest run --testTimeout=30000 --no-file-parallelism --exclude=**/{qwenConnectionHandler,useAtCompletion,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 /build/qwen-code/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: 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: workspace control timeout; deferring channel retirement until 1 active session(s) drain
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: 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_0e177df5-c4be-4f32-802f-890b3e3cb7fd requester=client_fcb6bd9a-85bf-41fd-b812-ac4767c29bae
[artifacts] session=sess:/work/a action=remove_denied artifactId=ea192b281419fff5 owner=client_0e177df5-c4be-4f32-802f-890b3e3cb7fd 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: workspace control timeout; deferring channel retirement until 1 active session(s) drain
qwen serve: workspace control timeout; deferring channel retirement until 1 active session(s) drain
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: 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_10837403-fef2-443e-b6a2-18fab64a7a85"
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, transport_detail=unknown:required=?:available=?:cap=?, 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: 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: 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: 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: 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: session reaper started (interval 60000ms, idle 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 14afad92-8bf4-41b6-895f-ad56b93d4fd2; 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 6c8c51bd-1129-411f-b058-486eeeec89e0; 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 8dd603d4-5d4f-4d07-be26-74ba4a460ac2; 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 eade4fe3-5957-46c3-8385-28325eccf98f; decision=fence_shared
qwen serve: abandoned session/load for "wedged" has not settled 20ms after its deadline; refusing fresh sessions on channel eade4fe3-5957-46c3-8385-28325eccf98f until it settles or 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 /build/qwen-code/src/qwen-code/packages/acp-bridge/src/bridge.ts:14548:37
at callTimer (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2211:25)
at doTickInner (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2814:30)
at doTick (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2895:21)
at Immediate. (file:///build/qwen-code/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 5c537741-c012-44ed-86f2-6c7487b8e835; 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 19541d1a-f710-4553-9a0e-e3e841d3d6d0; 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 2058002c-9233-4cb3-ad9c-3bac28d5aac7; 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 2c1bde7c-010a-4b6b-9862-c80c24247d78; 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 341ddddb-d40e-4e85-ab63-20b425ec32f5; 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 341ddddb-d40e-4e85-ab63-20b425ec32f5 until it settles or 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 "overdue-a" on channel b74cdcdb-ffad-4ea1-bfa7-046bc5d37205; decision=fence_shared
qwen serve: session/load timed out after 20ms for "within-grace-b" on channel b74cdcdb-ffad-4ea1-bfa7-046bc5d37205; decision=fence_shared
qwen serve: abandoned session/load for "overdue-a" has not settled 20ms after its deadline; refusing fresh sessions on channel b74cdcdb-ffad-4ea1-bfa7-046bc5d37205 until it settles or drains
qwen serve: abandoned session/load for "within-grace-b" has not settled 20ms after its deadline; refusing fresh sessions on channel b74cdcdb-ffad-4ea1-bfa7-046bc5d37205 until it settles or drains
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "recovers" on channel c69371b4-08e7-497d-ac4b-2d3dae6c0750; 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 c794b864-5f68-48c6-a5ee-933f99fe2c1a; 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 dd3f04f3-454a-4dab-a3d4-e6518c0465a2; 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 4d2e2359-1388-4057-aca1-946db65b9410; 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 062a3b22-c916-4b5b-8e45-51ccba37cd39; decision=fence_shared
qwen serve: quarantining ACP channel after timed-out session/load cleanup failed for "restore-abandoned-id": ACP child refused abandoned restore cleanup
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 1e94a591-708f-4259-8e71-15993e34e69b; 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 4b937049-035e-4717-bc6a-5afd33effe7a; decision=fence_shared
qwen serve: quarantining ACP channel after timed-out session/load cleanup failed for "restore-timeout-pending-spawn": ACP child refused abandoned restore cleanup
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-close-refused" on channel ed0d8053-0e1a-4448-9888-6ef6387f14a7; decision=fence_shared
qwen serve: quarantining ACP channel after timed-out session/load cleanup failed for "restore-close-refused": ACP child refused abandoned restore cleanup
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-cleanup-fails" on channel 69af35ce-8c95-4276-ba8b-cb08ffca5267; 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 f945978f-278a-4c0c-a906-7387ca034746; 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, transport_detail=unknown:required=0:available=?:cap=1, 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: 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, transport_detail=unknown:required=?:available=?:cap=?, 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: newSession timed out after 20ms on channel afc8f9cd-5dd3-43db-8ad8-975098252e07; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel 82adc786-dc7e-4cb5-8eee-f19a73506ced; 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: newSession timed out after 20ms on channel 984d7352-20f7-4e6e-9f19-3de36b1bcd82; 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: newSession timed out after 20ms on channel 7b8159e5-5c27-4056-8934-e3b7eb3acddf; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms for "requested-late" on channel c916d110-fcf6-40fc-b182-242e21362103; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel 673a8a81-8c1c-4f55-b6d3-fa46e2033e17; decision=fence_shared
qwen serve: abandoned newSession has not settled 20ms after its deadline; refusing fresh sessions on channel 673a8a81-8c1c-4f55-b6d3-fa46e2033e17 until it settles or drains
qwen serve: skipping abandoned newSession cleanup for "restoring": the id is owned by a live session
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel 1bd80cf3-b0c4-4eab-941c-7879bfb27f2e; decision=fence_shared
qwen serve: skipping abandoned newSession cleanup for "requested-in-flight": the id is owned by a live session
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 1000ms on channel 2988c30c-f2f4-420e-ae06-a7bf123e743d; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20000ms on channel 9bef64d8-312d-4d61-a5e8-845e2904705f; decision=fence_shared
qwen serve: quarantining ACP channel after timed-out newSession cleanup failed for "hidden-late": ACP child refused abandoned newSession cleanup
qwen serve: closing session "visible-1" (reason: last_client_detached)
qwen serve: closeSession ACP session close notification failed for session "visible-1": 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 "visible-1": BridgeTimeoutError: AcpSessionBridge closeSession timed out after 10000ms
at /build/qwen-code/src/qwen-code/packages/acp-bridge/src/bridge.ts:14548:37
at callTimer (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2211:25)
at doTickInner (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2814:30)
at doTick (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2895:21)
at Immediate. (file:///build/qwen-code/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: newSession timed out after 20ms on channel 58324de6-d443-4b2c-9eb2-a755bca239d7; decision=fence_shared
qwen serve: abandoned newSession has not settled 20ms after its deadline; refusing fresh sessions on channel 58324de6-d443-4b2c-9eb2-a755bca239d7 until it settles or drains
qwen serve: closing session "visible-1" (reason: last_client_detached)
qwen serve: closeSession ACP session close notification failed for session "visible-1": 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 "visible-1": BridgeTimeoutError: AcpSessionBridge closeSession timed out after 10000ms
at /build/qwen-code/src/qwen-code/packages/acp-bridge/src/bridge.ts:14548:37
at callTimer (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2211:25)
at doTickInner (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2814:30)
at doTick (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2895:21)
at Immediate. (file:///build/qwen-code/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: newSession timed out after 20ms on channel 964db801-ed8e-48a8-acb3-5f5af4b1018f; decision=fence_shared
qwen serve: abandoned newSession has not settled 20ms after its deadline; refusing fresh sessions on channel 964db801-ed8e-48a8-acb3-5f5af4b1018f until it settles or drains
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel 6ae69ef6-c80b-49ef-bf49-fe6a559a0385; decision=fence_shared
qwen serve: newSession timed out after 20ms on channel 6ae69ef6-c80b-49ef-bf49-fe6a559a0385; decision=fence_shared
qwen serve: abandoned newSession has not settled 20ms after its deadline; refusing fresh sessions on channel 6ae69ef6-c80b-49ef-bf49-fe6a559a0385 until it settles or drains
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel a67044d8-6065-4717-a1ba-91e01d8c1c01; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: newSession timed out after 20ms on channel e2c786e9-f8e0-42a6-9815-18518a88bb70; 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)
sendPrompt: forward failed for session persisted-auq: agent channel closed mid-request (session persisted-auq)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session persisted-auq prompt=d6b0d60b-cf7a-47a7-b37f-c836c83d7353
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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: 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=fb57edfb-f7a4-4a34-beac-0eb8eb17e107
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=885659d9-8507-463c-804e-140e5f856818
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=e69cd75d-bd71-4d1a-9370-d8d2342a102f
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_8644fff6-daed-4903-8f06-57c58dbedbd0"
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_677062b9-ecd3-48b9-8b4a-c80e80184931"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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=c564fe90-9d07-4600-8253-dcff6d5ecf06 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=9162af01-5989-44b0-b881-e789a044da48 state=running
sendPrompt: forward failed for session sess:/work/a: cancelled
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=9162af01-5989-44b0-b881-e789a044da48
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=775805a7-84d7-4009-b574-fab4e9843960 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=001744e6-7d54-4adf-a199-3c5ffca7ac06
[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: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: source metadata for sess:/work/a during session restore was not persisted (agent channel closed mid-request (session sess:/work/a)) — the source is live-only until restart (reported to the caller via sourcePersisted=false)
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: source metadata for restore-source-channel-exit during session restore was not persisted (agent channel closed mid-request (session restore-source-channel-exit)) — the source is live-only until restart (reported to the caller via sourcePersisted=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: source metadata for restore-source-failed during session restore was not persisted ([object Object]) — the source is live-only until restart (reported to the caller via sourcePersisted=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: 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)
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: 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: 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: 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: 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=1 bound (https://github.com/o/r/pull/1)
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: 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: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517?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/repo-a/o/pull/9517)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/repo-b/o/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: 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=9500 bound (https://github.com/o/r/pull/9500)
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=9501 bound (https://github.com/o/r/pull/9501)
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: 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=5 bound (https://github.com/repo-a/r/pull/5)
qwen serve: updated session metadata "sess:/work/a" pr=5 bound (https://github.com/repo-b/r/pull/5)
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)
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: updated session metadata "sess:/work/a" pr=11 bound (https://github.com/o/r/pull/11)
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 "fc62eeeb-200a-4b73-b5c7-218f1b130697" 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: 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 reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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)
[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: 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: 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: workspace MCP detail timeout for aone; deferring channel retirement until 1 active session(s) drain
qwen serve: workspace MCP detail timeout for aone; deferring channel retirement until 1 active session(s) drain
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: workspace control timeout; deferring channel retirement until 1 active session(s) drain
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: newSession timed out after 50ms on channel 1d4535fc-dfc2-4d37-a249-d0b0ca89dad2; decision=fence_shared
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: workspace MCP discovery timeout; deferring channel retirement until 1 active session(s) drain
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: workspace MCP authentication timeout for aone; deferring channel retirement until 1 active session(s) drain
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: idle timeout (10000ms) 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: idle timeout (600000ms) 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: idle timeout (600000ms) 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: idle timeout (600000ms) 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: idle timeout (2147483647ms) 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 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: 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=cfb756cc-8047-4a15-8bfc-f4348fee18ff
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=7246a1c7-d38b-4ce7-9d8c-01a556e7cc27
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=21bbe09c-126f-4cc7-ab3e-e3dabae56391
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=4b03ea07-5cd2-4eef-9445-7cc2972eca46
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=b3c73631-af54-4dbd-bd6c-f38cea8f84f4
[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=3d567494-c7dd-47b8-a2d9-2355eb95580d
[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="58e7d9a6-dc6f-45a1-9251-c489a64cd1d2" (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="124e8012-3c89-4c8d-b429-33bafc6a3e90" (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: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: channel kill failed (killSession "s0:/work/a"): BridgeTimeoutError: AcpSessionBridge killSession "s0:/work/a" teardown timed out after 10000ms
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 "sess:/work/a"): BridgeTimeoutError: AcpSessionBridge killSession "sess:/work/a" teardown timed out after 10000ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel kill failed (empty newSession failure): BridgeTimeoutError: AcpSessionBridge empty newSession failure teardown timed out after 10000ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel kill failed (killSession "c0:/work/a"): BridgeTimeoutError: AcpSessionBridge killSession "c0:/work/a" teardown timed out after 10000ms
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=96a982fc-0576-4f50-b5a8-1abf1d1376a1
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 "7c3e3fc6-4099-4d34-b7ac-c77bf15b7a10": "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)
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)
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: 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: 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: killSession ACP session close notification failed for session "sess:/work/a": [object Object]
✓ src/bridge.test.ts (892 tests) 17468ms
✓ createAcpSessionBridge — mid-turn message queue (enqueueMidTurnMessage) > bounds the promoted ring across many idle promotions 578ms
[artifacts] session=s1-write-file-persist-fail action=vanish_forget_failed artifactIds=["a8113c2a8de6b644"] reason="disk full"
[artifacts] session=s1-write-file-persist-fail action=vanish_forget_failed artifactIds=["a8113c2a8de6b644"] reason="disk full"
[artifacts] session=s1-get-scoped-forget action=vanish_forget_failed artifactIds=["95bc9708e83cf880","b5b7854fc8aea8a5"] reason="disk full"
[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 (149 tests) 788ms
[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 /build/qwen-code/src/qwen-code/packages/acp-bridge/src/bridgeClient.test.ts:2987:30\n at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11\n at file:///build/qwen-code/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 99d10f20-ba44-4a8f-a935-98ee12557cc3: 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 (130 tests) 214ms
✓ src/compactionEngine.test.ts (132 tests) 123ms
✓ src/sessionAttachments.test.ts (76 tests) 583ms
✓ src/eventBus.test.ts (59 tests) 180ms
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) 62ms
✓ src/ndJsonStream.test.ts (41 tests) 1070ms
✓ ndJsonStream > cancel while backpressured wakes the pump without a transport error 454ms
✓ src/transcript-replay.test.ts (39 tests) 48ms
✓ src/spawnChannel.test.ts (46 tests) 188ms
✓ src/process-registry.test.ts (30 tests) 72ms
✓ src/daemon-memory-budget.test.ts (53 tests) 23ms
✓ src/prompt-ledger.test.ts (16 tests) 16ms
✓ src/logRedaction.test.ts (39 tests) 19ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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=5f0747d7-4c6a-4f33-b366-121ff13acc15: disk full
qwen serve: prompt ledger append failed for session=sess:/work/a promptId=5f0747d7-4c6a-4f33-b366-121ff13acc15: disk full
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge-prompt-ledger.test.ts (8 tests) 70ms
✓ src/status.test.ts (18 tests) 14ms
✓ src/channel-liveness.test.ts (9 tests) 23ms
✓ src/child-heap-policy.test.ts (15 tests) 11ms
✓ src/inMemoryChannel.test.ts (8 tests) 130ms
a2ui: dropping command with unrecognized shape (version,noop)
✓ src/a2uiExtraction.test.ts (14 tests) 15ms
✓ src/journalGrowthPolicy.test.ts (11 tests) 8ms
✓ src/workspacePaths.test.ts (10 tests) 12ms
✓ src/process-registry.process.test.ts (3 tests) 5492ms
✓ ProcessRegistry real process trees > reaps ordinary and detached descendants after graceful escalation 5120ms
✓ src/channel-startup-profile.test.ts (4 tests) 8ms
✓ src/session-restore-timeout.test.ts (23 tests) 8ms
✓ src/replayWindowLimits.test.ts (27 tests) 12ms
✓ src/json-string-bytes.test.ts (5 tests) 95ms
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) 42ms
✓ src/daemon-memory-budget-parity-fraction.test.ts (1 test) 7ms
✓ src/workspacePaths.sandbox.test.ts (2 tests) 4ms
✓ src/daemon-memory-budget-parity.test.ts (1 test) 10ms
✓ src/generation-stream.test.ts (4 tests) 9ms
✓ src/session-source.test.ts (10 tests) 8ms
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) 37ms
Test Files 34 passed (34)
Tests 1919 passed (1919)
Start at 04:50:56
Duration 80.16s (transform 8.38s, setup 0ms, collect 42.79s, tests 26.87s, environment 11ms, prepare 3.63s)
npm notice run @qwen-code/audio-capture@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/audio-capture
✓ src/platform.test.ts (2 tests) 6ms
Test Files 1 passed (1)
Tests 2 passed (2)
Start at 04:52:16
Duration 385ms (transform 54ms, setup 0ms, collect 50ms, tests 6ms, environment 0ms, prepare 117ms)
npm notice run @qwen-code/chrome-bridge@0.23.0 test
npm notice run vitest run --config vitest.config.ts --testTimeout=30000 --no-file-parallelism --exclude=**/{qwenConnectionHandler,useAtCompletion,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 /build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:189:5
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:193:5
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /build/qwen-code/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:199:5
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
✓ src/sidepanel/sidepanel-assets.test.ts (9 tests) 1323ms
✓ side panel capability status assets > renders runtime MCP diagnostics from the live status endpoint 877ms
✓ src/sidepanel/capability-status.test.ts (23 tests) 17ms
✓ src/background/cdp-bridge.test.ts (7 tests) 581ms
✓ src/daemon/config.test.ts (8 tests) 15ms
✓ scripts/manifest-version.test.js (19 tests) 157ms
✓ scripts/artifact-scan.test.js (8 tests | 1 skipped) 160ms
✓ scripts/main-entry.test.js (3 tests) 479ms
↓ scripts/package-extension.test.js (2 tests | 2 skipped)
Test Files 7 passed | 1 skipped (8)
Tests 76 passed | 3 skipped (79)
Start at 04:52:17
Duration 7.42s (transform 218ms, setup 0ms, collect 401ms, tests 2.73s, environment 1.90s, prepare 889ms)
npm notice run @qwen-code/qwen-code@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/cli
Coverage enabled with v8
✓ src/acp-integration/session/Session.test.ts (811 tests) 170736ms
✓ Session > prompt > auto-compress > latches mid-turn drain off after repeated timeouts when the client never responds 6239ms
✓ Session > prompt > auto-compress > resets the timeout strike count when a drain succeeds 8230ms
✓ Session > prompt > auto-compress > recovers a drain that timed out and injects it on the next batch 2200ms
✓ Session > prompt > auto-compress > keeps a logger failure inside late drain recovery from escaping 2192ms
✓ Session > prompt > auto-compress > drains a queued Goal turn after a background notification settles 306ms
✓ Session > prompt > auto-compress > does not strand a prompt behind a Goal continuation the drain cannot start 308ms
✓ Session > prompt > blocks known Plan shell writes before requesting ACP permission 312ms
✓ Session > prompt > asks when the AUTO classifier is unavailable and can switch to Default 490ms
✓ Session > prompt > hooks > StopFailure hook > fires StopFailure hook when API error occurs during sendMessageStream 353ms
✓ Session > prompt > ask_user_question cancellation turn stop > waits for pending rewrites before cron stops after cancelled ask_user_question 338ms
✓ Session > prompt > ask_user_question cancellation turn stop > reports cancellation while a background notification awaits permission 333ms
✓ Session > runToolCalls > passes the transcript call id to monitor invocations 522ms
✓ Session > runToolCalls > does not treat a parent abort during permission as explicit rejection 308ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested ask_user_question cancellation 334ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested non-question permission cancellation 344ms
✓ Session > runToolCalls > ignores later subagent tool events after nested ask_user_question cancellation 362ms
✓ Session > runToolCalls > aborts sibling Agent calls in the same batch after nested ask_user_question cancellation 333ms
✓ Session > runToolCalls > lets sibling Agent calls in a small batch finish when loop detection fires 404ms
✓ Session > runToolCalls > lets in-flight Agent calls of a wide batch finish when loop detection fires 305ms
✓ Session > runToolCalls > does not treat parent abort during nested Agent permission as explicit rejection 335ms
✓ Session > runToolCalls > skips unstarted Agent calls after nested ask_user_question cancellation 335ms
✓ Session > runToolCalls > skips later sequential batches after nested ask_user_question cancellation 336ms
✓ Session > runToolCalls > skips later sequential batches after nested non-question permission cancellation 341ms
✓ Session > runToolCalls > does not fire success hooks for sibling Agents aborted by nested ask_user_question cancellation 315ms
✓ Session > runToolCalls > marks Agent exceptions after nested ask_user_question cancellation as interrupts 338ms
✓ Session > runToolCalls > marks Agent soft errors after nested ask_user_question cancellation as interrupts 371ms
✓ Session > dispose > aborts an active notificationAbortController and nulls the reference 301ms
✓ Session > dispose > is idempotent — repeated dispose() calls do not throw or re-register 315ms
✓ Session > automatic drain serialization on the history mutation gate > waits for an interactive checkpoint mutation before draining cron 393ms
✓ Session > automatic drain serialization on the history mutation gate > waits for an interactive checkpoint mutation before draining notifications 341ms
✓ Session > automatic drain serialization on the history mutation gate > waits for an interactive checkpoint mutation before draining a Goal continuation 344ms
✓ Session > daemon Todo Stop Guard > cleans up an admitted retry cancelled during previous-turn drain 563ms
✓ Session > daemon Todo Stop Guard > is off by default 306ms
✓ Session > daemon Todo Stop Guard > does not publish rejected Todo arguments as a live plan 310ms
✓ Session > daemon Todo Stop Guard > lets cancellation win while a loop-detected Stop continuation is preserved 302ms
✓ Session > daemon Todo Stop Guard > runs exactly two continuations and emits replayable status 301ms
✓ Session > daemon Todo Stop Guard > does not arm from a discovered tool that shadows todo_write 313ms
✓ Session > daemon Todo Stop Guard > resumes an API-paused chain for its related background result 344ms
✓ Session > daemon Todo Stop Guard > recaptures the background baseline when retry has no trusted Guard state 316ms
✓ Session > daemon Todo Stop Guard > keeps FIFO priority when Guard trust clears during queue inspection 314ms
✓ Session > daemon Todo Stop Guard > drains deferred automatic work after an active Guard is invalidated and the prompt errors 349ms
✓ Session > daemon Todo Stop Guard > still runs when external hooks are disabled 384ms
✓ Session > daemon Todo Stop Guard > preserves drained input without consuming or reviving the guard when token limits block the continuation stream 358ms
✓ Session > daemon Todo Stop Guard > revalidates plan mode before claiming a continuation 306ms
✓ Session > daemon Todo Stop Guard > fails closed when watched drain omits queued-prompt state 307ms
✓ Session > daemon Todo Stop Guard > fails closed when watched drain contains an invalid message entry 305ms
✓ Session > daemon Todo Stop Guard > fails closed when watched drain contains an invalid structured content block 329ms
✓ Session > daemon Todo Stop Guard > fails closed when continuation claim returns an invalid response 301ms
✓ Session > daemon Todo Stop Guard > fails closed when continuation claim returns an old client method-not-found error 310ms
✓ Session > daemon Todo Stop Guard > fails closed when continuation claim times out 339ms
✓ Session > daemon Todo Stop Guard > does not send a continuation when hard-suspended during claim 327ms
✓ Session > daemon Todo Stop Guard > preserves queued-prompt priority when hard-suspended during claim 317ms
✓ Session > daemon Todo Stop Guard > does not restore queued-prompt priority while the session is closing 308ms
✓ Session > daemon Todo Stop Guard > consumes a queued-prompt release that arrives before the claim response 359ms
✓ Session > daemon Todo Stop Guard > does not reopen queue admission after a continuation claim 309ms
✓ Session > daemon Todo Stop Guard > selects a drained image model before Guard claims and skips primary-model compression 309ms
✓ Session > daemon Todo Stop Guard > does not persist an unsent Guard prompt when compression is cancelled 304ms
✓ Session > daemon Todo Stop Guard > does not count a failed Guard compression status 4 or block later automatic work 361ms
✓ Session > daemon Todo Stop Guard > does not count a failed Guard compression status 7 or block later automatic work 358ms
✓ Session > daemon Todo Stop Guard > keeps external Stop hook continuation when Guard compression throws 307ms
✓ Session > daemon Todo Stop Guard > keeps 'mid-turn input' ahead of an external hook when Guard compression fails 307ms
✓ Session > daemon Todo Stop Guard > keeps 'a complete FIFO prompt' ahead of an external hook when Guard compression fails 330ms
✓ Session > daemon Todo Stop Guard > counts every Guard-attributable tool follow-up as a model call 306ms
✓ Session > daemon Todo Stop Guard > preserves a successful Guard tool response before history advances when stream creation fails 310ms
✓ Session > daemon Todo Stop Guard > does not duplicate a successful Guard tool response after history advances when stream creation fails 340ms
✓ Session > daemon Todo Stop Guard > does not duplicate a successful Guard tool response after compression replaces the chat when stream creation fails 601ms
✓ Session > daemon Todo Stop Guard > closes Guard tools with the remaining attempt after Todo completion 314ms
✓ Session > daemon Todo Stop Guard > drains background input when completed-Todo tool closure fails 363ms
✓ Session > daemon Todo Stop Guard > lets mid-turn input sponsor the tool response after Todo completion 313ms
✓ Session > daemon Todo Stop Guard > does not close completed Todo tools after PostToolUse stops the chain 330ms
✓ Session > daemon Todo Stop Guard > lets a queued prompt preempt completed Todo tool closure 308ms
✓ Session > daemon Todo Stop Guard > keeps tool responses when mid-turn input supersedes a nested Guard call 365ms
✓ Session > daemon Todo Stop Guard > keeps the external Stop hook count when nested Guard work yields to the user 308ms
✓ Session > daemon Todo Stop Guard > does not let mid-turn input revive a PostToolUse-stopped guard 326ms
✓ Session > daemon Todo Stop Guard > does not revive a deferred chain after entering and leaving plan mode 360ms
✓ Session > daemon Todo Stop Guard > yields to a queued complete prompt and preserves simultaneously drained input 306ms
✓ Session > daemon Todo Stop Guard > releases FIFO priority when the queued prompt is a trusted retry 349ms
✓ Session > daemon Todo Stop Guard > keeps a queued prompt ahead of related automatic input 370ms
✓ Session > daemon Todo Stop Guard > retains observed FIFO priority while preserving simultaneous mid-turn input 368ms
✓ Session > daemon Todo Stop Guard > terminates a yielded guard when the queued prompt is cancelled 366ms
✓ Session > daemon Todo Stop Guard > ignores a late release from a previous queued-prompt owner 313ms
✓ Session > daemon Todo Stop Guard > drains old deferred work when the FIFO prompt errors before arming 358ms
✓ Session > daemon Todo Stop Guard > drains deferred work after FIFO cancellation without running simultaneous mid-turn input first 359ms
✓ Session > daemon Todo Stop Guard > does not re-arm after the matching queued owner is released 372ms
✓ Session > daemon Todo Stop Guard > runs mid-turn user input first and resets the continuation budget 315ms
✓ Session > daemon Todo Stop Guard > ignores background tasks that predate the work chain 315ms
✓ Session > daemon Todo Stop Guard > classifies monitor notifications by their owner agent lineage 338ms
✓ Session > daemon Todo Stop Guard > classifies workflow notifications from the captured baseline 314ms
✓ Session > daemon Todo Stop Guard > commits and rolls back existing-agent lineage around send_message execution 318ms
✓ Session > daemon Todo Stop Guard > keeps a successful agent continuation related when a concurrent continuation fails 372ms
✓ Session > daemon Todo Stop Guard > preserves combined continuation tool responses when 'a newer prompt supersedes the turn' 372ms
✓ Session > daemon Todo Stop Guard > preserves combined continuation tool responses when 'the user cancels the turn' 343ms
✓ Session > daemon Todo Stop Guard > preserves newer prompt state and includes tasks created while the superseded prompt unwinds 316ms
✓ Session > daemon Todo Stop Guard > reclassifies queued notifications when a new work chain starts 323ms
✓ Session > daemon Todo Stop Guard > defers while a background task created by the work chain is running 340ms
✓ Session > daemon Todo Stop Guard > defers while a background shell created by the work chain is running 320ms
✓ Session > daemon Todo Stop Guard > defers while a monitor created by the work chain is running 316ms
✓ Session > daemon Todo Stop Guard > does not resume an old Guard after the working directory changes 395ms
✓ Session > daemon Todo Stop Guard > defers while a background task created by the work chain is paused 321ms
✓ Session > daemon Todo Stop Guard > continues the same guard when its background task reports completion 380ms
✓ Session > daemon Todo Stop Guard > does not let an old notification displace a chain waiting on its own task 380ms
✓ Session > daemon Todo Stop Guard > protects a related notification from unrelated queue overflow 347ms
✓ Session > daemon Todo Stop Guard > preserves queued related notifications when the queue is full 325ms
✓ Session > daemon Todo Stop Guard > protects a related notification while FIFO priority outlives guard trust 327ms
✓ Session > daemon Todo Stop Guard > unblocks deferred automatic work when history restoration clears trust 409ms
✓ Session > daemon Todo Stop Guard > does not let a related background result re-arm after rewind 378ms
✓ Session > daemon Todo Stop Guard > does not let a related background result revive a hard-stopped guard 384ms
✓ Session > daemon Todo Stop Guard > does not let an unrelated background result clear hard suspension 380ms
✓ Session > daemon Todo Stop Guard > retains an already-used attempt when a related background task completes 381ms
✓ Session > daemon Todo Stop Guard > does not let a pre-existing task notification revive an exhausted guard 378ms
✓ Session > daemon Todo Stop Guard > coalesces a blocking external Stop hook with the guard 346ms
✓ Session > daemon Todo Stop Guard > preserves the external Stop hook tool loop after Guard exhaustion 632ms
✓ Session > daemon Todo Stop Guard > preserves an external Stop hook tool result when nested Guard validation defers 350ms
✓ Session > daemon Todo Stop Guard > preserves an external Stop hook tool result when a nested Guard claim is unavailable 327ms
✓ Session > daemon Todo Stop Guard > reports Guard exhaustion before a coalesced external Stop hook reaches its cap 351ms
✓ Session > daemon Todo Stop Guard > resets consecutive Stop-hook blocks after a nonblocking allow 321ms
✓ Session > daemon Todo Stop Guard > preserves a coalesced Stop-loop event when token rejection skips the final send 346ms
✓ Session > daemon Todo Stop Guard > rechecks user input after a slow external Stop hook 326ms
✓ Session > daemon Todo Stop Guard > accounts for a slow blocking Stop hook after handling mid-turn input 345ms
✓ Session > daemon Todo Stop Guard > 'keeps the external continuation when …' after a slow Stop hook 324ms
✓ Session > daemon Todo Stop Guard > 'discards the stale hook response when…' after a slow Stop hook 346ms
✓ Session > daemon Todo Stop Guard > keeps an external Stop hook when an earlier queued-prompt probe is unavailable 328ms
✓ Session > daemon Todo Stop Guard > sends drained user input when a Guard preparation claim is unavailable 321ms
✓ Session > daemon Todo Stop Guard > lets an independent background notification arm its own guard 393ms
✓ Session > daemon Todo Stop Guard > suspends an armed guard when a background notification stream aborts 376ms
✓ Session > daemon Todo Stop Guard > lets an independent cron turn arm its own guard 400ms
✓ Session > daemon Todo Stop Guard > keeps a cron turn graceful when its Stop continuation trips loop protection 376ms
✓ Session > daemon Todo Stop Guard > keeps a background-notification turn graceful when its Stop continuation trips loop protection 395ms
✓ Session > daemon Todo Stop Guard > suspends an armed guard when a cron stream aborts 379ms
✓ Session > daemon Todo Stop Guard > treats a queued pre-prompt wakeup as part of the new baseline 400ms
✓ Session > daemon Todo Stop Guard > defers for a wakeup created by the current work chain 328ms
✓ Session > daemon Todo Stop Guard > drains a related wakeup before an older unrelated cron item 405ms
✓ Session > daemon Todo Stop Guard > coalesces unrelated recurring cron fires while a guard is waiting 331ms
✓ Session > daemon Todo Stop Guard > coalesces recurring cron fires while FIFO priority outlives guard trust 399ms
✓ Session > daemon Todo Stop Guard > trims an oversized deferred cron queue before a related wakeup arrives 407ms
✓ Session > daemon Todo Stop Guard > trims an oversized deferred cron queue before a unrelated cron arrives 419ms
✓ Session > follow-up suggestion (daemon assist push) > fires prompt-suggestion extNotification after end_turn when enabled 334ms
✓ Session > follow-up suggestion (daemon assist push) > forwards an explicit enableCacheSharing=false opt-out 351ms
✓ Session > follow-up suggestion (daemon assist push) > does not emit when the feature is disabled 339ms
✓ Session > follow-up suggestion (daemon assist push) > emits when the setting is unset (on by default) 351ms
✓ Session > follow-up suggestion (daemon assist push) > does not emit in PLAN approval mode 365ms
✓ Session > follow-up suggestion (daemon assist push) > logs filterReason via PromptSuggestionEvent when generation is suppressed 327ms
✓ Session > follow-up suggestion (daemon assist push) > aborts the in-flight generator when a new prompt arrives 353ms
✓ Session > follow-up suggestion (daemon assist push) > aborts the in-flight generator when cancelPendingPrompt is called 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-zmVC1v/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: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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 install: background task failed: Only GitHub, Git, npm, and absolute local path extension installs are supported over the daemon endpoint.
qwen serve: [/work/bound] extensions install: background task failed: Local extension sources must be absolute daemon-host paths; relative paths are not supported over the daemon endpoint.
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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:9925:17)
at Object.getSessionSummary (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2302:14)
at scanLiveOwners (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:344:24)
at Object.resolveLiveSessionOwner (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:605:11)
at requireSessionRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session-runtime.ts:54:40)
at resolveLiveSessionRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1719:5)
at resolveOwnerSessionRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1763:21)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1874:29
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/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: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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 f71f1e15 (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 (f71f1e15)
qwen serve: bridge error (POST /session): Error: spawn boom
at spawnImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:12550:35)
at Object.spawnOrAttach (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2208:28)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3102: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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:12917:17)
at Object.spawnOrAttach (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2208:28)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3102:44
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/build/qwen-code/src/qwen-code/packages/cli/src/serve/auth.ts:592:8)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
qwen serve: bridge error (POST /session): Error: spawn failed
at spawnImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:13568:17)
at Object.spawnOrAttach (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2208:28)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3102:44
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /session): Error: spawn failed
at spawnImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:13611:17)
at Object.spawnOrAttach (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2208:28)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3102: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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:15130:17)
at Object.getSessionSummary (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2302:14)
at scanLiveOwners (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:344:24)
at Object.resolveLiveSessionOwner (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:605:11)
at resolveRuntimeForSessionRestore (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1688:41)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3491:33
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/build/qwen-code/src/qwen-code/packages/cli/src/serve/auth.ts:592:8)
at Layer.handleRequest (/build/qwen-code/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-RdjxLU/projects/-
qwen serve: bridge error (POST /session/:id/btw session=session-A): Error: btw failed
at generateSessionBtwImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:22190:17)
at Object.generateSessionBtw (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2501:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:7150:47
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1849:19
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:20)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1847:30
at runOwnerRuntimeActivity (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1781:54)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1846: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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:23120:17)
at Object.setSessionLanguage (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2468:14)
at app.post.withOwnerMutableSession.cwdBound (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:7637:47)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1849:19
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:20)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1847:30
at runOwnerRuntimeActivity (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1781:54)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:1846:15
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /workspace/channel/reload): Error: relaunch failed
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:24236:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as reloadChannelWorker] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-channel-control.ts:377:37
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/build/qwen-code/src/qwen-code/packages/cli/src/serve/auth.ts:592:8)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:2150:13)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:4419:27
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:4416: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-O17wtp/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 "97adde5e6e945189": 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
2026-11-01T04:56:18.246Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:18.344Z [ERROR] [DAEMON] daemon startup failed
Error: Refusing trusted-loopback mode because ::1 bound to non-loopback address 0.0.0.0. Set QWEN_SERVER_TOKEN or pass --token, or bind to an explicit loopback address.
at Server.handleListening (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9606:25)
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, 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-11-01T04:56:18.382Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:34499 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=41733 runQwenServeToListenMs=8
2026-11-01T04:56:18.412Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.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
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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://app.example.com
2026-11-01T04:56:18.553Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.554Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:36345 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=41903 runQwenServeToListenMs=5
2026-11-01T04:56:18.558Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.588Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:56:18.591Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:41149 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:18.617Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:18.623Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.623Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:38797 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=41972 runQwenServeToListenMs=6
2026-11-01T04:56:18.627Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.646Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
qwen serve: /acp connection established f8991482 (loopback=true, active=1)
2026-11-01T04:56:18.661Z [INFO] [DAEMON] route=POST /acp durationMs=4 status=200 request completed
2026-11-01T04:56:18.663Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35239 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:18.693Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
qwen serve: /acp connection established 1450d5f8 (loopback=true, active=1)
2026-11-01T04:56:18.700Z [INFO] [DAEMON] route=POST /acp durationMs=3 status=200 request completed
2026-11-01T04:56:18.702Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:18.708Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.708Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.708Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid mcpClientBudget: 0. Must be a positive integer.
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4009:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31562:5
at file:///build/qwen-code/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-11-01T04:56:18.713Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.713Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.713Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid mcpClientBudget: -5. Must be a positive integer.
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4009:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31570:5
at file:///build/qwen-code/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-11-01T04:56:18.718Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.718Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.718Z [ERROR] [DAEMON] daemon startup failed
Error: mcpBudgetMode="enforce" requires a positive mcpClientBudget. Pass mcpClientBudget=N, or set mcpBudgetMode to "warn" or "off".
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4015:11)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31581:5
at file:///build/qwen-code/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-11-01T04:56:18.723Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.724Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.724Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4027:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31602:7
at file:///build/qwen-code/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-11-01T04:56:18.728Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.729Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.729Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: -5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4027:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31602:7
at file:///build/qwen-code/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-11-01T04:56:18.733Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.734Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 1.5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4027:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31602:7
at file:///build/qwen-code/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-11-01T04:56:18.738Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.738Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.738Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4027:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31602:7
at file:///build/qwen-code/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-11-01T04:56:18.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.743Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.743Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: -5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4051:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31620:7
at file:///build/qwen-code/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-11-01T04:56:18.747Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.748Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.748Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: 1.5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4051:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31620:7
at file:///build/qwen-code/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-11-01T04:56:18.752Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.753Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: NaN. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4051:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31620:7
at file:///build/qwen-code/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-11-01T04:56:18.757Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.757Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4079:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31639:7
at file:///build/qwen-code/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-11-01T04:56:18.761Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.761Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.762Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: -5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4079:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31639:7
at file:///build/qwen-code/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-11-01T04:56:18.766Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.766Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.766Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: 1.5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4079:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31639:7
at file:///build/qwen-code/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-11-01T04:56:18.778Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.778Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4079:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31639:7
at file:///build/qwen-code/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-11-01T04:56:18.784Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.785Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:483:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4031:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31656:5
at file:///build/qwen-code/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-11-01T04:56:18.790Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:33213 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42139 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.793Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.813Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:56:18.815Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:56:18.829Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.830Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
2026-11-01T04:56:18.830Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:483:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4031:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31704:5
at file:///build/qwen-code/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-11-01T04:56:18.834Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.834Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:45139 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42184 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.838Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.856Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:56:18.858Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:56:18.866Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:37087 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42215 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.870Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.889Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:56:18.891Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:18.896Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.896Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:41011 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42245 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.900Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.919Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:56:18.921Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:18.926Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:34201 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42276 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.937Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.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-11-01T04:56:18.958Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.959Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:41385 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42308 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:18.963Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:18.980Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:18.985Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:18.985Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:38751 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42334 runQwenServeToListenMs=5
qwen serve: --require-auth enabled (bearer token mandatory on every route, including loopback /health).
2026-11-01T04:56:18.989Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.011Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.017Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/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 listening on http://0.0.0.0:34785 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42367 runQwenServeToListenMs=5
2026-11-01T04:56:19.021Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.037Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.042Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.042Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:36397 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42391 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.045Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.071Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.077Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.077Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:38313 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42426 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.080Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.099Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.105Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.105Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:40169 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42455 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.109Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.128Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.132Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.132Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:43753 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42481 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.136Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.151Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.156Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.156Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.157Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxConnections: NaN. Must be >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7976:11)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31915:5
at file:///build/qwen-code/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-11-01T04:56:19.161Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.161Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.162Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxConnections: -5. Must be >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7976:11)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31923:5
at file:///build/qwen-code/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-11-01T04:56:19.167Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.167Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://Localhost:34965 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42517 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.171Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.187Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.191Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://[::1]:38319 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42540 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.194Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.218Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.222Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.222Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/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-11-01T04:56:19.223Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7953:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:31973:5
at file:///build/qwen-code/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-11-01T04:56:19.230Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.230Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://[::1]:39497 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42579 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:56:19.233Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/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-11-01T04:56:19.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-11-01T04:56:19.253Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/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-11-01T04:56:19.254Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7953:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:32019:5
at file:///build/qwen-code/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-11-01T04:56:19.260Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.260Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.262Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46611 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42625 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.280Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:56:19.282Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:56:19.293Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.296Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44139 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42659 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.311Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.316Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.319Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-fs-8BbYib secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39191 (mode=http-bridge, workspace=/tmp/qwen-runqwen-fs-8BbYib)
qwen serve: bound to workspace "/tmp/qwen-runqwen-fs-8BbYib"
qwen serve: startup timing: processToListenMs=42681 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.343Z [INFO] [DAEMON] route=GET /file durationMs=7 status=200 request completed
2026-11-01T04:56:19.347Z [WARN] [DAEMON] route=GET /file durationMs=2 status=400 request completed
2026-11-01T04:56:19.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-11-01T04:56:19.363Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.363Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.365Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-rest-fs-E6wUs0 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35461 (mode=http-bridge, workspace=/tmp/qwen-runqwen-rest-fs-E6wUs0)
qwen serve: bound to workspace "/tmp/qwen-runqwen-rest-fs-E6wUs0"
qwen serve: startup timing: processToListenMs=42728 runQwenServeToListenMs=28
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
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=2e39555c31523135). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-11-01T04:56:19.384Z [WARN] [DAEMON] route=GET /file durationMs=2 status=404 request completed
2026-11-01T04:56:19.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-11-01T04:56:19.391Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.391Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.394Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-trust-vM3xkI secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38029 (mode=http-bridge, workspace=/tmp/qwen-runqwen-trust-vM3xkI)
qwen serve: bound to workspace "/tmp/qwen-runqwen-trust-vM3xkI"
qwen serve: startup timing: processToListenMs=42756 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.413Z [INFO] [DAEMON] route=GET /file durationMs=2 status=200 request completed
2026-11-01T04:56:19.416Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.427Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.430Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37245 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42794 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.446Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:19.451Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.451Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.453Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43741 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42816 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.469Z [INFO] [DAEMON] daemon stopped
(node:5324) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 779)
(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-11-01T04:56:19.477Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.477Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.480Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39565 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42842 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.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
2026-11-01T04:56:19.508Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:19.508Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:19.511Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44361 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42874 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:19.531Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=9ced5a09-e6a6-4bbc-b27a-5e0b350ec8a9 SSE stream opened
2026-11-01T04:56:19.537Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:19.538Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=7.41911500000424 eventFramesWriteSettled=2 lastEventIdWritten=2 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=9ced5a09-e6a6-4bbc-b27a-5e0b350ec8a9 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-11-01T04:56:20.092Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.092Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.095Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40173 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43459 runQwenServeToListenMs=25
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.114Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown lastEventId=7 streamId=c17f3625-3f3a-455b-945f-feff381cf785 SSE stream opened
2026-11-01T04:56:20.117Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.119Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=4.60176599999977 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=c17f3625-3f3a-455b-945f-feff381cf785 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-11-01T04:56:20.123Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.123Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.125Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37649 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43488 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.143Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown streamId=ef5032e6-16b4-4741-8725-4b0f7418fc5f SSE stream opened
2026-11-01T04:56:20.146Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.147Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.930039000006218 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=ef5032e6-16b4-4741-8725-4b0f7418fc5f 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-11-01T04:56:20.151Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.152Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.154Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36879 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43517 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.181Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=0d533133-82b5-419f-86fc-17a0fb6e3266 SSE stream opened
2026-11-01T04:56:20.184Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.185Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.9236390000005485 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=0d533133-82b5-419f-86fc-17a0fb6e3266 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-11-01T04:56:20.189Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.189Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.192Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45239 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43554 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.209Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=b51b851c-f9d3-425b-8050-65c03dd5f96d SSE stream opened
2026-11-01T04:56:20.212Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.213Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.646076000004541 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=b51b851c-f9d3-425b-8050-65c03dd5f96d 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-11-01T04:56:20.217Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.217Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.220Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45791 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43582 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.237Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=ca36aff0-e00d-4896-a27f-cd05ebc86967 SSE stream opened
2026-11-01T04:56:20.240Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.241Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.7718779999995604 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=1792274412348 slowWarningCount=0 streamId=ca36aff0-e00d-4896-a27f-cd05ebc86967 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-11-01T04:56:20.245Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.245Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.248Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45855 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43610 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.265Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=1b9fbdb3-301a-499b-840f-eced8dc3f160 SSE stream opened
2026-11-01T04:56:20.268Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.269Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.7201180000047316 eventFramesWriteSettled=1 lastEventIdWritten=42 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=1b9fbdb3-301a-499b-840f-eced8dc3f160 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-11-01T04:56:20.272Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.272Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.275Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40321 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43637 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.293Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=7ca592e5-e9c0-42d0-b6af-ecffdcffdeef SSE stream opened
2026-11-01T04:56:20.296Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.297Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.637317000000621 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=7ca592e5-e9c0-42d0-b6af-ecffdcffdeef 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-11-01T04:56:20.301Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.301Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.303Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37755 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43666 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
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-11-01T04:56:20.330Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=fa689951-167d-4fad-937f-45b295881131 SSE stream opened
2026-11-01T04:56:20.333Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.334Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.9527999999991152 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=fa689951-167d-4fad-937f-45b295881131 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-11-01T04:56:20.339Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.339Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.342Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39905 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43705 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.360Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=cd0724f7-749c-4e74-907c-b504ccdb2420 SSE stream opened
2026-11-01T04:56:20.362Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.363Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.772238000005018 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=cd0724f7-749c-4e74-907c-b504ccdb2420 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-11-01T04:56:20.367Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.367Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.370Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45959 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43733 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.388Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=5565734a-0d6d-43cc-8e2d-7af37bd68f0b SSE stream opened
2026-11-01T04:56:20.390Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.391Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.6855169999980717 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=5565734a-0d6d-43cc-8e2d-7af37bd68f0b 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-11-01T04:56:20.395Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.395Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.398Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40413 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43760 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.415Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=04eeca9b-5b55-4c29-800a-042bd13de816 SSE stream opened
2026-11-01T04:56:20.418Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.419Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.6879970000009052 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=04eeca9b-5b55-4c29-800a-042bd13de816 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-11-01T04:56:20.423Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.423Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.425Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34471 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43788 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "" (not a decimal integer)
2026-11-01T04:56:20.443Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-11-01T04:56:20.445Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.450Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.451Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.453Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39567 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43816 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "abc" (not a decimal integer)
2026-11-01T04:56:20.481Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-11-01T04:56:20.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-11-01T04:56:20.488Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.488Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.490Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38905 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43853 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "0" (outside [16, 2048])
2026-11-01T04:56:20.508Z [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-11-01T04:56:20.512Z [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-11-01T04:56:20.516Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=2 status=400 request completed
qwen serve: rejected ?maxQueued "9999" (outside [16, 2048])
2026-11-01T04:56:20.519Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-11-01T04:56:20.521Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.526Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.526Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.529Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43415 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43891 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.547Z [WARN] [DAEMON] route=GET /session/missing/events sessionId=missing durationMs=2 status=404 request completed
2026-11-01T04:56:20.549Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.625Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.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/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.628Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35033 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=43991 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.646Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=dcf72fb2-898d-42a5-bad6-a370b723955c SSE stream opened
qwen serve: bridge iterator error (session sess-A): agent died
2026-11-01T04:56:20.647Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=0.9415289999960805 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=dcf72fb2-898d-42a5-bad6-a370b723955c SSE stream closed
2026-11-01T04:56:20.649Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.654Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.654Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.657Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41345 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=44020 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.685Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=73ed5569-157c-4e68-98b0-b50a8ec3802c SSE stream opened
qwen serve: bridge iterator error (session sess-A): AcpSessionBridge initialize timed out after 5000ms [init_timeout]
2026-11-01T04:56:20.686Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=1.1347709999972722 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=73ed5569-157c-4e68-98b0-b50a8ec3802c SSE stream closed
2026-11-01T04:56:20.688Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:41931 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:20.718Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.720Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=4.143600999996124 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=f27a6723-87e1-4808-8950-faeab58bc2bc SSE stream closed
qwen serve listening on http://127.0.0.1:39485 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:20.746Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:20.747Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=4.2405629999993835 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=6517fd7e-e888-4fb2-afe5-f37cf5f2e41e SSE stream closed
qwen serve listening on http://127.0.0.1:35855 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:20.777Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:46329 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
2026-11-01T04:56:20.805Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.811Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.813Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43885 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=44176 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:20.842Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=66036045-9939-489b-9f40-1b087c73c643 SSE stream opened
2026-11-01T04:56:20.843Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.9279289999976754 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=66036045-9939-489b-9f40-1b087c73c643 SSE stream closed
2026-11-01T04:56:20.845Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:20.849Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:20.849Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:20.852Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35407 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=44215 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected Last-Event-ID "abc" (not a decimal integer)
2026-11-01T04:56:20.870Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=fdca0dbf-adda-4222-bc73-0997c0033bf0 SSE stream opened
2026-11-01T04:56:20.871Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.7552070000019739 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=fdca0dbf-adda-4222-bc73-0997c0033bf0 SSE stream closed
qwen serve: rejected Last-Event-ID "-1" (not a decimal integer)
2026-11-01T04:56:20.875Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=1d0dea26-949e-4c4b-8b84-3c26113560e1 SSE stream opened
2026-11-01T04:56:20.875Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.6708470000012312 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=1d0dea26-949e-4c4b-8b84-3c26113560e1 SSE stream closed
qwen serve: rejected Last-Event-ID "1.5e10z" (not a decimal integer)
2026-11-01T04:56:20.878Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=c723bb3d-e1ee-4fe9-9311-5a13a02f9c8d SSE stream opened
2026-11-01T04:56:20.879Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.6356060000034631 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=c723bb3d-e1ee-4fe9-9311-5a13a02f9c8d SSE stream closed
2026-11-01T04:56:20.881Z [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=c40f178785e5da6c). 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=1bc10535ab766bdd). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5864d51e... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=06ea748c... clientId=- status=started expiresInMs=599999
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=8b91d5b2... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=8b91d5b2... clientId=- status=cancelled
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=adbef994... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=0a7e108d... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=0a7e108d... clientId=sdk-B status=started hint="take-over (per-provider singleton; original initiator=sdk-A)"
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=1401fcd8... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=3d2fe4c7... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=8807d951... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=8807d951... clientId=- status=cancelled
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=2a0f8a2c... clientId=- status=started expiresInMs=600000
qwen serve: model-provider ACP child sync failed
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5f844b0d... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=bc71d84f... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=36933bf5... 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-11-01T04:56:22.485Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:22.485Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:22.488Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33561 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=45850 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:22.506Z [INFO] [DAEMON] sessionId=sess-A promptId=d6814d63-1a3d-4dd4-8344-ec88dac8760f prompt enqueued
2026-11-01T04:56:22.506Z [INFO] [DAEMON] route=POST /session/sess-A/prompt sessionId=sess-A durationMs=2 status=202 request completed
2026-11-01T04:56:22.709Z [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-11-01T04:56:23.243Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:23.243Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:23.245Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33927 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=46608 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:23.263Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=9e5e9e2e-3830-485f-9579-0728bd19b2b9 SSE stream opened
2026-11-01T04:56:23.513Z [WARN] [DAEMON] sessionId=sess-A connectReason=unknown idleForMs=250 streamId=9e5e9e2e-3830-485f-9579-0728bd19b2b9 timeoutMs=200 SSE writer idle timeout
2026-11-01T04:56:23.514Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=writer_idle_timeout connectReason=unknown durationMs=251.10968699999648 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=9e5e9e2e-3830-485f-9579-0728bd19b2b9 terminalEventType=client_evicted SSE stream closed
2026-11-01T04:56:23.517Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:56:23.525Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:23.525Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:23.527Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46325 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=46891 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:23.546Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=a84ae104-1499-43f4-84ff-b28356c3314f SSE stream opened
2026-11-01T04:56:24.160Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:24.162Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=616.6005250000017 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=a84ae104-1499-43f4-84ff-b28356c3314f 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-11-01T04:56:24.167Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:24.167Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:24.177Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36423 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=47540 runQwenServeToListenMs=28
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:24.195Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=3d0c79c8-9f5f-4bc3-9cb1-7102edfbe1a9 SSE stream opened
2026-11-01T04:56:24.909Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:24.910Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=715.0437559999991 eventFramesWriteSettled=5 lastEventIdWritten=5 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=3d0c79c8-9f5f-4bc3-9cb1-7102edfbe1a9 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-11-01T04:56:24.915Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:56:24.916Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-f4ocnU/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:56:24.918Z [INFO] [DAEMON] ideEnvPresent=false primary=/build/qwen-code/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37229 (mode=http-bridge, workspace=/build/qwen-code/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/build/qwen-code/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=48281 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:56:24.936Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=63eafed2-1361-46b3-a25f-78115604aef4 SSE stream opened
2026-11-01T04:56:25.301Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:56:25.303Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=1 closeReason=client_disconnect connectReason=unknown durationMs=367.2685350000029 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=149.90542899999855 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=63eafed2-1361-46b3-a25f-78115604aef4 SSE stream closed
qwen serve: bridge error (POST /session): Error: legacy-stderr-test-boom
at spawnImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:37161:15)
at Object.spawnOrAttach (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.test.ts:2208:28)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3102:44
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/build/qwen-code/src/qwen-code/packages/cli/src/serve/auth.ts:592:8)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
qwen serve: Conversations runtime boot failed: The Conversations root could not be verified. <- /private/root changed
qwen serve: Conversations runtime boot failed: The Conversations runtime is temporarily unavailable. <- /private/runtime publication failed
qwen serve: bridge error (POST /session/:id/load session=live-active-root): Error: Active Live session is outside its isolated conversation directory.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3769:23
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3638:25
qwen serve: Conversations runtime boot failed: The Conversations runtime is temporarily unavailable. <- boot publication failed
qwen serve: Conversations runtime boot failed: task handler bind failed
qwen serve: Conversations runtime boot failed: Live Voice is shutting down.
qwen serve: Conversations runtime boot failed: speech handler bind failed
qwen serve: Conversations runtime boot failed: Live Voice is shutting down.
qwen serve: Conversations runtime boot failed: Live Voice is shutting down.
qwen serve: Conversations runtime boot failed: The Conversations root could not be verified. <- runtime unavailable
qwen serve: Conversations runtime boot failed: Live Voice is shutting down.
✓ src/serve/server.test.ts (1175 tests) 36750ms
✓ createServeApp > GET /workspace/:id/sessions > refreshes after TTL when a file changes after the scan already read it 2060ms
✓ createServeApp > GET /workspace/:id/sessions > reports organized session truncation in the response 4414ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does not evict when the writer idle timeout is unset (legacy contract) 643ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when active writes keep refreshing lastWriteAt (#4514 T2.9 wenshao review) 748ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when a back-pressured write drains within the idle budget 393ms
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 (597 tests) 50988ms
✓ src/commands/review/compose-review.test.ts (689 tests) 6488ms
✓ composeReview — the composed body fits GitHub's limit > ranks the plan-gate disclosures with the not-reviewed ones, not with the deferral list 831ms
✓ convergence telemetry — volume, carried in the marker > clamps the count at its origin, so every surface agrees 2416ms
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:42.229Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:42.230Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_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-11-01T04:57:42.291Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-live-task-keepalive-DmjqUl/workspace secondary= daemon workspace roots initialized
2026-11-01T04:57:42.381Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:36463 (mode=http-bridge, workspace=/tmp/qws-live-task-keepalive-DmjqUl/workspace)
qwen serve: bound to workspace "/tmp/qws-live-task-keepalive-DmjqUl/workspace"
qwen serve: startup timing: processToListenMs=4870 runQwenServeToListenMs=182
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:42.455Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:42.469Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:42.469Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:42.477Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-settings-3uYRLH secondary= daemon workspace roots initialized
2026-11-01T04:57:42.496Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:35563 (mode=http-bridge, workspace=/tmp/qws-skill-settings-3uYRLH)
qwen serve: bound to workspace "/tmp/qws-skill-settings-3uYRLH"
qwen serve: startup timing: processToListenMs=4982 runQwenServeToListenMs=33
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:42.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-11-01T04:57:42.524Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:42.524Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:42.528Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-dual-lwO2Bx secondary= daemon workspace roots initialized
2026-11-01T04:57:42.544Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45299 (mode=http-bridge, workspace=/tmp/qws-skill-dual-lwO2Bx)
qwen serve: bound to workspace "/tmp/qws-skill-dual-lwO2Bx"
qwen serve: startup timing: processToListenMs=5030 runQwenServeToListenMs=25
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:42.554Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:42.568Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:42.568Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:42.573Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-batch-W14cVy secondary= daemon workspace roots initialized
2026-11-01T04:57:42.589Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:41487 (mode=http-bridge, workspace=/tmp/qws-skill-batch-W14cVy)
qwen serve: bound to workspace "/tmp/qws-skill-batch-W14cVy"
qwen serve: startup timing: processToListenMs=5075 runQwenServeToListenMs=26
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:42.603Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.080Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.081Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-viOwLx/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:47.084Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dl-viOwLx secondary= daemon workspace roots initialized
2026-11-01T04:57:47.103Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39241 (mode=http-bridge, workspace=/tmp/qws-dl-viOwLx)
qwen serve: bound to workspace "/tmp/qws-dl-viOwLx"
qwen serve: startup timing: processToListenMs=9588 runQwenServeToListenMs=27
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.201Z [WARN] [DAEMON] route=GET /missing-0 durationMs=17 status=404 request completed
2026-11-01T04:57:47.223Z [WARN] [DAEMON] route=GET /missing-1 durationMs=10 status=404 request completed
2026-11-01T04:57:47.240Z [WARN] [DAEMON] route=GET /missing-2 durationMs=2 status=404 request completed
2026-11-01T04:57:47.243Z [WARN] [DAEMON] route=GET /missing-3 durationMs=1 status=404 request completed
2026-11-01T04:57:47.245Z [WARN] [DAEMON] route=GET /missing-4 durationMs=1 status=404 request completed
2026-11-01T04:57:47.248Z [WARN] [DAEMON] route=GET /missing-5 durationMs=1 status=404 request completed
2026-11-01T04:57:47.250Z [WARN] [DAEMON] route=GET /missing-6 durationMs=1 status=404 request completed
2026-11-01T04:57:47.252Z [WARN] [DAEMON] route=GET /missing-7 durationMs=1 status=404 request completed
2026-11-01T04:57:47.253Z [WARN] [DAEMON] route=GET /missing-8 durationMs=1 status=404 request completed
2026-11-01T04:57:47.255Z [WARN] [DAEMON] route=GET /missing-9 durationMs=1 status=404 request completed
2026-11-01T04:57:47.257Z [WARN] [DAEMON] route=GET /missing-10 durationMs=1 status=404 request completed
2026-11-01T04:57:47.259Z [WARN] [DAEMON] route=GET /missing-11 durationMs=1 status=404 request completed
2026-11-01T04:57:47.260Z [WARN] [DAEMON] route=GET /missing-12 durationMs=1 status=404 request completed
2026-11-01T04:57:47.262Z [WARN] [DAEMON] route=GET /missing-13 durationMs=1 status=404 request completed
2026-11-01T04:57:47.263Z [WARN] [DAEMON] route=GET /missing-14 durationMs=1 status=404 request completed
2026-11-01T04:57:47.265Z [WARN] [DAEMON] route=GET /missing-15 durationMs=1 status=404 request completed
2026-11-01T04:57:47.266Z [WARN] [DAEMON] route=GET /missing-16 durationMs=1 status=404 request completed
2026-11-01T04:57:47.268Z [WARN] [DAEMON] route=GET /missing-17 durationMs=1 status=404 request completed
2026-11-01T04:57:47.269Z [WARN] [DAEMON] route=GET /missing-18 durationMs=1 status=404 request completed
2026-11-01T04:57:47.271Z [WARN] [DAEMON] route=GET /missing-19 durationMs=1 status=404 request completed
2026-11-01T04:57:47.272Z [WARN] [DAEMON] route=GET /missing-20 durationMs=1 status=404 request completed
2026-11-01T04:57:47.274Z [WARN] [DAEMON] route=GET /missing-21 durationMs=1 status=404 request completed
2026-11-01T04:57:47.275Z [WARN] [DAEMON] route=GET /missing-22 durationMs=1 status=404 request completed
2026-11-01T04:57:47.277Z [WARN] [DAEMON] route=GET /missing-23 durationMs=1 status=404 request completed
2026-11-01T04:57:47.278Z [WARN] [DAEMON] route=GET /missing-24 durationMs=1 status=404 request completed
2026-11-01T04:57:47.280Z [WARN] [DAEMON] route=GET /missing-25 durationMs=1 status=404 request completed
2026-11-01T04:57:47.281Z [WARN] [DAEMON] route=GET /missing-26 durationMs=1 status=404 request completed
2026-11-01T04:57:47.283Z [WARN] [DAEMON] route=GET /missing-27 durationMs=1 status=404 request completed
2026-11-01T04:57:47.284Z [WARN] [DAEMON] route=GET /missing-28 durationMs=1 status=404 request completed
2026-11-01T04:57:47.286Z [WARN] [DAEMON] route=GET /missing-29 durationMs=1 status=404 request completed
2026-11-01T04:57:47.287Z [WARN] [DAEMON] route=GET /missing-30 durationMs=1 status=404 request completed
2026-11-01T04:57:47.288Z [WARN] [DAEMON] route=GET /missing-31 durationMs=1 status=404 request completed
2026-11-01T04:57:47.290Z [WARN] [DAEMON] route=GET /missing-32 durationMs=1 status=404 request completed
2026-11-01T04:57:47.294Z [WARN] [DAEMON] route=GET /missing-33 durationMs=1 status=404 request completed
2026-11-01T04:57:47.297Z [WARN] [DAEMON] route=GET /missing-34 durationMs=1 status=404 request completed
2026-11-01T04:57:47.298Z [WARN] [DAEMON] route=GET /missing-35 durationMs=1 status=404 request completed
2026-11-01T04:57:47.300Z [WARN] [DAEMON] route=GET /missing-36 durationMs=1 status=404 request completed
2026-11-01T04:57:47.302Z [WARN] [DAEMON] route=GET /missing-37 durationMs=1 status=404 request completed
2026-11-01T04:57:47.303Z [WARN] [DAEMON] route=GET /missing-38 durationMs=1 status=404 request completed
2026-11-01T04:57:47.305Z [WARN] [DAEMON] route=GET /missing-39 durationMs=1 status=404 request completed
2026-11-01T04:57:47.306Z [WARN] [DAEMON] route=GET /missing-40 durationMs=1 status=404 request completed
2026-11-01T04:57:47.307Z [WARN] [DAEMON] route=GET /missing-41 durationMs=1 status=404 request completed
2026-11-01T04:57:47.309Z [WARN] [DAEMON] route=GET /missing-42 durationMs=1 status=404 request completed
2026-11-01T04:57:47.310Z [WARN] [DAEMON] route=GET /missing-43 durationMs=1 status=404 request completed
2026-11-01T04:57:47.312Z [WARN] [DAEMON] route=GET /missing-44 durationMs=1 status=404 request completed
2026-11-01T04:57:47.313Z [WARN] [DAEMON] route=GET /missing-45 durationMs=1 status=404 request completed
2026-11-01T04:57:47.315Z [WARN] [DAEMON] route=GET /missing-46 durationMs=1 status=404 request completed
2026-11-01T04:57:47.316Z [WARN] [DAEMON] route=GET /missing-47 durationMs=1 status=404 request completed
2026-11-01T04:57:47.318Z [WARN] [DAEMON] route=GET /missing-48 durationMs=1 status=404 request completed
2026-11-01T04:57:47.319Z [WARN] [DAEMON] route=GET /missing-49 durationMs=1 status=404 request completed
2026-11-01T04:57:47.321Z [WARN] [DAEMON] route=GET /missing-50 durationMs=1 status=404 request completed
2026-11-01T04:57:47.322Z [WARN] [DAEMON] route=GET /missing-51 durationMs=1 status=404 request completed
2026-11-01T04:57:47.324Z [WARN] [DAEMON] route=GET /missing-52 durationMs=1 status=404 request completed
2026-11-01T04:57:47.325Z [WARN] [DAEMON] route=GET /missing-53 durationMs=1 status=404 request completed
2026-11-01T04:57:47.327Z [WARN] [DAEMON] route=GET /missing-54 durationMs=1 status=404 request completed
2026-11-01T04:57:47.328Z [WARN] [DAEMON] route=GET /missing-55 durationMs=1 status=404 request completed
2026-11-01T04:57:47.330Z [WARN] [DAEMON] route=GET /missing-56 durationMs=1 status=404 request completed
2026-11-01T04:57:47.331Z [WARN] [DAEMON] route=GET /missing-57 durationMs=1 status=404 request completed
2026-11-01T04:57:47.333Z [WARN] [DAEMON] route=GET /missing-58 durationMs=1 status=404 request completed
2026-11-01T04:57:47.334Z [WARN] [DAEMON] route=GET /missing-59 durationMs=1 status=404 request completed
2026-11-01T04:57:47.351Z [WARN] [DAEMON] status2xx=0 status3xx=0 status4xx=10 status5xx=0 statusOther=0 suppressed=10 access logs suppressed
2026-11-01T04:57:47.351Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.388Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.388Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:35407 (mode=http-bridge, workspace=/tmp/qws-tv-B4Us0O)
qwen serve: bound to workspace "/tmp/qws-tv-B4Us0O"
qwen serve: startup timing: processToListenMs=9875 runQwenServeToListenMs=7
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
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-11-01T04:57:47.393Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4865:15)
2026-11-01T04:57:47.428Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4865: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-11-01T04:57:47.435Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.435Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-ZWFVHV/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41293 (mode=http-bridge, workspace=/tmp/qws-ws-ZWFVHV/primary)
qwen serve: bound to workspace "/tmp/qws-ws-ZWFVHV/primary"
qwen serve: startup timing: processToListenMs=9921 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.439Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-ZWFVHV/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.462Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.479Z [INFO] [DAEMON] route=GET /capabilities durationMs=9 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=c3564a505c0ee4e5). 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=ce840964830cd00a). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-11-01T04:57:47.551Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.561Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.561Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-drain-WXwfuS/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43515 (mode=http-bridge, workspace=/tmp/qws-runtime-drain-WXwfuS/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-drain-WXwfuS/primary"
qwen serve: startup timing: processToListenMs=10047 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.564Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-drain-WXwfuS/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.583Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.587Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.593Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.593Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-BY43DR/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43099 (mode=http-bridge, workspace=/tmp/qws-injected-fs-BY43DR/workspace)
qwen serve: bound to workspace "/tmp/qws-injected-fs-BY43DR/workspace"
qwen serve: startup timing: processToListenMs=10079 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.596Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-injected-fs-BY43DR/workspace secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.613Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:47.613Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.635Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.635Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-1YtvfT/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36647 (mode=http-bridge, workspace=/tmp/qws-voice-capability-1YtvfT/workspace)
qwen serve: bound to workspace "/tmp/qws-voice-capability-1YtvfT/workspace"
qwen serve: startup timing: processToListenMs=10122 runQwenServeToListenMs=7
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.639Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-voice-capability-1YtvfT/workspace secondary= daemon workspace roots initialized
2026-11-01T04:57:47.655Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.661Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:57:47.669Z [INFO] [DAEMON] route=GET /capabilities durationMs=5 status=200 request completed
2026-11-01T04:57:47.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-11-01T04:57:47.679Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.679Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-EYxmHl/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39317 (mode=http-bridge, workspace=/tmp/qws-hot-remove-EYxmHl/primary)
qwen serve: bound to workspace "/tmp/qws-hot-remove-EYxmHl/primary"
qwen serve: startup timing: processToListenMs=10165 runQwenServeToListenMs=5
2026-11-01T04:57:47.682Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-hot-remove-EYxmHl/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.698Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.724Z [INFO] [DAEMON] route=POST /workspaces durationMs=18 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=330518e32ff71f7b). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-11-01T04:57:47.734Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:57:47.742Z [INFO] [DAEMON] route=DELETE /workspaces/e4b0230f5bd06d3d durationMs=4 status=200 request completed
2026-11-01T04:57:47.749Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:57:47.757Z [INFO] [DAEMON] route=POST /workspaces durationMs=5 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=c6017d6f0ef5cd74). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-11-01T04:57:47.818Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.828Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.828Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-3rSRxw/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42155 (mode=http-bridge, workspace=/tmp/qws-runtime-failure-3rSRxw/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-failure-3rSRxw/primary"
qwen serve: startup timing: processToListenMs=10315 runQwenServeToListenMs=6
2026-11-01T04:57:47.832Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-failure-3rSRxw/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.847Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: POST /workspaces failed for /tmp/qws-runtime-failure-3rSRxw/secondary: workspace service construction failed
2026-11-01T04:57:47.865Z [WARN] [DAEMON] route=POST /workspaces durationMs=4 status=500 request completed
2026-11-01T04:57:47.867Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.875Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.875Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-oXrzQ0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33653 (mode=http-bridge, workspace=/tmp/qws-ws-oXrzQ0/primary)
qwen serve: bound to workspace "/tmp/qws-ws-oXrzQ0/primary"
qwen serve: startup timing: processToListenMs=10362 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.879Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-oXrzQ0/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.895Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.898Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.904Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.904Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41921 (mode=http-bridge, workspace=/tmp/qws-channel-idle-timeout-ATHtAN)
qwen serve: bound to workspace "/tmp/qws-channel-idle-timeout-ATHtAN"
qwen serve: startup timing: processToListenMs=10390 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.907Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-idle-timeout-ATHtAN secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-11-01T04:57:47.930Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.932Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.940Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.940Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VfMLuN/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46257 (mode=http-bridge, workspace=/tmp/qws-ws-VfMLuN/primary)
qwen serve: bound to workspace "/tmp/qws-ws-VfMLuN/primary"
qwen serve: startup timing: processToListenMs=10426 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:47.943Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-VfMLuN/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.959Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.961Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.967Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.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-ws-ZYFW0F/debug/daemon/daemon.log
2026-11-01T04:57:47.970Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-ZYFW0F/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:47.985Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:46761 (mode=http-bridge, workspace=/tmp/qws-ws-ZYFW0F/primary)
qwen serve: bound to workspace "/tmp/qws-ws-ZYFW0F/primary"
qwen serve: startup timing: processToListenMs=10470 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:47.989Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:57:47.991Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:47.998Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:47.998Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-AYnnku/debug/daemon/daemon.log
2026-11-01T04:57:48.007Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tv-AYnnku secondary= daemon workspace roots initialized
2026-11-01T04:57:48.023Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38855 (mode=http-bridge, workspace=/tmp/qws-tv-AYnnku)
qwen serve: bound to workspace "/tmp/qws-tv-AYnnku"
qwen serve: startup timing: processToListenMs=10508 runQwenServeToListenMs=28
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.024Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.031Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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/qws-tm-cS3MjB/debug/daemon/daemon.log
2026-11-01T04:57:48.033Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tm-cS3MjB secondary= daemon workspace roots initialized
2026-11-01T04:57:48.049Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:36729 (mode=http-bridge, workspace=/tmp/qws-tm-cS3MjB)
qwen serve: bound to workspace "/tmp/qws-tm-cS3MjB"
qwen serve: startup timing: processToListenMs=10534 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.050Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.057Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.057Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-gazHMQ/debug/daemon/daemon.log
2026-11-01T04:57:48.057Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid permissionResponseTimeoutMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled / wait forever).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4137:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5185:7
at file:///build/qwen-code/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, 31262 MB available via host)
2026-11-01T04:57:48.134Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.134Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34957 (mode=http-bridge, workspace=/tmp/qws-mem-JEQ7GE)
qwen serve: bound to workspace "/tmp/qws-mem-JEQ7GE"
qwen serve: startup timing: processToListenMs=10621 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.138Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-JEQ7GE secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-11-01T04:57:48.153Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.164Z [INFO] [DAEMON] route=GET /daemon/status durationMs=8 status=200 request completed
2026-11-01T04:57:48.168Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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:43969 (mode=http-bridge, workspace=/tmp/qws-mem-lbUJML)
2026-11-01T04:57:48.201Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:38781 (mode=http-bridge, workspace=/tmp/qws-mem-yMGfqf)
2026-11-01T04:57:48.227Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:48.232Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46163 (mode=http-bridge, workspace=/tmp/qws-mem-V056BM)
qwen serve: bound to workspace "/tmp/qws-mem-V056BM"
qwen serve: startup timing: processToListenMs=10718 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.235Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-V056BM secondary= daemon workspace roots initialized
2026-11-01T04:57:48.250Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.252Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:48.257Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41421 (mode=http-bridge, workspace=/tmp/qws-mem-j867OQ)
qwen serve: bound to workspace "/tmp/qws-mem-j867OQ"
qwen serve: startup timing: processToListenMs=10743 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.260Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-j867OQ secondary= daemon workspace roots initialized
2026-11-01T04:57:48.275Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.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, 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-11-01T04:57:48.283Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.283Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43023 (mode=http-bridge, workspace=/tmp/qws-mem-Nue4Zn)
qwen serve: bound to workspace "/tmp/qws-mem-Nue4Zn"
qwen serve: startup timing: processToListenMs=10769 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.286Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-Nue4Zn secondary= daemon workspace roots initialized
2026-11-01T04:57:48.301Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.314Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:48.323Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.323Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42987 (mode=http-bridge, workspace=/tmp/qws-mem-MotOES/primary)
qwen serve: bound to workspace "/tmp/qws-mem-MotOES/primary"
qwen serve: startup timing: processToListenMs=10810 runQwenServeToListenMs=9
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.327Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-MotOES/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:48.345Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.347Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:48.351Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.351Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40957 (mode=http-bridge, workspace=/tmp/qws-mem-iUIXyH)
qwen serve: bound to workspace "/tmp/qws-mem-iUIXyH"
qwen serve: startup timing: processToListenMs=10838 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.355Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-iUIXyH secondary= daemon workspace roots initialized
2026-11-01T04:57:48.370Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.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
qwen serve: memory budget 4096 MB (flag, 8192 MB available via host)
2026-11-01T04:57:48.376Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40285 (mode=http-bridge, workspace=/tmp/qws-mem-HJcpqO/primary)
qwen serve: bound to workspace "/tmp/qws-mem-HJcpqO/primary"
qwen serve: startup timing: processToListenMs=10863 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.380Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-HJcpqO/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:48.397Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.400Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.405Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.405Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-m3ms0h/debug/daemon/daemon.log
2026-11-01T04:57:48.406Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid initializeTimeoutMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4118:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5921:7
at file:///build/qwen-code/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-11-01T04:57:48.411Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.411Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-uSUllx/debug/daemon/daemon.log
2026-11-01T04:57:48.412Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid initializeTimeoutMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4118:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5953:7
at file:///build/qwen-code/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-11-01T04:57:48.417Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.417Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-YpLjRL/debug/daemon/daemon.log
2026-11-01T04:57:48.417Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:483:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4122:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5985:7
at file:///build/qwen-code/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-11-01T04:57:48.424Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-it-vF89sR/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40591 (mode=http-bridge, workspace=/tmp/qws-it-vF89sR)
qwen serve: bound to workspace "/tmp/qws-it-vF89sR"
qwen serve: startup timing: processToListenMs=10911 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.429Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-it-vF89sR secondary= daemon workspace roots initialized
2026-11-01T04:57:48.443Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.445Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:48.474Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.475Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-2UuqBc/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:48.477Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-2UuqBc secondary= daemon workspace roots initialized
2026-11-01T04:57:48.495Z [ERROR] [DAEMON] daemon startup failed
Error: --tls-cert "/tmp/qws-tls-2UuqBc/cert.pem" and --tls-key "/tmp/qws-tls-2UuqBc/key.pem" could not be loaded (do they match?): error:05800074:x509 certificate routines::key values mismatch
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9567:11
at new Promise ()
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8114:16)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6438:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:57:48.496Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.504Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on https://127.0.0.1:33029 (mode=http-bridge, workspace=/tmp/qws-tls-VfOKFx)
qwen serve: bound to workspace "/tmp/qws-tls-VfOKFx"
qwen serve: startup timing: processToListenMs=10991 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.530Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-VfOKFx secondary= daemon workspace roots initialized
2026-11-01T04:57:48.545Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:48.547Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952:17
at waitForRuntimeStartingForShutdown (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2508:3)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9267:17
2026-11-01T04:57:48.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-11-01T04:57:48.554Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.554Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.554Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxSessions: NaN. Must be a number >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4035:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.561Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.561Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.561Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxSessions: -1. Must be a number >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4035:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.568Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.568Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.568Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: NaN. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4043:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.574Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.574Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.575Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: -1. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4043:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.581Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.581Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.581Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: 1.5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4043:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.587Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.587Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.587Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: 0. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4062:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.593Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.594Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.594Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: 1.5. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4062:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.600Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.600Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.600Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: Infinity. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4062:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.607Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.607Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.607Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: 0. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/build/qwen-code/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4069:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.615Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.615Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.615Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: 1.5. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/build/qwen-code/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4069:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.622Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.622Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.623Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: Infinity. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/build/qwen-code/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4069:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6575:7
at file:///build/qwen-code/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-11-01T04:57:48.657Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.657Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.657Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid externalToolGuard: omit it for off mode or set mode to 'required'.
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4150:11)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6709:5
at file:///build/qwen-code/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-11-01T04:57:48.664Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.664Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:48.680Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid external tool guard endpoint: expected an origin-only loopback HTTP(S) URL.
at normalizeEndpoint (/build/qwen-code/src/qwen-code/packages/cli/src/serve/external-tool-guard-provider.ts:79:11)
at new RequiredExternalToolGuard (/build/qwen-code/src/qwen-code/packages/cli/src/serve/external-tool-guard-provider.ts:179:21)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4183:22)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6734:5
at file:///build/qwen-code/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-11-01T04:57:48.693Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.693Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-MWrArv/debug/daemon/daemon.log
2026-11-01T04:57:48.693Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: -1. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4097:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.699Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.699Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-IPc4NL/debug/daemon/daemon.log
2026-11-01T04:57:48.699Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: 1.5. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4097:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.705Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.705Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-yRoEMD/debug/daemon/daemon.log
2026-11-01T04:57:48.706Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4097:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.713Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.713Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-px1Xza/debug/daemon/daemon.log
2026-11-01T04:57:48.713Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: Infinity. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4097:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.725Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.725Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-GUcPaw/debug/daemon/daemon.log
2026-11-01T04:57:48.725Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: -1. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4104:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.731Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.732Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-djjS9O/debug/daemon/daemon.log
2026-11-01T04:57:48.732Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: 1.5. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4104:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.737Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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/qws-rt-WD4T9i/debug/daemon/daemon.log
2026-11-01T04:57:48.737Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4104:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.743Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-cTF5aP/debug/daemon/daemon.log
2026-11-01T04:57:48.743Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: Infinity. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4104:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.749Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.749Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-wuo0jx/debug/daemon/daemon.log
2026-11-01T04:57:48.749Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionPromptSettledCloseGraceMs: -1. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4111:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.755Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.755Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-7hlnge/debug/daemon/daemon.log
2026-11-01T04:57:48.755Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionPromptSettledCloseGraceMs: 1.5. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4111:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.761Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.761Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-Dw66OH/debug/daemon/daemon.log
2026-11-01T04:57:48.761Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionPromptSettledCloseGraceMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4111:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.766Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-rt-fo6ONI/debug/daemon/daemon.log
2026-11-01T04:57:48.767Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionPromptSettledCloseGraceMs: Infinity. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4111:13)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at runWithReaperOption (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6785:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6818:5
at file:///build/qwen-code/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-11-01T04:57:48.772Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-rt-HOPQvc/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:48.775Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-HOPQvc secondary= daemon workspace roots initialized
2026-11-01T04:57:48.790Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:37849 (mode=http-bridge, workspace=/tmp/qws-rt-HOPQvc)
qwen serve: bound to workspace "/tmp/qws-rt-HOPQvc"
qwen serve: startup timing: processToListenMs=11275 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.791Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.796Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.797Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-CuxV6z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:48.799Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-CuxV6z secondary= daemon workspace roots initialized
2026-11-01T04:57:48.814Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39753 (mode=http-bridge, workspace=/tmp/qws-rt-CuxV6z)
qwen serve: bound to workspace "/tmp/qws-rt-CuxV6z"
qwen serve: startup timing: processToListenMs=11300 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.815Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.822Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.822Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-7AdrEe/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:48.826Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-7AdrEe secondary= daemon workspace roots initialized
2026-11-01T04:57:48.843Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43911 (mode=http-bridge, workspace=/tmp/qws-rt-7AdrEe)
qwen serve: bound to workspace "/tmp/qws-rt-7AdrEe"
qwen serve: startup timing: processToListenMs=11329 runQwenServeToListenMs=26
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.844Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.850Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.850Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46587 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-race-FmBz5v)
qwen serve: bound to workspace "/tmp/qws-runtime-trust-race-FmBz5v"
qwen serve: startup timing: processToListenMs=11336 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.853Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-trust-race-FmBz5v workspace file writes are disabled because the bound workspace is not trusted
2026-11-01T04:57:48.854Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-race-FmBz5v secondary= daemon workspace roots initialized
2026-11-01T04:57:48.868Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.874Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.882Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33175 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-blocked-0gYpM8)
qwen serve: bound to workspace "/tmp/qws-runtime-trust-blocked-0gYpM8"
qwen serve: startup timing: processToListenMs=11368 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.885Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-blocked-0gYpM8 secondary= daemon workspace roots initialized
2026-11-01T04:57:48.900Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.904Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-trust-blocked-0gYpM8
Error: replacement failed
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:7020:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at createDynamicWorkspaceRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:6740:28)
at Object.buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7755:18)
at replace (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:133:37)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at applySnapshot (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:316:7)
at drain (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:324:7)
at PathMutexRegistry.runExclusive (/build/qwen-code/src/qwen-code/packages/cli/src/serve/fs/path-mutex-registry.ts:20:14)
2026-11-01T04:57:48.953Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:48.962Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:48.962Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36331 (mode=http-bridge, workspace=/tmp/qws-runtime-acp-cleanup-As5aeY)
qwen serve: bound to workspace "/tmp/qws-runtime-acp-cleanup-As5aeY"
qwen serve: startup timing: processToListenMs=11448 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:48.965Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-acp-cleanup-As5aeY secondary= daemon workspace roots initialized
2026-11-01T04:57:48.980Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:48.982Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-acp-cleanup-As5aeY
AggregateError: Workspace bridge shutdown could not be confirmed.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7377:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:57:49.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.042Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.042Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42725 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-utXDjr)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-utXDjr"
qwen serve: startup timing: processToListenMs=11528 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.046Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-utXDjr secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.047Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:7138:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.048Z [ERROR] [DAEMON] daemon startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:7138:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489: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-11-01T04:57:49.056Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.056Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38199 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-close-Xm4Cat)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-close-Xm4Cat"
qwen serve: startup timing: processToListenMs=11542 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.059Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-close-Xm4Cat secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.061Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:7159:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.061Z [ERROR] [DAEMON] daemon startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:7159:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.072Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.073Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40917 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-n4Pm9B)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-n4Pm9B"
qwen serve: startup timing: processToListenMs=11559 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.076Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-n4Pm9B secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.078Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.083Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.091Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.091Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39333 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-jWZ5Gf)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-jWZ5Gf"
qwen serve: startup timing: processToListenMs=11577 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.095Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-jWZ5Gf secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.096Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.100Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.109Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.109Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43413 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-pJLb5l)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-pJLb5l"
qwen serve: startup timing: processToListenMs=11595 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.113Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-pJLb5l secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.114Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.118Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.126Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.126Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41087 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-EZNuKv)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-EZNuKv"
qwen serve: startup timing: processToListenMs=11613 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.130Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-EZNuKv secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.131Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.135Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.143Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35929 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-ss13l4)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-ss13l4"
qwen serve: startup timing: processToListenMs=11630 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-11-01T04:57:49.147Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-ss13l4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.148Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.152Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.161Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.161Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44509 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-fBnK53)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-fBnK53"
qwen serve: startup timing: processToListenMs=11648 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-11-01T04:57:49.165Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-fBnK53 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.166Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.170Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.178Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36197 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-umCeL8)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-umCeL8"
qwen serve: startup timing: processToListenMs=11665 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-11-01T04:57:49.182Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-umCeL8 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.183Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.187Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.195Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33869 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-dydCVx)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-dydCVx"
qwen serve: startup timing: processToListenMs=11682 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.199Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-dydCVx secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.200Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.204Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.212Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.212Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35475 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-2jWpSx)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-2jWpSx"
qwen serve: startup timing: processToListenMs=11698 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.215Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-2jWpSx secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.216Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.220Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.228Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.228Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:32857 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-yew0es)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-yew0es"
qwen serve: startup timing: processToListenMs=11714 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.231Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-yew0es secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.232Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.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
qwen serve: --allow-origin: chrome-extension://qwen-test-extension (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.255Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:32891 (mode=http-bridge, workspace=/tmp/qws-runtime-child-env-V3wm06)
qwen serve: bound to workspace "/tmp/qws-runtime-child-env-V3wm06"
qwen serve: startup timing: processToListenMs=11741 runQwenServeToListenMs=13
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.259Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-child-env-V3wm06 secondary= daemon workspace roots initialized
2026-11-01T04:57:49.274Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:49.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
2026-11-01T04:57:49.293Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.293Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: required external tool guard handshake succeeded.
qwen serve listening on http://127.0.0.1:33715 (mode=http-bridge, workspace=/tmp/qws-guard-provider-0jM4T2)
qwen serve: bound to workspace "/tmp/qws-guard-provider-0jM4T2"
qwen serve: startup timing: processToListenMs=11785 runQwenServeToListenMs=10
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.302Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-guard-provider-0jM4T2 secondary= daemon workspace roots initialized
2026-11-01T04:57:49.317Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:49.319Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.327Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.327Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40269 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-w6Ijz8/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-w6Ijz8/primary"
qwen serve: startup timing: processToListenMs=11814 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.330Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-w6Ijz8/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.333Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.335Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.343Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=option project memory scope resolved
2026-11-01T04:57:49.343Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33257 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-JbOwcs/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-JbOwcs/primary"
qwen serve: startup timing: processToListenMs=11829 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.346Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-JbOwcs/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.348Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.350Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.358Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=environment project memory scope resolved
2026-11-01T04:57:49.358Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34243 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-Lbqczn/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-Lbqczn/primary"
qwen serve: startup timing: processToListenMs=11844 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.361Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-Lbqczn/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.363Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.365Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.373Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.373Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41553 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-DUcKWk/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-DUcKWk/primary"
qwen serve: startup timing: processToListenMs=11859 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.376Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-DUcKWk/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.378Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.380Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.388Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.388Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34445 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-ySJ1CU/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-ySJ1CU/primary"
qwen serve: startup timing: processToListenMs=11874 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.391Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-ySJ1CU/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.394Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.395Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.403Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=workspce projectMemoryScopeSource=environment project memory scope resolved
2026-11-01T04:57:49.403Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39837 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-Ch49EW/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-Ch49EW/primary"
qwen serve: startup timing: processToListenMs=11889 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.406Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-Ch49EW/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.409Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:49.411Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.419Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.419Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-H6Hz5K/debug/daemon/daemon.log
2026-11-01T04:57:49.422Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-reload-H6Hz5K secondary= daemon workspace roots initialized
2026-11-01T04:57:49.425Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:37765 (mode=http-bridge, workspace=/tmp/qws-runtime-env-reload-H6Hz5K)
qwen serve: bound to workspace "/tmp/qws-runtime-env-reload-H6Hz5K"
qwen serve: startup timing: processToListenMs=11910 runQwenServeToListenMs=9
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: model-provider ACP child sync failed
2026-11-01T04:57:49.430Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.439Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.439Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-env-fallback-dWKVXv/debug/daemon/daemon.log
2026-11-01T04:57:49.442Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-fallback-dWKVXv secondary= daemon workspace roots initialized
2026-11-01T04:57:49.444Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:34365 (mode=http-bridge, workspace=/tmp/qws-runtime-env-fallback-dWKVXv)
qwen serve: bound to workspace "/tmp/qws-runtime-env-fallback-dWKVXv"
qwen serve: startup timing: processToListenMs=11929 runQwenServeToListenMs=8
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.444Z [WARN] [DAEMON] error="runtime env rebuild failed" failed to rebuild runtime env snapshot before daemon env reload; preserving previous runtime env
2026-11-01T04:57:49.445Z [WARN] [DAEMON] error="runtime env rebuild failed" failed to rebuild runtime env snapshot before daemon env reload; preserving previous runtime env
2026-11-01T04:57:49.447Z [WARN] [DAEMON] failedFiles="[object Object]" workspace=/tmp/qws-runtime-env-fallback-dWKVXv one or more runtime env files could not be read
2026-11-01T04:57:49.448Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.468Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.468Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /build/.qwen/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46487 (mode=http-bridge, workspace=/tmp/qws-secondary-env-reload-1SyFC5/primary)
qwen serve: bound to workspace "/tmp/qws-secondary-env-reload-1SyFC5/primary"
qwen serve: startup timing: processToListenMs=11954 runQwenServeToListenMs=13
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.471Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-secondary-env-reload-1SyFC5/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.474Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-11-01T04:57:49.485Z [WARN] [DAEMON] failedFiles="[object Object]" workspace=/tmp/qws-secondary-env-reload-1SyFC5/secondary one or more runtime env files could not be read
2026-11-01T04:57:49.486Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:37011 (mode=http-bridge, workspace=/tmp/qws-restored-workspace-OHo8tw/primary)
qwen serve listening on http://127.0.0.1:40163 (mode=http-bridge, workspace=/tmp/qws-restored-read-error-FvchqA/primary)
qwen serve listening on http://127.0.0.1:36015 (mode=http-bridge, workspace=/tmp/qws-restored-limit-qKXaS1/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-11-01T04:57:49.589Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.589Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-9tw4pz/debug/daemon/daemon.log
2026-11-01T04:57:49.591Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-9tw4pz/untrusted-secondary excluding untrusted secondary workspace root from file-system access
2026-11-01T04:57:49.591Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-9tw4pz/primary secondary=/tmp/qws-runtime-roots-9tw4pz/trusted-secondary daemon workspace roots initialized
2026-11-01T04:57:49.592Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45223 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-9tw4pz/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-9tw4pz/primary"
qwen serve: startup timing: processToListenMs=12078 runQwenServeToListenMs=8
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.593Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.603Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.603Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-NvXLco/debug/daemon/daemon.log
2026-11-01T04:57:49.606Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-NvXLco/parent excluding untrusted secondary workspace root from file-system access
2026-11-01T04:57:49.606Z [INFO] [DAEMON] ideEnvPresent=true primary=/tmp/qws-runtime-roots-NvXLco/primary secondary=/tmp/qws-runtime-roots-NvXLco/parent/trusted-child daemon workspace roots initialized
2026-11-01T04:57:49.608Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39089 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-NvXLco/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-NvXLco/primary"
qwen serve: startup timing: processToListenMs=12093 runQwenServeToListenMs=8
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.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-11-01T04:57:49.619Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.619Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-0pnBQZ/debug/daemon/daemon.log
2026-11-01T04:57:49.622Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-0pnBQZ/primary secondary=/tmp/qws-runtime-roots-0pnBQZ/secondary daemon workspace roots initialized
2026-11-01T04:57:49.623Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:35507 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-0pnBQZ/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-0pnBQZ/primary"
qwen serve: startup timing: processToListenMs=12108 runQwenServeToListenMs=8
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.624Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.634Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.634Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-gKfpJU/debug/daemon/daemon.log
qwen serve: could not read full settings for runtime startup (settings unavailable); falling back to defaults.
2026-11-01T04:57:49.636Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-gKfpJU/secondary excluding untrusted secondary workspace root from file-system access
2026-11-01T04:57:49.637Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-gKfpJU/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.638Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38861 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-gKfpJU/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-gKfpJU/primary"
qwen serve: startup timing: processToListenMs=12123 runQwenServeToListenMs=8
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.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: --allow-origin: http://localhost:5173 (WARNING: these browser origins receive full API authority without a bearer token in trusted loopback mode and can execute code as the daemon user)
2026-11-01T04:57:49.647Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.647Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38851 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-MvO9HI)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-MvO9HI"
qwen serve: startup timing: processToListenMs=12134 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.651Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-MvO9HI secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:49.652Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6872:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:49.656Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.708Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.709Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41437 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-route-lmKh00)
qwen serve: bound to workspace "/tmp/qws-runtime-starting-route-lmKh00"
qwen serve: startup timing: processToListenMs=12196 runQwenServeToListenMs=12
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.716Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-route-lmKh00 secondary= daemon workspace roots initialized
2026-11-01T04:57:49.731Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:49.733Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952:17
at waitForRuntimeStartingForShutdown (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2508:3)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9267:17
2026-11-01T04:57:49.733Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.743Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-kuCbZf/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39089 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-caps-kuCbZf/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-starting-caps-kuCbZf/primary"
qwen serve: startup timing: processToListenMs=12229 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.749Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-caps-kuCbZf/primary secondary= daemon workspace roots initialized
2026-11-01T04:57:49.765Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:49.768Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:57:49.770Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:49.782Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:49.782Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-1KVBFG/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37651 (mode=http-bridge, workspace=/tmp/qws-health-first-1KVBFG)
qwen serve: bound to workspace "/tmp/qws-health-first-1KVBFG"
qwen serve: startup timing: processToListenMs=12269 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:49.784Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.043Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:50.094Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:50.098Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-first-1KVBFG secondary= daemon workspace roots initialized
2026-11-01T04:57:50.113Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.151Z [INFO] [DAEMON] route=GET /capabilities durationMs=3 status=200 request completed
2026-11-01T04:57:50.154Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.169Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.169Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40481 (mode=http-bridge, workspace=/tmp/qws-health-deep-first-38JVCl)
qwen serve: bound to workspace "/tmp/qws-health-deep-first-38JVCl"
qwen serve: startup timing: processToListenMs=12656 runQwenServeToListenMs=9
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:50.171Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.173Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:50.224Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:50.227Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-deep-first-38JVCl secondary= daemon workspace roots initialized
2026-11-01T04:57:50.242Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.282Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.304Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44223 (mode=http-bridge, workspace=/tmp/qws-health-dedupe-tvRSnw)
qwen serve: bound to workspace "/tmp/qws-health-dedupe-tvRSnw"
qwen serve: startup timing: processToListenMs=12791 runQwenServeToListenMs=17
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:50.306Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.310Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:50.359Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:50.364Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-dedupe-tvRSnw secondary= daemon workspace roots initialized
2026-11-01T04:57:50.379Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.515Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.527Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.527Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38313 (mode=http-bridge, workspace=/tmp/qws-runtime-route-start-aHxkLB)
qwen serve: bound to workspace "/tmp/qws-runtime-route-start-aHxkLB"
qwen serve: startup timing: processToListenMs=13013 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:50.528Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.583Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-start-aHxkLB secondary= daemon workspace roots initialized
2026-11-01T04:57:50.586Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:50.591Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.602Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44403 (mode=http-bridge, workspace=/tmp/qws-runtime-route-auth-9wPRB7)
qwen serve: bound to workspace "/tmp/qws-runtime-route-auth-9wPRB7"
qwen serve: startup timing: processToListenMs=13088 runQwenServeToListenMs=5
2026-11-01T04:57:50.603Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.610Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-auth-9wPRB7 secondary= daemon workspace roots initialized
2026-11-01T04:57:50.613Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:50.616Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.627Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.628Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-QL85S3/web-shell
qwen serve listening on http://127.0.0.1:34509 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-QL85S3)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-QL85S3"
qwen serve: startup timing: processToListenMs=13114 runQwenServeToListenMs=5
2026-11-01T04:57:50.629Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.633Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-QL85S3 secondary= daemon workspace roots initialized
2026-11-01T04:57:50.649Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.653Z [INFO] [DAEMON] route=HEAD /session/abc sessionId=abc durationMs=3 status=200 request completed
2026-11-01T04:57:50.659Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=3 status=200 request completed
2026-11-01T04:57:50.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
2026-11-01T04:57:50.672Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.672Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-vohdXT/web-shell
qwen serve listening on http://127.0.0.1:40853 (mode=http-bridge, workspace=/tmp/qws-deferred-root-vohdXT)
qwen serve: bound to workspace "/tmp/qws-deferred-root-vohdXT"
qwen serve: startup timing: processToListenMs=13158 runQwenServeToListenMs=5
2026-11-01T04:57:50.673Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.678Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-vohdXT secondary= daemon workspace roots initialized
2026-11-01T04:57:50.693Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.696Z [INFO] [DAEMON] route=GET / durationMs=2 status=200 request completed
2026-11-01T04:57:50.698Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.708Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.708Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-alias-1sXHPd/web-shell
qwen serve listening on http://127.0.0.1:38043 (mode=http-bridge, workspace=/tmp/qws-deferred-root-alias-1sXHPd)
qwen serve: bound to workspace "/tmp/qws-deferred-root-alias-1sXHPd"
qwen serve: startup timing: processToListenMs=13195 runQwenServeToListenMs=5
2026-11-01T04:57:50.710Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.713Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-alias-1sXHPd secondary= daemon workspace roots initialized
2026-11-01T04:57:50.728Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.739Z [INFO] [DAEMON] route=GET // durationMs=1 status=200 request completed
2026-11-01T04:57:50.741Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.751Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-predicate-fail-5QFnWl/web-shell
qwen serve listening on http://127.0.0.1:38839 (mode=http-bridge, workspace=/tmp/qws-deferred-predicate-fail-5QFnWl)
qwen serve: bound to workspace "/tmp/qws-deferred-predicate-fail-5QFnWl"
qwen serve: startup timing: processToListenMs=13238 runQwenServeToListenMs=5
2026-11-01T04:57:50.753Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.760Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-predicate-fail-5QFnWl secondary= daemon workspace roots initialized
2026-11-01T04:57:50.774Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.777Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=1 status=200 request completed
2026-11-01T04:57:50.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-11-01T04:57:50.789Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.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-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-3vTamS/web-shell
qwen serve listening on http://127.0.0.1:45369 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-3vTamS)
qwen serve: bound to workspace "/tmp/qws-deferred-assets-3vTamS"
qwen serve: startup timing: processToListenMs=13276 runQwenServeToListenMs=5
2026-11-01T04:57:50.791Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.795Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-3vTamS secondary= daemon workspace roots initialized
2026-11-01T04:57:50.810Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.813Z [INFO] [DAEMON] route=GET /assets/fixture.js durationMs=2 status=200 request completed
2026-11-01T04:57:50.815Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.826Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.826Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-bare-yJAo3C/web-shell
qwen serve listening on http://127.0.0.1:42197 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-bare-yJAo3C)
qwen serve: bound to workspace "/tmp/qws-deferred-assets-bare-yJAo3C"
qwen serve: startup timing: processToListenMs=13312 runQwenServeToListenMs=5
2026-11-01T04:57:50.827Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.831Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-bare-yJAo3C secondary= daemon workspace roots initialized
2026-11-01T04:57:50.846Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.849Z [INFO] [DAEMON] route=GET /assets durationMs=1 status=301 request completed
2026-11-01T04:57:50.851Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.861Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.861Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-shapes-Yazrve/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-shapes-Yazrve"
qwen serve: startup timing: processToListenMs=13348 runQwenServeToListenMs=5
2026-11-01T04:57:50.862Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.866Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-shapes-Yazrve secondary= daemon workspace roots initialized
2026-11-01T04:57:50.881Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.893Z [INFO] [DAEMON] route=GET /Session/abc/ durationMs=2 status=200 request completed
2026-11-01T04:57:50.895Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.906Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.906Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-query-RvY86z/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-query-RvY86z"
qwen serve: startup timing: processToListenMs=13392 runQwenServeToListenMs=5
2026-11-01T04:57:50.907Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.911Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-query-RvY86z secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33765 (mode=http-bridge, workspace=/tmp/qws-deferred-shapes-Yazrve)
qwen serve listening on http://127.0.0.1:39613 (mode=http-bridge, workspace=/tmp/qws-deferred-query-RvY86z)
2026-11-01T04:57:50.925Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:50.928Z [INFO] [DAEMON] route=GET /session/abc/ sessionId=abc durationMs=1 status=200 request completed
2026-11-01T04:57:50.930Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.941Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.941Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-gate-tls9u5/web-shell
qwen serve listening on http://127.0.0.1:44345 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-gate-tls9u5)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-gate-tls9u5"
qwen serve: startup timing: processToListenMs=13427 runQwenServeToListenMs=5
2026-11-01T04:57:50.942Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.948Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:50.948Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.959Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.960Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35631 (mode=http-bridge, workspace=/tmp/qws-deferred-noweb-hqJPHf)
qwen serve: bound to workspace "/tmp/qws-deferred-noweb-hqJPHf"
qwen serve: startup timing: processToListenMs=13447 runQwenServeToListenMs=7
2026-11-01T04:57:50.962Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.965Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:50.965Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:50.976Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:50.976Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-fail-USeier/web-shell
qwen serve listening on http://127.0.0.1:32885 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-fail-USeier)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-fail-USeier"
qwen serve: startup timing: processToListenMs=13463 runQwenServeToListenMs=5
2026-11-01T04:57:50.977Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:50.982Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-fail-USeier secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:50.983Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object.createBridge (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9558:15)
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:638:21)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:50.990Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:51.007Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.007Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34393 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-start-yX0LLi)
qwen serve: bound to workspace "/tmp/qws-runtime-webhook-start-yX0LLi"
qwen serve: startup timing: processToListenMs=13495 runQwenServeToListenMs=12
2026-11-01T04:57:51.013Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:51.021Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-webhook-start-yX0LLi secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:51.045Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:51.047Z [INFO] [DAEMON] channelName=dingtalk-main eventType=ci_failed source="github ci" targetRef=default channel webhook task accepted
2026-11-01T04:57:51.047Z [INFO] [DAEMON] route=POST /channels/dingtalk-main/webhooks/github%20ci durationMs=2 status=202 request completed
2026-11-01T04:57:51.050Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:33691 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-auth-0rD5Wq)
qwen serve listening on http://127.0.0.1:36025 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-log-MXA2gZ)
qwen serve: scrubbed inherited loader env vars from the daemon process; session 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-11-01T04:57:51.104Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.105Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40661 (mode=http-bridge, workspace=/tmp/qws-runtime-preflight-7HpO4k)
qwen serve: bound to workspace "/tmp/qws-runtime-preflight-7HpO4k"
qwen serve: startup timing: processToListenMs=13591 runQwenServeToListenMs=7
2026-11-01T04:57:51.106Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:51.117Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:51.117Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:51.128Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.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/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37287 (mode=http-bridge, workspace=/tmp/qws-bootstrap-method-LAFoki)
qwen serve: bound to workspace "/tmp/qws-bootstrap-method-LAFoki"
qwen serve: startup timing: processToListenMs=13615 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:51.130Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:51.133Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:51.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
2026-11-01T04:57:51.145Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.145Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43151 (mode=http-bridge, workspace=/tmp/qws-bootstrap-trailing-4rnrDy)
qwen serve: bound to workspace "/tmp/qws-bootstrap-trailing-4rnrDy"
qwen serve: startup timing: processToListenMs=13631 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:51.146Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:51.149Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:51.150Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:51.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
2026-11-01T04:57:51.161Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.161Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45007 (mode=http-bridge, workspace=/tmp/qws-runtime-route-fail-HNpDnC)
qwen serve: bound to workspace "/tmp/qws-runtime-route-fail-HNpDnC"
qwen serve: startup timing: processToListenMs=13647 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:51.162Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:51.166Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-fail-HNpDnC secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:51.167Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10126:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:51.170Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:51.181Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:51.181Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45315 (mode=http-bridge, workspace=/tmp/qws-health-fallback-JuZ0L5)
qwen serve: bound to workspace "/tmp/qws-health-fallback-JuZ0L5"
qwen serve: startup timing: processToListenMs=13667 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:51.182Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:52.183Z [INFO] [DAEMON] deferred runtime: fallback timer fired, starting
2026-11-01T04:57:52.186Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fallback-JuZ0L5 secondary= daemon workspace roots initialized
2026-11-01T04:57:52.203Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:52.205Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:52.216Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:52.216Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-1Jh1SM/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38663 (mode=http-bridge, workspace=/tmp/qws-health-close-1Jh1SM)
qwen serve: bound to workspace "/tmp/qws-health-close-1Jh1SM"
qwen serve: startup timing: processToListenMs=14702 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:52.217Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:52.217Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:52.217Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:53.330Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.330Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41361 (mode=http-bridge, workspace=/tmp/qws-health-close-after-QpTXD5)
qwen serve: bound to workspace "/tmp/qws-health-close-after-QpTXD5"
qwen serve: startup timing: processToListenMs=15817 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.332Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:53.335Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:53.336Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-11-01T04:57:53.336Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:53.449Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.449Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44173 (mode=http-bridge, workspace=/tmp/qws-health-reconciler-close-BWpvdg)
qwen serve: bound to workspace "/tmp/qws-health-reconciler-close-BWpvdg"
qwen serve: startup timing: processToListenMs=15935 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.450Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:53.452Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:53.502Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:53.506Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-reconciler-close-BWpvdg secondary= daemon workspace roots initialized
2026-11-01T04:57:53.510Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:53.511Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:53.522Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.522Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44669 (mode=http-bridge, workspace=/tmp/qws-maintenance-drain-Otp5Gw)
qwen serve: bound to workspace "/tmp/qws-maintenance-drain-Otp5Gw"
qwen serve: startup timing: processToListenMs=16008 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.525Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-drain-Otp5Gw secondary= daemon workspace roots initialized
2026-11-01T04:57:53.527Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:53.528Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:53.539Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.540Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41417 (mode=http-bridge, workspace=/tmp/qws-maintenance-failure-Ts7nQQ)
qwen serve: bound to workspace "/tmp/qws-maintenance-failure-Ts7nQQ"
qwen serve: startup timing: processToListenMs=16027 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.544Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-failure-Ts7nQQ secondary= daemon workspace roots initialized
2026-11-01T04:57:53.547Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:53.548Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: maintenance drain failed
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10399:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as sealMaintenanceAndWait] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9123:51
at new Promise ()
at close (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9082:26)
at drainHost (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9581:31)
at ServeAppLifecycleController.startDrain (/build/qwen-code/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:233:14)
at ServeAppLifecycleController.closeOnce (/build/qwen-code/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:206:12)
at ServeAppLifecycleController.close (/build/qwen-code/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-11-01T04:57:53.560Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.560Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45013 (mode=http-bridge, workspace=/tmp/qws-health-close-running-TLGLrx)
qwen serve: bound to workspace "/tmp/qws-health-close-running-TLGLrx"
qwen serve: startup timing: processToListenMs=16047 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.562Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:53.564Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:53.614Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:53.667Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-running-TLGLrx secondary= daemon workspace roots initialized
2026-11-01T04:57:53.683Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:53.692Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952:17
at waitForRuntimeStartingForShutdown (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2508:3)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9267:17
2026-11-01T04:57:53.692Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:53.704Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:53.705Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34801 (mode=http-bridge, workspace=/tmp/qws-health-close-late-app-B66WpA)
qwen serve: bound to workspace "/tmp/qws-health-close-late-app-B66WpA"
qwen serve: startup timing: processToListenMs=16191 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:53.706Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:53.709Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:53.759Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:58.812Z [WARN] [DAEMON] 5000ms runtime-startup wait reached during shutdown; continuing listener close
2026-11-01T04:57:58.813Z [INFO] [DAEMON] daemon stopped
2026-11-01T04:57:58.814Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-late-app-B66WpA secondary= daemon workspace roots initialized
2026-11-01T04:57:58.817Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:58.819Z [WARN] [DAEMON] scheduled-task keepalive dispose error: keepalive dispose failed
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:58.819Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952: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-11-01T04:57:58.877Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:58.877Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41013 (mode=http-bridge, workspace=/tmp/qws-health-fail-once-953ad6)
qwen serve: bound to workspace "/tmp/qws-health-fail-once-953ad6"
qwen serve: startup timing: processToListenMs=21364 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:58.879Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:58.881Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:58.931Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:58.936Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fail-once-953ad6 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:58.937Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10615:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.042Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.055Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.055Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-EnCsDT/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45185 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-log-EnCsDT)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-log-EnCsDT"
qwen serve: startup timing: processToListenMs=21542 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.059Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-log-EnCsDT secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.061Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10661:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.062Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.073Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.073Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43035 (mode=http-bridge, workspace=/tmp/qws-runtime-flush-pending-vnjRuZ)
qwen serve: bound to workspace "/tmp/qws-runtime-flush-pending-vnjRuZ"
qwen serve: startup timing: processToListenMs=21559 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.076Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-flush-pending-vnjRuZ secondary= daemon workspace roots initialized
2026-11-01T04:57:59.090Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.102Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.103Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45547 (mode=http-bridge, workspace=/tmp/qws-runtime-queue-wait-2wEFKv)
qwen serve: bound to workspace "/tmp/qws-runtime-queue-wait-2wEFKv"
qwen serve: startup timing: processToListenMs=21589 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.106Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-queue-wait-2wEFKv secondary= daemon workspace roots initialized
2026-11-01T04:57:59.120Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.125Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-11-01T04:57:59.128Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.139Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.139Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41531 (mode=http-bridge, workspace=/tmp/qws-runtime-timeout-LJ39Ga)
qwen serve: bound to workspace "/tmp/qws-runtime-timeout-LJ39Ga"
qwen serve: startup timing: processToListenMs=21625 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: runtime startup failed: Daemon runtime startup timed out after 1ms.
2026-11-01T04:57:59.141Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime startup timed out after 1ms.
at Timeout. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8597:13)
at listOnTimeout (node:internal/timers:685:17)
at processTimers (node:internal/timers:618:7)
2026-11-01T04:57:59.146Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-timeout-LJ39Ga secondary= daemon workspace roots initialized
2026-11-01T04:57:59.160Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:59.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: daemon log disabled — init failed: ENOTDIR: not a directory, lstat '/tmp/qws-runtime-fail-Qk9S7K/blocked-log-base/daemon'
2026-11-01T04:57:59.208Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.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 → (disabled)
qwen serve listening on http://127.0.0.1:35743 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-Qk9S7K)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-Qk9S7K"
qwen serve: startup timing: processToListenMs=21695 runQwenServeToListenMs=3
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.212Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-Qk9S7K secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.213Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10918:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.239Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.268Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.268Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38635 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-itznDx)
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-itznDx"
qwen serve: startup timing: processToListenMs=21755 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.272Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-itznDx secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.273Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11135:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.284Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.284Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40213 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-itznDx)
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-itznDx"
qwen serve: startup timing: processToListenMs=21770 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.287Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-itznDx secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.289Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11135:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.293Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.304Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.304Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40425 (mode=http-bridge, workspace=/tmp/qws-bootstrap-picker-a7yqB4)
qwen serve: bound to workspace "/tmp/qws-bootstrap-picker-a7yqB4"
qwen serve: startup timing: processToListenMs=21790 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.307Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-picker-a7yqB4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.309Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11218:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.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-11-01T04:57:59.326Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.326Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37451 (mode=http-bridge, workspace=/tmp/qws-bootstrap-picker-79Bu5a)
qwen serve: bound to workspace "/tmp/qws-bootstrap-picker-79Bu5a"
qwen serve: startup timing: processToListenMs=21812 runQwenServeToListenMs=4
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.329Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-picker-79Bu5a secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.330Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11218:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.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-11-01T04:57:59.348Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.348Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38305 (mode=http-bridge, workspace=/tmp/qws-bootstrap-open-kLFrBC)
qwen serve: bound to workspace "/tmp/qws-bootstrap-open-kLFrBC"
qwen serve: startup timing: processToListenMs=21835 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.352Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-open-kLFrBC secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.353Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11273:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.360Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.371Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.371Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36319 (mode=http-bridge, workspace=/tmp/qws-bootstrap-open-75YYoL)
qwen serve: bound to workspace "/tmp/qws-bootstrap-open-75YYoL"
qwen serve: startup timing: processToListenMs=21857 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.375Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-open-75YYoL secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.376Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11273:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.383Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.394Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.394Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43945 (mode=http-bridge, workspace=/tmp/qws-bootstrap-terminal-hgAgcM)
qwen serve: bound to workspace "/tmp/qws-bootstrap-terminal-hgAgcM"
qwen serve: startup timing: processToListenMs=21881 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.398Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-terminal-hgAgcM secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.399Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11326:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.406Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.417Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.417Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40895 (mode=http-bridge, workspace=/tmp/qws-bootstrap-terminal-I45Sys)
qwen serve: bound to workspace "/tmp/qws-bootstrap-terminal-I45Sys"
qwen serve: startup timing: processToListenMs=21904 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.421Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-terminal-I45Sys secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-11-01T04:57:59.422Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11326:15)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5489:15)
2026-11-01T04:57:59.429Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.441Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.441Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46677 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-wqnSOJ)
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-wqnSOJ"
qwen serve: startup timing: processToListenMs=21927 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.444Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-wqnSOJ secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime app boom
2026-11-01T04:57:59.446Z [ERROR] [DAEMON] runtime startup failed
Error: runtime app boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11392:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createServeApp (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7495:25)
2026-11-01T04:57:59.447Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:59.447Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.458Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.459Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40899 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-Ru8xvF/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-Ru8xvF/primary"
qwen serve: startup timing: processToListenMs=21945 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.462Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-Ru8xvF/primary secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime app boom
2026-11-01T04:57:59.465Z [ERROR] [DAEMON] runtime startup failed
Error: runtime app boom
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11434:13)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createServeApp (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7495:25)
2026-11-01T04:57:59.465Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:57:59.466Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.477Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.477Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:44169 (mode=http-bridge, workspace=/tmp/qws-runtime-close-5DVrXD)
qwen serve: bound to workspace "/tmp/qws-runtime-close-5DVrXD"
qwen serve: startup timing: processToListenMs=21963 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.480Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-close-5DVrXD secondary= daemon workspace roots initialized
2026-11-01T04:57:59.498Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:59.499Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952:17
at waitForRuntimeStartingForShutdown (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2508:3)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9267:17
2026-11-01T04:57:59.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.510Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.510Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43113 (mode=http-bridge, workspace=/tmp/qws-runtime-monitor-close-4XAOTv)
qwen serve: bound to workspace "/tmp/qws-runtime-monitor-close-4XAOTv"
qwen serve: startup timing: processToListenMs=21996 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:57:59.513Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-monitor-close-4XAOTv secondary= daemon workspace roots initialized
2026-11-01T04:57:59.529Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-11-01T04:57:59.536Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8952:17
at waitForRuntimeStartingForShutdown (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2508:3)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9267:17
2026-11-01T04:57:59.537Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.547Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.547Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:41925 (mode=http-bridge, workspace=/tmp/qws-pr-refresh-degrade-FR1ABt)
qwen serve: bound to workspace "/tmp/qws-pr-refresh-degrade-FR1ABt"
qwen serve: startup timing: processToListenMs=22034 runQwenServeToListenMs=5
2026-11-01T04:57:59.549Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-11-01T04:57:59.551Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-11-01T04:57:59.602Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-11-01T04:57:59.606Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-pr-refresh-degrade-FR1ABt secondary= daemon workspace roots initialized
2026-11-01T04:57:59.622Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.778Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.790Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.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-ws-SqeTdG/debug/daemon/daemon.log
2026-11-01T04:57:59.793Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-SqeTdG secondary= daemon workspace roots initialized
2026-11-01T04:57:59.807Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: bound to workspace "/tmp/qws-ws-SqeTdG"
qwen serve: startup timing: processToListenMs=22293 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve listening on http://127.0.0.1:44783 (mode=http-bridge, workspace=/tmp/qws-ws-SqeTdG)
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.808Z [INFO] [DAEMON] daemon stopped
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.817Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.817Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:57:59.817Z [ERROR] [DAEMON] daemon startup failed
Error: --open-with-auth requires built Web Shell assets.
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4231:11)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:11696:5
at file:///build/qwen-code/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-11-01T04:57:59.825Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.825Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-KyOvFl/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:59.827Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-KyOvFl secondary= daemon workspace roots initialized
2026-11-01T04:57:59.841Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:46219 (mode=http-bridge, workspace=/tmp/qws-ws-KyOvFl)
qwen serve: bound to workspace "/tmp/qws-ws-KyOvFl"
qwen serve: startup timing: processToListenMs=22327 runQwenServeToListenMs=21
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.842Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.847Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.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-ws-ZAFd5K/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
2026-11-01T04:57:59.850Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-ZAFd5K secondary= daemon workspace roots initialized
2026-11-01T04:57:59.864Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:46567 (mode=http-bridge, workspace=/tmp/qws-ws-ZAFd5K)
qwen serve: bound to workspace "/tmp/qws-ws-ZAFd5K"
qwen serve: startup timing: processToListenMs=22350 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.865Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.880Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.880Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-pJv5KI/debug/daemon/daemon.log
2026-11-01T04:57:59.882Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-pJv5KI secondary= daemon workspace roots initialized
2026-11-01T04:57:59.897Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:41545 (mode=http-bridge, workspace=/tmp/qws-ws-pJv5KI)
qwen serve: bound to workspace "/tmp/qws-ws-pJv5KI"
qwen serve: startup timing: processToListenMs=22382 runQwenServeToListenMs=30
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.898Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.903Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.903Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-tDUth1/debug/daemon/daemon.log
2026-11-01T04:57:59.905Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-tDUth1 secondary= daemon workspace roots initialized
2026-11-01T04:57:59.919Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43189 (mode=http-bridge, workspace=/tmp/qws-ws-tDUth1)
qwen serve: bound to workspace "/tmp/qws-ws-tDUth1"
qwen serve: startup timing: processToListenMs=22405 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.920Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.927Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.927Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_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-HXFca3/debug/daemon/daemon.log
2026-11-01T04:57:59.930Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-HXFca3 secondary= daemon workspace roots initialized
2026-11-01T04:57:59.944Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:36451 (mode=http-bridge, workspace=/tmp/qws-ws-HXFca3)
qwen serve: bound to workspace "/tmp/qws-ws-HXFca3"
qwen serve: startup timing: processToListenMs=22430 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.945Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:36965 (mode=http-bridge, workspace=/tmp/qws-ws-i90CN6)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:57:59.974Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:57:59.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/qws-ws-SEe1w6/debug/daemon/daemon.log
2026-11-01T04:57:59.976Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-SEe1w6 secondary= daemon workspace roots initialized
2026-11-01T04:57:59.991Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:46211 (mode=http-bridge, workspace=/tmp/qws-ws-SEe1w6)
qwen serve: bound to workspace "/tmp/qws-ws-SEe1w6"
qwen serve: startup timing: processToListenMs=22476 runQwenServeToListenMs=20
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:57:59.992Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:58:00.011Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.011Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-PKYTHV/debug/daemon/daemon.log
2026-11-01T04:58:00.015Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-PKYTHV secondary= daemon workspace roots initialized
2026-11-01T04:58:00.030Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:34603 (mode=http-bridge, workspace=/tmp/qws-ws-PKYTHV)
qwen serve: bound to workspace "/tmp/qws-ws-PKYTHV"
qwen serve: startup timing: processToListenMs=22515 runQwenServeToListenMs=26
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.031Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T04:58:00.039Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.039Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-QziohL/debug/daemon/daemon.log
2026-11-01T04:58:00.042Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-QziohL secondary= daemon workspace roots initialized
2026-11-01T04:58:00.057Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:44485 (mode=http-bridge, workspace=/tmp/qws-ws-QziohL)
qwen serve: bound to workspace "/tmp/qws-ws-QziohL"
qwen serve: startup timing: processToListenMs=22542 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.058Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:39495 (mode=http-bridge, workspace=/tmp/qws-ws-TIhiJk)
qwen serve listening on http://127.0.0.1:43001 (mode=http-bridge, workspace=/tmp/qws-ws-cSOHDa)
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-11-01T04:58:00.167Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.167Z [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-Qlpu6F/debug/daemon/daemon.log
2026-11-01T04:58:00.169Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-Qlpu6F secondary= daemon workspace roots initialized
2026-11-01T04:58:00.184Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45697 (mode=http-bridge, workspace=/tmp/qws-ws-Qlpu6F)
qwen serve: bound to workspace "/tmp/qws-ws-Qlpu6F"
qwen serve: startup timing: processToListenMs=22669 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.185Z [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-11-01T04:58:00.201Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.201Z [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-ws-a1UmYy/debug/daemon/daemon.log
2026-11-01T04:58:00.203Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-a1UmYy secondary= daemon workspace roots initialized
2026-11-01T04:58:00.218Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39683 (mode=http-bridge, workspace=/tmp/qws-ws-a1UmYy)
qwen serve: bound to workspace "/tmp/qws-ws-a1UmYy"
qwen serve: startup timing: processToListenMs=22704 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.219Z [WARN] [DAEMON] availableBytes=20 maxQueuedBytes=220 maxQueuedMessages=2 queueSaturationGraceMs=10000 requiredBytes=200 ACP NDJSON decoded queue saturated
2026-11-01T04:58:00.221Z [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-11-01T04:58:00.226Z [INFO] [DAEMON] route=GET /daemon/status durationMs=3 status=200 request completed
2026-11-01T04:58:00.228Z [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-11-01T04:58:00.244Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.244Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:00.246Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-a6znKq secondary= daemon workspace roots initialized
2026-11-01T04:58:00.261Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:34951 (mode=http-bridge, workspace=/tmp/qws-channel-tls-a6znKq)
qwen serve: bound to workspace "/tmp/qws-channel-tls-a6znKq"
qwen serve: startup timing: processToListenMs=22748 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.424Z [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-11-01T04:58:00.437Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.437Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:00.440Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-url-certify-Nf7Y4m secondary= daemon workspace roots initialized
2026-11-01T04:58:00.454Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:42081 (mode=http-bridge, workspace=/tmp/qws-channel-url-certify-Nf7Y4m)
qwen serve: bound to workspace "/tmp/qws-channel-url-certify-Nf7Y4m"
qwen serve: startup timing: processToListenMs=22941 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.458Z [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-11-01T04:58:00.470Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.470Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:00.473Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-localhost-tls-srrfZQ secondary= daemon workspace roots initialized
2026-11-01T04:58:00.488Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://localhost:41597 (mode=http-bridge, workspace=/tmp/qws-channel-localhost-tls-srrfZQ)
qwen serve: bound to workspace "/tmp/qws-channel-localhost-tls-srrfZQ"
qwen serve: startup timing: processToListenMs=22982 runQwenServeToListenMs=31
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.664Z [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-11-01T04:58:00.677Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.677Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:00.680Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-localhost-http-Fv18Lh secondary= daemon workspace roots initialized
2026-11-01T04:58:00.694Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://localhost:39791 (mode=http-bridge, workspace=/tmp/qws-channel-localhost-http-Fv18Lh)
qwen serve: bound to workspace "/tmp/qws-channel-localhost-http-Fv18Lh"
qwen serve: startup timing: processToListenMs=23181 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.698Z [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-11-01T04:58:00.710Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.710Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:00.712Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-url-refuse-QyCKKU secondary= daemon workspace roots initialized
2026-11-01T04:58:00.727Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45543 (mode=http-bridge, workspace=/tmp/qws-channel-url-refuse-QyCKKU)
qwen serve: bound to workspace "/tmp/qws-channel-url-refuse-QyCKKU"
qwen serve: startup timing: processToListenMs=23213 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: Channels cannot start: --hostname "127.0.0.1" is not a loopback bind
2026-11-01T04:58:00.729Z [ERROR] [DAEMON] runtime startup failed
Error: Channels cannot start: --hostname "127.0.0.1" is not a loopback bind
at channelWorkerUrlCertifier (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:12575:17)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8710:13
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:00.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-11-01T04:58:00.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.744Z [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-ROKJPV/debug/daemon/daemon.log
2026-11-01T04:58:00.746Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-ROKJPV secondary= daemon workspace roots initialized
2026-11-01T04:58:00.760Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://[::1]:34367 (mode=http-bridge, workspace=/tmp/qws-channel-gap-ROKJPV)
qwen serve: bound to workspace "/tmp/qws-channel-gap-ROKJPV"
qwen serve: startup timing: processToListenMs=23247 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:00.905Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-ROKJPV/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-11-01T04:58:00.907Z [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-11-01T04:58:00.922Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:00.922Z [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-l6Czhb/debug/daemon/daemon.log
2026-11-01T04:58:00.925Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-l6Czhb secondary= daemon workspace roots initialized
2026-11-01T04:58:00.940Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:37183 (mode=http-bridge, workspace=/tmp/qws-channel-gap-l6Czhb)
qwen serve: bound to workspace "/tmp/qws-channel-gap-l6Czhb"
qwen serve: startup timing: processToListenMs=23435 runQwenServeToListenMs=33
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:01.102Z [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-11-01T04:58:01.117Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:01.117Z [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-jcQZhR/debug/daemon/daemon.log
2026-11-01T04:58:01.119Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-jcQZhR secondary= daemon workspace roots initialized
2026-11-01T04:58:01.134Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:40453 (mode=http-bridge, workspace=/tmp/qws-channel-gap-jcQZhR)
qwen serve: bound to workspace "/tmp/qws-channel-gap-jcQZhR"
qwen serve: startup timing: processToListenMs=23621 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:01.195Z [WARN] [DAEMON] Channel worker TLS verification failed against the exact CA bundle workers receive (INVALID_PURPOSE): unsuitable certificate purpose
2026-11-01T04:58:01.198Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:01.212Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:01.212Z [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-yz2OJd/debug/daemon/daemon.log
2026-11-01T04:58:01.214Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-yz2OJd secondary= daemon workspace roots initialized
2026-11-01T04:58:01.229Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:37171 (mode=http-bridge, workspace=/tmp/qws-channel-gap-yz2OJd)
qwen serve: bound to workspace "/tmp/qws-channel-gap-yz2OJd"
qwen serve: startup timing: processToListenMs=23716 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:01.232Z [WARN] [DAEMON] NODE_TLS_REJECT_UNAUTHORIZED=0 disables certificate verification for channel workers; skipping the worker TLS trust check.
2026-11-01T04:58:01.234Z [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-11-01T04:58:02.581Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:02.581Z [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-8JMqnl/debug/daemon/daemon.log
2026-11-01T04:58:02.584Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-inspect-8JMqnl secondary= daemon workspace roots initialized
2026-11-01T04:58:02.601Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: bound to workspace "/tmp/qws-channel-inspect-8JMqnl"
qwen serve: startup timing: processToListenMs=25088 runQwenServeToListenMs=28
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:02.604Z [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-11-01T04:58:02.606Z [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-11-01T04:58:02.618Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:02.618Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:02.620Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-close-JEflfj secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:43995 (mode=http-bridge, workspace=/tmp/qws-channel-inspect-8JMqnl)
2026-11-01T04:58:02.635Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:38231 (mode=http-bridge, workspace=/tmp/qws-channel-tls-close-JEflfj)
qwen serve: bound to workspace "/tmp/qws-channel-tls-close-JEflfj"
qwen serve: startup timing: processToListenMs=25128 runQwenServeToListenMs=29
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
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-11-01T04:58:02.708Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon stopped while the channel worker TLS trust check was running.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8782:21
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:02.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:02.725Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:02.725Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:02.729Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-lazy-2tiszR secondary= daemon workspace roots initialized
2026-11-01T04:58:02.744Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:38885 (mode=http-bridge, workspace=/tmp/qws-channel-tls-lazy-2tiszR)
qwen serve: bound to workspace "/tmp/qws-channel-tls-lazy-2tiszR"
qwen serve: startup timing: processToListenMs=25230 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:02.813Z [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-11-01T04:58:02.827Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:02.827Z [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-mH9xu5/debug/daemon/daemon.log
2026-11-01T04:58:02.829Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-mH9xu5 secondary= daemon workspace roots initialized
2026-11-01T04:58:02.844Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:46127 (mode=http-bridge, workspace=/tmp/qws-channel-gap-mH9xu5)
qwen serve: bound to workspace "/tmp/qws-channel-gap-mH9xu5"
qwen serve: startup timing: processToListenMs=25331 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:02.991Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-mH9xu5/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-11-01T04:58:02.993Z [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-11-01T04:58:03.007Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:03.007Z [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-L4jnek/debug/daemon/daemon.log
2026-11-01T04:58:03.009Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-L4jnek secondary= daemon workspace roots initialized
2026-11-01T04:58:03.024Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:32887 (mode=http-bridge, workspace=/tmp/qws-channel-gap-L4jnek)
qwen serve: bound to workspace "/tmp/qws-channel-gap-L4jnek"
qwen serve: startup timing: processToListenMs=25511 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:03.366Z [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-11-01T04:58:03.381Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:03.381Z [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-Ufuqif/debug/daemon/daemon.log
2026-11-01T04:58:03.383Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-Ufuqif secondary= daemon workspace roots initialized
2026-11-01T04:58:03.398Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on https://127.0.0.1:36539 (mode=http-bridge, workspace=/tmp/qws-channel-gap-Ufuqif)
qwen serve: bound to workspace "/tmp/qws-channel-gap-Ufuqif"
qwen serve: startup timing: processToListenMs=25892 runQwenServeToListenMs=30
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
(node:5439) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qws-no-such-ca-file.pem" with the daemon cert "/tmp/qws-channel-gap-Ufuqif/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-11-01T04:58:03.561Z [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-11-01T04:58:03.561Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-Ufuqif/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-11-01T04:58:03.564Z [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-11-01T04:58:03.580Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:03.580Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:03.583Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-qvJIyY secondary= daemon workspace roots initialized
2026-11-01T04:58:03.599Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:40585 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-qvJIyY)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-qvJIyY"
qwen serve: startup timing: processToListenMs=26085 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:03.603Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:03.615Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:03.616Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:03.618Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-disabled-A8Ud9K secondary= daemon workspace roots initialized
2026-11-01T04:58:03.632Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:42899 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-disabled-A8Ud9K)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-disabled-A8Ud9K"
qwen serve: startup timing: processToListenMs=26118 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:03.634Z [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-11-01T04:58:03.648Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:03.648Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:03.651Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-control-mp4gue secondary= daemon workspace roots initialized
2026-11-01T04:58:03.666Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:37891 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-control-mp4gue)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-control-mp4gue"
qwen serve: startup timing: processToListenMs=26151 runQwenServeToListenMs=22
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:03.670Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:58:04.526Z [INFO] [DAEMON] route=GET /workspace/channels durationMs=852 status=200 request completed
2026-11-01T04:58:04.535Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=5 status=201 request completed
2026-11-01T04:58:04.539Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:58:04.543Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-11-01T04:58:04.546Z [INFO] [DAEMON] route=DELETE /workspace/channel durationMs=1 status=200 request completed
2026-11-01T04:58:04.549Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:58:04.551Z [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-11-01T04:58:04.568Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.568Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.571Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-8zXtOz secondary= daemon workspace roots initialized
2026-11-01T04:58:04.586Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:37931 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-8zXtOz)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-8zXtOz"
qwen serve: startup timing: processToListenMs=27071 runQwenServeToListenMs=23
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.594Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=3 status=201 request completed
2026-11-01T04:58:04.596Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-11-01T04:58:04.598Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:04.612Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.612Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.615Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-fifo-cb7V7C secondary= daemon workspace roots initialized
2026-11-01T04:58:04.633Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43839 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-fifo-cb7V7C)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-fifo-cb7V7C"
qwen serve: startup timing: processToListenMs=27118 runQwenServeToListenMs=25
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.636Z [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-11-01T04:58:04.659Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.660Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.662Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-drain-RuS7Ir secondary= daemon workspace roots initialized
2026-11-01T04:58:04.678Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38931 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-drain-RuS7Ir)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-drain-RuS7Ir"
qwen serve: startup timing: processToListenMs=27163 runQwenServeToListenMs=22
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.679Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:04.692Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.692Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.694Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-unknown-m8xShF secondary= daemon workspace roots initialized
2026-11-01T04:58:04.709Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:44397 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-unknown-m8xShF)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-unknown-m8xShF"
qwen serve: startup timing: processToListenMs=27195 runQwenServeToListenMs=21
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.715Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=3 status=400 request completed
2026-11-01T04:58:04.717Z [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-11-01T04:58:04.732Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.732Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.735Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-conflict-SAOWcl secondary= daemon workspace roots initialized
2026-11-01T04:58:04.750Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45581 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-conflict-SAOWcl)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-conflict-SAOWcl"
qwen serve: startup timing: processToListenMs=27236 runQwenServeToListenMs=23
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.756Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=3 status=409 request completed
2026-11-01T04:58:04.758Z [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-11-01T04:58:04.780Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.780Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.783Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-CmPcP3 secondary= daemon workspace roots initialized
2026-11-01T04:58:04.798Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:34609 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-CmPcP3)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-CmPcP3"
qwen serve: startup timing: processToListenMs=27284 runQwenServeToListenMs=29
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.804Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=3 status=409 request completed
2026-11-01T04:58:04.806Z [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-11-01T04:58:04.821Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.821Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.825Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-Exor7H secondary= daemon workspace roots initialized
2026-11-01T04:58:04.840Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:41475 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-Exor7H)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-Exor7H"
qwen serve: startup timing: processToListenMs=27327 runQwenServeToListenMs=25
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: runtime startup failed: worker boom
2026-11-01T04:58:04.843Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker boom
at applySelection (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:430:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:530:9
2026-11-01T04:58:04.847Z [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-11-01T04:58:04.864Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.864Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:04.868Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-reload-5Hxq42 secondary= daemon workspace roots initialized
2026-11-01T04:58:04.887Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45255 (mode=http-bridge, workspace=/tmp/qws-channel-worker-reload-5Hxq42)
qwen serve: bound to workspace "/tmp/qws-channel-worker-reload-5Hxq42"
qwen serve: startup timing: processToListenMs=27374 runQwenServeToListenMs=28
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.896Z [INFO] [DAEMON] route=POST /workspace/channel/reload durationMs=4 status=200 request completed
2026-11-01T04:58:04.898Z [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-11-01T04:58:04.914Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.914Z [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-D6Zhpu/debug/daemon/daemon.log
2026-11-01T04:58:04.920Z [ERROR] [DAEMON] daemon startup failed
Error: Channel "telegram" is configured in multiple registered workspaces (/tmp/qws-channel-worker-plan-D6Zhpu/primary, /tmp/qws-channel-worker-plan-D6Zhpu/secondary). Define it in one workspace's settings or set an explicit "cwd".
at resolveChannelWorkspaceGroupsAtListen (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8102:27)
at onListening (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9402:34)
at Server.handleListening (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9625: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-11-01T04:58:04.934Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.935Z [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-88z0I5/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42209 (mode=http-bridge, workspace=/tmp/qws-dynamic-worker-pidfile-88z0I5/primary)
qwen serve: bound to workspace "/tmp/qws-dynamic-worker-pidfile-88z0I5/primary"
qwen serve: startup timing: processToListenMs=27421 runQwenServeToListenMs=5
2026-11-01T04:58:04.938Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dynamic-worker-pidfile-88z0I5/primary secondary= daemon workspace roots initialized
2026-11-01T04:58:04.954Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:04.970Z [INFO] [DAEMON] route=POST /workspaces durationMs=5 status=201 request completed
2026-11-01T04:58:04.976Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=2 status=201 request completed
2026-11-01T04:58:04.979Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:04.994Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:04.995Z [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-GOPoZD/debug/daemon/daemon.log
2026-11-01T04:58:04.997Z [INFO] [DAEMON] channels=telegram workspace=/tmp/qws-channel-worker-groups-GOPoZD/primary channel worker group assigned
2026-11-01T04:58:04.997Z [INFO] [DAEMON] channels=feishu workspace=/tmp/qws-channel-worker-groups-GOPoZD/secondary channel worker group assigned
qwen serve: bound to workspace "/tmp/qws-channel-worker-groups-GOPoZD/primary"
qwen serve: startup timing: processToListenMs=27482 runQwenServeToListenMs=6
2026-11-01T04:58:04.997Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:38287 (mode=http-bridge, workspace=/tmp/qws-channel-worker-groups-GOPoZD/primary)
2026-11-01T04:58:05.000Z [WARN] [DAEMON] channelName=feishu reason="secret mismatch" source=github-ci deferred webhook auth failed
2026-11-01T04:58:05.006Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-groups-GOPoZD/primary secondary= daemon workspace roots initialized
2026-11-01T04:58:05.022Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.027Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-11-01T04:58:05.029Z [INFO] [DAEMON] channels=telegram pid=1234 workspace=/tmp/qws-channel-worker-groups-GOPoZD/primary channel worker ready
2026-11-01T04:58:05.032Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:58:05.033Z [INFO] [DAEMON] channels=feishu pid=5678 workspace=/tmp/qws-channel-worker-groups-GOPoZD/secondary channel worker ready
2026-11-01T04:58:05.034Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-11-01T04:58:05.035Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=202 request completed
2026-11-01T04:58:05.038Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:58:05.042Z [WARN] [DAEMON] route=DELETE /workspaces/f6103ac7d41ed897 durationMs=1 status=409 request completed
2026-11-01T04:58:05.048Z [INFO] [DAEMON] route=DELETE /workspaces/f6103ac7d41ed897 durationMs=4 status=200 request completed
2026-11-01T04:58:05.052Z [WARN] [DAEMON] channelName=feishu source=github-ci channel webhook authentication failed
2026-11-01T04:58:05.052Z [WARN] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=401 request completed
2026-11-01T04:58:05.054Z [WARN] [DAEMON] channel worker [/tmp/qws-channel-worker-groups-GOPoZD/secondary] stderr: Ignored stale channel worker exit (generation=2).
2026-11-01T04:58:05.062Z [INFO] [DAEMON] route=POST /workspaces durationMs=6 status=201 request completed
2026-11-01T04:58:05.068Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-11-01T04:58:05.070Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=5 status=200 request completed
2026-11-01T04:58:05.073Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-11-01T04:58:05.074Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=202 request completed
2026-11-01T04:58:05.075Z [WARN] [DAEMON] channel worker exited (workspace=/tmp/qws-channel-worker-groups-GOPoZD/secondary, state=failed, pid=unknown, code=null, signal=null, error=worker stopped, restartCount=0, nextRestartAt=none, staleHeartbeatAt=none)
2026-11-01T04:58:05.078Z [INFO] [DAEMON] route=DELETE /workspaces/f6103ac7d41ed897 durationMs=2 status=200 request completed
2026-11-01T04:58:05.079Z [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-11-01T04:58:05.095Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.095Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.098Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fbDoUJ secondary= daemon workspace roots initialized
2026-11-01T04:58:05.113Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:40405 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fbDoUJ)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fbDoUJ"
qwen serve: startup timing: processToListenMs=27600 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:58:05.118Z [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-11-01T04:58:05.132Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.132Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.134Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-force-METgJe secondary= daemon workspace roots initialized
2026-11-01T04:58:05.150Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39183 (mode=http-bridge, workspace=/tmp/qws-channel-worker-force-METgJe)
qwen serve: bound to workspace "/tmp/qws-channel-worker-force-METgJe"
qwen serve: startup timing: processToListenMs=27647 runQwenServeToListenMs=33
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.163Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.164Z [WARN] [DAEMON] received SIGHUP during drain — forcing exit
2026-11-01T04:58:05.165Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:05.180Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.180Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.182Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-sighup-shutdown-tLeBI7 secondary= daemon workspace roots initialized
2026-11-01T04:58:05.197Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:35945 (mode=http-bridge, workspace=/tmp/qws-sighup-shutdown-tLeBI7)
qwen serve: bound to workspace "/tmp/qws-sighup-shutdown-tLeBI7"
qwen serve: startup timing: processToListenMs=27683 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.198Z [WARN] [DAEMON] received SIGHUP, draining
2026-11-01T04:58:05.199Z [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-11-01T04:58:05.214Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.214Z [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-GumFFt/debug/daemon/daemon.log
2026-11-01T04:58:05.217Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stuck-GumFFt secondary= daemon workspace roots initialized
2026-11-01T04:58:05.232Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43055 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stuck-GumFFt)
qwen serve: bound to workspace "/tmp/qws-channel-worker-stuck-GumFFt"
qwen serve: startup timing: processToListenMs=27718 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.235Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.236Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.236Z [ERROR] [DAEMON] shutdown error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.237Z [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-11-01T04:58:05.237Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:05.254Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.257Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-acp-error-rMhWru secondary= daemon workspace roots initialized
2026-11-01T04:58:05.272Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38147 (mode=http-bridge, workspace=/tmp/qws-channel-acp-error-rMhWru)
qwen serve: bound to workspace "/tmp/qws-channel-acp-error-rMhWru"
qwen serve: startup timing: processToListenMs=27759 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.275Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.276Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14678:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:58:05.277Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14678:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:58:05.277Z [ERROR] [DAEMON] shutdown error
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14678:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/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-11-01T04:58:05.291Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.292Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.294Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-combined-error-ExzaxT secondary= daemon workspace roots initialized
2026-11-01T04:58:05.309Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43537 (mode=http-bridge, workspace=/tmp/qws-channel-combined-error-ExzaxT)
qwen serve: bound to workspace "/tmp/qws-channel-combined-error-ExzaxT"
qwen serve: startup timing: processToListenMs=27802 runQwenServeToListenMs=29
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.319Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.319Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.320Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14758:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:58:05.321Z [ERROR] [DAEMON] shutdown error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.321Z [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-11-01T04:58:05.321Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.321Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14758:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:58:05.321Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14758:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T04:58:05.322Z [ERROR] [DAEMON] shutdown error
Error: ACP process shutdown failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14758:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/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-11-01T04:58:05.336Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.337Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.340Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-aggregate-error-DCmisa secondary= daemon workspace roots initialized
2026-11-01T04:58:05.355Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:32835 (mode=http-bridge, workspace=/tmp/qws-channel-aggregate-error-DCmisa)
qwen serve: bound to workspace "/tmp/qws-channel-aggregate-error-DCmisa"
qwen serve: startup timing: processToListenMs=27841 runQwenServeToListenMs=23
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.358Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:05.358Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.359Z [ERROR] [DAEMON] shutdown error
AggregateError: Serve app shutdown is incomplete.
at ServeAppLifecycleController.closeOnce (/build/qwen-code/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:223:13)
2026-11-01T04:58:05.359Z [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-11-01T04:58:05.360Z [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-11-01T04:58:05.376Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.376Z [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-7bnqRm/debug/daemon/daemon.log
2026-11-01T04:58:05.378Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-log-stuck-7bnqRm secondary= daemon workspace roots initialized
2026-11-01T04:58:05.393Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:44589 (mode=http-bridge, workspace=/tmp/qws-channel-log-stuck-7bnqRm)
qwen serve: bound to workspace "/tmp/qws-channel-log-stuck-7bnqRm"
qwen serve: startup timing: processToListenMs=27880 runQwenServeToListenMs=24
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.399Z [WARN] [DAEMON] route=GET /blocked-access-log durationMs=1 status=404 request completed
2026-11-01T04:58:05.401Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.653Z [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-11-01T04:58:05.669Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.669Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.671Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-bridge-stuck-HQ67YN secondary= daemon workspace roots initialized
2026-11-01T04:58:05.686Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:40073 (mode=http-bridge, workspace=/tmp/qws-channel-bridge-stuck-HQ67YN)
qwen serve: bound to workspace "/tmp/qws-channel-bridge-stuck-HQ67YN"
qwen serve: startup timing: processToListenMs=28172 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.689Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:05.689Z [WARN] [DAEMON] error="bridge still draining" reason=daemon_shutdown workspace=/tmp/qws-channel-bridge-stuck-HQ67YN workspace bridge required forceful shutdown
2026-11-01T04:58:05.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:05.705Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.705Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.708Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-pIZjRK secondary= daemon workspace roots initialized
2026-11-01T04:58:05.723Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45809 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-pIZjRK)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-pIZjRK"
qwen serve: startup timing: processToListenMs=28216 runQwenServeToListenMs=30
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.733Z [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-11-01T04:58:05.747Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.747Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.749Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-viL6c0 secondary= daemon workspace roots initialized
2026-11-01T04:58:05.764Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43863 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-viL6c0)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-viL6c0"
qwen serve: startup timing: processToListenMs=28251 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.767Z [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-11-01T04:58:05.781Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.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-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.784Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-pidfile-KRTyNX secondary= daemon workspace roots initialized
2026-11-01T04:58:05.799Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:44893 (mode=http-bridge, workspace=/tmp/qws-channel-worker-pidfile-KRTyNX)
qwen serve: bound to workspace "/tmp/qws-channel-worker-pidfile-KRTyNX"
qwen serve: startup timing: processToListenMs=28285 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.800Z [WARN] [DAEMON] failed to write channel worker pidfile metadata: disk full
2026-11-01T04:58:05.802Z [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-11-01T04:58:05.816Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.816Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.819Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-ready-ttyFLq secondary= daemon workspace roots initialized
2026-11-01T04:58:05.833Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38307 (mode=http-bridge, workspace=/tmp/qws-channel-worker-ready-ttyFLq)
qwen serve: bound to workspace "/tmp/qws-channel-worker-ready-ttyFLq"
qwen serve: startup timing: processToListenMs=28319 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.836Z [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-11-01T04:58:05.852Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.852Z [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-cDaQf7/debug/daemon/daemon.log
2026-11-01T04:58:05.854Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-log-cDaQf7 secondary= daemon workspace roots initialized
2026-11-01T04:58:05.869Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:39885 (mode=http-bridge, workspace=/tmp/qws-channel-worker-log-cDaQf7)
qwen serve: bound to workspace "/tmp/qws-channel-worker-log-cDaQf7"
qwen serve: startup timing: processToListenMs=28362 runQwenServeToListenMs=29
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.879Z [WARN] [DAEMON] channel worker stderr: adapter failed with
2026-11-01T04:58:05.879Z [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-11-01T04:58:05.880Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:05.895Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.897Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-loopback-tQCbSh secondary= daemon workspace roots initialized
2026-11-01T04:58:05.913Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://0.0.0.0:42759 (mode=http-bridge, workspace=/tmp/qws-channel-worker-loopback-tQCbSh)
qwen serve: bound to workspace "/tmp/qws-channel-worker-loopback-tQCbSh"
qwen serve: startup timing: processToListenMs=28399 runQwenServeToListenMs=22
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.916Z [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-11-01T04:58:05.930Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.930Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.932Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-timeout-ztboHA secondary= daemon workspace roots initialized
2026-11-01T04:58:05.947Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:43993 (mode=http-bridge, workspace=/tmp/qws-channel-worker-timeout-ztboHA)
qwen serve: bound to workspace "/tmp/qws-channel-worker-timeout-ztboHA"
qwen serve: startup timing: processToListenMs=28433 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: Daemon runtime startup timed out after 1ms.
2026-11-01T04:58:05.950Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime startup timed out after 1ms.
at Timeout. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8597:13)
at listOnTimeout (node:internal/timers:685:17)
at processTimers (node:internal/timers:618:7)
2026-11-01T04:58:05.951Z [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-11-01T04:58:05.965Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:05.966Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:05.968Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-status-nDFg8z secondary= daemon workspace roots initialized
2026-11-01T04:58:05.983Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:38625 (mode=http-bridge, workspace=/tmp/qws-channel-worker-status-nDFg8z)
qwen serve: bound to workspace "/tmp/qws-channel-worker-status-nDFg8z"
qwen serve: startup timing: processToListenMs=28469 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:05.985Z [WARN] [DAEMON] channel worker exited (state=exited, pid=1234, code=1, signal=null, error=ipc failed, restartCount=0, nextRestartAt=none, staleHeartbeatAt=none)
2026-11-01T04:58:05.990Z [INFO] [DAEMON] route=GET /daemon/status durationMs=3 status=200 request completed
2026-11-01T04:58:05.993Z [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-11-01T04:58:06.009Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:06.009Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:06.011Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-aX7ydN secondary= daemon workspace roots initialized
2026-11-01T04:58:06.026Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:42009 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-aX7ydN)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-aX7ydN"
qwen serve: startup timing: processToListenMs=28519 runQwenServeToListenMs=29
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: worker failed before ready
2026-11-01T04:58:06.035Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:430:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:530:9
2026-11-01T04:58:06.036Z [ERROR] [DAEMON] daemon startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:430:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:530: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-11-01T04:58:06.051Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:06.051Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:06.053Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-untrusted-UKjoq0 secondary= daemon workspace roots initialized
2026-11-01T04:58:06.067Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:06.069Z [ERROR] [DAEMON] daemon startup failed
Error: Primary workspace "/tmp/qws-channel-untrusted-UKjoq0" is not trusted; cannot host channels.
at resolveChannelWorkspaceGroupsAtListen (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8039:11)
at onListening (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9402:34)
at Server.handleListening (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9625: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-11-01T04:58:06.084Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:06.085Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:06.087Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-startup-cleanup-YEyVE9 secondary= daemon workspace roots initialized
2026-11-01T04:58:06.102Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:06.104Z [ERROR] [DAEMON] daemon startup failed
AggregateError: Primary workspace "/tmp/qws-channel-startup-cleanup-YEyVE9" is not trusted; cannot host channels.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9412:19
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:06.120Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:06.120Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:06.122Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-retained-VfNE8e secondary= daemon workspace roots initialized
2026-11-01T04:58:06.137Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45511 (mode=http-bridge, workspace=/tmp/qws-channel-worker-retained-VfNE8e)
qwen serve: bound to workspace "/tmp/qws-channel-worker-retained-VfNE8e"
qwen serve: startup timing: processToListenMs=28623 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: worker failed before ready
2026-11-01T04:58:06.139Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:430:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:530:9
2026-11-01T04:58:06.140Z [ERROR] [DAEMON] channel worker stop after runtime startup error failed
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:06.140Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:06.141Z [ERROR] [DAEMON] shutdown after runtime startup error failed
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:341:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:822:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-11-01T04:58:06.141Z [ERROR] [DAEMON] runtime startup failed, but qwen serve remains alive to retain the channel service lease until worker exit is confirmed
2026-11-01T04:58:07.167Z [WARN] [DAEMON] received SIGTERM, draining
2026-11-01T04:58:07.168Z [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-11-01T04:58:07.185Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.185Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.189Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-busy-Lp3U2G secondary= daemon workspace roots initialized
2026-11-01T04:58:07.204Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:07.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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:1995:5)
at reserveChannelServicePidfile (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3442:13)
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8111:5)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:15673:5
at file:///build/qwen-code/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-11-01T04:58:07.227Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.227Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.229Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stale-JmPD5H secondary= daemon workspace roots initialized
2026-11-01T04:58:07.243Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:33787 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stale-JmPD5H)
qwen serve: bound to workspace "/tmp/qws-channel-worker-stale-JmPD5H"
qwen serve: startup timing: processToListenMs=29730 runQwenServeToListenMs=21
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:07.262Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.262Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.264Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-listen-eSWLUR secondary= daemon workspace roots initialized
2026-11-01T04:58:07.279Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:07.281Z [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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9662:16)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9684:5
at new Promise ()
at runQwenServeImpl (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8114:16)
at Module.runQwenServe (/build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3188:12)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:15753:5
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve listening on http://127.0.0.1:46763 (mode=http-bridge, workspace=/tmp/qws-port-retry-q1HgLV)
2026-11-01T04:58:07.303Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-11-01T04:58:07.318Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.318Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.321Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port-no-retry-KaDU6o secondary= daemon workspace roots initialized
2026-11-01T04:58:07.323Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:07.323Z [ERROR] [DAEMON] daemon startup failed
Error: permission denied
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:15846:25
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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-11-01T04:58:07.360Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.360Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.362Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port0-no-retry-JEt7Gm secondary= daemon workspace roots initialized
2026-11-01T04:58:07.364Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:07.364Z [ERROR] [DAEMON] daemon startup failed
Error: address in use
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:15931:25
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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-11-01T04:58:07.387Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.387Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.390Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-crash-iglybX secondary= daemon workspace roots initialized
2026-11-01T04:58:07.405Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:45807 (mode=http-bridge, workspace=/tmp/qws-channel-worker-crash-iglybX)
qwen serve: bound to workspace "/tmp/qws-channel-worker-crash-iglybX"
qwen serve: startup timing: processToListenMs=29891 runQwenServeToListenMs=30
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.409Z [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-11-01T04:58:07.425Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.425Z [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-VDNzom/debug/daemon/daemon.log
2026-11-01T04:58:07.427Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-unhandled-ZraM7O secondary= daemon workspace roots initialized
2026-11-01T04:58:07.442Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve listening on http://127.0.0.1:35721 (mode=http-bridge, workspace=/tmp/qws-channel-worker-unhandled-ZraM7O)
qwen serve: bound to workspace "/tmp/qws-channel-worker-unhandled-ZraM7O"
qwen serve: startup timing: processToListenMs=29928 runQwenServeToListenMs=22
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.445Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:42859 (mode=http-bridge, workspace=/tmp/qws-allow-origin-ntEsd7)
2026-11-01T04:58:07.480Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:36937 (mode=http-bridge, workspace=/tmp/qws-startup-runtime-dir-BxFuYy)
qwen serve listening on http://127.0.0.1:40605 (mode=http-bridge, workspace=/tmp/qws-startup-log-dep-sAiBhA)
qwen serve listening on http://127.0.0.1:39941 (mode=http-bridge, workspace=/tmp/qws-startup-storage-dir-AchxSE)
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-11-01T04:58:07.651Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38051 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-I9QsPH)
qwen serve: bound to workspace "/tmp/qws-startup-preheat-I9QsPH"
qwen serve: startup timing: processToListenMs=30137 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:58:07.654Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-I9QsPH secondary= daemon workspace roots initialized
2026-11-01T04:58:07.668Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.680Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-11-01T04:58:07.684Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-11-01T04:58:07.687Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-11-01T04:58:07.689Z [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-11-01T04:58:07.706Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.706Z [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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45273 (mode=http-bridge, workspace=/tmp/qws-startup-default-preheat-XuJXsa)
qwen serve: bound to workspace "/tmp/qws-startup-default-preheat-XuJXsa"
qwen serve: startup timing: processToListenMs=30192 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:58:07.709Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-default-preheat-XuJXsa secondary= daemon workspace roots initialized
2026-11-01T04:58:07.723Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.729Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-11-01T04:58:07.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-11-01T04:58:07.746Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.747Z [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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34499 (mode=http-bridge, workspace=/tmp/qws-startup-untrusted-uaq5ho)
qwen serve: bound to workspace "/tmp/qws-startup-untrusted-uaq5ho"
qwen serve: startup timing: processToListenMs=30233 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:58:07.750Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-untrusted-uaq5ho secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-11-01T04:58:07.765Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
2026-11-01T04:58:07.768Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-11-01T04:58:07.770Z [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-11-01T04:58:07.785Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T04:58:07.786Z [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-VDNzom/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38471 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-9PfQ6l)
qwen serve: bound to workspace "/tmp/qws-startup-preheat-9PfQ6l"
qwen serve: startup timing: processToListenMs=30272 runQwenServeToListenMs=5
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T04:58:07.789Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-9PfQ6l secondary= daemon workspace roots initialized
2026-11-01T04:58:07.803Z [WARN] [DAEMON] session-pr-refresh load failed: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: ACP preheat failed, will retry on first session: preheat boom
2026-11-01T04:58:07.808Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-11-01T04:58:07.812Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-11-01T04:58:07.814Z [INFO] [DAEMON] daemon stopped
✓ src/serve/run-qwen-serve.test.ts (377 tests) 25671ms
✓ runQwenServe daemon logger wiring > creates a daemon log file at boot and flushes on shutdown 308ms
✓ runQwenServe runtime startup failures > keeps health responsive before starting deferred runtime work 384ms
✓ runQwenServe runtime startup failures > starts deferred runtime on fallback when no health probe arrives 1034ms
✓ runQwenServe runtime startup failures > does not start deferred runtime after close before first health 1114ms
✓ 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 1267ms
✓ runQwenServe channel worker supervisor > reads NODE_EXTRA_CA_CERTS from the environment when judging the gap 374ms
✓ runQwenServe channel worker supervisor > enables, queries, idempotently reapplies, and stops channels after boot 920ms
✓ runQwenServe channel worker supervisor > keeps the serve owner alive when failed startup cannot confirm worker exit 1064ms
✓ src/commands/review/agent-prompt.test.ts (300 tests) 1092ms
✓ src/nonInteractiveCli.test.ts (136 tests | 1 skipped) 3063ms
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 /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3783:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3638:25
qwen serve: bridge error (POST /session/:id/resume session=550e8400-e29b-41d4-a716-446655440107): Error: Live conversation directory relocation was rejected.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3783:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3638:25
qwen serve: bridge error (POST /session/:id/resume session=550e8400-e29b-41d4-a716-446655440108): Error: Live conversation directory relocation was rejected.
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3783:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3638: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 (/build/qwen-code/src/qwen-code/packages/cli/src/serve/multi-workspace-sessions.test.ts:2956:21)
at materializeLiveConversationDirectory (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server.ts:2901:48)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3727:43
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/build/qwen-code/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/session.ts:3638: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-5lCNQH/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-0PtJb3/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 (151 tests) 5911ms
✓ multi-workspace session dispatch > rejects an oversized untrusted transcript record without starting the bridge 391ms
✓ multi-workspace session dispatch > rejects archived exports above the persisted source size limit 531ms
✓ src/config/config.test.ts (398 tests) 3328ms
✓ src/config/settings.test.ts (187 tests) 398ms
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 (163 tests) 326ms
✓ src/commands/review/pr-context.test.ts (166 tests) 165ms
✓ src/agent-view/supervisor-process.test.ts (86 tests) 2795ms
✓ Agent View supervisor process helpers > fails attach quickly for an active session with a stale persisted PTY host 526ms
✓ Agent View supervisor process helpers > fails closed when worker liveness data is unreadable 312ms
✓ src/commands/review/build-test.test.ts (109 tests) 21132ms
✓ runBuildTest > coerces fractional and zero deadlines at the spawn boundary 660ms
✓ runBuildTest > attempts every suite with the REMAINING budget and names only the never-attempted 2015ms
✓ runBuildTest > names budget-stopped UNTESTABLE suites in notRun too 2021ms
✓ runBuildTest > discloses a budget-stopped single-root suite instead of claiming no test script 2006ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > keeps reporting work left when a retry is killed AGAIN by the budget 2008ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > counts an unattempted RETRY as work left, not as nothing 2007ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > the caveat names BOTH halves when work is unattempted AND re-clamped 6009ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > runs the AFFECTED pending suite first — the fresh path's invariant 2006ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > retires its own clause whole across a SECOND resume 2009ms
✓ src/commands/review/submit.test.ts (122 tests) 380ms
✓ src/serve/routes/session-pr-backfill.test.ts (101 tests) 5390ms
✓ backfillWorkspaceSessionPrs > scans every session of a workspace beyond one listing page 726ms
✓ backfillWorkspaceSessionPrs > scans sessions whose mtime ties across the old page boundary 610ms
✓ backfillWorkspaceSessionPrs > scans sessions whose mtime ties a pagination boundary 652ms
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fallback-AosOLb/missing-operator.pem" with the daemon cert "/tmp/qwen-ca-fallback-AosOLb/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-fallback-AosOLb/missing-operator.pem'; channel workers will trust only the daemon cert
(Use `node --trace-warnings ...` to show where the warning was created)
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fused-2HOjRb/operator.pem" with the daemon cert "/tmp/qwen-ca-fused-2HOjRb/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-badb64-r9oKmx/operator.pem" with the daemon cert "/tmp/qwen-ca-badb64-r9oKmx/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-qOc9uo/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-qOc9uo/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-inspect-qOc9uo/operator.pem'; channel workers will trust only the daemon cert
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-qOc9uo/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-qOc9uo/daemon.pem": Inspecting NODE_EXTRA_CA_CERTS failed before its contents could be judged.; channel workers will trust only the daemon cert
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-dedup-G1fruR/operator.pem" with the daemon cert "/tmp/qwen-ca-dedup-G1fruR/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-arFIek/operator.pem" with the daemon cert "/tmp/qwen-ca-family-arFIek/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-family-arFIek/operator.pem'; channel workers will trust only the daemon cert
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-arFIek/operator.pem" with the daemon cert "/tmp/qwen-ca-family-arFIek/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-F3jFoz/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-F3jFoz/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-F3jFoz/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-F3jFoz/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-cause-QlNDQn/operator.pem" with the daemon cert "/tmp/qwen-ca-cause-QlNDQn/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:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-nodaemon-anIRY9/operator.pem" with the daemon cert "/tmp/qwen-ca-nodaemon-anIRY9/daemon.pem": the daemon cert holds no PEM certificate block to merge into; channel workers will trust only the daemon cert
(node:7409) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-enospc-FTzRHm/operator.pem" with the daemon cert "/tmp/qwen-ca-enospc-FTzRHm/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) 3648ms
✓ createChannelWorkerSupervisor > registers one exit hook however many times the bundle is rebuilt 613ms
✓ src/serve/workspace-service/__tests__/facade.test.ts (126 tests) 369ms
✓ src/commands/channel/daemon-worker.test.ts (100 tests) 2107ms
✓ src/serve/daemon-git-worktree-guard.test.ts (463 tests | 4 skipped) 827ms
0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli (node:7917) 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)
(node:7917) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - cli 0;🔵 Qwen - cli 2;Qwen - cli 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root (node:7917) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root 0;Qwen - root 0;🔵 Qwen - root 2;Qwen - root ✓ src/llm.test.tsx (79 tests) 6704ms
✓ llm.tsx main function > relaunches before config load and preserves only private managed ACP activation 587ms
✓ llm.tsx main function > should skip full settings discovery in bare mode 544ms
✓ llm.tsx main function > passes the outer session ID into the sandbox child process 504ms
✓ llm.tsx main function > starts a fresh CLI after the host update completes 506ms
✓ llm.tsx main function > passes host update capability into a container sandbox 505ms
✓ llm.tsx main function > does not pass an empty session ID into the sandbox child process 505ms
✓ llm.tsx main function > does not inject sandbox session ID when argv contains --continue 504ms
✓ llm.tsx main function > does not inject sandbox session ID when argv contains -c 504ms
✓ llm.tsx main function > does not inject sandbox session ID when argv contains --resume 503ms
✓ llm.tsx main function > does not inject sandbox session ID when argv contains -r 503ms
✓ llm.tsx main function > does not inject sandbox session ID when argv contains --session-id 502ms
✓ llm.tsx main function > inserts the sandbox session ID before the argument separator 504ms
✓ src/commands/review/check-coverage.test.ts (107 tests) 410ms
✓ src/serve/routes/workspace-management.test.ts (137 tests) 1896ms
✓ src/commands/review/submit-aone.test.ts (90 tests) 193ms
✓ src/serve/fs/workspace-file-system.test.ts (149 tests) 1101ms
✓ src/serve/conversations/standalone-session-service.test.ts (93 tests) 820ms
qwen serve: POST /scheduled-tasks/i1nsk2fw/run could not create a fresh session: spawn failed
qwen serve: POST /scheduled-tasks/7cw5uwbs/run could not create a fresh session: No session with id "sess-2"
qwen serve: POST /scheduled-tasks/cjrrwb3c/run could not create a fresh session: spawn failed
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-PsVyCD/tmp/6ec6ee93c3c10bbc2bf0d6f095b3109e0d46dba037bc154a68c754048e56c967/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-8lRzkD/tmp/01d827d37c97d0c42d2da7775721cd53ac1d88dac7bedae68a0c3328a7a17b9c/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-N2BGLl/tmp/280b5fa309cb9e3b97dd50c1ba08fb16357b630aa4b34cc3072fd0272611ba6d/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-CtgtB4/tmp/97a67083eded4db5afae154c3f0a0e0e8d3bb01842b8af40267417281c047124/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-MSrUi3/tmp/fb7b0d3cd87c26a245defac9af32300d96328190c851f98573972b8fcc33dac6/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 (116 tests) 2472ms
✓ scheduled-tasks routes > rejects a syntactically-valid but impossible cron (Feb 30) 471ms
✓ src/commands/review/lib/retirement.test.ts (146 tests) 272ms
✓ src/commands/review/capture-local.incremental.test.ts (75 tests) 34339ms
✓ capture-local — incremental local rounds > round 2 scopes to the changed file plus its importer; the bystander is out 438ms
✓ capture-local — incremental local rounds > an attribute flip re-reviews the file — including with NO worktree change 924ms
✓ capture-local — incremental local rounds > a cache from before the rendering attributes re-reviews everything 430ms
✓ capture-local — incremental local rounds > a pending DELETION lets the loop converge instead of re-arming for ever 650ms
✓ capture-local — incremental local rounds > a config-side diff driver moves the identity, like the attribute does 519ms
✓ capture-local — incremental local rounds > an identical state under the same model and HEAD yields 0 chunks and says so 433ms
✓ capture-local — incremental local rounds > a different model degrades to the full capture 413ms
✓ capture-local — incremental local rounds > a moved HEAD degrades to the full capture 505ms
✓ capture-local — incremental local rounds > a malformed cache and a missing --model both degrade to the full capture 631ms
✓ capture-local — incremental local rounds > the block the REAL brief renderer reads — not merely the shape 432ms
✓ capture-local — incremental local rounds > a brand-new untracked file since the last round is delta, not skipped 438ms
✓ capture-local — round-2 regressions from the stop work > stamps the cache a cached stop saw — the ledger’s content hash 401ms
✓ capture-local — round-2 regressions from the stop work > binds the ledger the stop DECIDED from — a file-form --cache outside the canonical dir 434ms
✓ capture-local — round-2 regressions from the stop work > hashes the DECISION-time ledger bytes, not a second read at stamp time 419ms
✓ capture-local — round-2 regressions from the stop work > stamps the scope-emptied split into the sidecar beside the hash 406ms
✓ capture-local — round-2 regressions from the stop work > unlinks a stale stop sidecar when a later capture proves the tree moved 370ms
✓ capture-local — a narrower round cannot certify a wider one > refuses the anchor when this round excludes untracked files 471ms
✓ capture-local — round-5 sibling gaps > does not stop a FILE review whose anchored change was discarded 400ms
✓ capture-local — the cache namespace discriminates the subject > gives a file review its own key, so colliding targets keep separate ledgers 474ms
✓ capture-local — the cache namespace discriminates the subject > keeps a root file named `local` out of the whole-tree cache 465ms
✓ capture-local — the decided stops are machine-readable > marks the unchanged-since-last-round stop in the plan 425ms
✓ capture-local — the decided stops are machine-readable > marks the scope-emptied round, which neither other stop reaches 377ms
✓ capture-local — the decided stops are machine-readable > names a DELETED untracked cached path in supersededPaths the same way 451ms
✓ capture-local — the decided stops are machine-readable > refuses the anchor when a cached path is UNMEASURABLE, not gone 486ms
✓ capture-local — the decided stops are machine-readable > reads core.fileMode as a bool — a legacy false spelling still folds 476ms
✓ capture-local — the decided stops are machine-readable > re-reviews a materialized symlink under core.symlinks=false — disclosed 382ms
✓ capture-local — the decided stops are machine-readable > certifies a restored SUBMODULE pointer instead of refusing it for ever 1550ms
✓ capture-local — the decided stops are machine-readable > withholds the candidate when a cached path dropped out while on disk 466ms
✓ capture-local — the decided stops are machine-readable > keeps a DIRECTORY subject out of the anchor — it has no bytes 427ms
✓ capture-local — the decided stops are machine-readable > withholds BOTH incremental stops under --no-untracked, out loud 547ms
✓ capture-local — --cache takes the DIRECTORY > resolves the cache from the target IT derived, not one the caller guessed 466ms
✓ capture-local — the cache key is the SOURCE path, not the token > refuses a cache whose flattened token collides with another file 713ms
✓ capture-local — the cache key is the SOURCE path, not the token > derives the source even when an explicit --target rides along on --file 517ms
✓ capture-local — the cache key is the SOURCE path, not the token > a hostile source path reaches stderr escaped, never raw 522ms
✓ capture-local — the local same-model gate > refuses an anchor another PROVIDER certified under the same name 627ms
✓ capture-local — the local same-model gate > names the fallback when the CACHED identity is empty too 423ms
✓ capture-local — the local same-model gate > treats a runtime that published NO identity as a mismatch 432ms
✓ capture-local — a staged move across rounds > keeps the rename section when only its deleted SOURCE is in scope 443ms
✓ capture-local — identity soundness and refusal contract > an exec-bit flip alone is a change — bytes equal, mode not 450ms
✓ capture-local — identity soundness and refusal contract > a retargeted symlink whose new target holds equal bytes is a change 599ms
✓ capture-local — identity soundness and refusal contract > a file named __proto__ is tracked like any other 478ms
✓ capture-local — identity soundness and refusal contract > an untracked file DELETED since the cached round re-opens its importer 470ms
✓ capture-local — identity soundness and refusal contract > a skipped (oversized) file refuses the incremental path out loud 418ms
✓ capture-local — identity soundness and refusal contract > target and stateId integrity gates refuse, full plan preserved, reason out loud 662ms
✓ capture-local — identity soundness and refusal contract > refusal reasons for model/HEAD/malformed gates reach stderr verbatim 827ms
✓ capture-local — identity soundness and refusal contract > the no-change stop and the clean-tree warning stay distinct on stderr 425ms
✓ capture-local — identity soundness and refusal contract > a scoped round's candidate still covers EVERY captured file 393ms
✓ capture-local — round-2 findings > a chmod off the USER class alone matches git: the identity moves with old/new mode 418ms
✓ capture-local — round-2 findings > an unborn-HEAD cache validates and scopes — null headSha is a supported state 483ms
✓ capture-local — round-2 findings > a hostile lastModelId reaches stderr escaped, never raw 383ms
✓ capture-local — round-3 findings > a symlink retargeted to non-UTF-8 bytes is a change — the raw-bytes identity 489ms
✓ capture-local — round-3 findings > a null→string HEAD transition refuses like any other moved HEAD 502ms
✓ capture-local — an ignore rule between rounds is visibility, not deletion > refuses the anchor for a cached path still on disk but dropped from the capture 473ms
✓ capture-local — round-10 anchor shapes > refuses the anchor when a vanished tracked path’s bytes diverge from HEAD 677ms
✓ capture-local — round-12 stop shapes > a hidden divergence (--assume-unchanged edit) suppresses the clean-tree stop 433ms
✓ capture-local — round-13 findings: visibility bits and empty anchors > a FILE review with no diff still anchors its subject (R13-2) 457ms
✓ capture-local — round-13 findings: visibility bits and empty anchors > a cache with an empty files map refuses the anchor (R13-2) 336ms
✓ capture-local — round-13 findings: visibility bits and empty anchors > a hidden edit OUTSIDE the cached paths suppresses the unchanged stop (R13-6) 589ms
✓ capture-local — round-13 findings: visibility bits and empty anchors > a hidden edit suppresses the CLEAN-TREE stop — no cache involved (R13-6) 320ms
✓ capture-local — round-13 findings: visibility bits and empty anchors > a hidden edit suppresses the scope-emptied stop (R13-6) 582ms
✓ capture-local — round-15 findings: the candidate under visibility bits > a visibility bit withholds the cache candidate (R14-1) 597ms
✓ capture-local — a vanished subtree probes its missing chain once > shares ancestor probes across vanished siblings, not one walk per path 397ms
✓ src/ui/commands/modelCommand.test.ts (111 tests) 305ms
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-uiWrC5/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-1CEgvS/anchors.json
findings: 2 total — 2 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-1CEgvS/findings.json
findings: demoted filed at low confidence — a confirmed finding 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-3jSAcO/anchors.json
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-3jSAcO/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-sDCkBP/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-sDCkBP/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-tlBDA6/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-tlBDA6/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-PGPHWi/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-PGPHWi/findings.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-l7npjn/findings.json
findings: f1 filed at low confidence — a confirmed finding 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-7YOvVw/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-7YOvVw/findings.json
findings: f1 filed at low confidence — a confirmed finding 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-adCLg8/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-adCLg8/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-dvwlzu/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed finding 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-GJTH5f/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed finding 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; 2 low-confidence. Wrote /tmp/review-findings-ozpywH/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed finding carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: f2 filed at low confidence — a confirmed finding 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-JMY9Rs/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-JMY9Rs/findings.json
✓ src/commands/review/findings.test.ts (130 tests) 118ms
qwen serve: [/tmp/qwen-extension-management-v2-RiDr4f/primary] extensions set_extension_state: background task failed: Skill "foreign" does not belong to extension "demo"
qwen serve: [/tmp/qwen-extension-management-v2-l1yh9D/primary] extensions install: background task failed: Local extension sources must be absolute daemon-host paths; relative paths are not supported over the daemon endpoint.
qwen serve: [/tmp/qwen-extension-management-v2-V7qP8s/primary] extensions install: background task failed: `ref` and `autoUpdate` are not applicable for local extensions.
qwen serve: [/tmp/qwen-extension-management-v2-8A045l/primary] extensions install: background task failed: `ref` and `autoUpdate` are not applicable for local extensions.
✓ src/serve/routes/workspace-qualified-extensions.test.ts (51 tests) 1707ms
warning: in the working copy of '.gitattributes', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'f.txt', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of '.gitattributes', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'f.txt', LF will be replaced by CRLF the next time Git touches it
✓ src/commands/review/revert-hunk.test.ts (69 tests) 5786ms
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-dVUu5Z'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
✓ src/commands/review/test-efficacy.test.ts (132 tests) 571ms
✓ runnerFailureReason > calls a suite killed at the deadline one that did not survive 305ms
✓ src/serve/server/session-pr-refresh.test.ts (63 tests) 2596ms
✓ refreshWorkspaceSessionPrStates > keeps sweeping archived sessions when a sidecar write fails 746ms
qwen serve: fast-path bootstrap failed, falling back to full startup: Failed to read serve fast path settings from /tmp/qws-fast-path-home-lnM0qp/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-d2kwcn/.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-O1u5Gs/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_PATH
qwen: settings.env (/tmp/qws-fast-path-loader-env-O1u5Gs) 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-uiZL0A/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qws-fast-path-loader-consume-xPcEZP/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-1-lZ0EOc/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-2-klcmkF/.env cannot set loader-affecting env vars; ignored: LD_PRELOAD
qwen: settings.env (/tmp/qws-fast-path-loader-accum-2-klcmkF) cannot set loader-affecting env vars; ignored: LD_PRELOAD, NODE_OPTIONS
✓ src/serve/fast-path.test.ts (91 tests) 1362ms
✓ CLI entry import boundary > keeps the runQwenServe static source graph free of ACP runtime modules 1195ms
✓ src/commands/review/presubmit.test.ts (110 tests) 67ms
✓ src/commands/review/parse-args.test.ts (154 tests) 226ms
✓ src/commands/review/lib/platform/aone.test.ts (114 tests) 88ms
qwen serve: settings_changed broadcast to workspace /tmp/qwen-workspace-qualified-rest-t5uMbn/primary failed: Primary workspace runtime is unavailable.
qwen serve: bridge error (POST /workspaces/:workspace/skills/enable): Error: disk full
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-qualified-rest.test.ts:1672:31
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///build/qwen-code/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-jNmR3m/secondary/QWEN.md is 17825792 bytes (cap 16777216)
✓ src/serve/workspace-qualified-rest.test.ts (47 tests) 1907ms
✓ src/commands/review/lib/worktree.test.ts (66 tests) 5727ms
fatal: '/tmp/efficacy-iso-P63AF4/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-hnvfQq/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-hnvfQq/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-0pZbk9/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-0pZbk9/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-YYqdxc/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-YYqdxc/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-qRhNvT/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-qRhNvT/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-5BWkBs/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-5BWkBs/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-hgRMy8/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-hgRMy8/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-PCKANT/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 0 finding(s))
fatal: '/tmp/efficacy-iso-PCKANT/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-58nVmc/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-2Cowuq/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-2Cowuq/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-t2F0NP/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-t2F0NP/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-pRYLjO/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-pRYLjO/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-UaoV5a/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-UaoV5a/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-gzFZbY/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-Ghkl7n/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-Y9imeB/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-Y9imeB/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-vfrRsM/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-vfrRsM/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-fbNVzm/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-p3jH1u/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 68684fd8bf7ff1e0279fb6346d79a51a97f3fc6c -- packages/lib/src/f.ts failed: fatal: bad revision 'no-such-base-rev'
— no mutants were run
fatal: '/tmp/efficacy-iso-p3jH1u/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-UH6eQX/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-cFZ2vi/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-e4EhKn/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-h15xAK/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-h15xAK/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-mxjoev/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-mxjoev/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-f63txL/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-RL49Wx/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-X6V38b/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-FtEAye'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-FtEAye'); 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-VhgDKG/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-yCtVMm/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-HTqgK4/wt-probe' is not a working tree
✓ src/commands/review/test-efficacy.integration.test.ts (30 tests) 12183ms
✓ test-efficacy probe isolation (#6832) > probes in a disposable worktree and never mutates the shared one 601ms
✓ test-efficacy probe isolation (#6832) > a PR-controlled symlink cannot delete outside the tree — by isolation, not the guard 563ms
✓ test-efficacy probe isolation (#6832) > probes hunks end-to-end on a diff with NO mutant candidates 635ms
✓ test-efficacy probe isolation (#6832) > scores a hunk inconclusive when its OWN collocated test dropped out of the baseline 420ms
✓ test-efficacy probe isolation (#6832) > runs a REPLACEMENT mutant end-to-end and reports the survivor 582ms
✓ test-efficacy probe isolation (#6832) > runs a deletion mutant end-to-end and reports the survivor 533ms
✓ test-efficacy probe isolation (#6832) > kills a mutant the suite catches — the A/B control for the survivor test 536ms
✓ test-efficacy probe isolation (#6832) > skips the mutants wholesale when the unmutated baseline is not green 343ms
✓ test-efficacy probe isolation (#6832) > still probes when an UNRELATED probe file is all-skipped (per-file gate) 515ms
✓ test-efficacy probe isolation (#6832) > re-classes every survivor and spends nothing when the positive control fails 408ms
✓ test-efficacy probe isolation (#6832) > holds a mutant at inconclusive when its OWN test was red in the baseline 550ms
✓ test-efficacy probe isolation (#6832) > a control that could not be SET UP leaves the window spendable 363ms
✓ test-efficacy probe isolation (#6832) > reports mutants skipped for budget when time runs out mid-loop 532ms
✓ test-efficacy probe isolation (#6832) > reports mutants skipped for cap when candidates exceed MAX_MUTANTS 1138ms
✓ test-efficacy probe isolation (#6832) > marks every candidate inconclusive when the runner dies mid-mutation, and still runs the revert probe 573ms
✓ test-efficacy probe isolation (#6832) > still finds the survivor under hostile user git diff config 545ms
✓ test-efficacy probe isolation (#6832) > discloses the dropped candidates when a file derails the literal scan 505ms
✓ test-efficacy probe isolation (#6832) > sweeps a stale REGISTERED probe worktree left by a crashed run 529ms
✓ test-efficacy probe isolation (#6832) > clears an UNREGISTERED non-empty leftover so the probe is not wedged 601ms
✓ src/serve/daemon-status.test.ts (54 tests) 93ms
✓ src/commands/review/lib/convergence.test.ts (93 tests) 66ms
✓ src/ui/components/background-view/BackgroundTasksDialog.test.tsx (86 tests) 2177ms
✓ src/commands/review/cleanup.test.ts (70 tests) 124ms
✓ src/serve/auth/device-flow.test.ts (47 tests) 60ms
✓ src/commands/review/cost-ledger.test.ts (65 tests) 147ms
✓ src/cli.test.ts (78 tests) 2889ms
✓ bootstrap import boundaries > publishes the daemon compile cache without overriding user policy 462ms
✓ bootstrap import boundaries > resolves and pins managed updates from the configured home 1536ms
✓ src/ui/hooks/atCommandProcessor.test.ts (71 tests) 462ms
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-Kl5GDp" session="550e8400-e29b-41d4-a716-446655440051" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-tjRM6u/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-tjRM6u/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-446655440103"] archived=0 archivedIds=[] alreadyArchived=1 alreadyArchivedIds=["550e8400-e29b-41d4-a716-446655440103"] notFound=0 notFoundIds=[] 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-PkO9qV" 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-1hbYHL" session="550e8400-e29b-41d4-a716-446655440018" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-7JHPHG/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-7JHPHG/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-446655440113"] unarchived=0 unarchivedIds=[] alreadyActive=1 alreadyActiveIds=["550e8400-e29b-41d4-a716-446655440113"] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440114"] unarchived=0 unarchivedIds=[] alreadyActive=1 alreadyActiveIds=["550e8400-e29b-41d4-a716-446655440114"] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440115"] unarchived=0 unarchivedIds=[] alreadyActive=1 alreadyActiveIds=["550e8400-e29b-41d4-a716-446655440115"] notFound=0 notFoundIds=[] 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-bKikjF" session="550e8400-e29b-41d4-a716-446655440171" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-sdDA7o/tmp
qwen serve: scheduled task lifecycle update failed action=delete workspace="/tmp/qwen-workspace-oHlAEm" session="550e8400-e29b-41d4-a716-446655440086" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-eUR2Qg/tmp
✓ src/serve/server/session-archive.test.ts (69 tests) 711ms
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) 363ms
✓ src/serve/acp-http/workspace-qualified-acp.test.ts (53 tests) 1034ms
✓ src/ui/components/messages/ToolMessage.test.tsx (77 tests) 653ms
✓ src/commands/review/lib/ledger.test.ts (94 tests) 174ms
✓ src/commands/review/run.test.ts (63 tests) 195ms
✓ src/nonInteractive/io/BaseJsonOutputAdapter.test.ts (109 tests) 224ms
✓ src/ui/utils/MarkdownDisplay.test.tsx (186 tests) 1821ms
✓ src/services/insight/generators/DataProcessor.test.ts (51 tests) 82ms
✓ src/serve/channel-settings-store.test.ts (80 tests) 793ms
✓ WorkspaceChannelSettingsStore > preserves an existing secret unless replace or clear is explicit 496ms
✓ src/commands/review/pr-context-persist.test.ts (36 tests) 39ms
✓ src/ui/components/SettingsDialog.test.tsx (61 tests) 3467ms
✓ SettingsDialog > Settings Toggling > should not save number settings below their configured minimum 376ms
✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 340ms
✓ src/utils/modelConfigUtils.test.ts (66 tests) 130ms
✓ src/serve/create-sub-session.test.ts (41 tests) 1254ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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 (68 tests) 4077ms
✓ POST /file/upload > accepts an upload of exactly MAX_UPLOAD_BYTES 308ms
✓ POST /file/upload > lands on the 1000th candidate, then 409s when all are occupied 560ms
✓ POST /file/upload > publishes no file when the client disconnects during admission 349ms
✓ 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 441ms
✓ src/ui/utils/resumeHistoryUtils.test.ts (57 tests) 46ms
✓ src/commands/review/lib/narrow-diff.integration.test.ts (32 tests) 3506ms
✓ narrowToDelta on real-git captures > assembles a selected hunk beyond the argument-count ceiling 638ms
✓ src/commands/review/lib/path-rules.test.ts (243 tests) 74ms
✓ src/commands/review/drive.test.ts (62 tests) 3219ms
✓ readiness > polls until the probe passes, and reports how long that took 1506ms
✓ readiness > polls at a bounded RATE — the wait cannot depend on the platform 1002ms
✓ src/ui/components/messages/ToolGroupMessage.test.tsx (55 tests) 380ms
✓ src/ui/voice/voice-transcriber.test.ts (61 tests) 104ms
✓ src/ui/components/MainContent.test.tsx (33 tests) 747ms
(node:96835) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialog-data.test.ts (59 tests) 69ms
✓ src/commands/review/lib/budget.test.ts (76 tests) 72ms
✓ src/serve/channel-worker-group.test.ts (43 tests) 217ms
{
"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) 175ms
Wrote null repository context to /tmp/repo-context-lmXxN9/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-yJcgtU/context.json
Wrote repository context (manifest) to /tmp/repo-context-zZB9pI/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-zZB9pI/base-disabled/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-fIjLIH/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-v2Dawl/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-v2Dawl/base-disabled/context.json
Wrote null repository context to /tmp/repo-context-Efx2fO/context.json
Wrote repository context (manifest) to /tmp/repo-context-CfhJXz/pr/context.json
Wrote repository context (manifest) to /tmp/repo-context-CfhJXz/local/context.json
Wrote null repository context to /tmp/repo-context-k52Lvq/context.json
Wrote null repository context to /tmp/repo-context-vGGh4N/null-base/context.json
Wrote null repository context to /tmp/repo-context-vGGh4N/null-base-fetch-failed/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-NHlYFi/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-NHlYFi/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-SSH2CR/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-SyXIv7/context.json
Wrote null repository context to /tmp/repo-context-0wZyuK/context.json
Wrote null repository context to /tmp/repo-context-P4Fr5Y/pr/context.json
Wrote null repository context to /tmp/repo-context-P4Fr5Y/local/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-xsaCZr/context.json
Wrote repository context (manifest) to /tmp/repo-context-AE9uaH/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-2XkXn3/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-NXEIEy/fresh-subdir/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-5RSzRq/context.json
Wrote repository context (manifest) to /tmp/repo-context-dQygF2/sha256/context.json
Wrote null repository context to /tmp/repo-context-9ZpAtF/pr/context.json
Wrote null repository context to /tmp/repo-context-9ZpAtF/local/context.json
Wrote null repository context to /tmp/repo-context-epoch-3YfVdr/ctx.json
Wrote repository context (fake-provider) to /tmp/repo-context-skip-N67PFw/ctx.json
Wrote null repository context to /tmp/repo-context-epoch-sub-ms-fhUf2M/ctx.json
✓ src/commands/review/repo-context.test.ts (45 tests) 2436ms
✓ repo-context providers and trust boundary > uses the trusted base manifest for pull-request opt in and opt out 313ms
✓ repo-context providers and trust boundary > fails closed when the base identity symlink chain exceeds the hop ceiling 437ms
✓ src/nonInteractiveCliCommands.test.ts (52 tests) 163ms
✓ src/commands/channel/start.test.ts (33 tests) 152ms
✓ src/commands/review/ab-drive.test.ts (52 tests | 9 skipped) 8201ms
✓ runAbDrive, harnessed > polls the per-arm readiness probe and refuses to drive an arm that never comes up 1004ms
✓ runAbDrive, harnessed > applies the readiness gate to arm b too — the mirrored negative 1004ms
✓ runAbDrive, harnessed > a timed-out arm is killed before the other arm starts — and fails the gate 1005ms
✓ runAbDrive, harnessed > the mirrored asymmetric case: arm a completes, arm b hangs 1009ms
✓ runAbDrive, harnessed > a timed-out arm reports exitCode null even with a planted rc value 1004ms
✓ runAbDrive, harnessed > per-arm shared-ready failure bails THAT arm — tearing its instance down — and still drives the other 1009ms
✓ runAbDrive, harnessed > a shared process that never becomes ready stops a --shared-once run outright 1003ms
✓ runAbDrive, harnessed > does not hang when the arm log path is a FIFO — reads non-blocking 1009ms
✓ src/nonInteractive/session.test.ts (39 tests) 915ms
✓ src/serve/live/live-task-service.test.ts (28 tests) 232ms
2026-11-01T05:05:18.750Z [ERROR] [DAEMON] route=POST /x route failed
Error: boom
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/daemon-logger.test.ts:515:17
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-11-01T05:05:18.768Z [INFO] [DAEMON] msg-0
2026-11-01T05:05:18.768Z [INFO] [DAEMON] msg-1
2026-11-01T05:05:18.768Z [INFO] [DAEMON] msg-2
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-3
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-4
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-5
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-6
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-7
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-8
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-9
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-10
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-11
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-12
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-13
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-14
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-15
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-16
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-17
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-18
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-19
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-20
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-21
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-22
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-23
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-24
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-25
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-26
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-27
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-28
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-29
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-30
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-31
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-32
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-33
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-34
2026-11-01T05:05:18.769Z [INFO] [DAEMON] msg-35
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-36
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-37
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-38
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-39
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-40
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-41
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-42
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-43
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-44
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-45
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-46
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-47
2026-11-01T05:05:18.770Z [INFO] [DAEMON] msg-48
2026-11-01T05:05:18.770Z [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) 431ms
qwen serve: DELETE /workspace/agents/"partial-target" partial — removed=project remaining=user:/tmp/qwen-serve-agents-KiRVzd/global/agents/partial-target.md
✓ src/serve/workspace-agents.test.ts (49 tests) 711ms
qwen: Skipped replay of a goal card whose condition is empty.
✓ src/acp-integration/session/history-replayer.test.ts (52 tests) 100ms
✓ src/peerMessaging/peer-messaging.test.ts (46 tests) 2882ms
✓ PeerMessaging > flags a re-admitted body under a reviewed id once its tombstone prunes 497ms
✓ src/ui/commands/doctorCommand.test.ts (49 tests) 162ms
✓ src/agent-view/pty-host-process.test.ts (50 tests) 2607ms
✓ Agent View PTY host process server > only resolves exited on SIGKILL for a connected (childless) handle 431ms
✓ Agent View PTY host process server > rejects oversized PTY host responses 312ms
✓ Agent View PTY host process server > rejects promptly when the host closes without a response 515ms
✓ src/ui/commands/statsCommand.test.ts (39 tests) 357ms
✓ src/commands/review/publish-assets.test.ts (39 tests) 72ms
✓ src/commands/review/scratch-tree.test.ts (46 tests) 9557ms
✓ runScratchTree > refuses to call a tree pristine when skip-worktree hides a mutant 640ms
✓ runScratchTree > rebuilds when the leftover has a .git that git cannot use 304ms
✓ runScratchTree > never fires the user repository's hooks 323ms
✓ runScratchTree > replaces a node_modules it did not build rather than trusting it 342ms
✓ runScratchTree > rebuilds when the tree belongs to a DIFFERENT repository 350ms
✓ runScratchTree > rebuilds when the scratch .git borrows a SIBLING worktree’s admin entry 360ms
✓ runScratchTree > rebuilds when a submodule was initialized in the tree 550ms
✓ runScratchTree > rebuilds the farm on reuse rather than inheriting it 316ms
(node:114952) 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) 3026ms
✓ VP collapsed thought groups > does not lock the render window when a tall thought collapses off-screen 449ms
✓ VP collapsed thought groups > heals every cached-zero continuation at the viewport top in one pass 349ms
✓ VP collapsed thought groups > re-expands to a non-empty healed frame after collapsing while scrolled 382ms
✓ VP collapsed thought groups > walks a mid-run targetScrollIndex anchor back to the first item of the run 349ms
qwen: .env file /tmp/qwen-runtime-env-Yeph73/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-Yeph73) cannot set loader-affecting env vars; ignored: BASH_ENV, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-oM0s1k) cannot set loader-affecting env vars; ignored: BASH_ENV, NODE_OPTIONS
qwen: .env file /tmp/qwen-runtime-env-zfUbCH/.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-5n8d6W/.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-cv8pug/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NODE_PATH, LD_PRELOAD
qwen: .env file /tmp/qwen-runtime-env-dfbL7Q/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qwen-runtime-env-az2OF4/.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-us3hHs/.env cannot set loader-affecting env vars; ignored: npm_config_userconfig, ZDOTDIR
qwen: settings.env (/tmp/qwen-runtime-env-uL0oCz) cannot set loader-affecting env vars; ignored: BASH_FUNC_id%%
✓ src/config/environment.test.ts (32 tests) 72ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.test.ts (55 tests) 90ms
✓ src/ui/utils/commandUtils.test.ts (81 tests) 113ms
✓ src/commands/review/lib/anchors.test.ts (70 tests) 400ms
✓ does not throw on a candidate set past the argument-spread limit 357ms
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)
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 (40 tests) 1630ms
✓ src/acp-integration/service/filesystem.test.ts (34 tests) 156ms
✓ src/serve/server/telemetry.test.ts (67 tests) 121ms
✓ src/ui/opentui/commands-dispatch.test.ts (58 tests) 73ms
✓ src/commands/review/lib/sandboxed-exec.test.ts (38 tests | 1 skipped) 66ms
✓ src/serve/live/live-session-coordinator.test.ts (25 tests) 1641ms
✓ src/acp-integration/session/emitters/tool-call-emitter.test.ts (64 tests) 58ms
✓ src/commands/review/lib/deadline.test.ts (58 tests) 52ms
✓ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 43ms
✓ src/ui/opentui/live-session.test.ts (34 tests) 67ms
✓ src/commands/review/lib/run-ledger.test.ts (72 tests) 110ms
✓ src/ui/commands/languageCommand.test.ts (62 tests) 174ms
✓ src/ui/commands/exportCommand.test.ts (40 tests) 142ms
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 (70 tests) 10308ms
✓ serve startup import boundary > reaches listening through the dev entrypoint without loading interactive Ink internals first 8784ms
✓ src/serve/channel-worker-manager.test.ts (44 tests) 556ms
✓ src/serve/bridge-file-system-adapter.test.ts (42 tests) 229ms
✓ src/config/shared-env-keys.test.ts (48 tests) 41ms
✓ src/commands/review/lib/review-footer.test.ts (72 tests) 58ms
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) 132ms
✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (40 tests) 1067ms
✓ src/acp-integration/session-model-persistence.test.ts (33 tests) 34ms
✓ src/acp-integration/session/SubAgentTracker.test.ts (34 tests) 659ms
✓ src/commands/review/save-artifact.test.ts (65 tests | 1 skipped) 173ms
✓ src/commands/mcp/reconnect.test.ts (32 tests) 60ms
✓ src/ui/utils/TableRenderer.test.tsx (74 tests) 718ms
✓ src/ui/commands/copyCommand.test.ts (43 tests) 73ms
✓ src/ui/daemon/daemon-tui-adapter.test.ts (19 tests) 62ms
✓ src/config/settingsWatcher.test.ts (46 tests) 80ms
✓ src/commands/review/lib/manifest-repository-context.test.ts (60 tests) 8598ms
✓ manifest repository context provider > never descends into .git 412ms
✓ manifest repository context provider > never descends into .next 433ms
✓ manifest repository context provider > never descends into .playwright 403ms
✓ manifest repository context provider > never descends into .turbo 401ms
✓ manifest repository context provider > never descends into coverage 399ms
✓ manifest repository context provider > never descends into dist 419ms
✓ manifest repository context provider > never descends into node_modules 420ms
✓ manifest repository context provider > never descends into out 408ms
✓ manifest repository context provider > never descends into playwright-report 418ms
✓ manifest repository context provider > never descends into target 426ms
✓ manifest repository context provider > never descends into test-results 420ms
✓ manifest repository context provider > accepts a scan visiting exactly the visited-entry ceiling 863ms
✓ manifest repository context provider > bounds candidate scanning even when matches are later excluded 438ms
✓ manifest repository context provider > counts a subsumed subtree against the scan bound only once 436ms
✓ manifest repository context provider > fails closed when cumulative matching work exceeds the budget 1049ms
✓ manifest repository context provider > dedupes identical scan roots before charging the scan bound 405ms
✓ manifest repository context provider > accepts matching work sitting exactly at the budget 643ms
✓ src/serve/prompt-terminal-ledger.test.ts (34 tests) 92ms
✓ src/agent-view/supervisor-server.test.ts (28 tests) 370ms
✓ src/config/settingsUtils.test.ts (54 tests) 28ms
✓ src/serve/live/qwen-realtime-session.test.ts (23 tests) 55ms
✓ src/commands/review/lib/diff-plan.test.ts (47 tests) 59ms
✓ src/serve/scheduled-task-keepalive.test.ts (28 tests) 509ms
✓ src/nonInteractive/control/ControlDispatcher.test.ts (36 tests) 55ms
✓ src/serve/live/live-host-coordinator.test.ts (37 tests) 494ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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) 1233ms
✓ src/commands/review/emit-workflow.test.ts (34 tests) 732ms
{
"port": 42669,
"baseUrl": "http://127.0.0.1:42669/v1",
"logPath": "/tmp/mp-NuRMgT/req.jsonl",
"note": "mock provider on port 42669; every request is appended to /tmp/mp-NuRMgT/req.jsonl as JSONL — diff those between two trees and the difference is evidence"
}
mock-provider: mock provider on port 42669; every request is appended to /tmp/mp-NuRMgT/req.jsonl as JSONL — diff those between two trees and the difference is evidence
mock-provider: /build/qwen-code/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) 1558ms
✓ the entry points nothing had driven > the CLI handler writes the report, and its TTL is in SECONDS 1003ms
✓ src/serve/channel-management-service.test.ts (33 tests) 571ms
✓ createChannelManagementService > lists sanitized config, secret presence, startup selection, and runtime 444ms
✓ src/nonInteractive/nonInteractiveHelpers.test.ts (45 tests) 40ms
✓ src/commands/review/lib/transcripts.test.ts (38 tests) 72ms
✓ src/ui/standalone-update.test.ts (45 tests) 56ms
❯ src/serve/pem-certificate-blocks.test.ts (52 tests | 2 failed) 6267ms
✓ extractCertificateBlocks > ignores NODE_OPTIONS that only affect eval-based oracle children 142ms
✓ extractCertificateBlocks > fails closed when the loader oracle cannot inspect its source file 59ms
✓ extractCertificateBlocks > takes a canonical single-certificate file verbatim 79ms
✓ extractCertificateBlocks > walks past a marker embedded in a line of prose 69ms
✓ extractCertificateBlocks > takes a body line carrying interior whitespace 62ms
✓ extractCertificateBlocks > takes a block behind a BOM that is not at the start of the file 66ms
✓ extractCertificateBlocks > rejects a file whose only block has a fused end line 66ms
✓ extractCertificateBlocks > keeps the certificates loaded BEFORE a fused end line 74ms
✓ extractCertificateBlocks > stops at a block whose body does not decode, keeping the prefix 76ms
✓ extractCertificateBlocks > rejects a block that never closes 70ms
✓ extractCertificateBlocks > takes and canonicalizes a certificate followed by extra bytes 68ms
✓ extractCertificateBlocks > takes the truncated body a BEGIN marker closes 68ms
✓ extractCertificateBlocks > does not treat a BOM-prefixed BEGIN inside a body as a closer 69ms
✓ extractCertificateBlocks > lets a bare BEGIN prefix close an open body before trimming it 130ms
✓ extractCertificateBlocks > lets any column-zero BEGIN prefix close an open body 217ms
✓ extractCertificateBlocks > stops at a malformed top-level BEGIN attempt, keeping the prefix 272ms
✓ extractCertificateBlocks > walks past a paired non-certificate block with an unusual label 137ms
✓ extractCertificateBlocks > walks past a BEGIN prefix without a marker suffix 66ms
✓ extractCertificateBlocks > stops at markers that fill the loader line buffer 136ms
✓ extractCertificateBlocks > does not turn a BEGIN marker at EOF into a body closer 138ms
✓ extractCertificateBlocks > does not close an open certificate on a mismatched BEGIN label 72ms
✓ extractCertificateBlocks > follows the loader NUL boundary on marker and body lines 206ms
× extractCertificateBlocks > follows the loader BOM boundary on separators and end markers 88ms
→ expected undefined to deeply equal [ Array(1) ]
✓ extractCertificateBlocks > stops when an END label introduces an unterminated header 65ms
✓ extractCertificateBlocks > takes nothing behind the block a BEGIN marker closed 133ms
✓ extractCertificateBlocks > returns undefined for a file with no block at all 150ms
✓ extractCertificateBlocks > leaves a private key out of a combined cert+key file 63ms
✓ extractCertificateBlocks > walks past a block whose BEGIN marker is indented 227ms
✓ extractCertificateBlocks > keeps the prefix when a later block has an indented BEGIN marker 69ms
✓ extractCertificateBlocks > rejects a block whose END marker is indented 62ms
✓ extractCertificateBlocks > stops at a NON-certificate block whose body does not decode 72ms
✓ extractCertificateBlocks > stops at an empty block body under any label 149ms
✓ extractCertificateBlocks > takes the certificate from a key-BEFORE-cert file 67ms
✓ extractCertificateBlocks > takes a block under the legacy X509 CERTIFICATE label 75ms
✓ extractCertificateBlocks > stops at a body that is alphabet-valid but does not decode 139ms
✓ extractCertificateBlocks > rejects a BOM in front of an END marker 68ms
✓ extractCertificateBlocks > rejects a BOM inside a base64 body line 65ms
× extractCertificateBlocks > takes a block whose header section is empty 140ms
→ expected undefined to deeply equal [ Array(1) ]
✓ extractCertificateBlocks > stops when a second blank line appears in the data region 204ms
✓ extractCertificateBlocks > stops at a blank line that splits a body into a header section 141ms
✓ extractCertificateBlocks > stops at a header section that carries no Proc-Type 64ms
✓ extractCertificateBlocks > stops at a header line the block never terminates 69ms
✓ extractCertificateBlocks > reads past a legacy encrypted key block to the certificates behind it 61ms
✓ extractCertificateBlocks > reads past a headed NON-certificate block to the certificates behind it 472ms
✓ extractCertificateBlocks > stops at a Proc-Type header section under a certificate label 254ms
✓ extractCertificateBlocks > stops at a headed block whose body below the headers cannot decode 191ms
✓ extractCertificateBlocks > takes a body wrapped at a non-canonical column 67ms
✓ extractCertificateBlocks > normalizes CRLF and marker/body padding to canonical PEM 144ms
✓ extractCertificateBlocks > normalizes every loader-trimmed marker and separator byte 409ms
✓ loadableCertificates > parses every block it returns 67ms
✓ loadableCertificates > returns undefined when the loader would take nothing 69ms
✓ loadableCertificates > parses a block whose body carries extra bytes past the certificate 63ms
✓ src/serve/virtual-subagent-sessions.test.ts (22 tests) 352ms
qwen serve: failed to update the live Session Workflow setting for /workspace: channel closed
qwen serve: failed to update the live Session Workflow setting for /workspace: channel closed
qwen serve: failed to update the live Session Workflow setting for /workspace: bridge channel closed
✓ src/serve/routes/workspace-settings.test.ts (30 tests) 356ms
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 (36 tests) 8166ms
✓ captureLocalDiff — untracked files > is the difference between "no changes to review" and a review 345ms
✓ captureLocalDiff — untracked files > reviews NAMED plumbing even when ignore rules cover it 333ms
✓ captureLocalDiff — untracked files > rejects an oversized tracked diff WHOLE — the cap runs before any parse 480ms
✓ captureLocalDiff — untracked files > abandons the untracked pass when the tree has too many, and says so 355ms
✓ captureLocalDiff — untracked files > stops inlining untracked files once the total budget is spent 609ms
✓ src/utils/installationInfo.test.ts (41 tests) 40ms
✓ src/ui/components/StandaloneSessionPicker.test.tsx (21 tests) 959ms
✓ src/config/settingsSchema.test.ts (50 tests) 48ms
✓ src/ui/utils/historyMapping.test.ts (38 tests) 20ms
✓ src/utils/errors.test.ts (42 tests) 105ms
✓ src/config/hot-reload.test.ts (38 tests) 80ms
✓ src/ui/components/background-view/LiveAgentPanel.test.tsx (29 tests) 365ms
✓ src/nonInteractive/io/JsonOutputAdapter.test.ts (37 tests) 116ms
✓ src/nonInteractive/control/controllers/permissionController.test.ts (29 tests) 627ms
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) 51ms
✓ src/ui/components/SkillReviewDialog.test.tsx (33 tests) 2086ms
✓ SkillReviewDialog > auto-refreshes the preview when the staged file changes on disk 419ms
✓ src/commands/channel/config-utils.test.ts (57 tests) 40ms
✓ src/config/trustedFolders.test.ts (42 tests) 72ms
✓ src/commands/review/extract-step.test.ts (50 tests) 150ms
✓ src/ui/components/messages/AskUserQuestionDialog.test.tsx (35 tests | 1 skipped) 2748ms
✓ src/commands/review/presubmit.aone.test.ts (33 tests) 37ms
(node:123562) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:123583) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:123595) [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) 2710ms
✓ Conversation runtime ownership > arbitrates real child processes and reclaims a crashed owner after grace 1337ms
✓ Conversation runtime ownership > fails closed for an active foreign owner and permits a later retry 1028ms
[channel-registry] Invalid management metadata in "invalid-session-scope-default" channel: Channel defaultSessionScope is invalid.
✓ src/commands/channel/channel-registry.test.ts (42 tests) 888ms
✓ channel registry > publishes a plugin session-scope descriptor once with its runtime default 830ms
✓ src/serve/conversations/conversation-workspace.test.ts (27 tests) 319ms
✓ src/services/prompt-processors/shellProcessor.test.ts (35 tests) 94ms
✓ src/commands/review/lib/local-anchor.integration.test.ts (20 tests) 3326ms
✓ hashWorktreeFiles — the attributes probe is not buffer-bound > answers for a path count whose check-attr output passes 1 MB 631ms
✓ invisibleTrackedPaths — sparse-checkout owns its S bits > exempts out-of-cone S paths, keeps manual bits and non-sparse absences 332ms
✓ src/commands/review/dedup-candidates.test.ts (42 tests) 89ms
✓ src/commands/review/lib/audit-layers.test.ts (25 tests) 71ms
✓ src/acp-integration/session/history-replay-page.test.ts (23 tests) 222ms
✓ src/services/McpPromptLoader.test.ts (47 tests) 36ms
✓ src/ui/utils/terminal-resize-reflow.test.ts (38 tests) 219ms
✓ src/ui/commands/clearCommand.test.ts (16 tests) 77ms
✓ src/ui/utils/osc8.test.ts (99 tests) 34ms
✓ src/ui/components/Footer.test.tsx (34 tests) 547ms
✓ src/commands/review/lib/stale-bundle.test.ts (28 tests) 57ms
✓ src/serve/workspace-registry.test.ts (22 tests) 28ms
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:102:24)
at handleCommit (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:346:5)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:102:24)
at handleCommit (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:346:5)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:102:24)
at handleCommit (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:346:5)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
✓ src/serve/routes/workspace-git-branches.test.ts (36 tests) 3585ms
✓ workspace Git branch routes against a real repo (R10 #2) > updates a dirty tree and restores the local changes with stash 366ms
✓ workspace Git branch routes against a real repo (R10 #2) > reports stashRestoreConflict when the stash restore conflicts 366ms
✓ workspace Git branch routes against a real repo (R10 #2) > maps a recovered stash pull failure to 409 pull_failed with the path redacted 391ms
✓ workspace Git branch routes against a real repo (R10 #2) > redacts the repository path from a successful pull whose restore failed 516ms
✓ src/ui/commands/workflowsCommand.test.ts (32 tests) 69ms
✓ src/commands/review/issue-9206-repro.test.ts (10 tests) 288ms
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) 61ms
✓ src/serve/routes/terminal.test.ts (27 tests) 78ms
✓ src/serve/routes/workspace-channel-management.test.ts (15 tests) 765ms
✓ workspace Channel management routes > lists catalog and sanitized instances without mutation auth 524ms
✓ src/utils/memoryDiagnostics.test.ts (23 tests) 81ms
✓ src/serve/workspace-skill-management.test.ts (27 tests) 339ms
✓ src/ui/handleAutoUpdate.test.ts (32 tests) 256ms
qwen serve: Conversations quarantine observer failed; runtime disposal will continue.
✓ src/serve/conversations/conversation-runtime-manager.test.ts (30 tests) 56ms
✓ src/ui/opentui/input-prompt-model.test.ts (73 tests) 46ms
✓ src/ui/components/HistoryItemDisplay.test.tsx (37 tests) 506ms
✓ src/serve/workspace-providers-status.test.ts (26 tests) 211ms
libpng: invalid IHDR data
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
second line
✓ src/ui/utils/terminal-image-renderer.test.ts (31 tests) 576ms
✓ src/commands/review/lib/layer-audit-gate.test.ts (22 tests) 71ms
✓ src/commands/review/test-delta.test.ts (31 tests) 67ms
✓ src/i18n/languageUtils.test.ts (58 tests) 40ms
✓ src/services/SkillCommandLoader.test.ts (31 tests) 49ms
✓ src/config/extension-file-watcher.test.ts (23 tests) 41ms
✓ src/commands/review/lib/workspace-scope.test.ts (33 tests) 25ms
✓ src/ui/commands/directoryCommand.test.tsx (28 tests) 40ms
✓ src/ui/opentui/event-adapter.test.ts (49 tests) 35ms
✓ src/startup/startup-prefetch.test.ts (31 tests) 128ms
✓ src/ui/utils/mermaidImageRenderer.test.ts (25 tests) 1828ms
✓ mermaid image renderer > evicts Mermaid image caches by retained byte size 681ms
✓ src/commands/review/issue-context.test.ts (29 tests) 226ms
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) 40ms
✓ src/ui/commands/summaryCommand.test.ts (35 tests) 153ms
✓ src/startup/worktreeStartup.test.ts (20 tests) 3552ms
✓ setupStartupWorktree > creates a worktree with an auto-generated slug for bare --worktree 432ms
✓ setupStartupWorktree > creates a worktree with an explicit slug 380ms
✓ setupStartupWorktree > creates a pr- worktree from FETCH_HEAD when fetch succeeds (local fake remote) 460ms
✓ setupStartupWorktree > re-attaches an existing PR-backed worktree by its literal pr- slug 440ms
✓ setupStartupWorktree > re-attaches to an existing worktree instead of erroring (Phase 6 G1 fix) 322ms
✓ persistStartupWorktreeSidecar > adopts a stale marker when re-attaching to an inactive owner 324ms
✓ persistStartupWorktreeSidecar > finds an active owner under a repo-subdir relative runtime dir 315ms
✓ src/ui/commands/contextCommand.test.ts (18 tests) 92ms
✓ src/ui/opentui/item-projection.test.ts (30 tests) 41ms
✓ src/serve/workspace-runtime-coordinator.test.ts (29 tests) 1270ms
✓ WorkspaceRuntimeCoordinator > replays MCP reconciliation interrupted while draining 303ms
✓ src/agent-view/pty-host.test.ts (36 tests) 75ms
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) 47ms
✓ src/agent-view/worker-sideband.test.ts (25 tests) 41ms
✓ src/commands/review/lib/workspaces.test.ts (47 tests) 49ms
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 (14 tests) 446ms
✓ src/serve/auth.test.ts (43 tests) 23ms
✓ src/ui/components/messages/CompactToolGroupDisplay.test.tsx (48 tests) 174ms
✓ src/ui/auth/ProviderSetupSteps.test.tsx (14 tests) 557ms
✓ src/services/housekeeping/scheduler.test.ts (26 tests) 96ms
✓ src/ui/opentui/live-session-model.test.ts (39 tests) 32ms
✓ src/ui/commands/diffCommand.test.ts (26 tests) 46ms
✓ src/serve/fs/paths.test.ts (36 tests) 110ms
✓ src/serve/routes/workspace-setup-github.test.ts (17 tests) 623ms
✓ src/ui/components/MemoryDialog.test.tsx (17 tests) 544ms
✓ src/validateNonInterActiveAuth.test.ts (13 tests) 43ms
✓ src/ui/utils/InlineMarkdownRenderer.test.tsx (32 tests) 248ms
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 (24 tests) 254ms
✓ src/serve/server/aone-mrs.test.ts (32 tests) 227ms
✓ src/serve/workspace-registration-store.test.ts (28 tests | 1 skipped) 4280ms
✓ WorkspaceRegistrationStore > persists, deduplicates, and removes workspace paths 2280ms
✓ WorkspaceRegistrationStore > recovers an orphaned stale lock 637ms
✓ WorkspaceRegistrationStore > reports lock release failure after a committed write 602ms
✓ WorkspaceRegistrationStore > preserves the write failure when lock release also fails 618ms
✓ src/ui/keyMatchers.test.ts (48 tests) 35ms
✓ src/serve/auth/qwen-device-flow-provider.test.ts (12 tests) 19ms
✓ src/ui/commands/renameCommand.test.ts (25 tests) 54ms
✓ src/serve/local-path-open.test.ts (42 tests) 70ms
✓ src/commands/review/lib/roster.test.ts (45 tests) 30ms
✓ src/ui/components/shared/MaxSizedBox.test.tsx (30 tests) 648ms
✓ overflow registration (#10640) > keeps the hidden-lines marker but skips registration when registerOverflow is false 309ms
✓ src/ui/utils/customBanner.test.ts (40 tests) 57ms
✓ src/acp-integration/acpAgent.worktree.test.ts (3 tests) 196ms
✓ src/serve/workspace-git-state.test.ts (18 tests) 565ms
✓ src/serve/routes/standalone-sessions.test.ts (25 tests) 805ms
✓ src/acp-integration/skill-management.test.ts (10 tests) 73ms
✓ src/ui/utils/updateCheck.test.ts (39 tests) 51ms
✓ src/serve/routes/a2ui-action.test.ts (22 tests) 165ms
✓ src/serve/rate-limit.test.ts (28 tests) 1320ms
✓ rateLimit > fail-open > passes through when bucket map is at capacity 1273ms
✓ src/services/BundledSkillLoader.test.ts (27 tests) 41ms
✓ src/ui/ink-cursor-rendering.test.tsx (28 tests) 289ms
✓ src/acp-integration/session/emitters/MessageEmitter.test.ts (29 tests) 38ms
✓ src/ui/commands/goalCommand.test.ts (65 tests) 61ms
✓ src/config/jsonSchemaArg.test.ts (40 tests) 598ms
✓ src/runtime/workspace-remember-errors.test.ts (41 tests) 50ms
✓ src/ui/commands/config-command.test.ts (38 tests) 57ms
✓ src/services/review-worktree-lease.test.ts (22 tests) 807ms
✓ src/config/migration/versions/v2-to-v3.test.ts (31 tests) 24ms
✓ src/acp-integration/session/Session.worktree.test.ts (8 tests) 78ms
✓ src/ui/commands/advisor-command.test.ts (26 tests) 73ms
✓ src/ui/utils/textUtils.test.ts (43 tests) 56ms
✓ src/ui/commands/peers-command.test.ts (37 tests) 31ms
✓ src/commands/channel/pidfile.test.ts (29 tests) 352ms
Error parsing settings file.
Settings file may be corrupted: CloseBraceExpected at offset 118
✓ src/utils/jsonc-editor.test.ts (33 tests) 55ms
✓ src/ui/components/StatsDisplay.test.tsx (17 tests) 507ms
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-da58c71c
hopping into sandbox (command: docker) ...
Checking for sandbox image: sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Sandbox image sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa found locally.
ContainerName (regular): sha256-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-fb5cd008
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-9cca2022
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-c5651771
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-d97addcd
using macos seatbelt (profile: permissive-open) ...
using macos seatbelt (profile: permissive-open) ...
✓ src/serve/sandbox.test.ts (30 tests) 288ms
✓ src/serve/cdp-tunnel/cdp-browser-emulator.test.ts (22 tests) 30ms
✓ src/commands/channel/memory-intent-classifier.test.ts (38 tests) 3027ms
✓ BridgeChannelMemoryIntentClassifier > keeps all IDs and a 500-entry long-metadata manifest within the code-point budget 2883ms
✓ src/ui/commands/cdCommand.test.ts (22 tests) 150ms
✓ src/ui/components/agent-view/agentHistoryAdapter.test.ts (35 tests) 21ms
✓ src/commands/review/script-lint.mock.test.ts (19 tests) 36ms
✓ src/ui/utils/backgroundWorkUtils.test.ts (26 tests) 28ms
✓ src/ui/components/ModelStatsDisplay.test.tsx (17 tests) 407ms
✓ src/ui/components/shared/ScrollableList.test.tsx (15 tests) 1038ms
✓ src/utils/housekeeping/cleanup.test.ts (27 tests) 143ms
✓ src/commands/mcp/add.test.ts (29 tests) 238ms
✓ src/ui/components/MainContent.show-more-lines.test.tsx (5 tests) 647ms
✓ ctrl+s hint honesty for capped shell output (#10640) > does not show the hint when the only hidden lines come from the ui.shellOutputMaxLines cap 427ms
✓ src/agent-view/supervisor-store.test.ts (17 tests) 122ms
✓ src/config/auth.test.ts (26 tests) 45ms
✓ src/ui/components/hooks/constants.test.ts (51 tests) 35ms
✓ src/ui/components/InputPrompt.suggestionMouse.test.tsx (11 tests) 385ms
✓ src/agent-view/supervisor-runner.test.ts (10 tests) 413ms
qwen serve: bridge error (GET /workspaces/:workspace/github/prs): Error: boom
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-github-prs.test.ts:300:51
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
✓ src/serve/routes/workspace-github-prs.test.ts (19 tests) 210ms
✓ src/ui/voice/voice-keyterms.test.ts (28 tests) 38ms
✓ src/acp-integration/session/repeated-tool-failure-guard.test.ts (38 tests) 20ms
✓ src/commands/review/meta.test.ts (24 tests) 122ms
✓ src/serve/server/persisted-session-list-cache.test.ts (19 tests) 41ms
✓ src/serve/workspace-service/__tests__/integration.test.ts (14 tests) 425ms
qwen serve: POST /workspace/memory refused — existing file /tmp/qwen-serve-memory-k3q0QO/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-I1pO7p/workspace/QWEN.md'
qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-I1pO7p/workspace/QWEN.md'
qwen serve: GET /workspace/memory failed: Error: boom
at collectStatus (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-memory.test.ts:401:17)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-memory.ts:201:28
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /build/qwen-code/src/qwen-code/node_modules/router/index.js:295:15
at processParams (/build/qwen-code/src/qwen-code/node_modules/router/index.js:582:12)
at next (/build/qwen-code/src/qwen-code/node_modules/router/index.js:291:5)
✓ src/serve/workspace-memory.test.ts (17 tests) 274ms
✓ src/serve/conversations/standalone-deletion-journal.test.ts (18 tests) 165ms
✓ src/ui/components/Composer.test.tsx (21 tests) 248ms
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) 193ms
✓ src/ui/utils/todoSnapshot.test.ts (24 tests) 15ms
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) 3038ms
✓ ghWithInputRetried() DOES retry (idempotent writes) > retries a transient HTTP 500 and succeeds on the second attempt 3002ms
✓ src/serve/workspace-trust-reconciler.test.ts (12 tests) 37ms
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-vrhTZ9/wt'
✓ src/commands/review/lib/git.integration.test.ts (12 tests) 913ms
✓ src/utils/managed-npm-update.test.ts (14 tests) 961ms
✓ src/ui/commands/btwCommand.test.ts (23 tests) 89ms
✓ src/commands/review/lib/remote-match.test.ts (43 tests) 24ms
✓ src/ui/utils/pending-rendered-height.test.ts (37 tests) 27ms
✓ src/services/CommandService.test.ts (17 tests) 31ms
✓ src/serve/process-env-guard.test.ts (3 tests) 7733ms
✓ serve process.env guard > allows only documented process-scoped process.env expressions 7692ms
✓ src/commands/sessions/list.test.ts (25 tests) 54ms
✓ src/serve/large-pipe-frame-observer.test.ts (16 tests) 35ms
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 (27 tests) 217ms
✓ src/ui/commands/commands.test.ts (40 tests) 29ms
✓ src/ui/components/LoadingIndicator.test.tsx (28 tests) 282ms
✓ src/ui/commands/tasksCommand.test.ts (11 tests) 28ms
✓ src/serve/session-id-admission.test.ts (14 tests) 34ms
✓ src/serve/server/error-response.test.ts (40 tests) 40ms
✓ src/commands/review/comment-status.test.ts (20 tests) 23ms
✓ src/commands/review/lib/prebuild.test.ts (24 tests) 88ms
✓ src/serve/routes/channel-webhooks.test.ts (25 tests) 184ms
✓ src/config/migration/index.test.ts (30 tests) 22ms
✓ src/ui/systemInfo.test.ts (22 tests) 46ms
✓ src/dualOutput/DualOutputBridge.test.ts (22 tests) 119ms
✓ src/ui/commands/compressCommand.test.ts (17 tests) 46ms
✓ src/commands/review/comment-status.aone.test.ts (18 tests) 27ms
✓ src/commands/review/lib/assets.test.ts (62 tests) 25ms
✓ src/serve/external-tool-guard-provider.test.ts (21 tests) 218ms
✓ src/commands/review/workflow-script.test.ts (15 tests) 31ms
✓ src/utils/startupProfiler.test.ts (21 tests) 74ms
✓ src/commands/extensions/install.test.ts (17 tests) 42ms
✓ src/agent-view/terminal-bridge.test.ts (17 tests) 47ms
✓ src/ui/commands/arenaCommand.test.ts (16 tests) 68ms
[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) 132ms
✓ src/ui/voice/qwen-asr-realtime-session.test.ts (14 tests) 37ms
qwen serve: POST /language persist error: disk full
qwen serve: POST /language persist error: read-only file system
qwen serve: POST /language persist error: disk full
qwen serve: POST /language daemon i18n switch failed: boom
qwen serve: POST /language fan-out failed for workspace /broken: transport closed
qwen serve: POST /language event publish failed for workspace /broken: event bus closed
✓ src/serve/routes/user-language.test.ts (12 tests) 107ms
✓ src/serve/routes/workspace-permissions.test.ts (11 tests) 201ms
✓ src/ui/components/messages/DiffRenderer.test.tsx (17 tests) 519ms
✓ src/ui/model/streaming-model.test.ts (20 tests) 20ms
✓ src/services/housekeeping/non-interactive-scheduler.test.ts (14 tests) 148ms
Wrote diff plan to /tmp/plan-diff-ZSAqg4/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-ZSAqg4/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-7Pw5QF/ceiling.json
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-7Pw5QF/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-7Pw5QF/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-9fNhxx/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-9fNhxx/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-9fNhxx/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-9fNhxx/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-9fNhxx/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-rEYKbH/plan.json
Diff: 1204 lines (1204 source, 0 test, 0 docs, 0 generated) -> 4 review chunk(s)
Wrote diff plan to /tmp/plan-diff-OfuboV/plan.json
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-xPqxdG/plan.json
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-ABRZPO/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)
Wrote diff plan to /tmp/plan-diff-0jKv8c/plan.json
Wrote diff plan to /tmp/plan-diff-3MPr4S/plan.json
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-919QhG/plan.json
Diff: 2004 lines (2004 source, 0 test, 0 docs, 0 generated) -> 6 review chunk(s)
Wrote diff plan to /tmp/plan-diff-XkAe72/plan.json
Diff: 116 lines (14 source, 24 test, 34 docs, 44 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-YP120o/plan.json
Diff: 54 lines (54 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
plan-diff: diff-plan: chunks do not tile the diff (0 chunks over 2 lines). Refusing to plan a review with a coverage hole.
Wrote diff plan to /tmp/plan-diff-xDLJje/plan.json
WARNING: the diff is empty — 0 chunks. Reviewing from this plan would examine no code. Review the file's current contents instead.
Diff: 0 lines (0 source, 0 test, 0 docs, 0 generated) -> 0 review chunk(s)
plan-diff: Cannot read diff file /tmp/plan-diff-vfnTxo/absent.diff: ENOENT: no such file or directory, open '/tmp/plan-diff-vfnTxo/absent.diff'
✓ src/commands/review/plan-diff.test.ts (16 tests) 123ms
✓ src/acp-integration/session/acp-tool-result-text-projection.test.ts (32 tests) 1510ms
✓ ACP tool-result text projection > bounds pathological many-block content without collapsing it 866ms
✓ src/nonInteractive/tool-result-boundary-diagnostics.test.ts (11 tests) 20ms
✓ src/config/claudeMcpImport.test.ts (14 tests) 40ms
✓ src/serve/routes/workspace-git-diff.test.ts (16 tests) 161ms
✓ src/serve/daemon-git-worktree-guard.win32-lane.test.ts (479 tests | 49 skipped) 748ms
✓ src/ui/utils/statsDataService.test.ts (17 tests) 19ms
✓ src/runtime/live-session-source.test.ts (49 tests) 22ms
✓ src/ui/components/QwenOAuthProgress.test.tsx (18 tests) 274ms
✓ src/ui/commands/aboutCommand.test.ts (12 tests) 32ms
✓ src/serve/acp-http/client-mcp-ws.test.ts (5 tests) 146ms
✓ src/ui/components/messages/InlineParallelAgentsDisplay.test.tsx (12 tests) 226ms
✓ src/config/daemon-trust-policy.test.ts (16 tests) 1395ms
✓ src/commands/review/base-tree.test.ts (17 tests) 2059ms
✓ src/utils/apiPreconnect.test.ts (26 tests) 163ms
✓ src/commands/review/capture-local.test.ts (15 tests) 499ms
✓ src/ui/commands/update-command.test.ts (20 tests) 66ms
✓ src/commands/review/lib/review-digest-covers-only-bundled.test.ts (6 tests) 12ms
✓ src/ui/contexts/AgentViewContext.test.tsx (8 tests) 117ms
✓ src/config/lsp-config-watcher.test.ts (13 tests) 31ms
✓ src/ui/commands/doctorChecks.test.ts (18 tests) 43ms
✓ src/commands/review/lib/local-anchor.test.ts (22 tests) 25ms
✓ src/ui/opentui/commands-registry.test.ts (15 tests) 109ms
✓ src/utils/earlyInputCapture.test.ts (34 tests) 26ms
✓ src/config/sandboxConfig.test.ts (18 tests) 23ms
✓ src/services/BuiltinCommandLoader.test.ts (14 tests) 27ms
the bodyreview body ✓ src/commands/review/comment-body.test.ts (18 tests) 104ms
✓ src/serve/routes/workspace-local-control.test.ts (13 tests) 406ms
✓ src/commands/review/lib/import-graph.test.ts (23 tests) 16ms
✓ src/ui/utils/markdownUtilities.test.ts (35 tests) 18ms
✓ src/serve/live/live-host-installer.test.ts (11 tests) 107ms
✓ src/ui/opentui/session-switch.test.ts (9 tests) 34ms
✓ src/ui/themes/detect-terminal-theme.test.ts (29 tests) 30ms
✓ src/serve/routes/goals.test.ts (16 tests) 183ms
✓ src/serve/workspace-skills-status.test.ts (11 tests) 120ms
✓ src/utils/acpModelUtils.test.ts (31 tests) 24ms
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:143065) 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) 6535ms
✓ createServeApp default bridge wiring > wires the internally-created bridge lifecycle into the workspace registry 1007ms
✓ createServeApp default bridge wiring > keeps the same-host write route disabled for an injected filesystem factory 966ms
✓ createServeApp default bridge wiring > wires total admission into the internally-created bridge 876ms
✓ createServeApp default bridge wiring > wires the effective restore timeout into the direct bridge 886ms
✓ createServeApp default bridge wiring > does not let a short initialize timeout lower the restore budget 886ms
✓ createServeApp default bridge wiring > 'derives the scheduled-task budget fro…' 899ms
✓ createServeApp default bridge wiring > 'passes the disable sentinel when the …' 1012ms
✓ src/config/settings-cache.test.ts (13 tests) 145ms
✓ src/ui/opentui/opentui-host.test.ts (20 tests) 136ms
✓ src/ui/startInteractiveUI.test.tsx (12 tests) 33ms
✓ src/ui/commands/restoreCommand.test.ts (16 tests) 162ms
✓ src/commands/review/comment-status.handler.test.ts (10 tests) 28ms
✓ src/commands/review/capture-local.toctou.test.ts (7 tests) 1129ms
✓ src/serve/routes/workspace-channel-observed-contacts.test.ts (9 tests) 123ms
✓ src/acp-integration/session/rewrite/LlmRewriter.test.ts (15 tests) 17ms
✓ src/serve/live/discovery.test.ts (14 tests) 166ms
✓ src/ui/hooks/atCommandProcessor.session.test.ts (10 tests) 46ms
✓ src/commands/review/lib/diff-plan.integration.test.ts (9 tests) 300ms
✓ src/acp-integration/session/tasksSnapshot.test.ts (10 tests) 15ms
✓ src/utils/sessionPaths.test.ts (8 tests) 70ms
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T05:21:40.503Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T05:21:40.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/qwen-serve-live-3Exj2n/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:42489 (mode=http-bridge, workspace=/tmp/qwen-serve-live-3Exj2n/workspace)
qwen serve: bound to workspace "/tmp/qwen-serve-live-3Exj2n/workspace"
qwen serve: startup timing: processToListenMs=3206 runQwenServeToListenMs=76
2026-11-01T05:21:41.258Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-3Exj2n/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-11-01T05:21:41.431Z [INFO] [DAEMON] route=GET /live/status durationMs=10 status=200 request completed
2026-11-01T05:21:41.477Z [INFO] [DAEMON] route=POST /live/setup durationMs=23 status=200 request completed
2026-11-01T05:21:41.489Z [INFO] [DAEMON] route=GET /capabilities durationMs=8 status=200 request completed
2026-11-01T05:21:41.500Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T05:21:41.529Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T05:21:41.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/qwen-serve-live-stable-PDvZ6K/custom-runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:38955 (mode=http-bridge, workspace=/tmp/qwen-serve-live-stable-PDvZ6K/workspace)
qwen serve: bound to workspace "/tmp/qwen-serve-live-stable-PDvZ6K/workspace"
qwen serve: startup timing: processToListenMs=4178 runQwenServeToListenMs=9
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T05:21:41.536Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-stable-PDvZ6K/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-11-01T05:21:42.593Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-11-01T05:21:42.607Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-11-01T05:21:42.607Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,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-G37heV/runtime-one/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:41435 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-G37heV/workspace-one)
qwen serve: bound to workspace "/tmp/qwen-serve-live-handoff-G37heV/workspace-one"
qwen serve: startup timing: processToListenMs=5255 runQwenServeToListenMs=6
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T05:21:42.613Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-G37heV/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-11-01T05:21:42.768Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
qwen serve: daemon log → /tmp/qwen-serve-live-handoff-G37heV/runtime-two/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /build/qwen-code/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:36511 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-G37heV/workspace-two)
qwen serve: bound to workspace "/tmp/qwen-serve-live-handoff-G37heV/workspace-two"
qwen serve: startup timing: processToListenMs=5416 runQwenServeToListenMs=7
qwen serve: trusted loopback mode; local callers have full API access without bearer authentication, including code execution as the daemon user. Use --require-auth with QWEN_SERVER_TOKEN on shared or untrusted hosts.
2026-11-01T05:21:42.772Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-G37heV/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
qwen serve: Conversations runtime boot failed: The Conversations runtime is owned by another daemon.
2026-11-01T05:21:42.795Z [WARN] [DAEMON] failed to publish Live Host discovery: The Conversations runtime is owned by another daemon.
2026-11-01T05:21:42.802Z [INFO] [DAEMON] daemon stopped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-11-01T05:21:42.856Z [INFO] [DAEMON] daemon stopped
✓ src/serve/live/run-qwen-serve-live.test.ts (3 tests) 2390ms
✓ qwen serve Live Host discovery > publishes the authenticated listener and removes only its own record 1047ms
✓ qwen serve Live Host discovery > publishes a stable Host locator alongside a custom runtime record 1080ms
✓ src/ui/selection/screen-buffer.test.tsx (20 tests) 257ms
✓ src/serve/workspace-route-runtime.test.ts (28 tests) 31ms
✓ src/services/setup-github.test.ts (11 tests) 77ms
qwen serve: bridge error (GET /workspace/git/log): Error: boom
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-log.test.ts:113:39
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git-log.test.ts:296:48
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
✓ src/serve/routes/workspace-git-log.test.ts (16 tests) 131ms
qwen serve: runtime startup failed after listener was ready: runtime boom
✓ src/serve/fast-path-open.test.ts (7 tests) 475ms
✓ src/serve/server/fs-factory.test.ts (13 tests) 52ms
✓ src/ui/commands/curator-command.test.ts (15 tests) 21ms
✓ src/commands/extensions/consent.test.ts (22 tests) 21ms
✓ src/commands/extensions/settings.test.ts (20 tests) 92ms
✓ src/ui/commands/output-style-command.test.ts (17 tests) 40ms
✓ src/ui/components/StatusLineDialog.test.tsx (8 tests) 583ms
✓ src/commands/review/lib/repository-context.test.ts (12 tests) 43ms
✓ src/utils/cpuProfiler.test.ts (21 tests) 45ms
✓ src/serve/serve-app-lifecycle.test.ts (11 tests) 159ms
✓ src/ui/components/hooks/HooksManagementDialog.test.tsx (8 tests) 1509ms
✓ HooksManagementDialog > should navigate from a matcher hook to matcher detail 306ms
✓ HooksManagementDialog > should navigate from matcher detail to config detail 358ms
✓ HooksManagementDialog > should navigate directly from a non-matcher hook to config detail 665ms
✓ src/serve/routes/workspace-qualified-voice.test.ts (8 tests) 166ms
✓ src/serve/routes/workspace-skills.test.ts (8 tests) 127ms
✓ src/services/voice-service.test.ts (12 tests) 28ms
✓ src/commands/review/lib/paths.test.ts (19 tests) 15ms
✓ src/ui/commands/learn-command.test.ts (17 tests) 36ms
✓ src/ui/components/RewindSelector.test.tsx (10 tests) 494ms
✓ src/serve/fs/audit.test.ts (13 tests) 16ms
✓ src/services/commandMetadata.test.ts (37 tests) 17ms
✓ src/acp-integration/session/Session.review-lease.test.ts (4 tests) 55ms
✓ src/ui/commands/extensionsCommand.test.ts (12 tests) 35ms
✓ src/ui/components/messages/ConversationMessages.test.tsx (23 tests) 189ms
✓ src/commands/mcp/list.test.ts (9 tests) 27ms
✓ src/serve/env-snapshot.test.ts (15 tests) 279ms
✓ src/serve/routes/session-telemetry.test.ts (9 tests) 139ms
✓ src/acp-integration/session/permissionUtils.test.ts (13 tests) 20ms
✓ src/ui/components/messages/CompressionMessage.test.tsx (14 tests) 174ms
✓ src/acp-integration/session/daemon-todo-stop-guard.test.ts (20 tests) 18ms
✓ src/acp-integration/child-heap-probe.test.ts (13 tests) 196ms
✓ src/serve/cdp-tunnel/cdp-reverse-link.test.ts (14 tests) 29ms
✓ src/serve/daemon-metrics-ring.test.ts (17 tests) 17ms
✓ src/ui/components/hooks/HookConfigDetailStep.test.tsx (17 tests) 302ms
✓ src/ui/opentui/session-rewind.test.ts (25 tests) 16ms
✓ src/ui/statusLinePresets.test.ts (18 tests) 13ms
✓ src/serve/fs/contract.test.ts (10 tests) 60ms
✓ src/utils/conversation-directory-identity.test.ts (13 tests) 78ms
✓ src/commands/review/lib/platform/registry.test.ts (18 tests) 17ms
✓ src/ui/themes/color-utils.test.ts (23 tests) 17ms
✓ src/serve/channel-workspace-grouping.test.ts (17 tests) 16ms
✓ src/ui/opentui/a11y-screen-reader.test.ts (27 tests) 57ms
✓ src/serve/routes/live.test.ts (9 tests) 126ms
✓ src/ui/opentui/messages.test.tsx (28 tests) 27ms
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) 515ms
✓ src/utils/warningHandler.test.ts (13 tests) 458ms
✓ initializeWarningHandler — end-to-end stderr behavior > a child process with the handler installed does not print suppressed AbortSignal warnings to stderr 441ms
✓ src/commands/review/lib/same-file.test.ts (9 tests) 17ms
✓ src/ui/commands/compressFastCommand.test.ts (11 tests) 33ms
✓ src/commands/review/lib/prompt-record.test.ts (14 tests) 11ms
✓ src/serve/server/access-log.test.ts (10 tests) 44ms
qwen serve: /acp WS error: test error
✓ src/serve/acp-http/ws-stream.test.ts (22 tests) 139ms
✓ src/serve/native-directory-picker.test.ts (21 tests) 25ms
✓ src/commands/extensions/update.test.ts (15 tests) 55ms
✓ src/ui/hooks/extension-mention-ref.test.ts (24 tests) 18ms
✓ src/ui/commands/forkCommand.test.ts (15 tests) 53ms
✓ src/ui/components/hooks/HookDetailStep.test.tsx (14 tests) 226ms
✓ src/ui/themes/theme-manager.test.ts (19 tests) 31ms
✓ src/commands/review/script-lint.test.ts (17 tests | 3 skipped) 17ms
✓ src/ui/commands/skillsCommand.test.ts (10 tests) 21ms
✓ src/services/skill-args-file.test.ts (14 tests) 18ms
✓ src/acp-integration/session/emitters/PlanEmitter.test.ts (20 tests) 20ms
✓ src/commands/review/lib/review-settings.test.ts (22 tests) 24ms
✓ src/ui/components/agent-view/AgentComposer.queuedMessages.test.tsx (5 tests) 158ms
✓ src/commands/review/lib/resume.test.ts (25 tests) 12ms
Wrote resolved anchors to /tmp/resolve-anchors-Oe0JUd/out.json
Wrote resolved anchors to /tmp/resolve-anchors-WjlvgV/nested/deeper/anchors.json
Anchors: 0/0 resolved
Wrote resolved anchors to /tmp/resolve-anchors-F9IRp1/out.json
Anchors: 2/2 resolved
✓ src/commands/review/resolve-anchors.test.ts (16 tests) 26ms
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) 53ms
✓ src/serve/routes/session-prompt-terminals.test.ts (5 tests) 162ms
✓ src/config/extension-refresh-state.test.ts (10 tests) 18ms
✓ src/ui/voice/voice-stream-session.test.ts (12 tests) 33ms
✓ src/ui/layouts/DefaultAppLayout.test.tsx (10 tests) 100ms
✓ src/services/command-migration-tool.test.ts (14 tests) 91ms
✓ src/commands/sessions/ps.test.ts (17 tests) 41ms
✓ src/ui/components/ShellConfirmationDialog.test.tsx (12 tests) 268ms
✓ src/commands/update.test.ts (10 tests) 2366ms
✓ update command > prints the package-manager update command even when auto-update is disabled 2356ms
✓ src/config/migration/versions/v3-to-v4.test.ts (32 tests) 20ms
✓ src/utils/runBudget.test.ts (53 tests) 27ms
✓ src/utils/gitUtils.test.ts (34 tests) 32ms
✓ src/ui/utils/historyUtils.test.ts (21 tests) 13ms
✓ src/ui/commands/insightCommand.test.ts (5 tests) 30ms
✓ src/commands/review/lib/report.test.ts (14 tests) 37ms
✓ src/ui/commands/ideCommand.test.ts (8 tests) 29ms
✓ src/utils/osc.test.ts (30 tests) 16ms
✓ src/ui/components/BaseTextInput.test.tsx (16 tests) 202ms
✓ src/serve/live/realtime-startup-context.test.ts (5 tests) 28ms
✓ src/commands/review/fetch-diff.test.ts (11 tests) 134ms
✓ src/ui/components/background-view/BackgroundTasksPill.test.tsx (22 tests) 14ms
✓ src/ui/opentui/link-click.test.ts (16 tests) 19ms
✓ src/serve/cdp-tunnel/cdp-ws.test.ts (10 tests) 232ms
✓ src/ui/voice/native-audio-recorder.test.ts (12 tests) 26ms
✓ src/ui/components/hooks/HandlerListBody.test.tsx (11 tests) 181ms
✓ src/serve/routes/workspace-local-open.test.ts (11 tests) 112ms
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) 717ms
✓ src/utils/writeWithBackup.test.ts (13 tests) 20ms
✓ src/serve/routes/session-runtime.test.ts (10 tests) 21ms
✓ src/ui/utils/export/normalize.test.ts (6 tests) 12ms
✓ src/services/prompt-processors/injectionParser.test.ts (21 tests) 16ms
✓ src/ui/components/TerminalImage.test.tsx (9 tests) 388ms
✓ src/agent-view/attach-lease.test.ts (12 tests) 31ms
qwen serve: bridge error (GET /workspace/git): Error: git failed
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git.test.ts:98:27)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as getStatus] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git.ts:44:42
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /build/qwen-code/src/qwen-code/node_modules/router/index.js:295:15
qwen serve: bridge error (GET /workspaces/:workspace/git): Error: qualified git failed
at Object. (/build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git.test.ts:234:27)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as getStatus] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-git.ts:107:44
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /build/qwen-code/src/qwen-code/node_modules/router/index.js:295:15
✓ src/serve/routes/workspace-git.test.ts (9 tests) 112ms
qwen serve: GET /usage/dashboard failed: boom
✓ src/serve/routes/usage-stats.test.ts (7 tests) 325ms
✓ src/config/migration/versions/v1-to-v2.test.ts (20 tests) 16ms
✓ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 30ms
qwen serve: bridge error (POST /workspace/runtime/ensure): Error: child failed
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-runtime.test.ts:142:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
qwen serve: bridge error (POST /workspace/runtime/ensure): WorkspaceRuntimeStillStartingError: Workspace runtime is still starting
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/routes/workspace-runtime.test.ts:160:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
✓ src/serve/routes/workspace-runtime.test.ts (11 tests) 156ms
✓ src/serve/daemon-status-provider.test.ts (4 tests) 822ms
✓ DaemonWorkspaceService — daemon-host status provider integration > returns daemon preflight cells with not_started ACP cells when idle 303ms
✓ src/ui/components/background-view/agent-forest.test.ts (20 tests) 16ms
✓ src/ui/utils/terminalRedrawOptimizer.test.ts (15 tests) 21ms
✓ src/ui/utils/export/collect.test.ts (5 tests) 23ms
✓ src/ui/components/PluginChoicePrompt.test.tsx (13 tests) 246ms
✓ src/serve/fs/policy.test.ts (18 tests) 53ms
✓ src/ui/opentui/help-content.test.ts (15 tests) 15ms
✓ src/ui/commands/lspCommand.test.ts (10 tests) 27ms
✓ src/ui/commands/voice-command.test.ts (11 tests) 22ms
✓ src/serve/local-control/service.test.ts (5 tests) 32ms
✓ src/ui/components/SettingsCorruptedDialog.test.tsx (8 tests) 1018ms
✓ src/remoteInput/RemoteInputWatcher.test.ts (10 tests) 656ms
✓ src/ui/commands/setupGithubCommand.test.ts (9 tests) 56ms
✓ src/ui/utils/windowTitle.test.ts (28 tests) 18ms
✓ src/ui/commands/bugCommand.test.ts (5 tests) 23ms
(node:148728) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-mcp.test.ts (18 tests) 16ms
✓ src/commands/review/run-skill-parity.test.ts (2 tests) 9ms
✓ src/ui/utils/asciiCharts.test.ts (21 tests) 57ms
✓ src/ui/utils/formatters.test.ts (35 tests) 22ms
✓ src/i18n/mustTranslateKeys.test.ts (20 tests) 511ms
✓ src/ui/model/stream-aggregation.test.ts (11 tests) 22ms
✓ src/commands/review/lib/certification.test.ts (22 tests) 13ms
✓ src/ui/components/Header.test.tsx (19 tests) 336ms
✓ src/acp-integration/skill-source-download.test.ts (14 tests) 60ms
✓ src/ui/opentui/opentui-runtime.test.ts (8 tests) 22ms
✓ src/ui/utils/computeStats.test.ts (12 tests) 10ms
✓ src/ui/components/hooks/matcherGrouping.test.ts (13 tests) 13ms
✓ src/ui/opentui/theme-parity.test.ts (14 tests) 33ms
✓ src/ui/commands/hooksCommand.test.ts (9 tests) 29ms
✓ src/commands/extensions/sources.test.ts (11 tests) 50ms
✓ src/serve/local-bind-addresses.test.ts (11 tests) 34ms
✓ src/commands/extensions/new.test.ts (9 tests) 68ms
✓ src/commands/channel/observed-contact-store.test.ts (11 tests) 27ms
✓ src/commands/review/lib/npm-toolchain.test.ts (7 tests) 20ms
✓ src/acp-integration/active-work-reporter.test.ts (10 tests) 21ms
✓ src/core/initializer.test.ts (14 tests) 19ms
✓ src/serve/permission-audit.test.ts (10 tests) 17ms
✓ src/ui/components/agent-view/AgentTabBar.test.tsx (7 tests) 118ms
✓ src/serve/acp-http/client-mcp-sender-registry.test.ts (10 tests) 21ms
✓ src/commands/review/lib/inline-counts.test.ts (10 tests) 15ms
✓ src/utils/housekeeping/throttledOnce.test.ts (11 tests) 88ms
✓ src/ui/opentui/start-opentui-ui.test.tsx (3 tests) 19ms
✓ src/commands/review/comment-status.integration.test.ts (8 tests) 1183ms
✓ makeGitProbe (real git) > caps touchedBy at 10 while reporting the real total 454ms
✓ src/ui/components/hooks/HookMatcherDetailStep.test.tsx (8 tests) 169ms
✓ src/acp-integration/model-configuration.test.ts (46 tests) 15ms
✓ src/utils/costCalculator.test.ts (18 tests) 10ms
✓ src/ui/components/messages/DiffStatsDisplay.test.tsx (8 tests) 120ms
✓ src/ui/commands/effort-command.test.ts (10 tests) 26ms
✓ src/commands/extensions/utils.test.ts (12 tests) 17ms
✓ src/ui/opentui/key-map.test.ts (20 tests) 14ms
✓ src/ui/utils/highlight.test.ts (18 tests) 13ms
✓ src/ui/voice/voice-recorder.test.ts (8 tests) 20ms
✓ src/ui/opentui/resume-session.test.ts (7 tests) 10ms
✓ src/ui/components/FindingsDisplay.test.tsx (13 tests) 165ms
✓ src/serve/daemon-memory-pressure.test.ts (16 tests) 13ms
qwen serve: Voice runtime disposal timed out with 1 active lease(s).
✓ src/serve/voice/workspace-voice-coordinator.test.ts (8 tests) 18ms
✓ src/ui/opentui/input-prompt-key.test.ts (17 tests) 12ms
✓ src/serve/fs/errors.test.ts (20 tests) 14ms
✓ src/ui/layouts/ScreenReaderAppLayout.test.tsx (9 tests) 106ms
✓ src/ui/opentui/commands-context.test.ts (6 tests) 10ms
✓ src/config/loadedSettingsAdapter.test.ts (5 tests) 17ms
✓ src/ui/components/AnsiOutput.test.tsx (9 tests) 131ms
✓ src/ui/commands/approvalModeCommand.test.ts (14 tests) 446ms
✓ approvalModeCommand > direct mode setting (session-only) > should emit the entry notice when switching to auto mode 422ms
✓ src/ui/selection/selection-text.test.ts (16 tests) 12ms
✓ src/ui/commands/initCommand.test.ts (6 tests) 393ms
✓ initCommand > should ask for confirmation if QWEN.md already exists and is non-empty 374ms
✓ src/ui/components/mcp/utils.test.ts (16 tests) 13ms
✓ src/ui/components/SessionPreview.test.tsx (7 tests) 866ms
✓ src/ui/opentui/renderer-selection.test.ts (18 tests) 15ms
✓ src/serve/acp-http/dispatch-error.test.ts (10 tests) 12ms
✓ src/ui/opentui/osc8-parity.test.ts (17 tests) 14ms
✓ src/ui/commands/mcpCommand.test.ts (10 tests) 27ms
✓ src/serve/live/live-setup-controller.test.ts (7 tests) 24ms
✓ src/ui/opentui/dialogs-core.test.ts (19 tests) 13ms
✓ src/config/migration/versions/v5-to-v4.test.ts (17 tests) 30ms
✓ src/commands/review/lib/manifest-repository-context.committed.test.ts (5 tests) 116ms
✓ src/nonInteractive/io/StreamJsonInputReader.test.ts (11 tests) 23ms
(node:151302) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-settings.test.ts (17 tests) 22ms
✓ src/ui/utils/mouse.test.ts (17 tests) 13ms
✓ src/serve/server/git-branch-ops.test.ts (16 tests) 939ms
✓ src/acp-integration/session/recovered-goal-update.test.ts (8 tests) 16ms
(node:152862) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-model.test.ts (19 tests) 20ms
✓ src/serve/managed-scratch-workspace.test.ts (7 tests) 26ms
✓ src/ui/opentui/slash-gateway.test.ts (21 tests) 20ms
✓ src/ui/utils/synchronizedOutput.test.ts (19 tests) 15ms
✓ src/ui/opentui/theme.test.ts (8 tests) 14ms
✓ src/ui/opentui/opentui-assets.test.ts (11 tests) 16ms
✓ src/config/skill-settings.test.ts (11 tests) 12ms
✓ src/utils/paths.test.ts (12 tests) 12ms
✓ src/utils/terminalSequence.test.ts (26 tests) 15ms
✓ src/ui/models/availableModels.test.ts (14 tests) 15ms
✓ src/services/saved-workflow-loader.test.ts (11 tests) 14ms
✓ src/serve/model-providers-edit.test.ts (12 tests) 13ms
✓ src/ui/components/subagents/create/DescriptionInput.test.tsx (4 tests) 95ms
✓ src/services/commandUtils.test.ts (14 tests) 10ms
✓ src/utils/deepMerge.test.ts (13 tests) 14ms
✓ src/commands/channel/pairing.test.ts (5 tests) 25ms
✓ src/ui/components/background-view/liveAgentPanelVisibility.test.ts (15 tests) 11ms
✓ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 56ms
✓ src/serve/routes/channel-notify.test.ts (11 tests) 123ms
✓ src/ui/components/Tips.test.ts (9 tests) 13ms
✓ src/commands/extensions/disable.test.ts (10 tests) 53ms
✓ src/ui/components/AppHeader.test.tsx (6 tests) 166ms
✓ src/config/extension-runtime-reload.test.ts (6 tests) 17ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.ts (6 tests) 16ms
✓ src/commands/review/capture-local.visibility.test.ts (3 tests) 494ms
✓ src/ui/components/hooks/HooksListStep.test.tsx (9 tests) 161ms
✓ src/commands/review/lib/agent-identity.test.ts (7 tests) 8ms
✓ src/ui/commands/importConfigCommand.test.ts (10 tests) 13ms
✓ src/ui/components/ConsentPrompt.test.tsx (9 tests) 154ms
✓ src/ui/utils/input-mouse.test.ts (9 tests) 15ms
✓ src/config/migration/scheduler.test.ts (7 tests) 19ms
✓ src/commands/review/lib/local-anchor.oracle.test.ts (5 tests) 10ms
✓ src/config/mcpJson.test.ts (11 tests) 18ms
✓ src/commands/review/run-classify.integration.test.ts (6 tests) 158ms
✓ src/ui/voice/voice-refine.test.ts (11 tests) 20ms
✓ src/ui/components/shared/ErrorBoundary.test.tsx (8 tests) 96ms
✓ src/ui/opentui/kitty-negotiation.test.ts (10 tests) 79ms
✓ src/config/modelProvidersScope.test.ts (11 tests) 9ms
✓ src/serve/voice/resolve-voice-config.test.ts (3 tests) 1141ms
✓ loadDaemonVoiceContext > resolves providerProtocol-mapped custom provider groups for voice 592ms
✓ loadDaemonVoiceContext > skips workspace settings when the runtime is untrusted 526ms
✓ src/serve/scheduled-task-session-lifecycle.test.ts (7 tests) 52ms
✓ src/ui/components/GoalPill.test.tsx (11 tests) 132ms
✓ src/ui/opentui/mouse-hit.test.ts (13 tests) 10ms
✓ src/ui/opentui/theme-auto.test.ts (9 tests) 17ms
✓ src/ui/hooks/session-completion.test.ts (8 tests) 15ms
✓ src/acp-integration/live/capture-screen-context.test.ts (5 tests) 83ms
✓ src/ui/commands/planCommand.test.ts (7 tests) 21ms
✓ src/serve/sse-last-event-id.test.ts (25 tests) 16ms
✓ src/commands/mcp/approve.test.ts (7 tests) 46ms
✓ src/ui/components/SettingInputPrompt.test.tsx (7 tests) 164ms
✓ src/ui/components/background-view/liveAgentPanelLayout.measurement.test.tsx (2 tests) 167ms
✓ src/commands/channel/reload.test.ts (6 tests) 17ms
✓ src/utils/cleanup.test.ts (9 tests) 168ms
✓ src/ui/opentui/a11y-plain-text.test.ts (19 tests) 12ms
✓ src/commands/extensions/enable.test.ts (10 tests) 50ms
✓ src/ui/components/background-view/workflow-save-overlay.test.tsx (7 tests) 232ms
✓ src/ui/utils/lowlightLoader.test.ts (5 tests) 40ms
✓ src/ui/commands/resumeCommand.test.ts (9 tests) 27ms
✓ src/acp-integration/session/tool-call-preparation-tracker.test.ts (6 tests) 15ms
✓ src/ui/components/agent-view/AgentChatView.test.tsx (6 tests) 107ms
✓ src/serve/extension-operation-scheduler.test.ts (8 tests) 195ms
✓ src/ui/components/mcp/steps/ResourceListStep.test.tsx (5 tests) 277ms
✓ src/ui/voice/sox-recorder.test.ts (5 tests) 16ms
✓ src/commands/channel/set.test.ts (6 tests) 19ms
✓ src/ui/components/StickyTodoList.test.tsx (6 tests) 151ms
✓ src/ui/utils/findings-coalescing.test.ts (6 tests) 7ms
✓ src/serve/skill-details-redaction.test.ts (9 tests) 10ms
✓ src/ui/App.test.tsx (7 tests) 104ms
✓ src/ui/opentui/client-tool-run.test.ts (3 tests) 13ms
✓ src/ui/components/arena/ArenaCards.test.tsx (2 tests) 134ms
✓ src/serve/session-attachments-root.test.ts (12 tests) 11ms
✓ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 169ms
✓ src/ui/utils/CodeColorizer.test.ts (18 tests) 12ms
✓ src/agent-view/supervisor-dispatch.test.ts (4 tests) 49ms
✓ src/ui/update-relaunch.test.ts (6 tests) 122ms
✓ src/commands/review/lib/merge-base.test.ts (9 tests) 11ms
(node:155369) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-permissions.test.ts (12 tests) 15ms
✓ src/serve/mcp-app-sandbox.test.ts (6 tests) 70ms
✓ src/serve/total-session-admission.test.ts (5 tests) 11ms
✓ src/ui/opentui/slash-dispatch.test.ts (5 tests) 94ms
✓ src/ui/opentui/commands-output.test.ts (8 tests) 9ms
✓ src/ui/utils/MermaidDiagram.test.tsx (5 tests) 288ms
✓ src/ui/components/StatsEfficiencyTab.test.tsx (4 tests) 200ms
✓ src/services/FileCommandLoader-markdown.test.ts (4 tests) 55ms
✓ src/ui/voice/voice-keyterms-race.test.ts (3 tests) 2336ms
✓ src/commands/channel/status.test.ts (4 tests) 20ms
✓ src/ui/opentui/mouse-scrollbar.test.ts (14 tests) 11ms
✓ src/services/markdown-command-parser.test.ts (13 tests) 26ms
✓ src/utils/acp-startup-profiler.test.ts (4 tests) 12ms
✓ src/commands/review/lib/local-anchor.batch.test.ts (3 tests) 46ms
✓ src/ui/opentui/session-compaction.test.ts (13 tests) 9ms
✓ src/ui/commands/docsCommand.test.ts (6 tests) 23ms
✓ src/commands/review/lib/round-model.test.ts (8 tests) 7ms
✓ src/agent-view/presentation.test.ts (4 tests) 17ms
✓ src/ui/components/ApprovalModeDialog.test.tsx (9 tests) 183ms
✓ src/ui/utils/sessionPickerUtils.test.ts (16 tests) 20ms
✓ src/ui/components/views/ContextUsage.test.tsx (5 tests) 258ms
✓ src/serve/workspace-inputs.test.ts (9 tests) 22ms
✓ src/ui/components/agent-view/AgentComposer.test.tsx (3 tests) 50ms
✓ src/ui/components/views/McpStatus.test.tsx (12 tests) 201ms
✓ src/commands/review/lib/run-ledger.race.test.ts (4 tests) 21ms
✓ src/serve/channel-loop-mcp-ipc.test.ts (4 tests) 13ms
✓ src/ui/commands/toolsCommand.test.ts (6 tests) 21ms
✓ src/config/daemon-trust-policy-monitor.test.ts (5 tests) 67ms
✓ src/services/notificationService.test.ts (9 tests) 16ms
✓ src/services/tips/tipScheduler.test.ts (7 tests) 12ms
✓ src/commands/review/lib/platform/github.test.ts (8 tests) 9ms
✓ src/ui/components/SessionSummaryDisplay.test.tsx (3 tests) 179ms
✓ src/utils/json-string-byte-projection.test.ts (14 tests) 224ms
✓ src/serve/local-control/lan-interfaces.test.ts (3 tests) 10ms
✓ src/ui/utils/measure-element-position.test.tsx (6 tests) 217ms
✓ src/nonInteractive/chat-recording-failure.test.ts (5 tests) 22ms
✓ src/commands/channel/channel-registry-builtins.test.ts (2 tests) 598ms
✓ built-in channel registry > keeps an invalid built-in channel running without management metadata 594ms
✓ src/ui/commands/historyCommand.test.ts (5 tests) 456ms
✓ historyCommand > expand-now removes suppressOnRestore and drops summary 442ms
✓ src/ui/components/messages/GoalStatusMessage.test.tsx (11 tests) 139ms
✓ src/ui/utils/mouse-hit.test.ts (8 tests) 11ms
✓ src/ui/utils/modelsBySource.test.ts (7 tests) 10ms
✓ src/services/tips/tipHistory.test.ts (11 tests) 12ms
✓ src/ui/opentui/early-input.test.ts (13 tests) 17ms
✓ src/ui/commands/arenaCommand.agentComplete.test.ts (1 test) 18ms
✓ src/agent-view/managed-detach.test.ts (5 tests) 17ms
✓ src/ui/components/mcp/steps/ServerListStep.test.tsx (5 tests) 120ms
✓ src/ui/opentui/mouse-caret.test.ts (12 tests) 14ms
✓ src/ui/components/shared/TextInput.test.tsx (6 tests) 76ms
✓ src/serve/cdp-tunnel/acceptance/acceptance-helpers.test.ts (9 tests) 365ms
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) 18ms
✓ src/ui/hooks/useShowMemoryCommand.test.ts (4 tests) 16ms
✓ src/ui/commands/dreamCommand.test.ts (5 tests) 20ms
✓ src/commands/review/script-lint-isolation.test.ts (2 tests) 10ms
✓ src/ui/contexts/VimModeContext.test.tsx (4 tests) 67ms
✓ src/commands/channel/channel-descriptor-sdk-mirror.test.ts (2 tests) 679ms
✓ channel descriptor SDK mirror > keeps built-in descriptor values within the daemon wire contract 674ms
✓ src/serve/live/provider-credentials.test.ts (10 tests) 13ms
✓ src/ui/voice/voice-stream-retry.test.ts (6 tests) 19ms
✓ src/acp-integration/generation.test.ts (3 tests) 16ms
✓ src/ui/components/shared/BaseSelectionList.mouse.test.tsx (5 tests) 106ms
✓ src/commands/review/lib/incremental-scope.test.ts (3 tests) 16ms
✓ src/config/normalizeDisabledTools.test.ts (16 tests) 10ms
✓ src/commands/channel/stop.test.ts (4 tests) 16ms
✓ src/serve/workflow-session-gate.test.ts (6 tests) 11ms
✓ src/nonInteractive/control/controllers/sdkMcpController.test.ts (1 test) 16ms
✓ src/ui/components/mcp/steps/ResourceDetailStep.test.tsx (6 tests) 85ms
qwen serve: POST /workspace/generate failed: Error: upstream failed
at Object.generateWorkspaceContent (/build/qwen-code/src/qwen-code/packages/cli/src/serve/workspace-generation.test.ts:88:15)
at generateWorkspaceContent.next ()
at /build/qwen-code/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) 88ms
✓ src/ui/selection/selection-span.test.ts (9 tests) 10ms
✓ src/ui/opentui/exit-guard.test.ts (9 tests) 22ms
✓ src/serve/server/device-flow-registry.test.ts (3 tests) 15ms
✓ src/ui/components/extensions/steps/ExtensionListStep.test.tsx (5 tests) 119ms
✓ src/ui/utils/goal-runtime.test.ts (8 tests) 16ms
✓ src/utils/readStdin.test.ts (5 tests) 319ms
✓ readStdin > should enforce the stdin limit by UTF-8 byte size 305ms
✓ src/ui/components/shared/ToolElapsedTime.test.tsx (8 tests) 89ms
✓ src/ui/selection/use-text-selection-render.test.tsx (1 test) 183ms
✓ src/ui/components/hooks/sourceLabels.test.ts (10 tests) 8ms
✓ src/ui/opentui/exit-lifecycle.test.ts (6 tests) 40ms
✓ src/ui/utils/inline-image-parts.test.ts (7 tests) 9ms
✓ src/ui/utils/software-cursor.test.ts (11 tests) 19ms
✓ src/utils/classify-api-error.test.ts (18 tests) 8ms
✓ src/ui/components/PrepareLabel.test.tsx (6 tests) 67ms
✓ src/acp-integration/extension-skills.test.ts (4 tests) 7ms
✓ src/ui/opentui/sticky-todos.test.ts (8 tests) 7ms
✓ src/serve/channel-delivery-authorization.test.ts (4 tests) 6ms
✓ src/commands/extensions/link.test.ts (5 tests) 38ms
(node:157184) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-theme.test.ts (10 tests) 12ms
✓ src/ui/commands/reload-plugins-command.test.ts (3 tests) 13ms
✓ src/ui/components/QueuedMessageDisplay.test.tsx (7 tests) 132ms
✓ src/ui/opentui/opentui-error-boundary.test.tsx (5 tests) 11ms
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) 16ms
✓ src/utils/userPromptExpansionHook.test.ts (12 tests) 9ms
✓ src/runtime/workspace-skills-mapping.test.ts (6 tests) 11ms
✓ src/commands/channel/startup-failure-format.test.ts (4 tests) 18ms
✓ src/serve/server/telemetry-catalog.test.ts (1 test) 28ms
✓ src/commands/review/lib/worktree-reader.test.ts (6 tests) 10ms
✓ src/ui/components/hooks/HooksDisabledStep.test.tsx (8 tests) 127ms
✓ src/serve/pem-certificate-blocks-oracle.test.ts (10 tests) 22ms
✓ src/ui/utils/approvalModeDisplay.test.ts (5 tests) 38ms
✓ src/ui/opentui/diff-render.test.ts (5 tests) 9ms
✓ src/ui/commands/forgetCommand.test.ts (6 tests) 15ms
✓ src/commands/mcp/remove.test.ts (4 tests) 44ms
✓ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (4 tests) 112ms
✓ src/runtime/channel-delivery-ipc.test.ts (10 tests) 10ms
✓ src/ui/utils/kittyProtocolDetector.test.ts (3 tests) 17ms
✓ src/ui/themes/theme.test.ts (5 tests) 9ms
✓ src/config/mcpServers.test.ts (6 tests) 10ms
✓ src/acp-integration/session/history-replayer.conformance.test.ts (1 test) 23ms
✓ src/serve/routes/session-turn-failure.test.ts (10 tests) 12ms
✓ src/commands/review.test.ts (5 tests) 14ms
✓ src/commands/extensions.test.tsx (11 tests) 91ms
No extensions installed.
✓ src/ui/app-container-controls-dep.test.ts (3 tests) 6ms
✓ src/ui/utils/terminal-buffer.test.ts (7 tests) 7ms
✓ src/acp-integration/session/rewrite/TurnBuffer.test.ts (12 tests) 10ms
✓ src/ui/components/views/ExtensionsList.test.tsx (9 tests) 84ms
✓ src/agent-view/current-cli-argv.test.ts (4 tests) 19ms
✓ src/ui/utils/inline-math.test.ts (9 tests) 12ms
✓ src/commands/auth.test.ts (9 tests) 56ms
✓ src/serve/channel-worker-startup-ipc.test.ts (3 tests) 7ms
✓ src/commands/review/lib/receipt.test.ts (11 tests) 9ms
✓ src/serve/routes/workspace-lifecycle.test.ts (2 tests) 64ms
✓ src/ui/components/extensions/steps/ActionSelectionStep.test.tsx (5 tests) 121ms
✓ src/commands/review/lib/diff-flags.test.ts (4 tests) 8ms
✓ src/ui/opentui/mcp-progressive.test.ts (5 tests) 15ms
✓ src/commands/extensions/list.test.ts (4 tests) 71ms
✓ src/ui/opentui/text-batcher.test.ts (6 tests) 262ms
✓ src/utils/headlessSafetyWarnings.test.ts (7 tests) 7ms
✓ src/utils/startupWarnings.test.ts (5 tests) 10ms
✓ src/ui/components/ThemeDialog.test.tsx (2 tests) 566ms
✓ ThemeDialog Snapshots > should render correctly in theme selection mode 389ms
✓ src/ui/components/messages/AdvisorMessage.test.tsx (3 tests) 337ms
✓ src/serve/server/session-export.test.ts (2 tests) 13ms
✓ src/ui/hooks/useTerminalNotification.test.ts (6 tests) 11ms
✓ src/ui/components/StatsSessionTab.test.tsx (3 tests) 154ms
✓ src/services/insight/generators/StaticInsightGenerator.test.ts (1 test) 14ms
✓ src/ui/opentui/clipboard.test.ts (6 tests) 11ms
✓ src/ui/utils/list-mouse.test.ts (12 tests) 8ms
✓ src/services/insight/generators/TemplateRenderer.test.ts (3 tests) 7ms
✓ src/test-utils/latency-budget.test.ts (6 tests) 11ms
✓ src/acp-integration/authPreflight.test.ts (3 tests) 7ms
✓ src/ui/opentui/mouse-rows.test.ts (6 tests) 12ms
✓ src/ui/utils/displayUtils.test.ts (8 tests) 7ms
✓ src/commands/review/lib/md-field.test.ts (5 tests) 10ms
✓ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 66ms
✓ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 9ms
✓ src/services/tips/tipRegistry.test.ts (5 tests) 6ms
✓ src/ui/components/TodoDisplay.test.tsx (6 tests) 95ms
✓ src/ui/components/EffortDialog.test.tsx (5 tests) 171ms
✓ src/ui/utils/mermaidVisualRenderer.test.ts (4 tests) 29ms
✓ src/serve/server/request-helpers.sandbox.test.ts (3 tests) 10ms
✓ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 165ms
✓ src/acp-integration/session/rewrite/config.test.ts (5 tests) 7ms
✓ src/ui/commands/branchCommand.test.ts (6 tests) 11ms
(node:158594) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-memory-status.test.ts (5 tests) 9ms
✓ src/commands/sessions.test.ts (3 tests) 16ms
✓ src/services/insight/dates.test.ts (8 tests) 16ms
✓ src/commands/review/lib/git.test.ts (5 tests) 7ms
✓ src/config/trust-precedence.test.ts (5 tests) 8ms
✓ src/ui/commands/rememberCommand.test.ts (5 tests) 17ms
✓ src/serve/run-qwen-serve.sandbox.test.ts (3 tests) 7ms
✓ src/ui/components/SkillStatsDisplay.test.tsx (2 tests) 99ms
✓ src/ui/components/mcp/steps/ServerDetailStep.test.tsx (4 tests) 125ms
✓ src/config/path-freshness.test.ts (3 tests) 7ms
✓ src/ui/opentui/input-history.test.ts (6 tests) 7ms
✓ src/serve/routes/workspace-trust.test.ts (2 tests) 59ms
(node:158846) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-misc.test.tsx (5 tests) 8ms
✓ src/ui/components/DebugModeNotification.test.tsx (2 tests) 46ms
✓ src/ui/systemInfoFields.test.ts (2 tests) 7ms
✓ src/utils/stdioHelpers.test.ts (6 tests) 13ms
✓ src/runtime/channel-delivery.test.ts (12 tests) 12ms
✓ src/commands/review/lib/build-budget.test.ts (4 tests) 9ms
✓ src/runtime/scheduled-task-run.test.ts (5 tests) 13ms
✓ src/config/session-id.test.ts (21 tests) 11ms
✓ src/commands/mcp.test.ts (3 tests) 18ms
✓ src/ui/commands/authCommand.test.ts (6 tests) 15ms
✓ src/ui/components/messages/BtwMessage.test.tsx (5 tests) 110ms
✓ src/commands/review/load-rules.test.ts (6 tests) 8ms
✓ src/commands/extensions/uninstall.test.ts (2 tests) 25ms
✓ src/utils/userStartupWarnings.test.ts (3 tests) 20ms
✓ src/serve/server/activity-timestamp.test.ts (3 tests) 5ms
✓ src/config/keyBindings.test.ts (4 tests) 18ms
✓ src/ui/components/OutputStyleDialog.test.tsx (4 tests) 157ms
✓ src/ui/hooks/mcpResourceRef.test.ts (7 tests) 8ms
✓ src/commands/review/lib/diff-plan.slice.test.ts (3 tests) 10ms
✓ src/serve/acp-http/json-rpc.test.ts (9 tests) 8ms
✓ src/serve/routes/health.test.ts (2 tests) 48ms
✓ src/services/prompt-stash.test.ts (4 tests) 16ms
✓ src/core/theme.test.ts (5 tests) 11ms
✓ src/serve/acp-http/pre-attach-budget.test.ts (3 tests) 9ms
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) 108ms
✓ src/serve/web-shell-static.test.ts (3 tests) 8ms
✓ src/ui/components/WorktreeExitDialog.test.tsx (1 test) 79ms
✓ src/ui/components/AutoAcceptIndicator.test.tsx (6 tests) 130ms
✓ src/ui/components/subagents/manage/AgentSelectionStep.test.tsx (1 test) 94ms
✓ src/acp-integration/live/live-task-tools.test.ts (3 tests) 64ms
✓ src/commands/sessions/common.test.ts (3 tests) 9ms
✓ src/ui/hooks/session-mention-ref.test.ts (9 tests) 11ms
✓ src/serve/pem-certificate-blocks-legacy.test.ts (5 tests) 12ms
✓ src/ui/voice/voice-model.test.ts (4 tests) 7ms
✓ src/ui/commands/themeCommand.test.ts (3 tests) 13ms
✓ src/ui/utils/theme-background.test.ts (3 tests) 7ms
✓ src/ui/components/mcp/steps/ToolListStep.test.tsx (1 test) 89ms
✓ src/test-utils/mockCommandContext.test.ts (3 tests) 10ms
✓ src/serve/capabilities-docs-contract.test.ts (2 tests) 12ms
✓ src/serve/server-workspace-service.test.ts (1 test) 100ms
✓ src/serve/channel-selection.test.ts (7 tests) 9ms
✓ src/core/auth.test.ts (3 tests) 9ms
✓ src/ui/components/ProviderUpdatePrompt.test.tsx (2 tests) 117ms
✓ src/ui/commands/statuslineCommand.test.ts (4 tests) 11ms
✓ src/config/top-level-options.test.ts (3 tests) 6ms
✓ src/ui/selection/selection-coords.test.ts (6 tests) 8ms
✓ src/ui/commands/helpCommand.test.ts (3 tests) 13ms
✓ src/serve/channel-worker-diagnostics.test.ts (3 tests) 10ms
qwen serve: unhandled error: URIError: unmarked
at /build/qwen-code/src/qwen-code/packages/cli/src/serve/server/error-handlers.test.ts:17:13
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/build/qwen-code/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/build/qwen-code/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /build/qwen-code/src/qwen-code/node_modules/router/index.js:295:15
at processParams (/build/qwen-code/src/qwen-code/node_modules/router/index.js:582:12)
at next (/build/qwen-code/src/qwen-code/node_modules/router/index.js:291:5)
at router.handle (/build/qwen-code/src/qwen-code/node_modules/router/index.js:186:3)
✓ src/serve/server/error-handlers.test.ts (3 tests) 65ms
✓ src/ui/voice/voice-availability.test.ts (6 tests) 7ms
✓ src/ui/components/mcp/MCPHealthPill.test.tsx (6 tests) 8ms
✓ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests) 115ms
✓ src/ui/components/views/ToolsList.test.tsx (3 tests) 78ms
✓ src/utils/load-undici.test.ts (3 tests) 22ms
✓ src/utils/processUtils.test.ts (4 tests) 10ms
✓ src/ui/components/KeyboardShortcuts.test.tsx (3 tests) 158ms
✓ src/serve/acp-http/safe-ws-send.test.ts (4 tests) 11ms
✓ src/ui/commands/quitCommand.test.ts (1 test) 13ms
✓ src/ui/opentui/markdown-heal.test.ts (6 tests) 9ms
✓ src/utils/normalize-part-list.test.ts (7 tests) 7ms
✓ src/serve/acp-http/dispatch.sandbox.test.ts (2 tests) 9ms
✓ src/services/command-factory.test.ts (2 tests) 26ms
✓ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 10ms
✓ src/utils/resolvePath.test.ts (7 tests) 7ms
✓ src/ui/commands/vimCommand.test.ts (3 tests) 11ms
✓ src/ui/utils/workflow-keyword.test.ts (11 tests) 8ms
✓ src/utils/standalone-update-verify.test.ts (3 tests) 9ms
✓ src/ui/utils/latexRenderer.test.ts (4 tests) 10ms
✓ src/ui/utils/tool-display-map.test.ts (2 tests) 8ms
✓ src/serve/conversations/conversation-runtime-activity.test.ts (2 tests) 11ms
✓ src/config/acp-channel-fallback.test.ts (6 tests) 6ms
✓ src/ui/components/approvalModeVisuals.test.ts (3 tests) 9ms
✓ src/ui/components/messages/StatusMessages.test.tsx (1 test) 84ms
✓ src/utils/midTurnUserMessage.test.ts (3 tests) 6ms
✓ src/ui/components/RespondingSpinner.test.tsx (2 tests) 47ms
✓ src/ui/utils/CodeColorizer.semantic.test.tsx (1 test) 69ms
✓ src/ui/components/mcp/MCPManagementDialog.test.tsx (1 test) 82ms
✓ src/ui/commands/settingsCommand.test.ts (2 tests) 11ms
✓ src/acp-integration/runtimeOutputDirContext.test.ts (1 test) 6ms
✓ src/ui/commands/permissionsCommand.test.ts (3 tests) 12ms
✓ src/ui/commands/trustCommand.test.ts (3 tests) 14ms
✓ src/commands/channel/channel-cwd.test.ts (4 tests) 5ms
✓ src/serve/acp-child-extra-args.test.ts (2 tests) 7ms
✓ src/ui/utils/layoutUtils.test.ts (4 tests) 7ms
✓ src/ui/commands/editorCommand.test.ts (2 tests) 10ms
✓ src/acp-integration/live/live-speak-to-user.test.ts (1 test) 59ms
✓ src/utils/shell-args.test.ts (4 tests) 7ms
✓ src/ui/commands/deleteCommand.test.ts (2 tests) 11ms
✓ src/commands/channel/private-parent-capability-wire-key.test.ts (1 test) 4ms
✓ src/ui/components/VoiceIndicator.test.tsx (2 tests) 87ms
✓ src/serve/server/request-helpers.test.ts (1 test) 6ms
✓ src/ui/components/ExternalAuthProgress.test.tsx (1 test) 79ms
✓ src/acp-integration/authMethods.test.ts (2 tests) 6ms
✓ src/acp-integration/live/live-backend-instructions.test.ts (2 tests) 5ms
✓ src/ui/commands/memoryCommand.test.ts (2 tests) 8ms
✓ src/serve/serve-token.test.ts (3 tests) 5ms
✓ src/commands/channel/channel-prompt-wire-key.test.ts (1 test) 4ms
✓ src/commands/channel/display-text-wire-key.test.ts (1 test) 4ms
✓ src/ui/components/CronPill.test.tsx (2 tests) 85ms
✓ src/commands/channel/channel-btw-wire-key.test.ts (1 test) 5ms
✓ src/ui/hooks/use-llm-stream.test.tsx (257 tests) 6857ms
0;Qwen - workspace 0;🔵 Qwen - workspace 2;Qwen - workspace 0;Qwen - workspace 0;🔵 Qwen - workspace 2;Qwen - workspace ✓ src/ui/AppContainer.test.tsx (179 tests) 4946ms
✓ AppContainer State Management > gives the Agent tool the full SubagentManager surface during initialization 363ms
✓ src/ui/components/InputPrompt.test.tsx (213 tests) 59076ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports true while the followup prompt suggestion is visible 717ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports false again after the autocomplete dropdown is dismissed 395ms
✓ InputPrompt > onSuggestionsVisibilityChange stays narrow (autocomplete only) > stays false when only a followup prompt suggestion is visible 715ms
✓ InputPrompt > should set the buffer text when a shell history command is retrieved 317ms
✓ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 317ms
✓ InputPrompt > should NOT call shell history methods when not in shell mode 636ms
✓ InputPrompt > should call completion.navigateUp for up arrow when suggestions are showing 477ms
✓ InputPrompt > should call completion.navigateDown for down arrow when suggestions are showing 473ms
✓ InputPrompt > should NOT call completion navigation when suggestions are not showing 772ms
✓ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 318ms
✓ InputPrompt > clipboard image paste > should handle Cmd+V when clipboard has an image 318ms
✓ InputPrompt > clipboard image paste > keeps generated attachment references out of submitted provenance 326ms
✓ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 317ms
✓ InputPrompt > clipboard image paste > should show the native clipboard error only once across remounts 780ms
✓ InputPrompt > clipboard image paste > should handle image save failure gracefully 317ms
✓ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 318ms
✓ InputPrompt > clipboard image paste > should handle errors during clipboard operations gracefully 317ms
✓ InputPrompt > should complete a partial parent command 320ms
✓ InputPrompt > should append a sub-command when the parent command is already complete 320ms
✓ InputPrompt > should handle the "backspace" edge case correctly 324ms
✓ InputPrompt > should complete a partial argument for a command 320ms
✓ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 320ms
✓ InputPrompt > should complete a command based on its altNames 323ms
✓ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 316ms
✓ InputPrompt > should submit directly on Enter when isPerfectMatch is true 322ms
✓ InputPrompt > should submit a perfect match on Enter when suggestions were not navigated 326ms
✓ InputPrompt > should fill and submit an export format selected with arrow navigation 473ms
✓ InputPrompt > should keep cycling export formats after arrow navigation fills input 475ms
✓ InputPrompt > should keep cycling export formats with Ctrl+P/N after arrow navigation fills input 626ms
✓ InputPrompt > should keep export format suggestions visible after arrow navigation fills input 330ms
✓ InputPrompt > should not clobber manually edited buffer when arrow is pressed after export fill 779ms
✓ InputPrompt > should wrap to jsonl when pressing Up from the /export Phase 1 popup 322ms
✓ InputPrompt > should wrap Phase 2 cycling backward when pressing Up repeatedly 623ms
✓ InputPrompt > should seed Phase 2 cycling when Tab accepts a format in the /export popup 628ms
✓ InputPrompt > should not overwrite /export html with extra args when Down is pressed 474ms
✓ InputPrompt > should reset export cycling state on Escape so arrows no longer cycle 628ms
✓ InputPrompt > should reset export cycling state on Ctrl+C so new input is not overwritten 625ms
✓ InputPrompt > should cycle export format on Down when /export was typed manually (not via popup) 539ms
✓ InputPrompt > should not arm export cycling from restored history text 322ms
✓ InputPrompt > should trigger export-specific arrow navigation even when completion suggestions are a superset 323ms
✓ InputPrompt > should fall through to generic accept when Tab targets a non-export item in the /export superset popup 324ms
✓ InputPrompt > should fall through to generic completion when suggestions are missing an export format 327ms
✓ InputPrompt > should trigger Phase 1 export popup even when /export has trailing spaces 323ms
✓ InputPrompt > should autocomplete on Enter when user arrow-navigated a perfect-match suggestion list 474ms
✓ InputPrompt > should submit directly on Enter after arrow-navigate + backspace + retype to perfect match 796ms
✓ InputPrompt > should submit directly on Enter for a perfect match without prior arrow navigation 322ms
✓ InputPrompt > should dismiss completion on Enter after accepting @path suggestion 319ms
✓ InputPrompt > should autocomplete @path on Tab without submitting or resetting completion 321ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories <= 2 473ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories is exactly 2 476ms
✓ InputPrompt > should switch category on plain arrows before Vim handling 477ms
✓ InputPrompt > should NOT switch category on bare arrows while command search is active 623ms
✓ InputPrompt > should hide category tabs and keep bare arrows for attachments 776ms
✓ InputPrompt > should NOT consume Ctrl+left/right for category switching (#8069) 475ms
✓ InputPrompt > should reset history navigation after submitting on Enter 320ms
✓ InputPrompt > should submit directly on Enter when a complete leaf command is typed 321ms
✓ InputPrompt > should autocomplete an @-path on Enter without submitting 321ms
✓ InputPrompt > should add a newline on enter when the line ends with a backslash 321ms
✓ InputPrompt > should clear the buffer on Ctrl+C if it has text 318ms
✓ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 319ms
✓ InputPrompt > vim mode > should not call buffer.handleInput when vim handles the input 321ms
✓ InputPrompt > vim mode > should call buffer.handleInput when vim does not handle the input 321ms
✓ InputPrompt > vim mode > should call handleInput when vim mode is disabled 320ms
✓ InputPrompt > vim mode > should toggle shortcuts when vim passes through ? on an empty prompt 321ms
✓ InputPrompt > unfocused paste > should handle bracketed paste when not focused 323ms
✓ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 321ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 324ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 323ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 322ms
✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after paste with newlines 623ms
✓ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 323ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should clear buffer on second ESC press 374ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC in shell mode by disabling shell mode 322ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC when completion suggestions are showing 325ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not call onEscapePromptChange when not provided 322ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not interfere with existing keyboard shortcuts 475ms
✓ InputPrompt > reverse search > invokes reverse search on Ctrl+R 332ms
✓ InputPrompt > reverse search > resets reverse search state on Escape 377ms
✓ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 335ms
✓ InputPrompt > reverse search > does not fall through to shell history on Ctrl+P/N while reverse search is active 624ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 324ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 323ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 329ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > invalidates provenance before submitting a command-history match 328ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > shows command search suggestions over active export suggestions 483ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 336ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 475ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 322ms
✓ InputPrompt > should still allow input when shell is not focused 324ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 1000 characters 326ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 10 lines 325ms
✓ InputPrompt > large paste placeholder > should use sequential IDs for multiple pastes of same size 479ms
✓ InputPrompt > large paste placeholder > should handle mixed pastes with different character counts 624ms
✓ InputPrompt > Ctrl+Y retry shortcut > should trigger handleRetryLastPrompt on Ctrl+Y 327ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on plain y key 326ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on Ctrl+R (reverse search) 328ms
✓ InputPrompt > Ctrl+Y retry shortcut > should handle Ctrl+Y when feedback dialog is open 325ms
✓ InputPrompt > queue input editing > should pop queued messages into input on Up arrow when queue is non-empty 327ms
✓ 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) 325ms
✓ 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 324ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P with cursor mid-line snaps to col 0 without touching history 325ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N with cursor not at end-of-line snaps to end without touching history 325ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P at col 0 walks history and parks the cursor at offset 0 324ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P/N and arrows do not change input history while a tool confirmation owns navigation 778ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N falls through to the agent tab bar when there is no newer history 324ms
✓ 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 325ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down falls through to the agent tab bar when there is no newer history 323ms
✓ 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) 332ms
✓ 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 326ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down skips terminal bg agents after the live panel visibility window (#5067) 324ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down focuses the background-tasks pill when only the pill is shown (workflow-only session) 326ms
✓ InputPrompt > two-step edge transition for history navigation > Down at the bottom of the live agent panel descends to the agent tab bar 333ms
✓ 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 325ms
✓ InputPrompt > two-step edge transition for history navigation > Down from an expired live panel falls through to the tab bar 326ms
✓ InputPrompt > two-step edge transition for history navigation > Enter on the live panel maps the DISPLAYED row back to its bg entry index 327ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Up applies the same two-step rule as Ctrl+P (snap before navigate) 325ms
✓ InputPrompt > two-step edge transition for history navigation > suppresses completion menu navigation for history-restored text until edited 646ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop queued messages into input when responding 327ms
✓ InputPrompt > ESC during active agent response (#8201) > does not silently clear typed input on single ESC when responding 325ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop the queue or clear the buffer on ESC when responding with an empty buffer 324ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop queued messages on ESC when responding with typed text AND a queue (#8201) 325ms
✓ src/ui/hooks/slashCommandProcessor.test.ts (128 tests) 9684ms
✓ useSlashCommandProcessor > Initialization and Command Loading > rebuilds commands when an MCP server connects (surfaces MCP prompts in /) 314ms
✓ useSlashCommandProcessor > Initialization and Command Loading > ignores non-connected MCP status changes (no rebuild) 408ms
✓ useSlashCommandProcessor > Lifecycle > skips content auto-refresh while package reload is needed 372ms
✓ useSlashCommandProcessor > Lifecycle > cancels pending content auto-refresh when manual reload starts 362ms
✓ src/ui/components/shared/text-buffer.test.ts (159 tests) 349ms
✓ src/ui/contexts/KeypressContext.test.tsx (118 tests) 3189ms
✓ KeypressContext - Kitty Protocol > Enter key handling > auto-recovers from a stuck paste mode via idle timeout 1257ms
✓ KeypressContext - Kitty Protocol > Enter key handling > does not drop paste content that ends with a partial paste-end marker on idle flush 1207ms
✓ src/ui/hooks/vim.test.ts (132 tests) 1223ms
✓ src/ui/components/ModelDialog.test.tsx (60 tests) 794ms
✓ src/serve/workspace-remember.test.ts (42 tests) 589ms
✓ src/ui/hooks/useStatusLine.test.ts (82 tests) 373ms
✓ src/ui/hooks/useResumeCommand.test.ts (16 tests) 139ms
✓ src/ui/hooks/useProviderUpdates.test.ts (31 tests) 480ms
✓ src/ui/hooks/useHistoryManager.test.ts (30 tests) 190ms
✓ src/ui/hooks/useMessageQueue.test.ts (52 tests) 229ms
✓ src/ui/hooks/useBranchCommand.test.ts (39 tests) 206ms
(node:161357) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/input-prompt.test.tsx (44 tests) 388ms
✓ src/ui/hooks/useCommandCompletion.test.ts (38 tests) 270ms
✓ src/ui/hooks/session-swap-telemetry.test.ts (10 tests) 132ms
✓ src/ui/hooks/useSelectionList.test.ts (53 tests) 210ms
✓ src/ui/hooks/useToolScheduler.test.ts (24 tests) 208ms
✓ src/ui/hooks/useSlashCompletion.test.ts (30 tests) 843ms
✓ src/ui/opentui/opentui-app-shell.test.tsx (29 tests) 324ms
✓ src/ui/components/extensions/ExtensionsManagerDialog.test.tsx (23 tests) 2479ms
✓ src/ui/hooks/use-voice-input.test.ts (24 tests) 285ms
✓ src/ui/hooks/shellCommandProcessor.test.ts (23 tests) 473ms
✓ src/ui/components/shared/text-buffer-external-editor.test.ts (36 tests) 188ms
✓ src/ui/selection/use-text-selection.test.tsx (32 tests) 147ms
✓ src/ui/hooks/useBackgroundTaskView.test.ts (18 tests) 108ms
✓ src/ui/hooks/useAutoAcceptIndicator.test.ts (21 tests) 229ms
✓ src/ui/hooks/useDeleteCommand.test.ts (20 tests) 114ms
✓ src/nonInteractive/control/controllers/systemController.test.ts (25 tests) 63ms
✓ src/ui/hooks/useExtensionUpdates.test.ts (16 tests) 409ms
✓ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests) 367ms
✓ src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.ts (16 tests) 30ms
✓ src/ui/hooks/useSessionSearchInput.test.ts (36 tests) 97ms
✓ src/ui/hooks/useCompletion.test.ts (26 tests) 108ms
✓ src/ui/auth/useAuth.test.ts (25 tests) 103ms
(node:161831) ExperimentalWarning: FFI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/opentui/dialogs-auth.test.tsx (11 tests) 528ms
✓ src/ui/hooks/useQwenAuth.test.ts (17 tests) 89ms
✓ src/ui/opentui/dialogs-extensions.test.tsx (15 tests) 319ms
✓ src/ui/hooks/useLoadingIndicator.test.ts (11 tests) 105ms
✓ src/ui/opentui/opentui-dialog-mount.test.tsx (8 tests) 154ms
✓ src/ui/hooks/useAttentionNotifications.test.ts (13 tests) 71ms
✓ src/ui/hooks/useTrustModify.test.ts (11 tests) 78ms
✓ src/ui/hooks/useMouseEvents.test.tsx (11 tests) 83ms
✓ src/ui/hooks/useShellHistory.test.ts (9 tests) 830ms
✓ src/ui/opentui/folder-trust-gate.test.tsx (8 tests) 170ms
✓ src/ui/components/Help.test.tsx (8 tests) 454ms
✓ src/ui/hooks/useKeypress.test.ts (15 tests) 120ms
✓ src/ui/hooks/useGitBranchName.test.ts (12 tests) 113ms
✓ src/ui/contexts/SessionContext.test.tsx (7 tests) 121ms
✓ src/ui/components/extensions/views/ExtensionActionsView.test.tsx (6 tests) 116ms
✓ src/ui/opentui/dialogs-modes.test.tsx (6 tests) 199ms
✓ src/ui/hooks/useEditorSettings.test.ts (10 tests) 100ms
✓ src/ui/components/SuggestionsDisplay.test.tsx (10 tests) 170ms
✓ src/ui/hooks/useMcpApproval.test.ts (11 tests) 103ms
✓ src/ui/hooks/useSessionPicker.test.tsx (8 tests) 77ms
✓ src/ui/opentui/dialogs-shared.test.tsx (10 tests) 69ms
✓ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 75ms
✓ src/ui/opentui/live-turn.test.ts (9 tests) 165ms
✓ src/ui/hooks/useExportCompletion.test.ts (20 tests) 56ms
✓ src/ui/hooks/useInputHistory.test.ts (11 tests) 58ms
Error saving trusted folders file.
invalid trusted folders file
✓ src/ui/hooks/useFolderTrust.test.ts (10 tests) 63ms
✓ src/ui/components/TrustDialog.test.tsx (7 tests) 306ms
✓ src/ui/hooks/useIdeTrustListener.test.ts (5 tests) 49ms
✓ src/ui/opentui/dialogs-confirm.test.tsx (7 tests) 83ms
✓ src/ui/hooks/useTurnDiffs.test.ts (7 tests) 320ms
✓ src/ui/hooks/useSlashCompletion.integration.test.ts (4 tests) 268ms
✓ src/ui/hooks/useCommandCompletion.slashChurn.test.ts (5 tests) 568ms
✓ src/ui/hooks/useMemoryMonitor.test.ts (8 tests) 61ms
✓ src/ui/hooks/usePhraseCycler.test.ts (9 tests) 68ms
✓ src/ui/hooks/useTimer.test.ts (13 tests) 91ms
✓ src/ui/components/arena/ArenaSelectDialog.test.tsx (5 tests) 391ms
✓ src/ui/components/shared/RowMouseController.test.tsx (8 tests) 47ms
✓ src/ui/components/shared/TextInputMouseController.test.tsx (7 tests) 46ms
✓ src/ui/components/SuggestionsDisplay.mouse.test.tsx (7 tests) 131ms
✓ src/ui/components/DiffDialog.test.tsx (2 tests) 193ms
✓ src/ui/hooks/useAwaySummary.test.ts (3 tests) 99ms
✓ src/ui/hooks/use-output-style-command.test.ts (6 tests) 78ms
✓ src/ui/hooks/use-effort-command.test.ts (6 tests) 55ms
✓ src/ui/hooks/useReactToolScheduler.test.tsx (7 tests) 39ms
✓ src/ui/components/extensions/tabs/DiscoverTab.test.tsx (2 tests) 193ms
✓ src/ui/hooks/useTerminalSize.test.ts (5 tests) 73ms
✓ src/ui/hooks/useFocus.test.ts (6 tests) 83ms
✓ src/ui/components/FolderTrustDialog.test.tsx (9 tests) 367ms
✓ src/ui/hooks/useWelcomeBack.test.ts (4 tests) 226ms
✓ src/ui/hooks/use-wake-repaint.test.ts (8 tests) 69ms
✓ src/ui/hooks/useSessionPicker.test.ts (4 tests) 46ms
✓ src/ui/hooks/useModelCommand.test.ts (8 tests) 46ms
✓ src/ui/components/CompletionCategoryMouseController.test.tsx (4 tests) 39ms
✓ src/ui/hooks/useConfigInitMessage.test.ts (7 tests) 49ms
✓ src/ui/components/extensions/tabs/SourcesTab.test.tsx (1 test) 140ms
✓ src/ui/hooks/useWorktreeSession.test.tsx (4 tests) 373ms
✓ src/ui/hooks/useFollowupSuggestions.test.tsx (2 tests) 43ms
✓ src/ui/components/extensions/tabs/InstalledTab.test.tsx (1 test) 109ms
✓ src/ui/hooks/useThemeCommand.test.ts (2 tests) 40ms
✓ src/ui/hooks/useAnimatedScrollbar.test.ts (6 tests) 49ms
✓ src/ui/hooks/useBatchedScroll.test.ts (4 tests) 37ms
✓ src/ui/hooks/use-mouse-tracking-enabled.test.tsx (4 tests) 33ms
✓ src/ui/hooks/useDialogClose.test.ts (2 tests) 36ms
✓ src/ui/contexts/VirtualViewportContext.test.tsx (2 tests) 35ms
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯
FAIL src/serve/pem-certificate-blocks.test.ts > extractCertificateBlocks > follows the loader BOM boundary on separators and end markers
AssertionError: expected undefined to deeply equal [ Array(1) ]
- Expected:
[
"-----BEGIN CERTIFICATE-----
MIIDETCCAfmgAwIBAgIUcAV/pClZmXJcMTUQ7OBXsMJfVBkwDQYJKoZIhvcNAQEL
BQAwGDEWMBQGA1UEAwwNUHJvYmUgUm9vdCBDQTAeFw0yNjA4MTkwMjIxMzRaFw0z
NjA4MTYwMjIxMzRaMBgxFjAUBgNVBAMMDVByb2JlIFJvb3QgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDICx6ZzCl3rP/Aa33Tqb8TbFOZ7ezouwe5
7kDXA1MRFEc+gRvMP5doHiJRnhYuB9uRP+1VNGd8og8wGIY1FBtYdL1iy5rdQIF9
i+I9URdt764y88h1W5p/iMlxNO/ZeMmmZwuG0cQtdTLfQpR8QoS9kfKWGW4qGEa6
+B/ZOHRusgw5eMvG/vc8+roSttzHzbtEXrAg8GWWcCV8KQWqvN1YylJGsLWW4JGl
jDy9Q9xhPtLtYnT6zr87J/MJbdfBp0bKVveXoW2+7Nc3Ujr3gEdXhT3laQL7fFdQ
N5jW+NmVgHg5UGUjkDlusSUS44WyXdAk1NhYJimoganOafnbK9jfAgMBAAGjUzBR
MB0GA1UdDgQWBBTiORNFioXP/sD/HQpXuCMC2JN6EzAfBgNVHSMEGDAWgBTiORNF
ioXP/sD/HQpXuCMC2JN6EzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4IBAQB2Q7ivxcFlavCpt0hA6SX8Crtdg4HZYza+nLRrSDGxC0R0/c1Ax0W/nSrQ
+Cjr61zpAzFOJ516RmIKJ4La2Hv4Nwiub1rZpEMc9GXaMmgC+8Vy0rkma/RuX2ML
TjgJrasVxcR/DRB4PRDWykhdgcfp5gdubPhi/9xr1SNWyX+idR9+iJs/y/DNc9Jt
OI0+q5IPhHyu7dpgEDrOelnfSufFLl+SmS9No/EhRs1RC5zH78qsNLI8ggACOIJx
bh/8x87z7BA8oKl0WlFMNWZqOBQ1lR7cSmlhHUtC/QmJm6YNU71wpUP5+WgZHvPo
XKg878D/pA1BJ8fgC9Mrczhl6PIJ
-----END CERTIFICATE-----",
]
+ Received:
undefined
❯ src/serve/pem-certificate-blocks.test.ts:327:46
325| ),
326| ]) {
327| expect(extractCertificateBlocks(file)).toEqual([ROOT_PEM.trim()]…
| ^
328| }
329| });
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯
FAIL src/serve/pem-certificate-blocks.test.ts > extractCertificateBlocks > takes a block whose header section is empty
AssertionError: expected undefined to deeply equal [ Array(1) ]
- Expected:
[
"-----BEGIN CERTIFICATE-----
MIIDETCCAfmgAwIBAgIUcAV/pClZmXJcMTUQ7OBXsMJfVBkwDQYJKoZIhvcNAQEL
BQAwGDEWMBQGA1UEAwwNUHJvYmUgUm9vdCBDQTAeFw0yNjA4MTkwMjIxMzRaFw0z
NjA4MTYwMjIxMzRaMBgxFjAUBgNVBAMMDVByb2JlIFJvb3QgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDICx6ZzCl3rP/Aa33Tqb8TbFOZ7ezouwe5
7kDXA1MRFEc+gRvMP5doHiJRnhYuB9uRP+1VNGd8og8wGIY1FBtYdL1iy5rdQIF9
i+I9URdt764y88h1W5p/iMlxNO/ZeMmmZwuG0cQtdTLfQpR8QoS9kfKWGW4qGEa6
+B/ZOHRusgw5eMvG/vc8+roSttzHzbtEXrAg8GWWcCV8KQWqvN1YylJGsLWW4JGl
jDy9Q9xhPtLtYnT6zr87J/MJbdfBp0bKVveXoW2+7Nc3Ujr3gEdXhT3laQL7fFdQ
N5jW+NmVgHg5UGUjkDlusSUS44WyXdAk1NhYJimoganOafnbK9jfAgMBAAGjUzBR
MB0GA1UdDgQWBBTiORNFioXP/sD/HQpXuCMC2JN6EzAfBgNVHSMEGDAWgBTiORNF
ioXP/sD/HQpXuCMC2JN6EzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4IBAQB2Q7ivxcFlavCpt0hA6SX8Crtdg4HZYza+nLRrSDGxC0R0/c1Ax0W/nSrQ
+Cjr61zpAzFOJ516RmIKJ4La2Hv4Nwiub1rZpEMc9GXaMmgC+8Vy0rkma/RuX2ML
TjgJrasVxcR/DRB4PRDWykhdgcfp5gdubPhi/9xr1SNWyX+idR9+iJs/y/DNc9Jt
OI0+q5IPhHyu7dpgEDrOelnfSufFLl+SmS9No/EhRs1RC5zH78qsNLI8ggACOIJx
bh/8x87z7BA8oKl0WlFMNWZqOBQ1lR7cSmlhHUtC/QmJm6YNU71wpUP5+WgZHvPo
XKg878D/pA1BJ8fgC9Mrczhl6PIJ
-----END CERTIFICATE-----",
]
+ Received:
undefined
❯ src/serve/pem-certificate-blocks.test.ts:493:9
491| `-----BEGIN CERTIFICATE-----\n${separator}\n${bodyLines(ROOT…
492| ),
493| ).toEqual([ROOT_PEM.trim()]);
| ^
494| }
495| });
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯
Test Files 1 failed | 995 passed (996)
Tests 2 failed | 27599 passed | 81 skipped (27682)
Start at 04:52:26
Duration 3632.45s (transform 76.94s, setup 170.37s, collect 1933.11s, tests 774.69s, environment 57.31s, prepare 138.43s)
JUNIT report written to /build/qwen-code/src/qwen-code/packages/cli/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/qwen-code/src/qwen-code/packages/cli
npm error workspace @qwen-code/qwen-code@0.23.0
npm error location /build/qwen-code/src/qwen-code/packages/cli
npm error command failed
npm error command sh -c vitest run --testTimeout=30000 --no-file-parallelism '--exclude=**/{qwenConnectionHandler,useAtCompletion,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.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/core
Coverage enabled with v8
✓ src/core/llm-chat.test.ts (394 tests) 33079ms
✓ LlmChat > should correctly retry and append to an existing history mid-conversation 2051ms
✓ LlmChat > should retry if the model returns a completely empty stream (no chunks) 2042ms
✓ LlmChat > should discard valid partial content from a failed attempt upon retry 2047ms
✓ LlmChat > discards a completed protocol-tagged response and retries before persistence 2048ms
✓ LlmChat > retries a JSON tool protocol leak: 'array with a different first argument…' 2049ms
✓ LlmChat > retries a JSON tool protocol leak: 'single object with trailing prose' 2048ms
✓ LlmChat > retries when a preparation interrupts a partial JSON protocol leak 2050ms
✓ LlmChat > retries when a function call interrupts a partial JSON protocol leak 2049ms
✓ LlmChat > output token recovery > should pop dangling recovery message and emit STOP chunk when recovery throws 2057ms
✓ src/core/coreToolScheduler.test.ts (385 tests) 3378ms
✓ src/core/client.test.ts (395 tests) 43122ms
✓ Gemini Client (client.ts) > sendMessageStream > should abort the previous prefetch when a new UserQuery arrives mid-flight 312ms
✓ Gemini Client (client.ts) > sendMessageStream > should stop infinite loop after MAX_TURNS when nextSpeaker always returns model 354ms
✓ Gemini Client (client.ts) > sendMessageStream > should respect MAX_TURNS limit even when turns parameter is set to a large value 354ms
✓ src/config/config.test.ts (616 tests) 5292ms
✓ Server Config (config.ts) > bounds the re-assert retry and is a no-op with no registration 506ms
✓ Server Config (config.ts) > gives up on the peer inbox advertise after a bounded retry 506ms
✓ src/tools/shell.test.ts (324 tests) 7544ms
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 70c514f)
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 (282 tests) 3707ms
✓ AgentTool > AgentToolInvocation > passes custom ignore files into worktree isolation file service 359ms
✓ AgentTool > AgentToolInvocation > includes preserved worktree details in execution errors 315ms
✓ src/services/sessionService.test.ts (251 tests) 1658ms
✓ src/core/openaiContentGenerator/pipeline.test.ts (170 tests) 551ms
✓ src/core/openaiContentGenerator/converter.test.ts (230 tests) 156ms
✓ src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts (164 tests) 6076ms
✓ src/agents/runtime/workflow-orchestrator.test.ts (173 tests) 2107ms
✓ WorkflowOrchestrator > keeps a paused run alive past the wall-clock budget and completes it after resume 607ms
✓ src/goals/goal-runtime.test.ts (146 tests) 1635ms
✓ src/services/chatCompressionService.test.ts (146 tests) 561ms
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) 1074ms
✓ src/extension/extensionManager.test.ts (158 tests) 3205ms
✓ src/tools/mcp-client.test.ts (131 tests) 2356ms
✓ mcp-client > listMcpPrompts (F2 pure helper) > exhausts retries on persistent transient errors and returns [] 605ms
✓ mcp-client > listMcpResources > exhausts retries on persistent transient errors and returns [] 607ms
✓ src/permissions/permission-manager.test.ts (420 tests) 297ms
✓ src/hooks/hookEventHandler.test.ts (141 tests) 219ms
✓ src/extension/github.test.ts (157 tests) 3103ms
✓ git extension helpers > extractFile > should cancel while scanning a tar archive 572ms
✓ git extension helpers > extractFile > should cancel while extracting a tar archive 1249ms
✓ git extension helpers > extractFile > should cancel while extracting a zip archive 402ms
✓ src/agents/runtime/agent-headless.test.ts (68 tests) 3251ms
✓ subagent.ts > AgentHeadless > create (Tool Validation) > should create a AgentHeadless successfully with minimal config 447ms
✓ src/agents/background-agent-resume.test.ts (51 tests) 855ms
✓ src/utils/fileUtils.test.ts (192 tests) 1226ms
✓ src/services/shellExecutionService.test.ts (135 tests) 815ms
✓ src/services/session-transcript-reader.test.ts (120 tests) 1300ms
✓ src/telemetry/session-tracing.test.ts (185 tests) 157ms
✓ src/services/session-writer-lease.test.ts (102 tests | 2 skipped) 8015ms
✓ SessionWriterLease > does not retry failed cleanup after reclaiming a stale lock 448ms
✓ SessionWriterLease > rejects a second process and reclaims its lock after SIGKILL 328ms
✓ SessionWriterLease > never reclaims a dead local owner when managed policy is enabled 317ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during sealing 1979ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during rollback 996ms
✓ SessionWriterLease > elects exactly one certified replacement for a sealed session 361ms
✓ SessionWriterLease > elects only one stale-lock reclaimer across processes 668ms
✓ SessionWriterLease > recovers after a stale-lock reclaimer dies while holding its guard 324ms
✓ SessionWriterLease > keeps the primary lock when reclaim guard cleanup is already complete 332ms
✓ SessionWriterLease > reloads the authoritative tail before the next writer appends 366ms
✓ src/services/loopDetectionService.test.ts (145 tests) 1383ms
✓ src/core/loggingContentGenerator/loggingContentGenerator.test.ts (78 tests) 226ms
✓ src/agents/background-tasks.test.ts (148 tests) 118ms
✓ src/services/chatRecordingService.test.ts (122 tests) 609ms
✓ src/core/anthropicContentGenerator/converter.test.ts (103 tests) 72ms
✓ src/agents/runtime/workflow-sandbox.test.ts (169 tests) 32520ms
✓ createWorkflowSandbox security > synchronous infinite loop is aborted by vm timeout 30032ms
✓ createWorkflowSandbox security > re-arms with the banked remainder on resume, not a fresh budget 408ms
✓ createWorkflowSandbox security > survives a second pause after resume without burning banked budget 458ms
✓ src/tools/mcp-tool.test.ts (107 tests) 311ms
✓ src/core/openaiContentGenerator/provider/dashscope.test.ts (161 tests) 163ms
✓ src/services/cronScheduler.test.ts (128 tests) 2924ms
✓ CronScheduler > durable enabled flag > drops a live job when the file flips it to disabled on reload 313ms
✓ CronScheduler > durable ownership > reloads durable tasks when the file changes on disk 357ms
✓ src/extension/extension-store.test.ts (96 tests) 1903ms
✓ ExtensionStore > serializes mutations from two Node processes sharing QWEN_HOME 522ms
✓ src/models/modelsConfig.test.ts (83 tests) 74ms
✓ src/skills/bundled/review/SKILL.test.ts (62 tests) 135ms
✓ src/subagents/subagent-manager.test.ts (136 tests) 380ms
✓ src/utils/gitDiff.test.ts (127 tests) 5305ms
✓ src/agents/team/test-utils/coordination-harness.test.ts (88 tests) 1635ms
✓ src/telemetry/loggers.test.ts (86 tests) 212ms
✓ src/tools/skill.test.ts (103 tests) 318ms
✓ src/agents/workflow-run-registry.test.ts (107 tests) 165ms
✓ src/utils/schemaValidator.test.ts (132 tests) 616ms
✓ src/tools/mcp-transport-pool.test.ts (39 tests) 375ms
+----------------- 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) 2119ms
✓ getQwenOAuthClient - Enhanced Error Scenarios > should handle different authentication failure reasons - timeout 2006ms
✓ src/services/microcompaction/microcompact.test.ts (82 tests) 79ms
✓ src/lsp/NativeLspService.test.ts (33 tests) 374ms
✓ src/tools/workflow/workflow.test.ts (63 tests) 433ms
✓ src/tools/write-file.test.ts (85 tests) 498ms
✓ src/hooks/hookSystem.test.ts (95 tests) 190ms
✓ src/skills/skill-manager.test.ts (84 tests) 202ms
✓ src/tools/read-file.test.ts (87 tests) 627ms
✓ src/tools/edit.test.ts (86 tests) 1185ms
✓ EditTool > prior-read enforcement > allows editing a large text file after a ranged read 689ms
✓ src/goals/goal-tools.test.ts (56 tests) 317ms
✓ src/telemetry/sdk.test.ts (78 tests) 832ms
✓ src/tools/web-fetch.test.ts (97 tests) 845ms
✓ src/tools/tool-registry.test.ts (60 tests) 279ms
error: could not apply 40e983e... edit a.txt
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm ", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 40e983e... # edit a.txt
error: could not apply 220766c... edit a.txt
hint: After resolving the conflicts, mark them with
hint: "git add/rm ", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
fatal: ambiguous argument '@{upstream}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'
error: patch failed: a.txt:1
error: a.txt: patch does not apply
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
error: could not revert ffc8a45... edit a.txt
hint: After resolving the conflicts, mark them with
hint: "git add/rm ", then run
hint: "git revert --continue".
hint: You can instead skip this commit with "git revert --skip".
hint: To abort and get back to the state before "git revert",
hint: run "git revert --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
✓ src/utils/git-branches.test.ts (97 tests) 17406ms
✓ gitPull with a dirty working tree > stash pull updates a dirty tree and restores tracked edits and untracked files 381ms
✓ gitPull with a dirty working tree > stash pull with nothing to stash is a plain pull 313ms
✓ gitPull with a dirty working tree > stash pull with rebase replays the local commit and restores the edits 396ms
✓ gitPull with a dirty working tree > stash pull reports a conflicting restore and keeps the stash entry 389ms
✓ gitPull with a dirty working tree > stash pull restores the pre-pull state when the update fails 449ms
✓ gitPull with a dirty working tree > stash pull aborts the rebase it started when the replay conflicts 423ms
✓ gitPull with a dirty working tree > stash pull restores its own entry when another stash was pushed meanwhile 399ms
✓ gitPull with a dirty working tree > force pull discards local changes, keeps ignored files, and updates 381ms
✓ gitPull with a dirty working tree > force pull refuses a diverged branch before discarding anything 300ms
✓ gitPull with a dirty working tree > types the refusal on a detached HEAD without touching anything 330ms
✓ gitPull with a dirty working tree > refuses stash and force pulls while a merge is in progress, keeping it 318ms
✓ gitPull with a dirty working tree > refuses a stash pull while a rebase is stopped, keeping the edits 303ms
✓ gitPull dirty-tree flows against a concurrent terminal > captures its own entry by provenance when a terminal pushes right after it 405ms
✓ gitPull dirty-tree flows against a concurrent terminal > keeps the other entry when the stash shifts between slot lookup and drop 427ms
✓ gitPull dirty-tree flows against a concurrent terminal > leaves a merge a terminal parked mid-pull alone and reports the entry as kept 467ms
✓ gitPull dirty-tree flows against a concurrent terminal > force pull integrates the validated tip even when the remote moves after the check 403ms
✓ gitPull dirty-tree flows against a concurrent terminal > stash pull with nothing to stash still aborts and types a conflicting update 361ms
✓ gitPull dirty-tree flows against a concurrent terminal > stash pull types the refusal when edits hidden by skip-worktree block the update 323ms
✓ gitPull dirty-tree flows against a concurrent terminal > stash pull types the refusal when git cannot stash an intent-to-add entry 302ms
✓ gitPull dirty-tree flows against a concurrent terminal > reports the kept entry when a failed update cannot restore the stash 411ms
✓ gitPull dirty-tree flows against a concurrent terminal > leaves a same-tip merge a terminal parked before the pull alone 372ms
✓ gitPull dirty-tree flows against a concurrent terminal > types the failure and names the entry when the auto-stash cannot be re-listed 316ms
✓ gitPull dirty-tree flows against a concurrent terminal > still types a failed update when the recovery listing fails 387ms
✓ gitPull dirty-tree flows against a concurrent terminal > names the displaced entry when storing it back fails after a drop shift 401ms
✓ gitPull dirty-tree flows against a concurrent terminal > carries the drop diagnostic when a failed update restores but cannot drop 412ms
✓ gitPull dirty-tree flows against a concurrent terminal > pulls again once a pruned upstream branch is recreated on the remote 648ms
✓ gitPull dirty-tree flows against a concurrent terminal > aborts and restores when the pull is killed mid-integration 424ms
✓ gitPull dirty-tree flows against a concurrent terminal > types the force failure when a skip-worktree file blocks the validated update 316ms
✓ gitCheckout remote-tracking refs (R10 #4) > tracks the exact remote ref when no local branch exists (multi-remote) 323ms
✓ src/core/client-goal.test.ts (46 tests) 226ms
✓ src/telemetry/uiTelemetry.test.ts (70 tests) 64ms
✓ src/utils/retry.test.ts (90 tests) 139ms
✓ src/services/memoryPressureMonitor.test.ts (72 tests) 140ms
✓ src/memory/manager.test.ts (48 tests) 233ms
✓ src/agents/runtime/agent-core.test.ts (46 tests) 200ms
✓ src/tools/ripGrep.test.ts (81 tests) 588ms
✓ src/hooks/hookRunner.test.ts (65 tests) 280ms
✓ src/services/session-pr-service.test.ts (99 tests) 1167ms
✓ src/config/storage.test.ts (101 tests) 159ms
✓ src/tools/todoWrite.test.ts (57 tests) 197ms
✓ src/utils/atomicFileWrite.test.ts (83 tests) 249ms
✓ src/extension/claude-converter.test.ts (52 tests) 138ms
✓ src/utils/shell-utils.test.ts (172 tests) 99ms
✓ src/tools/monitor.test.ts (81 tests) 158ms
✓ src/ide/ide-client.test.ts (65 tests) 215ms
✓ src/core/prompts.test.ts (149 tests) 128ms
✓ src/services/session-registry.test.ts (92 tests) 407ms
✓ src/services/postCompactAttachments.test.ts (67 tests) 93ms
✓ src/core/baseLlmClient.test.ts (59 tests) 83ms
✓ src/lsp/LspServerManager.test.ts (46 tests) 347ms
✓ src/qwen/qwenContentGenerator.test.ts (43 tests) 230ms
✓ src/tools/readManyFiles.test.ts (52 tests) 356ms
✓ src/core/turn.test.ts (44 tests) 62ms
✓ src/agents/forkedAgent.agent.test.ts (22 tests) 85ms
✓ src/permissions/autoMode.test.ts (92 tests) 107ms
✓ src/utils/filesearch/crawler.test.ts (48 tests) 1570ms
✓ src/memory/memoryDiscovery.test.ts (52 tests) 416ms
✓ src/services/sessionService.corruption.test.ts (69 tests) 363ms
✓ src/agents/backends/InProcessBackend.test.ts (50 tests) 209ms
✓ src/agents/runtime/workflow-runner.test.ts (37 tests) 680ms
✓ src/mcp/oauth-provider.test.ts (27 tests) 255ms
✓ src/utils/sessionStorageUtils.test.ts (81 tests) 119ms
✓ src/models/modelRegistry.test.ts (81 tests) 61ms
✓ src/utils/shellAstParser.test.ts (548 tests) 1120ms
✓ classifyShellCommandSafety > classifies adversarial rule inputs within the CPU budget 613ms
✓ src/utils/memoryImportProcessor.test.ts (37 tests) 110ms
✓ src/tools/glob.test.ts (60 tests) 3368ms
✓ src/services/fileHistoryService.test.ts (51 tests) 393ms
✓ src/memory/forget.test.ts (24 tests) 246ms
✓ src/core/openaiContentGenerator/streamingToolCallParser.test.ts (89 tests) 59ms
✓ src/memory/remember.test.ts (37 tests) 283ms
✓ src/telemetry/log-to-span-processor.test.ts (55 tests) 108ms
✓ src/tools/lsp.test.ts (73 tests) 833ms
✓ src/services/backgroundShellRegistry.test.ts (62 tests) 175ms
[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) 238ms
✓ src/services/visionBridge/vision-bridge-service.test.ts (65 tests) 128ms
✓ src/core/toolHookTriggers.test.ts (62 tests) 51ms
✓ src/skills/bundled/loop/loop-task-file.test.ts (38 tests) 240ms
✓ src/extension/npm.test.ts (51 tests) 228ms
✓ src/utils/paths.test.ts (145 tests | 1 skipped) 77ms
✓ src/tools/web-search.test.ts (59 tests) 303ms
✓ src/skills/bundled/loop/loop-tick-resolver.test.ts (38 tests) 181ms
✓ src/goals/goal-reducer.test.ts (93 tests) 63ms
✓ src/hooks/hookAggregator.test.ts (51 tests) 31ms
✓ src/hooks/hookPlanner.test.ts (71 tests) 44ms
✓ src/memory/channel-memory.test.ts (52 tests) 889ms
✓ channel memory > rejects additions beyond request, entry, and text limits 491ms
✓ src/tools/grep.test.ts (59 tests) 719ms
✓ src/core/logger.test.ts (52 tests) 319ms
✓ src/goals/goal-evidence.test.ts (31 tests) 79ms
✓ src/extension/extensionSettings.test.ts (34 tests) 269ms
✓ src/hooks/hook-runner.process.test.ts (20 tests) 27221ms
✓ HookRunner process tree cancellation > reaps a descendant that ignores SIGTERM before returning 2147ms
✓ HookRunner process tree cancellation > reaps an active synchronous hook tree on parent process-exit 501ms
✓ HookRunner process tree cancellation > reaps an active synchronous hook tree on parent signal-exit 504ms
✓ HookRunner process tree cancellation > reaps an active synchronous hook tree on parent handled-signal-exit 514ms
✓ HookRunner process tree cancellation > reaps an active async hook tree on parent process-exit 529ms
✓ HookRunner process tree cancellation > lets a MessageDisplay hook after explicit parent exit write output and finish 544ms
✓ HookRunner process tree cancellation > lets a StopFailure hook after explicit parent exit write output and finish 507ms
✓ HookRunner process tree cancellation > lets a SessionDelete hook after explicit parent exit write output and finish 544ms
✓ HookRunner process tree cancellation > lets an async MessageDisplay hook after explicit parent exit write output and finish 527ms
✓ HookRunner process tree cancellation > lets a MessageDisplay hook after natural parent exit write output and finish 548ms
✓ HookRunner process tree cancellation > lets a StopFailure hook after natural parent exit write output and finish 529ms
✓ HookRunner process tree cancellation > lets a SessionDelete hook after natural parent exit write output and finish 536ms
✓ HookRunner process tree cancellation > enforces a surviving hook timeout after the parent exits 7450ms
✓ HookRunner process tree cancellation > preserves a prompt exit 124 when the parent event loop is delayed past the deadline 1356ms
✓ HookRunner process tree cancellation > forwards abort through a surviving hook supervisor 2169ms
✓ HookRunner process tree cancellation > reaps a surviving hook when its supervisor is stopped before abort 2214ms
✓ HookRunner process tree cancellation > keeps supervising a surviving hook group after its root exits 5115ms
✓ HookRunner process tree cancellation > delivers complete large input after the parent exits 751ms
✓ src/utils/read-text-range.test.ts (47 tests) 1663ms
✓ readTextRange > rejects large non-UTF-8 files with a targeted error 312ms
✓ src/permissions/shell-semantics.test.ts (109 tests) 80ms
✓ src/core/environmentContext.test.ts (65 tests) 93ms
✓ src/telemetry/metrics.test.ts (50 tests) 343ms
✓ src/models/modelConfigResolver.test.ts (56 tests) 47ms
✓ src/services/monitorRegistry.test.ts (58 tests) 97ms
✓ src/utils/editor.test.ts (152 tests) 92ms
✓ src/skills/skill-curator.test.ts (37 tests) 422ms
✓ src/agents/team/tasks.test.ts (56 tests) 350ms
✓ src/hooks/hookRegistry.test.ts (39 tests) 68ms
✓ src/services/fileReadCache.test.ts (59 tests) 78ms
✓ src/services/usageHistoryService.test.ts (33 tests) 99ms
✓ src/telemetry/qwen-logger/qwen-logger.test.ts (43 tests) 87ms
✓ src/qwen/sharedTokenManager.test.ts (32 tests) 302ms
✓ src/tools/notebook-edit.test.ts (32 tests) 339ms
✓ src/services/session-artifact-persistence.test.ts (30 tests) 85ms
✓ src/tools/send-message.test.ts (45 tests) 193ms
✓ src/memory/memory-scoped-agent-config.test.ts (28 tests) 189ms
✓ src/goals/goalJudge.test.ts (44 tests) 48ms
✓ src/tools/record-artifact.test.ts (49 tests) 554ms
✓ src/agents/forkedAgent.cache.test.ts (23 tests) 36ms
✓ src/skills/skill-load.test.ts (68 tests) 58ms
✓ src/services/commitAttribution.test.ts (58 tests) 45ms
✓ src/ipc/inbound-gate.test.ts (59 tests) 82ms
✓ src/providers/__tests__/provider-config.test.ts (66 tests) 42ms
✓ src/utils/pdf.test.ts (50 tests) 57ms
✓ src/agents/agent-transcript.test.ts (37 tests) 45ms
✓ src/agents/runtime/agent-interactive.test.ts (25 tests) 934ms
✓ src/services/gitWorktreeService.test.ts (41 tests) 47ms
✓ src/extension/archive-safety.test.ts (36 tests) 11757ms
✓ assertTarArchiveLinksAreSafe > accepts an archive with exactly the entry-count limit 3370ms
✓ assertTarArchiveLinksAreSafe > rejects an archive just over the entry-count limit 3316ms
✓ assertTarArchiveLinksAreSafe > bounds retained archive path metadata 4776ms
✓ src/followup/speculation.test.ts (21 tests) 732ms
✓ src/services/chatRecordingService.autoTitle.test.ts (23 tests) 126ms
✓ src/services/chatRecordingService.customTitle.test.ts (24 tests) 331ms
✓ src/tools/agent/agent-override.test.ts (25 tests) 83ms
✓ src/tools/truncation.test.ts (40 tests) 83ms
✓ src/core/tokenLimits.test.ts (89 tests) 41ms
✓ src/services/compactionInputSlimming.test.ts (43 tests) 26ms
✓ src/services/sessionTitle.test.ts (32 tests) 95ms
✓ src/agents/arena/ArenaManager.test.ts (28 tests) 5126ms
✓ ArenaManager > backend initialization > should emit SESSION_UPDATE with type warning when backend detection returns warning 516ms
✓ ArenaManager > chat history forwarding > passes approvalMode to in-process backend spawn configs 506ms
✓ ArenaManager > chat history forwarding > should pass chatHistory to backend spawnAgent calls 506ms
✓ 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 508ms
✓ ArenaManager > chat history forwarding > does not embed the auto-memory section in the worker system prompt 506ms
✓ ArenaManager > active session lifecycle > collects diff summaries and fallback approach summaries 1011ms
✓ ArenaManager > active session lifecycle > cancel should stop backend and move session to CANCELLED 505ms
✓ ArenaManager > active session lifecycle > cleanup should release backend and worktree resources after start 507ms
✓ src/core/contentGenerator.test.ts (27 tests) 2682ms
✓ createContentGenerator > should defer Gemini content generator creation until first use 1968ms
✓ validateModelConfig - Vertex AI Application Default Credentials > builds the client in Vertex mode from the auth type alone 501ms
✓ src/memory/extract.test.ts (21 tests) 172ms
✓ src/utils/runtimeFetchOptions.test.ts (69 tests) 55ms
✓ src/services/fileSystemService.test.ts (68 tests) 73ms
✓ src/services/shellContextEnv.test.ts (37 tests) 36ms
✓ src/telemetry/gen-ai-content.test.ts (27 tests) 198ms
✓ src/utils/debugLogger.test.ts (41 tests) 77ms
✓ src/services/tokenUsageService.test.ts (18 tests) 431ms
✓ src/goals/goalHook.test.ts (38 tests) 65ms
✓ src/utils/ripgrepUtils.test.ts (34 tests) 39ms
✓ src/services/sessionService.rename.test.ts (20 tests) 45ms
✓ src/utils/github-prs.test.ts (53 tests) 52ms
✓ src/ipc/peer-send.test.ts (41 tests) 55ms
✓ src/agents/team/TeamManager.ghost-member.test.ts (9 tests) 707ms
✓ src/services/gitWorktreeService.symlinks.integ.test.ts (15 tests) 5001ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > symlinks a configured directory into the new worktree 368ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > silently skips a missing source directory 442ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > silently skips an existing destination (no overwrite) 452ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects absolute paths 429ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths that traverse outside the repo root 437ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths inside .git (security guard) 449ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths inside .qwen (security guard) 306ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > works when the repo path itself contains a symlink boundary (round-7 self-inflicted regression guard) 338ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > refuses sources whose realpath escapes the repo root or lands in .git/.qwen (committed-symlink bypass) 453ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects any entry containing a '..' segment (docs contract) 334ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > is a no-op when symlinkDirectories is omitted or empty 310ms
✓ src/core/openaiContentGenerator/provider/default.test.ts (37 tests) 41ms
✓ src/telemetry/daemon-tracing.test.ts (28 tests) 82ms
✓ src/telemetry/config.test.ts (47 tests) 37ms
✓ src/utils/openaiLogger.test.ts (40 tests) 213ms
✓ src/services/cronTasksFile.test.ts (50 tests) 338ms
✓ src/lsp/NativeLspService.integration.test.ts (30 tests) 28ms
✓ src/memory/skillReviewAgentPlanner.test.ts (33 tests) 121ms
✓ src/extension/marketplace.test.ts (33 tests) 53ms
✓ src/tools/tool-response-finalizer.test.ts (25 tests) 35ms
✓ src/memory/recall.test.ts (51 tests) 45ms
✓ src/providers/__tests__/install.test.ts (22 tests) 68ms
✓ src/tools/report-findings.test.ts (35 tests) 364ms
(node:206185) 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) 9986ms
✓ Config sessionEnvClaimed guard > first Config sets process.env QWEN_CODE_SESSION_ID to its sessionId 1899ms
✓ Config sessionEnvClaimed guard > subsequent Config does not overwrite the env var set by the first 580ms
✓ Config sessionEnvClaimed guard > startNewSession updates env var to the new session ID 435ms
✓ Config modelEnvClaimed guard > first Config publishes its model to QWEN_CODE_MODEL 408ms
✓ Config modelEnvClaimed guard > a later Config does not overwrite the claimed slot 434ms
✓ Config modelEnvClaimed guard > only the claiming Config republishes on setModel 569ms
✓ Config modelEnvClaimed guard > republishes on refreshAuth when the resolved model changes 447ms
✓ Config modelEnvClaimed guard > registers each Config's model per session, so a daemon side-session reads its own 435ms
✓ Config modelEnvClaimed guard > re-keys the per-session model registry on startNewSession 473ms
✓ Config provider-qualified model identity > publishes `@` beside the bare model 457ms
✓ Config provider-qualified model identity > falls back to the bare id when there is nothing to qualify with 437ms
✓ Config provider-qualified model identity > separates one model id exposed by two provider configurations 404ms
✓ Config provider-qualified model identity > is stable for one configuration — the gate must not drift per boot 410ms
✓ Config provider-qualified model identity > registers the identity PER SESSION, which is what daemon spawns read 391ms
✓ Config provider-qualified model identity > re-keys the identity on a mid-session model switch 413ms
✓ Config provider-qualified model identity > a later Config cannot overwrite the claimed identity slot 371ms
✓ Config.getModelRouteIdentity (#9454 route key) > returns an identical identity across repeated calls for one configuration 388ms
✓ Config.getModelRouteIdentity (#9454 route key) > keeps the `model@` digest shape for explicit route queries 647ms
✓ Config.getModelRouteIdentity (#9454 route key) > does not mix the registry base URL into a non-active model identity 385ms
✓ src/utils/filesearch/fileSearch.test.ts (29 tests) 1575ms
✓ src/agents/team/TeamManager.model-routing.test.ts (9 tests) 194ms
✓ src/ipc/uds-inbox.test.ts (33 tests) 2531ms
✓ client errors > gives up on a peer that dribbles bytes back instead of closing 504ms
✓ client errors > drops sends beyond the concurrent cap instead of opening unbounded connections 1022ms
✓ src/hooks/promptHookRunner.test.ts (27 tests) 174ms
✓ src/tools/session-mcp-view.test.ts (24 tests) 37ms
✓ src/services/image-generation-service.test.ts (21 tests) 153ms
✓ src/agents/runtime/workflow-saved.test.ts (40 tests) 183ms
✓ src/core/session-start-profiler.test.ts (21 tests) 88ms
✓ src/config/rulesDiscovery.test.ts (36 tests) 111ms
✓ src/agents/team/teamHelpers.test.ts (52 tests) 328ms
✓ src/tools/mcp-client-v2.test.ts (10 tests) 5592ms
✓ configured MCP SDK v2 negotiation > preserves the default discovery budget for legacy initialization 5227ms
✓ src/utils/workspaceContext.test.ts (46 tests) 60ms
✓ src/utils/memoryDiagnostics.test.ts (12 tests) 127ms
✓ src/utils/toolResultDisplayCompaction.test.ts (31 tests) 35ms
✓ src/utils/notebook.test.ts (30 tests) 58ms
✓ src/hooks/sessionHooksManager.test.ts (36 tests) 28ms
✓ src/core/openaiContentGenerator/provider/deepseek.test.ts (29 tests) 33ms
✓ src/permissions/classifier-transcript.test.ts (20 tests) 22ms
✓ src/services/web-terminal-registry.test.ts (23 tests) 91ms
✓ src/utils/git-ignore.test.ts (19 tests) 5853ms
✓ isGitIgnored > kills a wedged probe at the caller’s deadline and reads it as not-ignored 514ms
✓ isGitIgnored > kills a wedged probe at the default deadline 5019ms
✓ src/tools/exitPlanMode.test.ts (30 tests) 39ms
✓ src/services/session-organization-service.test.ts (25 tests) 160ms
✓ src/core/message-display-dispatcher.test.ts (18 tests) 35ms
✓ src/utils/gitDirect.test.ts (68 tests) 131ms
✓ src/agents/backends/ITermBackend.test.ts (46 tests) 61ms
✓ src/core/xml-tool-call-fallback.test.ts (42 tests) 23ms
✓ src/tools/zoom-image.test.ts (19 tests) 568ms
✓ src/extension/qoder-converter.test.ts (25 tests) 79ms
✓ src/utils/sideQuery.test.ts (23 tests) 109ms
✓ src/core/openaiContentGenerator/errorHandler.test.ts (45 tests) 77ms
✓ src/utils/secure-browser-launcher.test.ts (31 tests) 45ms
✓ src/memory/recall-eval.test.ts (8 tests) 72ms
✓ src/services/sleepInhibitor.test.ts (23 tests) 913ms
✓ src/agents/arena/ArenaAgentClient.test.ts (21 tests) 93ms
✓ src/memory/prompt.test.ts (33 tests) 23ms
✓ src/mcp/oauth-token-storage.test.ts (31 tests) 256ms
✓ src/tools/tool-result-boundary-diagnostics.test.ts (18 tests) 148ms
✓ src/tools/ls.test.ts (30 tests) 315ms
✓ src/config/config.safe-mode.test.ts (24 tests) 76ms
✓ src/core/client.telemetrySwap.test.ts (10 tests) 33ms
✓ src/utils/schemaConverter.test.ts (33 tests) 18ms
✓ src/utils/no-follow-open.test.ts (17 tests) 99ms
✓ src/extension/variables.test.ts (22 tests) 62ms
✓ src/utils/fetch.test.ts (64 tests) 3375ms
✓ fetchWithPolicy retry > retries once on 403 and returns the successful second response 503ms
✓ fetchWithPolicy retry > retries once on 429 and returns the successful second response 503ms
✓ fetchWithPolicy retry > returns the original 403 when the retry also fails 502ms
✓ fetchWithPolicy retry > retries once on transient network errors (ECONNRESET) 502ms
✓ fetchWithPolicy retry > retries once on transient network errors (EAI_AGAIN) 502ms
✓ fetchWithPolicy retry abort handling > retries once on undici socket errors (UND_ERR_SOCKET) 502ms
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) 2864ms
✓ GitWorktreeService.getMainWorktreePath() (real git) > answers the main tree even when called from inside a linked worktree 321ms
✓ GitWorktreeService.getMainWorktreePath() (real git) > preserves a trailing CR in the repository directory name 426ms
✓ src/memory/extractionAgentPlanner.test.ts (18 tests) 45ms
✓ src/telemetry/tracer.test.ts (31 tests) 47ms
✓ src/mcp/oauth-utils.test.ts (33 tests) 39ms
✓ src/ipc/peer-directory.test.ts (49 tests) 38ms
✓ src/utils/systemEncoding.test.ts (41 tests) 35ms
✓ src/agents/backends/TmuxBackend.test.ts (27 tests) 53ms
✓ src/tools/team-lifecycle.test.ts (5 tests) 766ms
✓ Team lifecycle E2E > full lifecycle: create → tasks → messages → list → update → delete 732ms
✓ src/utils/conversation-branches.test.ts (21 tests) 26ms
✓ src/services/session-reference-service.test.ts (24 tests) 27ms
✓ src/utils/jsonl-utils.test.ts (40 tests) 89ms
✓ src/memory/recall-delivery-eval.test.ts (7 tests) 1451ms
✓ auto-memory recall delivery evaluation > keeps deterministic candidate selection far inside the initial budget 644ms
✓ auto-memory recall delivery evaluation > reports the before/after delivery table 647ms
✓ src/mcp/token-storage/file-token-storage.test.ts (25 tests) 1096ms
✓ src/tools/task-stop.test.ts (14 tests) 141ms
✓ src/utils/github-pr-issues.test.ts (16 tests) 39ms
✓ src/hooks/httpHookRunner.test.ts (21 tests) 60ms
✓ src/core/llm-content-generator/llm-content-generator.test.ts (15 tests) 24ms
✓ src/tools/askUserQuestion.test.ts (19 tests) 29ms
✓ src/utils/retryErrorClassification.test.ts (39 tests) 24ms
✓ src/utils/shellReadOnlyChecker.test.ts (230 tests) 498ms
✓ evaluateShellCommandReadOnly > tri-state classifier mirrors > handles adversarial rule inputs without regex backtracking 401ms
✓ src/telemetry/detailed-span-attributes.test.ts (47 tests) 31ms
✓ src/utils/sedEditParser.test.ts (38 tests) 32ms
✓ src/utils/gitIgnoreParser.test.ts (35 tests) 97ms
✓ src/services/sessionService.search.test.ts (20 tests) 210ms
✓ src/memory/writeContextFile.test.ts (17 tests) 60ms
✓ src/core/permissionFlow.test.ts (29 tests) 32ms
✓ src/memory/skillReviewNudge.integration.test.ts (18 tests) 37ms
✓ src/subagents/validation.test.ts (41 tests) 43ms
✓ src/agents/workflow-snapshot.test.ts (20 tests) 155ms
✓ src/core/plan-mode-shell-policy.test.ts (19 tests) 157ms
✓ src/hooks/asyncHookRegistry.test.ts (20 tests) 24ms
✓ src/agents/team/mailbox.test.ts (19 tests) 176ms
✓ src/memory/store.test.ts (17 tests) 94ms
✓ src/tools/list-agents.test.ts (20 tests) 104ms
↓ src/agents/runtime/workflow-p4a-meta-live.live.test.ts (6 tests | 6 skipped)
✓ src/agents/runtime/workflow-stall.test.ts (26 tests) 57ms
✓ src/utils/process-liveness.test.ts (30 tests) 76ms
✓ src/tools/artifact/artifact-tool.test.ts (20 tests) 516ms
✓ src/followup/suggestionGenerator.test.ts (24 tests) 25ms
✓ src/skills/skill-activation.test.ts (22 tests) 2193ms
✓ extractToolFilePaths → SkillActivationRegistry integration > activates a skill keyed on src/**/*.ts from glob({ path: "src", pattern: "**/*.ts" }) 2151ms
✓ src/services/toolUseSummary.test.ts (34 tests) 53ms
✓ src/telemetry/daemon-metrics.test.ts (22 tests) 148ms
✓ src/core/nonInteractiveToolExecutor.test.ts (10 tests) 53ms
✓ src/ipc/peer-envelope.test.ts (32 tests) 17ms
✓ src/core/loggingContentGenerator/context-usage-snapshot.test.ts (9 tests) 18ms
✓ src/utils/partUtils.test.ts (47 tests) 18ms
✓ src/services/image-payload-references.test.ts (19 tests) 19ms
✓ src/tools/exit-worktree.session.integ.test.ts (8 tests) 2909ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > preserves the sidecar after keep so --resume can restore the worktree binding 401ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > clears the sidecar after remove 386ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > does not clear the sidecar when slug does not match 408ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > removes a re-attached worktree when the old marker owner is inactive 397ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > removes a stale-owned worktree when launched from inside it without a sidecar 408ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > refuses a re-attached remove when the marker owner runtime is active 315ms
✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > refuses a re-attached remove when the owner is active under a repo-subdir relative runtime dir 324ms
✓ src/utils/abortController.test.ts (26 tests | 1 skipped) 43ms
✓ src/tools/task-update.test.ts (18 tests) 269ms
✓ src/utils/rateLimit.test.ts (35 tests) 28ms
✓ src/agents/team/TeamManager.plan-approval.test.ts (11 tests) 82ms
✓ src/tools/enter-worktree.test.ts (26 tests) 105ms
✓ src/services/usage-dashboard-service.test.ts (9 tests) 41ms
✓ src/agents/runtime/workflow-meta-literal.test.ts (78 tests) 31ms
✓ src/permissions/classifier.test.ts (23 tests) 28ms
✓ src/tools/exit-worktree.test.ts (17 tests) 1633ms
✓ ExitWorktreeTool > execute() — session ownership & lifecycle > refuses remove when the marker names a different session 303ms
✓ ExitWorktreeTool > execute() — session ownership & lifecycle > allows removal when the worktree predates the session-marker guard 348ms
✓ ExitWorktreeTool > execute() — session ownership & lifecycle > refuses removal when the worktree branch has unmerged commits 312ms
✓ src/hooks/functionHookRunner.test.ts (20 tests) 105ms
✓ src/models/content-generator-config.test.ts (19 tests) 23ms
✓ src/permissions/classifier-prompts/system-prompt.test.ts (23 tests) 19ms
✓ src/extension/sourceRegistry.test.ts (23 tests) 29ms
✓ src/ide/ideContext.test.ts (23 tests) 21ms
✓ src/utils/generateContentResponseUtilities.test.ts (37 tests) 17ms
✓ src/subagents/subagent-manager-override.test.ts (8 tests) 40ms
✓ src/tools/mcp-classifier-input.test.ts (24 tests) 27ms
✓ src/core/openaiContentGenerator/http400-media-wedge.test.ts (10 tests) 266ms
✓ src/services/visionBridge/tool-result-vision-bridge.test.ts (12 tests) 22ms
✓ src/memory/memoryLifecycle.integration.test.ts (3 tests) 194ms
✓ src/utils/getFolderStructure.test.ts (17 tests) 84ms
✓ src/memory/relevanceSelector.test.ts (13 tests) 36ms
✓ src/utils/request-tokenizer/textTokenizer.test.ts (36 tests) 72ms
✓ src/core/__tests__/openaiTimeoutHandling.test.ts (11 tests) 56ms
✓ src/utils/errors.test.ts (44 tests) 53ms
✓ src/utils/nextSpeakerChecker.test.ts (13 tests) 104ms
✓ src/mcp/token-storage/keychain-token-storage.test.ts (24 tests) 387ms
✓ src/subagents/builtin-agents.test.ts (16 tests) 16ms
✓ src/telemetry/gen-ai-exchange.test.ts (13 tests) 18ms
✓ src/core/modalityDefaults.test.ts (58 tests) 26ms
✓ src/followup/followupState.test.ts (18 tests) 32ms
✓ src/core/openaiContentGenerator/pipeline.concurrent.test.ts (2 tests) 31ms
✓ src/tools/enterPlanMode.test.ts (21 tests) 85ms
✓ src/agents/runtime/agent-statistics.test.ts (33 tests) 40ms
✓ src/utils/ignorePatterns.test.ts (29 tests) 19ms
✓ src/memory/userMemory.test.ts (13 tests) 69ms
✓ src/utils/transcript-records.test.ts (20 tests) 27ms
✓ src/agents/team/test-utils/fake-agent.test.ts (28 tests) 23ms
✓ src/hooks/registerSkillHooks.test.ts (13 tests) 13ms
✓ src/services/worktreeSessionService.test.ts (21 tests) 77ms
✓ src/permissions/dangerousRules.test.ts (110 tests) 27ms
✓ src/memory/refresh.test.ts (9 tests) 47ms
✓ src/ipc/peer-frames.test.ts (52 tests) 22ms
✓ src/telemetry/event-loop-lag.test.ts (16 tests) 57ms
✓ src/core/openaiContentGenerator/openaiContentGenerator.test.ts (12 tests) 35ms
✓ src/agents/team/TeamManager.initial-result.test.ts (6 tests) 412ms
✓ src/memory/team-memory-sync.test.ts (10 tests) 1799ms
✓ syncTeamMemory > reconciles a second writer instead of diverging (commit lands on top) 337ms
✓ src/tools/read-mcp-resource.test.ts (15 tests) 111ms
✓ src/hooks/promptHookIntegration.test.ts (9 tests) 137ms
✓ src/utils/yaml-parser.test.ts (38 tests) 72ms
✓ src/utils/shell-ast-parser-lazy.test.ts (5 tests) 649ms
✓ shellAstParser lazy runtime > keeps the packaged runtime deferred and parses from emitted chunks 565ms
✓ src/permissions/destructive-commands.test.ts (31 tests) 18ms
✓ src/extension/agent-plugins-v1/mcp.test.ts (11 tests) 31ms
✓ src/mcp/token-storage/hybrid-token-storage.test.ts (13 tests) 32ms
✓ src/services/memoryDiagnosticsDumper.test.ts (11 tests) 33ms
✓ src/utils/binary-content.test.ts (73 tests) 30ms
✓ src/permissions/denialTracking.test.ts (34 tests) 15ms
✓ src/agents/runtime/agent-context.test.ts (22 tests) 23ms
✓ src/tools/tool-result-retention.test.ts (19 tests) 13ms
✓ src/agents/backends/iterm-it2.test.ts (19 tests) 20ms
✓ src/tools/cron-create.test.ts (18 tests) 669ms
✓ CronCreateTool > rejects a cron that never matches a real date 509ms
✓ src/utils/filesearch/fzfWorkerHandle.test.ts (13 tests) 272ms
✓ src/utils/filesearch/ignore.test.ts (21 tests) 44ms
✓ src/extension/extension-runtime-refresh.test.ts (9 tests) 21ms
✓ src/utils/errorParsing.test.ts (25 tests) 13ms
✓ src/tools/modifiable-tool.test.ts (11 tests) 43ms
✓ src/core/openaiContentGenerator/taggedThinkingParser.test.ts (27 tests) 13ms
✓ src/goals/goal-continuation-prompt.test.ts (12 tests) 11ms
✓ src/skills/skill-curator.rollback.test.ts (5 tests) 147ms
✓ src/tools/agent/fork-subagent.test.ts (21 tests) 14ms
✓ src/memory/indexer.test.ts (8 tests) 63ms
✓ src/tools/loop-wakeup.test.ts (19 tests) 126ms
✓ src/utils/runtimeStatus.test.ts (21 tests) 69ms
✓ src/tools/toAutoClassifierInput.test.ts (14 tests) 13ms
✓ src/services/branch-points.test.ts (18 tests) 12ms
✓ src/skills/bundled/goal-draft/SKILL.test.ts (9 tests) 35ms
✓ src/confirmation-bus/message-bus.test.ts (15 tests) 82ms
✓ src/subagents/agent-frontmatter-schema.test.ts (26 tests) 14ms
✓ src/memory/dreamAgentPlanner.test.ts (10 tests) 134ms
✓ src/services/fileReadCache.integration.test.ts (3 tests) 88ms
✓ src/utils/envVarResolver.test.ts (22 tests) 15ms
✓ src/telemetry/resource-attributes.test.ts (35 tests) 25ms
✓ src/core/openaiContentGenerator/prefix-caching.test.ts (21 tests) 12ms
✓ src/tools/agent/fork-profile.test.ts (35 tests) 110ms
✓ src/tools/task-list.test.ts (15 tests) 175ms
✓ src/utils/runtimeStatus.config.test.ts (6 tests) 354ms
✓ src/memory/team-index.test.ts (10 tests) 51ms
✓ src/output/json-formatter.test.ts (15 tests) 14ms
✓ src/tools/create-sub-session.test.ts (14 tests) 116ms
✓ src/utils/quotaErrorDetection.test.ts (29 tests) 13ms
✓ src/utils/cronParser.test.ts (31 tests) 41ms
✓ src/tools/mcp-pool-key.test.ts (25 tests) 16ms
✓ src/goals/goal-checkpoint-verifier.test.ts (6 tests) 20ms
✓ src/tools/image-gen.test.ts (8 tests) 116ms
✓ src/utils/terminalSerializer.test.ts (20 tests) 119ms
✓ src/tools/artifact/oss-publisher.test.ts (16 tests) 36ms
✓ src/core/openaiContentGenerator/provider/zai.test.ts (15 tests) 19ms
✓ src/tools/mcp-retry.test.ts (38 tests) 1291ms
✓ retryWithBackoff > retries up to maxRetries and then throws 606ms
✓ src/agents/runtime/agent-core.skill-gate.test.ts (11 tests) 17ms
✓ src/telemetry/context-usage.test.ts (10 tests) 13ms
✓ src/services/fileDiscoveryService.test.ts (15 tests) 70ms
✓ src/telemetry/gen-ai-request.test.ts (23 tests) 17ms
✓ src/utils/gitUtils.test.ts (12 tests) 24ms
✓ src/memory/learn-skill-agent.test.ts (36 tests) 37ms
✓ src/core/toolCallIdUtils.test.ts (11 tests) 12ms
✓ src/services/runtimeSampleRing.test.ts (10 tests) 21ms
✓ src/goals/goal-verifier.test.ts (13 tests) 30ms
✓ src/services/chatRecordingService.parentSession.test.ts (8 tests) 31ms
✓ src/services/cronTasksLock.test.ts (15 tests) 58ms
✓ src/memory/recall-scan-latency.test.ts (1 test) 1066ms
✓ auto-memory recall scan latency > publishes the fast result well inside the initial budget 931ms
✓ src/tools/file-read-permission.test.ts (15 tests) 39ms
✓ src/agents/team/test-utils/fake-backend.test.ts (18 tests) 77ms
✓ src/goals/goalLoop.integration.test.ts (2 tests) 18ms
✓ src/services/tokenEstimation.test.ts (20 tests) 10ms
✓ src/memory/channel-memory-document.test.ts (24 tests) 49ms
✓ src/hooks/urlValidator.test.ts (25 tests) 26ms
✓ src/agents/worktree-pin.test.ts (10 tests) 47ms
✓ src/tools/tools.test.ts (13 tests) 16ms
✓ src/tools/cron-list.test.ts (10 tests) 152ms
✓ src/tools/team-create.test.ts (12 tests) 175ms
✓ src/followup/speculationToolGate.test.ts (32 tests) 126ms
✓ src/utils/retryPolicy.test.ts (20 tests) 24ms
✓ src/tools/mcp-workspace-budget.test.ts (17 tests) 16ms
✓ src/memory/team-paths.test.ts (10 tests) 18ms
✓ src/tools/team-create-reclaim-race.test.ts (2 tests) 184ms
✓ src/core/environmentContext.mcp-subagent.test.ts (3 tests) 345ms
✓ src/utils/modelId.test.ts (26 tests) 15ms
✓ src/utils/qwenIgnoreParser.test.ts (12 tests) 45ms
✓ src/hooks/ssrfGuard.test.ts (27 tests) 25ms
✓ src/utils/filesearch/crawlCache.test.ts (13 tests) 64ms
✓ src/tools/client-mcp-registrar.test.ts (5 tests) 69ms
✓ src/utils/subagentGenerator.test.ts (9 tests) 77ms
✓ src/tools/skill-utils.test.ts (16 tests) 27ms
✓ src/agents/runtime/workflow-dispatch-scheduler.test.ts (13 tests) 189ms
✓ src/telemetry/trace-context.test.ts (18 tests) 11ms
✓ src/tools/diffOptions.test.ts (16 tests) 14ms
✓ src/tools/askUserQuestion.integration.test.ts (1 test) 26ms
✓ src/tools/shell.backgroundStatus.test.ts (3 tests) 1918ms
✓ background shell status sidecar (integration, real spawn) > reports running (with pid) while a quiet child keeps the output file empty, then completed 1685ms
✓ src/hooks/envInterpolator.test.ts (34 tests) 23ms
✓ src/utils/contextLengthError.test.ts (30 tests) 15ms
✓ src/core/turn-interruption.test.ts (15 tests) 11ms
✓ src/providers/__tests__/model-discovery.test.ts (18 tests) 21ms
✓ src/config/config.workflow-registration.test.ts (6 tests) 37ms
✓ src/mcp/token-storage/base-token-storage.test.ts (14 tests) 23ms
[warn] Corrupt extension state file /tmp/ext-prefs-7nwEy7/nested/extension-preferences.json moved aside to /tmp/ext-prefs-7nwEy7/nested/extension-preferences.json.corrupted
✓ src/extension/extensionPreferences.test.ts (11 tests) 27ms
✓ src/utils/runtimeDiagnostics.test.ts (4 tests) 12ms
✓ src/telemetry/gen-ai-provider.test.ts (64 tests) 15ms
✓ src/extension/gemini-converter.test.ts (11 tests) 16ms
✓ src/tools/mcp-resource-content.test.ts (13 tests) 14ms
✓ src/utils/safeJsonStringify.test.ts (17 tests) 9ms
✓ src/utils/editHelper.test.ts (17 tests) 11ms
✓ src/agents/runtime/workflow-journal.test.ts (16 tests) 36ms
✓ src/providers/__tests__/presets/alibaba-token-plan.test.ts (4 tests) 12ms
✓ src/hooks/detectTodoChanges.test.ts (12 tests) 10ms
✓ src/followup/overlayFs.test.ts (15 tests) 47ms
✓ src/utils/image-view.test.ts (10 tests) 228ms
✓ src/memory/pending-skills.test.ts (11 tests) 59ms
✓ src/goals/goal-persistence.test.ts (13 tests) 12ms
✓ src/agents/runtime/subagent-plan-tool-policy.test.ts (6 tests) 12ms
✓ src/utils/workspace-artifact-directory.test.ts (9 tests) 38ms
✓ src/extension/extension-git-client.test.ts (12 tests) 70ms
✓ src/core/goal-turn-integration.test.ts (3 tests) 21ms
✓ src/models/reproduce-401.test.ts (3 tests) 14ms
✓ src/core/output-styles.test.ts (20 tests) 12ms
✓ src/tools/request-shutdown.test.ts (9 tests) 70ms
✓ src/agents/runtime/workflow-budget.test.ts (20 tests) 12ms
✓ src/core/openaiContentGenerator/http413-payload.test.ts (2 tests) 175ms
✓ src/followup/smoke.test.ts (21 tests) 28ms
✓ src/tools/artifact/html.test.ts (38 tests) 15ms
✓ src/tools/display-image.test.ts (7 tests) 96ms
✓ src/providers/__tests__/presets/custom-provider.test.ts (11 tests) 15ms
✓ src/tools/artifact/host-publisher.test.ts (17 tests) 33ms
✓ src/test-utils/mockWorkspaceContext.test.ts (9 tests) 18ms
Error: Unsupported mode "midnight". Use "light" or "dark".
✓ src/skills/bundled/dataviz/scripts/validate_palette.test.js (19 tests) 283ms
✓ src/tools/team-delete.test.ts (7 tests) 1086ms
✓ TeamDeleteTool > deletes an active team 305ms
✓ src/core/anthropicContentGenerator/usage.test.ts (10 tests) 8ms
✓ src/config/config.workflows.test.ts (4 tests) 22ms
✓ src/utils/errorReporting.test.ts (8 tests) 20ms
✓ src/mcp/sa-impersonation-provider.test.ts (8 tests) 17ms
✓ src/ide/ide-installer.test.ts (10 tests) 21ms
✓ src/core/openaiContentGenerator/provider/mimo.test.ts (9 tests) 14ms
✓ src/tools/team-plan-approval.test.ts (9 tests) 17ms
✓ src/tools/task-create.test.ts (9 tests) 110ms
✓ src/extension/extension-converter.test.ts (4 tests) 33ms
✓ src/hooks/types.test.ts (15 tests) 11ms
✓ src/utils/runtime-fetch-options.no-proxy.test.ts (3 tests) 84ms
✓ src/extension/i18n.test.ts (16 tests) 9ms
✓ src/memory/secret-scanner.test.ts (29 tests) 256ms
✓ src/ide/process-utils.test.ts (6 tests) 10ms
✓ src/extension/extension-git-credentials.test.ts (4 tests) 293ms
✓ src/core/ask-user-question-restore.test.ts (8 tests) 8ms
✓ src/utils/proxyUtils.test.ts (23 tests) 12ms
✓ src/skills/skill-manager.read-model.test.ts (3 tests) 107ms
✓ src/utils/textUtils.test.ts (25 tests) 10ms
✓ src/utils/cronDisplay.test.ts (7 tests) 11ms
✓ src/utils/terminalSafe.test.ts (16 tests) 10ms
✓ src/goals/goal-checkpoint.test.ts (7 tests) 12ms
✓ src/resources/resource-registry.test.ts (11 tests) 24ms
✓ src/utils/safeJsonParse.test.ts (14 tests) 12ms
✓ src/skills/bundled/loop/SKILL.test.ts (7 tests) 30ms
✓ src/skills/skill-install-artifacts.test.ts (2 tests) 26ms
✓ src/core/message-display-buffer.test.ts (9 tests) 9ms
✓ src/tools/enter-worktree.session.integ.test.ts (2 tests) 808ms
✓ EnterWorktreeTool — WorktreeSession sidecar > writes a WorktreeSession sidecar with all fields after creating worktree 368ms
✓ EnterWorktreeTool — WorktreeSession sidecar > overwrites a previous sidecar when entering a new worktree in the same session 437ms
✓ src/core/tool-invocation-guard.test.ts (11 tests) 14ms
✓ src/core/reasoning-effort.test.ts (13 tests) 10ms
✓ src/providers/__tests__/presets/alibaba-standard.test.ts (8 tests) 13ms
✓ src/ide/detect-ide.test.ts (14 tests) 10ms
✓ src/memory/scan.test.ts (4 tests) 36ms
✓ src/providers/__tests__/presets/moonshot.test.ts (6 tests) 14ms
✓ src/core/openaiContentGenerator/provider/minimax.test.ts (9 tests) 10ms
✓ src/goals/goal-legacy-projection.test.ts (13 tests) 10ms
✓ src/tools/mcp-discovery-timeout.test.ts (14 tests) 18ms
✓ src/core/permission-helpers.test.ts (8 tests) 11ms
✓ src/tools/send-message.broadcast.test.ts (3 tests) 113ms
✓ src/extension/override.test.ts (16 tests) 10ms
✓ src/prompts/prompt-registry.test.ts (11 tests) 26ms
✓ src/agents/team/identity.test.ts (15 tests) 9ms
✓ src/utils/projectPath.test.ts (12 tests) 12ms
✓ src/extension/settings.test.ts (10 tests) 10ms
✓ src/ipc/uds-client.test.ts (6 tests) 37ms
✓ src/core/loggingContentGenerator/streamContentDetection.test.ts (16 tests) 9ms
✓ src/utils/sanitize-child-env.test.ts (10 tests) 9ms
✓ src/tools/grepReadTracking.test.ts (7 tests) 22ms
✓ src/utils/conversation-chain.test.ts (8 tests) 13ms
✓ src/services/generatedFiles.test.ts (11 tests) 12ms
✓ src/utils/request-payload-error.test.ts (8 tests) 11ms
✓ src/utils/thoughtUtils.test.ts (15 tests) 8ms
✓ src/extension/zip-extraction.test.ts (3 tests) 25ms
✓ src/services/visionBridge/image-part-utils.test.ts (18 tests) 10ms
✓ src/mcp/configHash.test.ts (16 tests) 11ms
✓ src/skills/skill-curator.reread.test.ts (1 test) 41ms
✓ src/tools/cron-delete.test.ts (7 tests) 109ms
✓ src/ipc/socket-path.test.ts (9 tests) 10ms
✓ src/utils/configResolver.test.ts (12 tests) 9ms
✓ src/utils/xml.test.ts (10 tests) 15ms
✓ src/hooks/trustedHooks.test.ts (5 tests) 9ms
✓ src/telemetry/file-exporters.test.ts (3 tests) 14ms
✓ src/core/session-recovery.test.ts (4 tests) 14ms
✓ src/core/openaiContentGenerator/provider/mistral.test.ts (4 tests) 12ms
✓ src/agents/team/promptAddendum.test.ts (6 tests) 7ms
✓ src/agents/arena/diff-summary.test.ts (8 tests) 8ms
✓ src/tools/pid-descendants.test.ts (6 tests) 531ms
✓ pid-descendants > integration: spawn-and-enumerate > enumerates one level of children via process-tree snapshot 510ms
✓ src/extension/agent-plugins-v1/manifest.test.ts (6 tests) 15ms
✓ src/services/gitWorktreeService.hooks.integ.test.ts (3 tests) 814ms
✓ src/providers/__tests__/presets/grok.test.ts (6 tests) 15ms
✓ src/services/attributionTrailer.test.ts (4 tests) 11ms
✓ src/utils/osc8.test.ts (13 tests) 11ms
✓ src/providers/__tests__/presets/idealab.test.ts (6 tests) 11ms
✓ src/hooks/user-prompt-submit-context.test.ts (13 tests) 12ms
✓ src/telemetry/event-loop-lag-metrics.test.ts (4 tests) 37ms
✓ src/core/openaiContentGenerator/provider/modelscope.test.ts (5 tests) 12ms
✓ src/extension/redaction.test.ts (13 tests) 8ms
✓ src/core/prompt-tool-examples.test.ts (2 tests) 116ms
✓ src/tools/web-fetch-preapproved.test.ts (13 tests) 9ms
✓ src/skills/skill-paths.test.ts (7 tests) 20ms
✓ src/utils/toml-to-markdown-converter.test.ts (11 tests) 30ms
✓ src/mcp/google-auth-provider.test.ts (8 tests) 23ms
✓ src/core/inlineMediaLimit.test.ts (13 tests) 9ms
✓ src/utils/filesearch/result-cache.test.ts (6 tests) 17ms
✓ src/utils/projectRoot.test.ts (5 tests) 24ms
✓ src/memory/team-memory-git-status.test.ts (5 tests) 126ms
✓ src/hooks/combinedAbortSignal.test.ts (8 tests) 317ms
✓ src/core/llm-request.test.ts (14 tests) 9ms
✓ src/extension/network-policy.test.ts (15 tests) 28ms
✓ src/skills/skill-load.real-parser.test.ts (7 tests) 31ms
✓ src/telemetry/session-context.test.ts (9 tests) 8ms
✓ src/config/installationManager.test.ts (4 tests) 10ms
✓ src/agents/team/leaderPermissionBridge.test.ts (7 tests) 8ms
✓ src/extension/storage.test.ts (5 tests) 10ms
✓ src/hooks/stopHookCap.test.ts (9 tests) 7ms
✓ src/memory/extractAgent.test.ts (1 test) 32ms
✓ src/utils/invocation-context.test.ts (12 tests) 9ms
✓ src/lsp/NativeLspClient.test.ts (2 tests) 8ms
✓ src/extension/agent-plugins-v1/skills.test.ts (3 tests) 31ms
✓ src/tools/tool-utils.test.ts (13 tests) 7ms
✓ src/test-utils/latency-budget.test.ts (6 tests) 10ms
✓ src/memory/dream.test.ts (3 tests) 33ms
✓ src/tools/tool-response-finalizer.integration.test.ts (2 tests) 22ms
✓ src/core/llm-content-generator/index.test.ts (3 tests) 11ms
✓ src/goals/activeGoalStore.test.ts (8 tests) 7ms
✓ src/skills/symlinkScope.test.ts (5 tests) 8ms
✓ src/skills/bundled-skills.integration.test.ts (15 tests) 37ms
✓ src/hooks/instructionsLoadedCallback.test.ts (4 tests) 11ms
✓ src/tools/syntheticOutput.test.ts (7 tests) 58ms
✓ src/memory/const.test.ts (5 tests) 8ms
✓ src/skills/bundled/computer-use/SKILL.test.ts (3 tests) 21ms
✓ src/utils/bundlePaths.test.ts (4 tests) 5ms
✓ src/providers/__tests__/presets/modelscope.test.ts (3 tests) 10ms
✓ src/telemetry/sanitize.test.ts (10 tests) 7ms
✓ src/goals/goal-runtime.integration.test.ts (2 tests) 22ms
✓ src/services/session-file-history-state.test.ts (2 tests) 18ms
✓ src/goals/goal-tool-result-provenance.test.ts (8 tests) 8ms
✓ src/services/sessionRecap.test.ts (1 test) 9ms
✓ src/services/session-service-writer-lease.test.ts (2 tests) 36ms
✓ src/utils/projectSummary.test.ts (3 tests) 29ms
✓ src/utils/workspace-artifact-path.test.ts (8 tests) 6ms
✓ src/tools/mcp-status.test.ts (6 tests) 6ms
✓ src/core/openaiContentGenerator/provider/grok.test.ts (8 tests) 12ms
✓ src/utils/shell-pager-env.test.ts (8 tests) 7ms
✓ src/utils/ripgrepUtils.real.test.ts (2 tests) 36ms
✓ src/agents/subagent-result.test.ts (18 tests) 8ms
✓ src/utils/language-detection.test.ts (6 tests) 6ms
✓ src/providers/__tests__/presets/zai.test.ts (3 tests) 11ms
✓ src/providers/__tests__/presets/alibaba-coding-plan.test.ts (2 tests) 10ms
✓ src/utils/formatters.test.ts (14 tests) 8ms
✓ src/core/genai-compat.test.ts (7 tests) 10ms
✓ src/memory/team-memory-secret-guard.test.ts (4 tests) 11ms
✓ src/providers/__tests__/presets/openrouter.test.ts (5 tests) 7ms
✓ src/extension/corruptFile.test.ts (2 tests) 14ms
✓ src/providers/__tests__/presets/requesty.test.ts (5 tests) 6ms
✓ src/test-utils/mockWorkspaceContext.fallback.test.ts (3 tests) 7ms
✓ src/agents/backends/tmux-commands.test.ts (8 tests) 8ms
✓ src/tools/artifact/local-publisher.test.ts (3 tests) 17ms
✓ src/telemetry/session-events.test.ts (5 tests) 19ms
✓ src/skills/bundled/loop/autonomous-loop.test.ts (3 tests) 6ms
✓ src/providers/__tests__/presets/deepseek.test.ts (3 tests) 9ms
✓ src/tools/tool-call-repeat-key.test.ts (3 tests) 9ms
✓ src/tools/zoom-image.sharp-failure.test.ts (1 test) 68ms
✓ src/utils/asyncMessageQueue.test.ts (7 tests) 6ms
✓ src/providers/__tests__/presets/minimax.test.ts (4 tests) 15ms
✓ src/tools/artifact/create-publisher.test.ts (5 tests) 6ms
✓ src/telemetry/telemetry.test.ts (2 tests) 86ms
✓ src/utils/load-simple-git.test.ts (3 tests) 21ms
✓ src/lsp/LspConnectionFactory.test.ts (2 tests) 116ms
✓ src/utils/startupEventSink.test.ts (4 tests) 11ms
✓ src/utils/request-tokenizer/supportedImageFormats.test.ts (2 tests) 8ms
✓ src/ipc/peer-routing.test.ts (4 tests) 5ms
✓ src/telemetry/api-activity-tracker.test.ts (3 tests) 6ms
✓ src/utils/internalPromptIds.test.ts (9 tests) 6ms
✓ src/lsp/configHash.test.ts (3 tests) 7ms
✓ src/telemetry/trace-id-utils.test.ts (8 tests) 14ms
✓ src/services/sync-file-encoding.test.ts (9 tests) 67ms
✓ src/utils/messageInspectors.test.ts (5 tests) 6ms
✓ src/telemetry/telemetry-utils.test.ts (6 tests) 6ms
✓ src/utils/load-iconv-lite.test.ts (3 tests) 25ms
✓ src/services/tool-write-origin.test.ts (9 tests) 7ms
✓ src/subagents/types.test.ts (3 tests) 6ms
✓ src/hooks/context-usage.test.ts (8 tests) 8ms
✓ src/utils/load-xterm-headless.test.ts (3 tests) 20ms
✓ src/index.test.ts (1 test) 7ms
✓ src/core/tool-call-preparation.test.ts (3 tests) 6ms
✓ src/tools/artifact/publisher.test.ts (5 tests) 8ms
✓ src/core/plan-mode-entry-policy.test.ts (8 tests) 5ms
✓ src/services/worktreeCleanup.test.ts (3 tests) 5ms
✓ src/memory/entries.test.ts (1 test) 7ms
✓ src/core/openaiContentGenerator/constants.test.ts (5 tests) 5ms
✓ src/core/tool-call-arguments.test.ts (8 tests) 6ms
✓ src/utils/getPty.test.ts (1 test) 5ms
✓ src/core/openaiContentGenerator/provider/openrouter.test.ts (6 tests) 6ms
✓ src/utils/env.test.ts (12 tests) 6ms
✓ src/models/image-generation-capability.test.ts (6 tests) 5ms
✓ src/goals/goal-turn-context.test.ts (1 test) 5ms
✓ src/telemetry/tool-call-decision.test.ts (1 test) 4ms
Test Files 632 passed | 1 skipped (633)
Tests 23191 passed | 10 skipped (23201)
Start at 05:53:05
Duration 1065.81s (transform 37.82s, setup 4.88s, collect 380.50s, tests 368.51s, environment 217ms, prepare 84.82s)
JUNIT report written to /build/qwen-code/src/qwen-code/packages/core/junit.xml
% Coverage report from v8
npm notice run @qwen-code/node-repl-mcp@0.1.2 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/node-repl
✓ src/kernel-manager.test.ts (46 tests) 9668ms
✓ NodeReplKernelManager > revalidates a module root after earlier queued work completes 414ms
✓ NodeReplKernelManager > replaces the process on reset, clears bindings, and retains roots 326ms
✓ NodeReplKernelManager > interrupts timed-out and cancelled cells without replacing the kernel 3152ms
✓ NodeReplKernelManager > drops delayed output instead of assigning it to a later execution 310ms
✓ NodeReplKernelManager > returns a structured crash and lazily recovers without bindings 409ms
✓ NodeReplKernelManager > disposes the process and temp directory and settles in-flight work 309ms
✓ src/node-repl.semantics.test.ts (18 tests) 2264ms
✓ src/mcp-server.test.ts (13 tests) 1565ms
✓ node_repl MCP server > dispose() kills the kernel child process 612ms
✓ src/cell-transform.test.ts (16 tests) 165ms
✓ src/output-adapter.test.ts (12 tests) 146ms
✓ src/protocol.test.ts (14 tests) 804ms
✓ FrameDecoder > reports an unterminated oversize stream and clears the buffer 381ms
✓ src/node-repl.scale.test.ts (2 tests) 1064ms
✓ node_repl scale & isolation > runs 100 consecutive mixed cells on a single kernel 398ms
✓ node_repl scale & isolation > isolates 10 concurrent kernels (no binding/pid/output cross-talk) 664ms
✓ src/node-repl.napi.test.ts (1 test) 5502ms
✓ src/node-repl.lines.test.ts (4 tests) 558ms
✓ src/win-path.test.ts (10 tests) 8ms
✓ src/node-repl.reload.test.ts (2 tests) 309ms
✓ src/security-policy.test.ts (4 tests) 9ms
✓ src/debug-log.test.ts (3 tests) 7ms
✓ src/tokenizer.test.ts (7 tests) 7ms
Test Files 14 passed (14)
Tests 152 passed (152)
Start at 06:11:03
Duration 27.18s (transform 423ms, setup 0ms, collect 1.03s, tests 22.08s, environment 4ms, prepare 1.48s)
npm notice run @qwen-code/qwen-live@0.1.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/qwen-live
✓ src/realtime/realtime-session.test.ts (38 tests) 99ms
✓ src/orchestrator/live-session.test.ts (41 tests) 8922ms
✓ LiveSession > actively reminds after a direct response leaves permission unresolved 1107ms
✓ LiveSession > cancels a pending reminder when a delayed permission tool call arrives 2359ms
✓ LiveSession > resubscribes after the event stream ends without session_closed 1058ms
✓ src/adaptor/qwen-code-adaptor.test.ts (44 tests) 54ms
✓ src/host/live-host-coordinator.test.ts (43 tests) 491ms
✓ src/adaptor/acp-adaptor.test.ts (12 tests) 900ms
✓ AcpAdaptor real child lifecycle > spawns, initializes, runs a prompt round-trip, and closes 319ms
✓ src/permissions/permission-broker.test.ts (20 tests) 22ms
✓ src/orchestrator/injector.test.ts (25 tests) 38ms
✓ src/host/live-host-installer.test.ts (11 tests) 106ms
✓ src/host/discovery.test.ts (14 tests) 150ms
qwen-live listening on http://127.0.0.1:44975
qwen-live listening on http://127.0.0.1:40129
qwen-live listening on http://127.0.0.1:44109
qwen-live listening on http://127.0.0.1:35903
qwen-live listening on http://127.0.0.1:34551
✓ src/daemon.test.ts (7 tests) 148ms
✓ src/tools/handles.test.ts (12 tests) 25ms
✓ src/config.test.ts (9 tests) 25ms
✓ src/tools/dispatcher.test.ts (14 tests) 15ms
✓ src/log/session-log.test.ts (5 tests) 38ms
↓ src/manual/qodercli-acp.test.ts (2 tests | 2 skipped)
✓ src/realtime/sanitize.test.ts (3 tests) 5ms
Test Files 15 passed | 1 skipped (16)
Tests 298 passed | 2 skipped (300)
Start at 06:11:30
Duration 19.13s (transform 1.62s, setup 0ms, collect 3.38s, tests 11.04s, environment 4ms, prepare 1.73s)
npm notice run @qwen-code/sdk@0.1.8 test
RUN v1.6.1 /build/qwen-code/src/qwen-code/packages/sdk-typescript
✓ test/unit/DaemonClient.test.ts (407 tests) 2328ms
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 (328 tests) 197ms
✓ test/unit/DaemonSessionClient.test.ts (76 tests) 504ms
✓ test/unit/daemonEvents.test.ts (111 tests) 51ms
2026-11-01 06:11:57 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-11-01 06:11:57 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process error: Spawn failed
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process terminated by signal SIGTERM
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process error: Process error
2026-11-01 06:11:57 [DEBUG] [ProcessTransport] Spawning CLI (native): qwen --input-format stream-json --output-format stream-json --channel=SDK
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process error: Process error
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-11-01 06:11:57 [ERROR] [ProcessTransport] CLI process terminated by signal SIGKILL
2026-11-01 06:11:57 [INFO] [ProcessTransport] CLI process started successfully
2026-11-01 06:11:57 [DEBUG] [ProcessTransport] Forking CLI (node): /path/to/cli.js --input-format stream-json --output-format stream-json --channel=SDK
2026-11-01 06:11:57 [INFO] [ProcessTransport] CLI process started successfully
✓ test/unit/ProcessTransport.test.ts (86 tests) 217ms
✓ test/unit/AcpHttpTransport.test.ts (49 tests) 93ms
2026-11-01 06:11:58 [ERROR] [Query] Control response error for request 03e1a439-5972-47df-a522-53fe40b8a27e: Test error
2026-11-01 06:11:58 [ERROR] [Query] Initialization error: Test error
2026-11-01 06:12:10 [ERROR] [Query] Initialization error: Query is closed
2026-11-01 06:12:22 [ERROR] [Query] Control response error for request 190de0d5-5c5e-4083-8a21-8aa2350ba527: Malformed error
✓ test/unit/Query.test.ts (66 tests) 24572ms
✓ test/unit/acpRouteTable.test.ts (106 tests) 53ms
✓ test/unit/daemon-public-surface.test.ts (20 tests) 20ms
[serve-bridge] Tool error: Error: something broke
at /build/qwen-code/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:151:44
at file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:135:14
at file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:60:26
at runTest (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:17)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///build/qwen-code/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 (/build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon/DaemonClient.ts:1204:13)
at DaemonClient.createOrAttachSession (/build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon/DaemonClient.ts:2963:7)
at /build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/session.ts:39:25
at Object.handler (/build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:14)
at /build/qwen-code/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:248:24
at runTest (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/agent.ts:33:17
at Object.handler (/build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:20)
at /build/qwen-code/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:462:39
at runTest (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/agent.ts:40:17
at Object.handler (/build/qwen-code/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:20)
at /build/qwen-code/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:492:39
at runTest (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///build/qwen-code/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///build/qwen-code/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) 99ms
✓ test/unit/RestSseTransport.test.ts (47 tests) 140ms
✓ test/unit/DaemonClientStandalone.test.ts (31 tests) 82ms
✓ test/unit/DaemonClient.upload.test.ts (28 tests) 69ms
✓ test/daemon-ui-transcript.test.ts (22 tests) 26ms
✓ test/unit/daemon-transcript-projection.test.ts (15 tests) 46ms
✓ test/unit/AcpWsTransport.test.ts (34 tests) 42ms
✓ test/unit/DaemonAuthFlow.test.ts (14 tests) 13029ms
✓ test/unit/cliPath.test.ts (33 tests) 58ms
✓ test/unit/daemon-sse.test.ts (18 tests) 29ms
✓ test/unit/AutoReconnectTransport.test.ts (19 tests) 36ms
✓ test/unit/DaemonClientVoice.test.ts (8 tests) 49ms
✓ test/unit/createSdkMcpServer.test.ts (18 tests) 42ms
2026-11-01 06:12:43 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"Transport closed before control response"}
2026-11-01 06:12:43 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"transport read crashed"}
2026-11-01 06:12:43 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":0,"pendingMcp":1,"error":"Transport closed before control response"}
2026-11-01 06:12:43 [ERROR] [Query] Control response error for request 4396531b-726c-4760-ac20-d373af99d8f0: no turn to continue
✓ test/query.test.ts (7 tests) 48ms
✓ test/unit/negotiateTransport.test.ts (15 tests) 120ms
✓ test/unit/AcpEventDenormalizer.test.ts (20 tests) 12ms
✓ test/unit/Stream.test.ts (22 tests) 47ms
✓ test/unit/transcriptStoreChanges.test.ts (11 tests) 18ms
✓ test/unit/queryOptionsSchema.test.ts (81 tests) 28ms
✓ test/unit/DaemonClientLive.test.ts (3 tests) 20ms
✓ test/unit/createQuery.test.ts (5 tests) 48ms
✓ test/unit/isSubagentSessionNotFound.test.ts (15 tests) 7ms
✓ test/unit/serve-bridge-bin.test.ts (2 tests) 371ms
✓ test/unit/sessionPr.test.ts (4 tests) 6ms
✓ test/unit/daemon-transports-surface.test.ts (4 tests) 5ms
✓ test/unit/DaemonWorkspaceManagement.test.ts (1 test) 12ms
✓ test/unit/approval-mode-drift.test.ts (1 test) 4ms
✓ test/unit/acpTransportUtils.test.ts (3 tests) 3ms
✓ test/unit/daemon-pending-interaction-types.test.ts (1 test) 3ms
Test Files 38 passed (38)
Tests 1769 passed (1769)
Start at 06:11:50
Duration 66.59s (transform 7.63s, setup 7ms, collect 13.57s, tests 42.53s, environment 10ms, prepare 4.17s)
npm notice run qwen-code-vscode-ide-companion@0.23.0 test
RUN v3.2.7 /build/qwen-code/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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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 > WebViewProvider initial model inheritance > does not apply a discontinued initial model to the new session
[WebViewProvider] Initializing with new session (skipping restoration)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > does not apply a discontinued initial model to the new session
[WebViewProvider] ACP session created successfully
stderr | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > does not apply a discontinued initial model to the new session
[WebViewProvider] Skipping discontinued initial model: qwen3-coder-plus(qwen-oauth)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > does not apply a discontinued initial model to the new session
[WebViewProvider] Initializing empty conversation
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > does not apply a discontinued initial model to the new session
[WebViewProvider] Empty conversation initialized: null
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > still applies a runtime snapshot id that wraps a discontinued model
[WebViewProvider] Initializing with new session (skipping restoration)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > still applies a runtime snapshot id that wraps a discontinued model
[WebViewProvider] ACP session created successfully
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > still applies a runtime snapshot id that wraps a discontinued model
[WebViewProvider] Initializing empty conversation
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > still applies a runtime snapshot id that wraps a discontinued model
[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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2185:13
at mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at spy (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at safeRollback (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1466:9)
at WebViewProvider.handleAuthInteractive (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1518:9)
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2201:5
at file:///build/qwen-code/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. (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2238:13)
at WebViewProvider.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at WebViewProvider.spy [as doInitializeAgentConnection] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at WebViewProvider.handleAuthInteractive (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1503:18)
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2241:5
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
[WebViewProvider] settings rollback failed: Error: EPERM: rename failed
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2185:13
at mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at spy (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at safeRollback (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1466:9)
at WebViewProvider.handleAuthInteractive (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1540:7)
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2241:5
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > surfaces the failure to an attached webview when another host switches the shared daemon workspace
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > surfaces the failure to an attached webview when another host switches the shared daemon workspace
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > surfaces the failure to an attached webview when another host switches the shared daemon workspace
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > surfaces the failure to an attached webview when another host switches the shared daemon workspace
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > does not notify a host about a workspace switch it triggers itself
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > does not notify a host about a workspace switch it triggers itself
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > keeps notifying live hosts after another host disposes
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > keeps notifying live hosts after another host disposes
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > keeps notifying live hosts after another host disposes
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell daemon bootstrap > keeps notifying live hosts after another host disposes
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > routes accept to the request-owner webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > routes accept to the request-owner webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > routes cancel as a reject decision
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > routes cancel as a reject decision
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote when a diff command has no exact request id
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote when a diff command has no exact request id
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not route an unknown request id to the active webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not route an unknown request id to the active webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote when the trigger is the original workspace file
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote when the trigger is the original workspace file
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote before permission ownership state arrives
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > does not vote before permission ownership state arrives
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > reports hasPendingPermission from the webview-pushed state
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > reports hasPendingPermission from the webview-pushed state
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > clears the pending flag when the hosting view is disposed
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider web-shell permission bridge > clears the pending flag when the hosting view is disposed
[WebViewProvider] Attempting connection...
✓ src/webview/providers/WebViewProvider.test.ts (65 tests) 1925ms
✓ WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true 306ms
✓ WebViewProvider.handleAuthInteractive credential rollback > disconnects the agent after rolling back rejected credentials 306ms
✓ WebViewProvider.handleAuthInteractive credential rollback > does NOT restore when the reconnect authenticates (authState === true) 305ms
✓ WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends 321ms
✓ WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) 309ms
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends inline file contents to ACP without exposing them in the user display
[SessionMessageHandler] handleSendMessage called { textLength: 24, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends inline file contents to ACP without exposing them in the user display
[SessionMessageHandler] No active conversation, creating one...
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends inline files when the user text is empty
[SessionMessageHandler] handleSendMessage called { textLength: 0, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends inline files when the user text is empty
[SessionMessageHandler] No active conversation, creating one...
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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:532:50
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:532:50
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:835:28
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:888:28
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1146:47
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1195:46
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1286:51
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/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 (28 tests) 104ms
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) 85ms
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-O3DrRG/.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 (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:186:17)
at createFileSettingsAdapter (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:438:14)
at Module.applyProviderInstallPlanToFile (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:547:20)
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:300:20
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/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-mkRioL/.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 (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:186:17)
at Module.snapshotSettingsForRollback (/build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:565:28)
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:457:24
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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) 51ms
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 the active group when neither neighbor exists
[FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: -1
✓ src/webview/handlers/FileMessageHandler.test.ts (10 tests) 34ms
✓ src/services/qwenSessionUpdateHandler.test.ts (19 tests) 24ms
✓ src/ide-server.test.ts (13 tests | 1 skipped) 250ms
✓ src/open-files-manager.test.ts (17 tests) 41ms
✓ src/extension.test.ts (15 tests) 82ms
✓ src/webview/handlers/AuthMessageHandler.test.ts (10 tests) 21ms
✓ src/utils/paths.test.ts (18 tests) 20ms
✓ scripts/generate-notices.test.js (23 tests) 51ms
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-ZsvLIT/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-ZsvLIT/session.jsonl
[QwenAgentManager] JSONL messages reconstructed: 1
✓ src/services/qwenAgentManager.test.ts (12 tests) 55ms
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) 20ms
✓ src/webview/utils/copyTranscript.test.ts (19 tests) 10ms
✓ src/commands/index.test.ts (8 tests) 15ms
stderr | src/webview/utils/imageHandler.test.ts > imageHandler > returns null when file write throws
[ImageHandler] Failed to save image: Error: disk full
at /build/qwen-code/src/qwen-code/packages/vscode-ide-companion/src/webview/utils/imageHandler.test.ts:111:41
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/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:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
✓ src/webview/utils/imageHandler.test.ts (13 tests) 30ms
✓ src/utils/acpModelInfo.test.ts (15 tests) 17ms
✓ src/services/qwenDaemonProcess.test.ts (7 tests) 14ms
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) 18ms
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) 30ms
✓ src/utils/tokenLimits.test.ts (15 tests) 13ms
✓ src/services/sessionExportService.test.ts (9 tests) 16ms
✓ src/diff-manager.test.ts (5 tests) 12ms
✓ src/utils/editorGroupUtils.test.ts (12 tests) 8ms
✓ src/webview/providers/WebViewContent.test.ts (11 tests) 10ms
✓ src/webview/utils/discontinuedModel.test.ts (13 tests) 9ms
✓ src/utils/logger.test.ts (5 tests) 20ms
✓ src/services/subscriptionPlanDefinitions.test.ts (3 tests) 16ms
✓ src/webview/hooks/useVSCode.test.ts (3 tests) 28ms
✓ src/services/qwenSessionReader.test.ts (1 test) 19ms
✓ src/services/qwenTranscriptText.test.ts (4 tests) 5ms
✓ src/package.test.ts (3 tests) 12ms
✓ src/webview/providers/ChatWebviewViewProvider.test.ts (2 tests) 10ms
✓ src/webview/providers/ChatProviderRegistry.test.ts (2 tests) 7ms
✓ src/utils/imageSupport.bundle.test.ts (2 tests) 2304ms
✓ imageSupport browser bundling > does not leave qwen-code-core runtime imports in the embedded webview bundle 2278ms
✓ src/webview/providers/chatViewRegistration.test.ts (1 test) 7ms
✓ src/utils/imageSupport.test.ts (2 tests) 6ms
✓ src/utils/file-path.test.ts (4 tests) 9ms
✓ src/utils/errorMessage.test.ts (2 tests) 4ms
stderr | src/webview/EmbeddedApp.test.tsx > EmbeddedApp host wiring > routes auth and session-change host actions to the extension
An update to EmbeddedApp inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EmbeddedApp inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/EmbeddedApp.test.tsx (18 tests) 801ms
✓ src/webview/components/SessionHistoryDropdown.test.tsx (3 tests) 180ms
✓ src/webview/utils/fileLinks.test.ts (16 tests) 16ms
✓ src/webview/strings.test.ts (2 tests) 7ms
Test Files 44 passed (44)
Tests 501 passed | 1 skipped (502)
Start at 06:12:58
Duration 71.07s (transform 7.34s, setup 0ms, collect 45.02s, tests 6.41s, environment 2.26s, prepare 6.17s)
npm notice run @qwen-code/web-shell@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/web-shell/client
stderr | App.test.tsx > artifact panel fullscreen > rethrows a rejected permission submission so the overlay re-arms
[web-shell] daemon unavailable Error: daemon unavailable
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:3383:21
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 shell command queueing > reports an error and skips the command when session creation fails
[web-shell] no session Error: no session
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:7451:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:7986:30
at file:///build/qwen-code/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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > does not query a workspace catalog for a Live session 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
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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > appends composer actions without replacing context-sensitive defaults
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action when configured and advertised
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action when configured and advertised
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action without the capability
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action without the capability
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action when it is not configured
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 manual terminal action when it is not configured
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > keeps a newer standalone draft when an older session load fails
[web-shell] stale load failed Error: stale load failed
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:11134:19
at Proxy.process.env.NODE_ENV.exports.act (/build/qwen-code/src/qwen-code/node_modules/react/cjs/react.development.js:814:22)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:11133:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > closes the Add workspace dialog when navigation enters a standalone chat
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 workspace model settings when navigation enters a standalone chat
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:11926:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:11967:30
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | App.test.tsx > App session callbacks > rejects an untrusted draft workspace before its cleanup effect runs
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 an untrusted draft workspace before its cleanup effect runs
[web-shell] The selected workspace is unavailable or untrusted Error: The selected workspace is unavailable or untrusted
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:6792:15
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:6887:5
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:7097:36
at submitPromptFromEditor (/build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:11221:9)
at Object.current (/build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:12306:16)
at Object.onSubmit (/build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:12386:40)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:12352:40
at Proxy.process.env.NODE_ENV.exports.act (/build/qwen-code/src/qwen-code/node_modules/react/cjs/react.development.js:814:22)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:12351:5
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > removes declaration-only enables from a mixed pending mutation
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > removes declaration-only enables from a mixed pending mutation
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:14523:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > renames a /clear successor from persisted manual title provenance
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > renames a /clear successor from persisted manual title provenance
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > renames a /clear successor from persisted manual title provenance
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > attaches a /clear successor when carrying its title fails
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > attaches a /clear successor when carrying its title fails
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > attaches a /clear successor when carrying its title fails
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 carry an automatic title across /clear
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 carry an automatic title across /clear
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 carry an automatic title across /clear
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > discards an armed /clear carry when a shrink-fold lands on a split pane
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > discards an armed /clear carry when a shrink-fold lands on a split pane
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > discards an armed /clear carry when a shrink-fold lands on a split pane
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 notify session change when missing-session new chat fails
[web-shell] network Error: network
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:15118:59
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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
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 (/build/qwen-code/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:133:13)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:6804: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 (/build/qwen-code/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:133:13)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:6804: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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:17844:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
[web-shell] create failed Error: create failed
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:17844:26
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:19946:19
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > reports failure when the current session cannot be cleared
[web-shell] locked Error: locked
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:22102:59
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
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 (/build/qwen-code/src/qwen-code/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
at navigateFetch (/build/qwen-code/src/qwen-code/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
at exports.navigate (/build/qwen-code/src/qwen-code/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
at Timeout._onTimeout (/build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:25204:9
at Proxy.process.env.NODE_ENV.exports.act (/build/qwen-code/src/qwen-code/node_modules/react/cjs/react.development.js:814:22)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:25202:5
at file:///build/qwen-code/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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > reports a recovered standalone load failure without reverting to archived
[web-shell] load failed Error: load failed
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:26421:54
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 (/build/qwen-code/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:145:13)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:6804: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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:10870: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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:10862: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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.tsx:10870: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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:29553:7
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/App.test.tsx:29905:59
at file:///build/qwen-code/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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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 (675 tests) 73824ms
✓ App session callbacks > revalidates a partial Skill mutation only within its workspace 321ms
✓ App session callbacks > observes MCP config reconciliation and reports a timeout 339ms
✓ App session callbacks > does not show MCP discovery progress before or after completion 323ms
✓ App prompt send failure retry > settles a prompt retry after a same-id attachment replacement 340ms
stdout | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > resumes standalone sessions through the dedicated route
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps standalone working-directory failures target-scoped
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > fails a Live load once when runtime ownership is ambiguous
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reloads a controlled standalone session once after a baseUrl change
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reloads a controlled standalone session once after a baseUrl change
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles a workspace load when the daemon reports a canonical cwd
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4171
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4171
}
}
stderr | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not inherit a failed controlled target in a baseUrl-only provider
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not inherit a failed controlled target in a baseUrl-only provider
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stderr | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > creates a fresh standalone session without the generic route
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > surfaces direct standalone create recovery without retrying
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > preserves action-created standalone recovery across baseUrl-only dependency churn
[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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears stale standalone identity after a plain fresh-create failure
[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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > can send immediately after creating a session from the empty state
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > can send immediately after creating a session from the empty state
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > adds daemon goal set and paused status metadata to the transcript
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes mid_turn_message_injected frames to the sidechannel and transcript
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not restart the event stream after prompt acceptance by default
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps prompt loading active after non-blocking prompt acceptance
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > restarts the event stream when aborting the subscription throws
[DaemonSessionProvider] SSE stream ended
stdout | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > shows waiting state when a queued prompt starts before assistant output
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles non-blocking prompts when turn completion arrives before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > allows the next prompt after a turn completes before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rejects the prompt when turn_error arrives before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > sends image prompt content through the daemon action
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > passes retry prompts through the daemon action
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes pending permission blocks
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes workspace event signals from daemon session events
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > only invalidates session artifacts from standalone session events
[DaemonSessionProvider] SSE stream ended
stderr | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > only invalidates session artifacts from standalone 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > only invalidates session artifacts from live session events
[DaemonSessionProvider] SSE stream ended
stderr | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > only invalidates session artifacts from live 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > deduplicates skill toggle settings events from the generic settings signal
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > treats prompt abort during cancel as cancellation and keeps busy until cancel completes
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps cancellation turn errors in the transcript
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes prompt cancellation events as transcript blocks
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps forward-failed prompt cancellations out of blocks
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reuses the same session client after a normal SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not inject replay snapshot again after a normal SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps replay-derived pagination state across a same-session reconnect
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after an SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt completes
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_complete arrives
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_complete arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > attaches a live branch point only to its restored prompt response
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_error arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not revive settled restored active prompts after SSE reconnect
[DaemonSessionProvider] SSE stream ended
stderr | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reloads standalone sessions through the standalone route after resync
[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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears the session when reconnect is disabled after SSE stream end
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not settle unaccepted prompts from historical replay turns
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not settle unaccepted prompts from historical replay turns
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not settle unaccepted prompts from historical replay turns
[DaemonSessionProvider] SSE stream ended
stdout | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > preserves session and uses delta resume after a retriable SSE error
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=session-1)
stdout | 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 | 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 | 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 | 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 | 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 | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
[DaemonSessionProvider] SSE stream ended
stderr | 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 | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes session_died errors to notices, not transcript
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > deduplicates live and snapshot recording degradation notices
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears a degraded notice after an authoritative healthy snapshot
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > allows a later degraded snapshot to restore a dismissed notice
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes stream_error to notices with connection category
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes model_switch_failed to notices with user_action category
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps turn_error in transcript instead of routing to notices
[DaemonSessionProvider] SSE stream ended
stdout | daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes client_evicted to notices with connection category
[DaemonSessionProvider] SSE stream ended
✓ daemon/session/DaemonSessionProvider.test.tsx (280 tests) 6464ms
✓ DaemonSessionProvider > keeps restored active prompts streaming after resync requests 976ms
✓ DaemonSessionProvider > reloads stale transcript after epoch-reset resync 1031ms
stderr | components/MessageList.dom.test.tsx > MessageList — turn collapse (DOM) > clears the retry block of a failed previous-session load on switch
An update to ForwardRef(MessageList2) inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to ForwardRef(MessageList2) inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/MessageList.dom.test.tsx (163 tests) 4358ms
✓ MessageList — turn collapse (DOM) > releases pagination when a virtual anchor never mounts 584ms
✓ MessageList — turn collapse (DOM) > does not auto-load again when an underfill page adds no content 569ms
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 workspace removal > never offers removal on the primary workspace menu
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 > offers a worktree task only on workspaces that report a git branch
An update to WebShellSidebar inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WebShellSidebar inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > passes the explicit primary cwd to a primary workspace worktree task
An update to WebShellSidebar inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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 > keeps the action wrapper visible while its menu is open
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 > offers rename on registration-backed rows only
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 > keeps plain folder headers when the overview is switched off
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 > opens management pages for the primary workspace only
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
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar session source switch > returns to task sessions when the switch is hidden at runtime
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 (115 tests) 16025ms
✓ WebShellSidebar workspace removal > gives a locked trusted secondary active row normal actions through its workspace 514ms
✓ WebShellSidebar workspace removal > does not assign a created group after its locked workspace unlocks 361ms
✓ WebShellSidebar workspace removal > routes locked secondary delete, archive, color, and pinned mutations only to its client 553ms
✓ WebShellSidebar workspace removal > offers rename only on dynamic-registration daemons and saves through the registry 358ms
✓ WebShellSidebar workspace removal > does not reopen the details popover after a workspace menu selection 967ms
✓ WebShellSidebar session source switch > preserves channel completion state while the tasks source is active 402ms
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > removes a cross-client started prompt when its refresh fails
Failed to refresh pending prompts Error: pending refresh failed
at /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:388:9
at file:///build/qwen-code/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) > does not resend when a capable daemon reconciliation is unavailable
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1101:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1101:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1101:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1461:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1461:7
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1673:9
at file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:3810:9
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
✓ hooks/useQueuedPrompts.midTurnReconcile.test.tsx (103 tests) 712ms
✓ components/ChatEditor.test.tsx (107 tests) 6360ms
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) 10586ms
✓ EnhancedMarkdownTable > sorts numeric columns from header clicks 339ms
✓ EnhancedMarkdownTable > applies text filter operators and reset 924ms
✓ components/SessionOverviewPanel.test.tsx (96 tests) 11196ms
✓ SessionOverviewPanel > keeps equal session ids in different workspaces independent 373ms
✓ SessionOverviewPanel > keeps the current page when live session data changes 331ms
✓ SessionOverviewPanel > selects every session across pages like the old overview 902ms
✓ SessionOverviewPanel > filters rows by workspace via the multi-select panel 361ms
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 /build/qwen-code/src/qwen-code/packages/web-shell/client/components/artifacts/ArtifactPanel.test.tsx:2308:44
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/components/artifacts/ArtifactPanel.test.tsx:2479:46
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
✓ components/artifacts/ArtifactPanel.test.tsx (60 tests) 1446ms
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 (116 tests) 1444ms
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) 276ms
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 (84 tests) 377ms
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. (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/sidebar/WorkspaceSection.test.tsx:436:28)
at Object.mockCall (file:///build/qwen-code/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as listWorkspaceSessionsPage] (file:///build/qwen-code/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at SessionCatalogStore.fetchPage (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1254:12)
at SessionCatalogStore.startJob (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1119:26)
at SessionCatalogStore.drainQueue (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1107:12)
at SessionCatalogStore.ensureScheduled (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1088:10)
at SessionCatalogStore.requestBackground (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1042:10)
at SessionCatalogStore.subscribe (/build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:394:12)
at /build/qwen-code/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-hooks.ts:72: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
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
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/WorkspaceSection.test.tsx (55 tests) 3037ms
✓ WorkspaceSection content search > merges content hits not in the loaded catalog and forwards the snippet 361ms
✓ WorkspaceSection content search > keeps the catalog entry for a content hit already listed locally 360ms
✓ WorkspaceSection content search > renders a pinned ghost hit instead of dropping it with excludePinned 361ms
✓ WorkspaceSection content search > drops a hit row after its session is deleted while the query stays active 714ms
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) 280ms
✓ components/messages/ToolGroup.test.tsx (85 tests) 717ms
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > claims image drops, blocks submit while reading, and submits image-only
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 > claims image drops, blocks submit while reading, and submits image-only
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 > claims image drops, blocks submit while reading, and submits image-only
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ hooks/useComposerCore.dom.test.tsx (64 tests) 2075ms
✓ components/sidebar/WebShellSidebar.session-pinning.test.tsx (32 tests) 4250ms
✓ WebShellSidebar content-search ghosts > renders a pinned ghost hit with its snippet in the flat list 464ms
✓ WebShellSidebar content-search ghosts > renders a pinned ghost hit in the Ungrouped section when organization is enabled 484ms
✓ WebShellSidebar content-search ghosts > renders a pinned content hit exactly once, whoever the Pinned section carries 500ms
✓ WebShellSidebar content-search ghosts > mounts the rename form for a pinned ghost row in the org section renderer 502ms
✓ session-catalog/session-catalog-store.test.ts (57 tests) 111ms
✓ components/messages/Markdown.test.ts (77 tests) 2377ms
✓ Markdown code highlighting while streaming > keeps a growing block plain and highlights it once settled 472ms
✓ Markdown code highlighting while streaming > applies Shiki highlighting once a code block has settled 314ms
✓ Markdown code highlighting while streaming > drops stale highlighted HTML when the code is replaced (regeneration) 626ms
✓ components/sidebar/WebShellSidebar.collapse-persist.test.tsx (33 tests) 4334ms
✓ WebShellSidebar collapsed session group persistence > keeps project sessions available from the collapsed sidebar 509ms
✓ WebShellSidebar collapsed session group persistence > does not let a stale hover-close timer close a reopened switcher 320ms
✓ WebShellSidebar collapsed session group persistence > lets the switcher close after a tracked menu unmounts 411ms
✓ WebShellSidebar collapsed session group persistence > keeps the switcher open while the group picker is open 370ms
✓ WebShellSidebar collapsed session group persistence > keeps the switcher open while keyboard focus is inside it 336ms
✓ components/messages/tools/ParallelAgentsGroup.test.tsx (42 tests) 533ms
✓ components/dialogs/ScheduledTasksDialog.test.tsx (57 tests) 1669ms
✓ components/messages/AskUserQuestion.test.tsx (70 tests) 1056ms
✓ components/messages/PlanExecutionView.test.tsx (29 tests) 477ms
✓ components/BranchPickerPopover.test.tsx (42 tests) 847ms
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/web-shell/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:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17)
at Object.get (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16)
at UsageDashboardTab (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:202:49)
at Object.react_stack_bottom_frame (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/build/qwen-code/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/web-shell/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\x1B[33m.\x1B[39m\x1B[34mmock\x1B[39m(\x1B[35mimport\x1B[39m(\x1B[32m"@qwen-code/web-shell/daemon-react-sdk"\x1B[39m)\x1B[33m,\x1B[39m \x1B[35masync\x1B[39m (importOriginal) \x1B[33m=>\x1B[39m {\n' +
' \x1B[35mconst\x1B[39m actual \x1B[33m=\x1B[39m \x1B[35mawait\x1B[39m \x1B[34mimportOriginal\x1B[39m()\n' +
' \x1B[35mreturn\x1B[39m {\n' +
' \x1B[33m...\x1B[39mactual\x1B[33m,\x1B[39m\n' +
' \x1B[90m// your mocked methods\x1B[39m\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/web-shell/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:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17)
at Object.get (file:///build/qwen-code/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16)
at UsageDashboardTab (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:202:49)
at Object.react_stack_bottom_frame (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41) {
codeFrame: 'vi\x1B[33m.\x1B[39m\x1B[34mmock\x1B[39m(\x1B[35mimport\x1B[39m(\x1B[32m"@qwen-code/web-shell/daemon-react-sdk"\x1B[39m)\x1B[33m,\x1B[39m \x1B[35masync\x1B[39m (importOriginal) \x1B[33m=>\x1B[39m {\n' +
' \x1B[35mconst\x1B[39m actual \x1B[33m=\x1B[39m \x1B[35mawait\x1B[39m \x1B[34mimportOriginal\x1B[39m()\n' +
' \x1B[35mreturn\x1B[39m {\n' +
' \x1B[33m...\x1B[39mactual\x1B[33m,\x1B[39m\n' +
' \x1B[90m// your mocked methods\x1B[39m\n' +
' }\n' +
'})'
}
at UsageDashboardTab (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:274:60)
at ErrorBoundary (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at div ()
at div ()
at DaemonStatusDialogInner (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/DaemonStatusDialog.tsx:649:50)
at ErrorBoundary (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at DaemonStatusDialog (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/DaemonStatusDialog.tsx:1540:50)
at I18nProvider (/build/qwen-code/src/qwen-code/packages/web-shell/client/i18n.tsx:5899:3)
✓ components/dialogs/DaemonStatusDialog.test.tsx (36 tests) 850ms
stderr | components/SplitView.test.tsx > SplitView > isolates a crashing pane so the rest of the split survives
Error: pane exploded
at ChatPane (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:91:39)
at Object.react_stack_bottom_frame (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41)
at renderRootSync (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17450:11)
at performWorkOnRoot (/build/qwen-code/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 (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:91:39)
at Object.react_stack_bottom_frame (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41)
at renderRootSync (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17450:11)
at performWorkOnRoot (/build/qwen-code/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:16583:35)
at ChatPane (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:64:15)
at div ()
at DaemonSessionProvider (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:6:29)
at ErrorBoundary (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at div ()
at div ()
at div ()
at SplitView (/build/qwen-code/src/qwen-code/packages/web-shell/client/components/SplitView.tsx:35:3)
at I18nProvider (/build/qwen-code/src/qwen-code/packages/web-shell/client/i18n.tsx:5899:3)
✓ components/SplitView.test.tsx (42 tests) 604ms
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 /build/qwen-code/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 /build/qwen-code/src/qwen-code/packages/web-shell/client/components/dialogs/GitDialog.tsx:475:26
✓ components/dialogs/GitDialog.test.tsx (16 tests) 1303ms
✓ hooks/useFileUpload.test.tsx (28 tests) 138ms
✓ components/messages/MarkdownChartRenderer.test.tsx (26 tests) 997ms
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 (/build/qwen-code/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) 287ms
✓ components/dialogs/AddWorkspaceDialog.test.tsx (36 tests) 1727ms
✓ voice/VoiceButton.test.tsx (32 tests) 291ms
stderr | components/messages/ToolApproval.test.tsx > ToolApproval accessibility > does not apply approval shortcuts to a focused workflow node
An update to PlanExecutionView inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/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 (42 tests) 501ms
✓ daemon/workspace/DaemonWorkspaceProvider.test.tsx (19 tests) 127ms
✓ components/channels/ChannelEditorDialog.test.tsx (23 tests) 3221ms
✓ ChannelEditorDialog > defaults to the primary workspace and allows a registered workspace 457ms
✓ ChannelEditorDialog > submits sender and group allowlists in their runtime config shapes 482ms
✓ components/dialogs/GoalsDialog.test.tsx (34 tests) 860ms
✓ components/channels/ChannelPairingRequests.test.tsx (26 tests) 934ms
✓ components/messages/UserMessage.test.tsx (38 tests) 235ms
✓ components/WorkspaceSessionProvider.test.tsx (21 tests) 227ms
✓ components/channels/ChannelsManagerPage.test.tsx (18 tests) 1782ms
✓ ChannelsManagerPage > keeps a newer workspace selection when a dismissed save finishes 324ms
✓ components/composer/AddMenu.test.tsx (22 tests) 4378ms
✓ AddMenu > replaces a pending picker and keeps cancel handling after availability changes 371ms
✓ AddMenu > reference-file submenu > shows the root listing and browses into folders without closing 411ms
✓ AddMenu > reference-file submenu > searches the workspace and inserts a file reference on select 434ms
✓ AddMenu > reference-file submenu > shows a no-results row when nothing matches 336ms
✓ AddMenu > reference-file submenu > shows a load error instead of an empty result 340ms
✓ AddMenu > MCP submenu > inserts a server-level reference even for servers with resources 440ms
✓ voice/useVoiceCapture.test.tsx (23 tests) 140ms
✓ components/sidebar/useWorkspaceOverview.test.tsx (23 tests) 106ms
✓ components/artifacts/TokenUsagePanel.test.tsx (34 tests) 642ms
✓ components/artifacts/CodeReviewArtifactDetail.test.tsx (20 tests) 382ms
✓ components/sidebar/SessionDetailsTooltip.test.tsx (9 tests) 640ms
✓ components/workspaces/useWorkspaceRemoval.test.tsx (17 tests) 87ms
✓ components/messages/AssistantMessage.test.tsx (24 tests) 622ms
✓ components/messages/SystemMessage.test.tsx (34 tests) 246ms
✓ components/workspaces/WorkspacesOverviewPanel.test.tsx (18 tests) 1044ms
✓ components/artifacts/TurnOutputs.dom.test.tsx (9 tests) 199ms
✓ components/messages/SettingsMessage.dom.test.tsx (15 tests) 794ms
✓ hooks/useSessionArtifacts.test.tsx (10 tests) 58ms
✓ components/artifacts/SideTaskPanel.test.tsx (16 tests) 128ms
✓ components/QueuedPromptDisplay.test.tsx (27 tests) 194ms
✓ components/sidebar/WorkspaceDetailsTooltip.test.tsx (17 tests) 726ms
✓ components/panels/EnvironmentPanel.test.tsx (15 tests) 252ms
✓ components/PaneHeaderActions.test.tsx (11 tests) 688ms
✓ components/WebShellTranscript.dom.test.tsx (9 tests) 463ms
✓ components/dialogs/GitDiffDialog.test.tsx (14 tests) 575ms
✓ hooks/useComposerCore.mobile.dom.test.tsx (19 tests) 557ms
✓ components/MessageItem.dom.test.tsx (11 tests) 114ms
✓ hooks/useAnimationFrameTranscriptBlocks.test.tsx (10 tests) 60ms
✓ utils/imageIngestion.test.ts (53 tests) 35ms
✓ components/sidebar/StandaloneRecents.test.tsx (10 tests) 382ms
✓ session-catalog/session-catalog-hooks.test.tsx (10 tests) 89ms
✓ components/StreamingStatus.test.tsx (15 tests) 105ms
✓ daemon/workspace/hooks/useDaemonChannels.test.tsx (10 tests) 59ms
✓ components/sidebar/useSessionContentSearch.test.tsx (15 tests) 72ms
✓ components/messages/TasksStatusMessage.test.tsx (10 tests) 1991ms
✓ TasksStatusMessage nested-agent tree > cancels a foreground child of a background parent on the first press 616ms
✓ TasksStatusMessage nested-agent tree > requires a second press to cancel a user-blocking agent 613ms
✓ TasksStatusMessage nested-agent tree > caps the detail progress list at the newest MAX_DISPLAYED_ACTIVITIES rows 408ms
✓ components/messages/ModelManagementSection.dom.test.tsx (14 tests) 161ms
✓ index.test.tsx (17 tests) 166ms
✓ hooks/useSessionArtifactsChange.test.tsx (9 tests) 67ms
✓ hooks/useNewSessionSuggestion.test.tsx (19 tests) 75ms
✓ components/AtMentionPanel.test.tsx (14 tests) 252ms
✓ components/dialogs/GitLogDialog.test.tsx (14 tests) 578ms
✓ components/artifacts/artifactUtils.test.ts (35 tests) 50ms
✓ boot-watchdog.test.ts (15 tests) 154ms
✓ hooks/useListboxKeyboard.test.tsx (16 tests) 230ms
✓ components/messages/McpApp.dom.test.tsx (7 tests) 251ms
✓ components/terminal/TerminalPanel.test.tsx (15 tests) 151ms
✓ components/skills/SkillsManagerPage.test.tsx (6 tests) 1197ms
✓ SkillsManagerPage > does not treat the retired Skill toggle capability as settings support 415ms
✓ components/sidebar/WorkspaceMenu.test.tsx (10 tests) 726ms
✓ components/dialogs/ReleaseSessionDialog.test.tsx (6 tests) 222ms
✓ config/daemon.test.ts (19 tests) 51ms
✓ components/dialogs/UsageDashboardTab.test.tsx (8 tests) 438ms
✓ components/dialogs/DeleteSessionDialog.test.tsx (6 tests) 236ms
✓ components/messages/tools/SubAgentPanel.test.tsx (10 tests) 140ms
✓ hooks/useBackgroundTasks.test.tsx (6 tests) 52ms
✓ components/dialogs/GitHubPrsDialog.test.tsx (12 tests) 167ms
✓ components/WebShellTranscript.test.tsx (4 tests) 162ms
✓ components/GitBranchIndicator.test.tsx (11 tests) 149ms
✓ components/dialogs/DialogShell.test.tsx (7 tests) 331ms
✓ hooks/useOtherWorkspaceSessions.test.tsx (6 tests) 44ms
✓ components/WorkspaceIndicator.test.tsx (6 tests) 244ms
✓ components/artifacts/SubagentDetail.integration.test.tsx (2 tests) 81ms
✓ components/ui/data-table.test.tsx (5 tests) 145ms
✓ components/messages/ToolApproval.test.ts (6 tests) 75ms
✓ live/useLiveVoice.test.tsx (4 tests) 48ms
✓ components/LocalControlQrButton.test.tsx (5 tests) 152ms
✓ components/sidebar/WorkspaceRenameDialog.test.tsx (7 tests) 375ms
✓ components/GoalStatusStrip.test.tsx (6 tests) 101ms
✓ live/LiveVoiceButton.test.tsx (5 tests) 325ms
✓ hooks/useIsTouchComposer.test.tsx (9 tests) 49ms
✓ components/dialogs/SessionRow.test.tsx (7 tests) 114ms
✓ components/dialogs/ModelFallbacksDialog.dom.test.tsx (8 tests) 116ms
✓ utils/clipboard.test.ts (8 tests) 45ms
✓ hooks/useScopedSessions.test.tsx (3 tests) 76ms
✓ components/dialogs/ModelDialog.test.tsx (5 tests) 122ms
✓ daemon/workspace/hooks/useDaemonResource.test.tsx (5 tests) 37ms
✓ voice/use-voice-workspace-settings.test.tsx (4 tests) 33ms
✓ components/messages/AuthMessage.dom.test.tsx (5 tests) 136ms
✓ components/messages/TodoView.test.tsx (4 tests) 101ms
✓ components/ToastHost.test.tsx (5 tests) 68ms
✓ components/dialogs/ResumeDialog.test.tsx (4 tests) 151ms
✓ daemon/session/clientLifecycle.test.ts (15 tests) 21ms
✓ components/dialogs/RewindDialog.test.tsx (5 tests) 145ms
✓ components/plugins/PluginManagerPage.test.tsx (2 tests) 381ms
✓ PluginManagerPage MCP workspace selection > shows the multi-workspace selector and locks it in MCP detail 331ms
✓ components/ErrorBoundary.test.tsx (6 tests) 67ms
✓ main.test.tsx (4 tests) 66ms
✓ components/workflow/SessionWorkflowInspector.test.tsx (2 tests) 121ms
✓ components/ui/react18-ref-compat.test.tsx (30 tests) 180ms
✓ components/RootErrorFallback.test.tsx (5 tests) 123ms
✓ components/messages/Markdown.coldHighlight.test.ts (2 tests) 95ms
✓ components/ChatContextHeader.test.tsx (8 tests) 134ms
✓ components/WorkspaceSelector.test.tsx (4 tests) 382ms
✓ hooks/useFilterInput.test.tsx (3 tests) 63ms
✓ components/dialogs/GoalEditDialog.test.tsx (4 tests) 303ms
✓ components/messages/PlanMessage.test.tsx (6 tests) 78ms
✓ hooks/useExternalLinkOpener.test.ts (5 tests) 64ms
✓ live/useLiveVoiceSetup.test.tsx (3 tests) 40ms
✓ components/messages/AssistantMessage.thinking-memo.test.tsx (2 tests) 99ms
✓ components/dialogs/ApprovalModeDialog.test.tsx (5 tests) 116ms
✓ daemon/workspace/hooks/useDaemonProviders.test.tsx (3 tests) 31ms
✓ daemon/workspace/hooks/useDaemonMcp.test.tsx (2 tests) 26ms
✓ utils/splitUrl.test.ts (16 tests) 18ms
✓ components/workflow/session-workflow-model.test.ts (4 tests) 9ms
✓ components/messages/ContextUsageMessage.test.tsx (3 tests) 101ms
✓ components/Editor.keymap.test.ts (5 tests) 80ms
✓ live/HotkeySetter.test.tsx (4 tests) 102ms
✓ components/MessageTimestamp.test.tsx (6 tests) 50ms
✓ components/sidebar/SessionGroupSection.test.tsx (3 tests) 79ms
✓ components/workflow/SessionWorkflowCockpit.test.tsx (2 tests) 110ms
✓ components/panels/TodoPanel.test.tsx (3 tests) 68ms
✓ hooks/useIsLargeScreen.test.tsx (4 tests) 55ms
✓ components/dialogs/SvgLineChart.test.tsx (4 tests) 65ms
✓ daemon/workspace/hooks/useDaemonStatusReport.test.tsx (2 tests) 28ms
✓ main-boot.test.tsx (2 tests) 223ms
✓ components/SessionPrBadge.test.tsx (2 tests) 80ms
✓ utils/copyCommand.noClipboard.test.ts (2 tests) 28ms
✓ components/dialogs/TokenHeatmap.test.tsx (3 tests) 313ms
✓ components/dialogs/ThemeDialog.test.tsx (1 test) 54ms
✓ components/dialogs/ToolsDialog.test.tsx (1 test) 67ms
✓ utils/externalOpen.test.ts (6 tests) 11ms
✓ shadowDom.test.ts (14 tests) 31ms
✓ components/ui/management-notice.test.tsx (4 tests) 88ms
✓ hooks/useCopiedFlash.test.tsx (3 tests) 31ms
✓ components/sidebar/collapsedSessionSections.test.ts (2 tests) 9ms
✓ components/sidebar/workspaceExpansion.test.ts (3 tests) 9ms
✓ hooks/usePrefersReducedMotion.test.tsx (1 test) 39ms
✓ components/sidebar/sessionDetailsCollisionBoundary.test.ts (2 tests) 19ms
✓ test/setup.test.ts (1 test) 7ms
stdout | 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 /build/qwen-code/src/qwen-code/packages/web-shell/client/daemon/session/actions.test.ts:3646:32
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stdout | 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 /build/qwen-code/src/qwen-code/packages/web-shell/client/daemon/session/actions.test.ts:3660:53
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runFiles (file:///build/qwen-code/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
✓ daemon/session/actions.test.ts (159 tests) 476ms
✓ adapters/transcriptToMessages.test.ts (138 tests) 71ms
✓ components/MessageList.test.ts (149 tests) 86ms
✓ utils/todos.test.ts (83 tests) 33ms
✓ daemon/session/mappers.test.ts (48 tests) 22ms
✓ components/channels/channel-editor-state.test.ts (37 tests) 19ms
✓ components/artifacts/turnOutputSelectors.test.ts (30 tests) 36ms
✓ daemon/workspace/actions.test.ts (22 tests) 41ms
✓ utils/sessionPreparation.test.ts (23 tests) 153ms
✓ completions/slashCompletion.test.ts (23 tests) 45ms
✓ components/sidebar/workspaceOverviewModel.test.ts (24 tests) 15ms
✓ utils/composerTag.test.ts (30 tests) 15ms
stdout | 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)
✓ daemon/midTurnInjectedSidechannel.test.ts (19 tests) 17ms
✓ components/messages/toolFormatting.test.ts (36 tests) 17ms
✓ daemon/session/session-context.test.ts (9 tests) 14ms
✓ midTurnDedup.test.ts (21 tests) 12ms
✓ voice/voice-workspace-target.test.ts (24 tests) 18ms
✓ build-artifact.test.ts (12 tests) 1090ms
✓ index-html.test.ts (9 tests) 107ms
✓ components/dialogs/scheduledTasksSchedule.test.ts (17 tests) 48ms
✓ daemon/session/selectors.test.ts (9 tests) 14ms
✓ utils/copyCommand.test.ts (13 tests) 15ms
✓ components/messages/agentForest.test.ts (19 tests) 13ms
✓ constants/localCommands.test.ts (11 tests) 8ms
✓ adapters/transcriptAdapter.test.ts (7 tests) 8ms
✓ daemon/session/DaemonSessionProvider.subagent.test.ts (6 tests) 10ms
✓ components/artifacts/TurnOutputs.test.ts (18 tests) 11ms
✓ components/sidebar/sessionSearch.test.ts (14 tests) 11ms
✓ daemon/workspace/scheduledTasks.actions.test.ts (11 tests) 17ms
✓ daemon/workspace/goals.actions.test.ts (11 tests) 17ms
✓ components/sidebar/session-action-visibility.test.ts (7 tests) 8ms
✓ utils/ansi.test.ts (9 tests) 12ms
✓ utils/goalCondition.test.ts (28 tests) 13ms
✓ utils/modelEncoding.test.ts (24 tests) 9ms
✓ daemon/session/promptContent.test.ts (12 tests) 12ms
✓ adapters/toolClassification.test.ts (22 tests) 9ms
✓ components/sidebar/channelSessionGroups.test.ts (4 tests) 7ms
✓ daemon/pendingPromptVersion.test.ts (7 tests) 81ms
✓ components/sidebar/scheduled-task-session-groups.test.ts (6 tests) 9ms
✓ components/toolbarDropdown.test.ts (7 tests) 9ms
✓ utils/workspace.test.ts (11 tests) 12ms
✓ daemon/session/live-journal-repair.test.ts (3 tests) 7ms
✓ vite-config.test.ts (7 tests) 11ms
✓ components/artifacts/codeReviewContract.test.ts (2 tests) 10ms
✓ components/messages/McpApp.test.ts (9 tests) 12ms
✓ hooks/useComposerCore.test.ts (8 tests) 7ms
✓ components/messages/codeHighlighter.retry.test.ts (4 tests) 11ms
✓ utils/sessionPath.test.ts (18 tests) 11ms
✓ utils/composerInputState.test.ts (7 tests) 6ms
✓ utils/goalGate.test.ts (4 tests) 6ms
✓ components/messages/toolFormatting.agentType.test.ts (4 tests) 7ms
✓ components/agents/agents-manager-logic.test.ts (7 tests) 7ms
✓ components/messages/codeHighlighter.test.ts (6 tests) 201ms
✓ index-html-boot.test.ts (2 tests) 218ms
✓ components/artifacts/useArtifactWorkspaceTarget.test.ts (9 tests) 7ms
✓ components/messages/SettingsMessage.test.ts (10 tests) 6ms
✓ utils/workspaceColor.test.ts (5 tests) 7ms
✓ utils/monitorTasks.test.ts (4 tests) 5ms
✓ utils/escapeIntent.test.ts (9 tests) 7ms
✓ components/skills/skills-manager-logic.test.ts (4 tests) 6ms
✓ utils/slashSectionPlan.test.ts (6 tests) 8ms
✓ components/agents/agent-tool-options.test.ts (3 tests) 6ms
✓ utils/unifiedDiff.test.ts (2 tests) 7ms
✓ utils/standalone-session-routing.test.ts (3 tests) 7ms
✓ utils/localCommandQueue.test.ts (5 tests) 9ms
✓ components/messages/toolFormatting.drift.test.ts (2 tests) 6ms
✓ utils/composerModels.test.ts (6 tests) 5ms
✓ hooks/useQueuedPrompts.test.ts (6 tests) 5ms
✓ components/extensions/extensions-manager-logic.test.ts (3 tests) 5ms
✓ components/channels/channel-platform.test.ts (2 tests) 6ms
✓ utils/modelSwitchMessages.test.ts (3 tests) 5ms
✓ components/workflow/SessionWorkflowCockpit.css.test.ts (3 tests) 5ms
✓ utils/timeAgo.test.ts (18 tests) 37ms
✓ components/GitModePopover.test.tsx (16 tests) 9ms
✓ components/composer/prependSkillInvocation.test.ts (6 tests) 5ms
✓ components/workflow/SessionWorkflowInspector.css.test.ts (2 tests) 9ms
✓ components/sidebar/sidebarToggleShortcut.test.ts (5 tests) 5ms
✓ utils/gitModeIntent.test.ts (4 tests) 4ms
✓ utils/composerTasks.test.ts (1 test) 5ms
✓ components/artifacts/SubagentDetail.test.tsx (2 tests) 5ms
✓ daemon/session/status.test.ts (4 tests) 5ms
✓ utils/askUserPermission.test.ts (3 tests) 4ms
✓ utils/formatDateTime.test.ts (4 tests) 5ms
✓ utils/queueDrain.test.ts (8 tests) 5ms
✓ utils/promptAdmission.test.ts (11 tests) 6ms
✓ utils/formatTokenCount.test.ts (3 tests) 5ms
✓ daemon/session/httpErrors.test.ts (4 tests) 4ms
✓ extensions/inputHighlight.test.ts (1 test) 10ms
✓ utils/contextUsage.test.ts (1 test) 4ms
✓ hooks/useAtMentionSources.test.tsx (3 tests) 5ms
✓ constants/sessions.test.ts (1 test) 3ms
✓ utils/sessionErrors.test.ts (1 test) 4ms
✓ utils/cssUrlVar.test.ts (2 tests) 4ms
Test Files 256 passed (256)
Tests 5732 passed (5732)
Start at 06:14:10
Duration 436.29s (transform 16.71s, setup 2.99s, collect 74.75s, tests 201.10s, environment 78.10s, prepare 28.33s)
JUNIT report written to /build/qwen-code/src/qwen-code/packages/web-shell/junit.xml
npm notice run @qwen-code/webui@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/webui
Browserslist: browsers data (caniuse-lite) is 12 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) 307ms
✓ src/components/messages/MarkdownRenderer/MarkdownRenderer.test.tsx (18 tests) 199ms
✓ src/components/messages/MessageMeta.test.tsx (4 tests) 102ms
✓ src/components/toolcalls/ShellToolCall.test.tsx (3 tests) 92ms
✓ src/components/PermissionDrawer.test.tsx (4 tests) 74ms
✓ src/hooks/useLocalStorage.test.tsx (6 tests) 41ms
✓ src/components/toolcalls/ThinkToolCall.test.tsx (2 tests) 65ms
✓ src/components/toolcalls/GenericToolCall.test.tsx (2 tests) 77ms
✓ src/components/toolcalls/shared/CollapsibleOutput.test.tsx (2 tests) 57ms
✓ src/hooks/useFollowupSuggestions.test.tsx (2 tests) 33ms
✓ src/daemon/transcriptAdapter.test.ts (12 tests) 16ms
✓ src/components/toolcalls/routing.test.ts (11 tests) 8ms
✓ src/adapters/JSONLAdapter.test.ts (8 tests) 6ms
✓ src/components/toolcalls/labelUtils.test.ts (8 tests) 6ms
✓ src/components/ChatViewer/ChatViewer.test.tsx (3 tests) 63ms
Test Files 15 passed (15)
Tests 94 passed (94)
Start at 06:21:29
Duration 14.04s (transform 1.75s, setup 0ms, collect 3.29s, tests 1.15s, environment 4.78s, prepare 1.63s)
npm notice run @qwen-code/channel-base@0.23.0 test
RUN v3.2.7 /build/qwen-code/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] cancelSession failed for session=s-1: cancel failed
[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] BTW request failed for session s-1: BTW response session did not match the request
[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] onPromptEnd threw in finally for session s-1: onPromptEnd boom
[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 (662 tests) 15907ms
✓ ChannelBase > response delivery > delivers completion when cancellation outlives the reconciliation timeout 3073ms
✓ ChannelBase > loop prompts > runWebhookTask > waits for bridge recovery before resolving a webhook session 503ms
✓ ChannelBase > loop prompts > runWebhookTask > rechecks bridge recovery before a webhook prompt starts 553ms
✓ ChannelBase > loop prompts > waits for bridge recovery after adapter-specific preflight 502ms
✓ ChannelBase > loop prompts > rechecks bridge recovery after inbound preprocessing has started 501ms
✓ ChannelBase > loop prompts > rechecks bridge recovery before a loop prompt starts 554ms
✓ src/DaemonChannelBridge.test.ts (102 tests) 464ms
[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-iAkLRX/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 (107 tests) 268ms
[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 (51 tests) 13100ms
✓ AcpBridge > performs the private-parent capability handshake with the spawned child 1004ms
✓ AcpBridge > kills the ACP child when it reports a large event loop stall 1004ms
✓ AcpBridge > kills the ACP child when a stall line is coalesced with prior stderr 1004ms
✓ 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 1004ms
✓ AcpBridge > relays ACP permission requests instead of auto-approving them 1007ms
✓ AcpBridge > allows permission request listeners to respond synchronously 1004ms
✓ 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 1003ms
✓ AcpBridge > resolves pending permissions as cancelled after the response timeout 1005ms
✓ AcpBridge > resolves pending permissions as cancelled when the ACP child exits 1003ms
✓ AcpBridge > resolves pending permissions as cancelled on stop 1005ms
✓ src/named-session-manager.test.ts (32 tests) 89ms
[PairingStore] legacy migration of support-bot-allowlist.json failed for channel "support-bot": EISDIR: illegal operation on a directory, copyfile '/tmp/pairing-home-2cMNrx/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-2cMNrx/channels/pairing-ws-a-RdvGtx-17b88a602491/support-bot-allowlist.json.235284.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-x9mfWq/channels/support-bot-pairing.json' -> '/tmp/pairing-home-x9mfWq/channels/pairing-ws-a-JK67UU-a77f5ce828d5/support-bot-pairing.json.235284.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-6t12Ym/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-6t12Ym/channels/pairing-ws-a-byuNV2-ff9041b2b495/support-bot-allowlist.json.235284.migrating'; will retry on next start
✓ src/PairingStore.test.ts (34 tests) 60ms
[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) 1102ms
✓ src/sanitize.test.ts (49 tests) 53ms
✓ src/channel-memory-recall-eval.test.ts (6 tests) 39ms
✓ src/ChannelLoopStore.test.ts (14 tests) 67ms
✓ src/BlockStreamer.test.ts (20 tests) 63ms
✓ src/channel-memory-recall.test.ts (17 tests) 17ms
✓ src/PollingChannelBase.test.ts (11 tests) 142ms
✓ src/GroupGate.test.ts (18 tests) 14ms
✓ src/ChannelLoopTools.test.ts (12 tests) 17ms
✓ src/channel-memory-intent.test.ts (10 tests) 17ms
✓ src/SenderGate.test.ts (16 tests) 15ms
✓ src/group-history-store.test.ts (11 tests) 17ms
✓ src/paths.test.ts (14 tests) 9ms
✓ src/DmGate.test.ts (4 tests) 5ms
Test Files 20 passed (20)
Tests 1215 passed (1215)
Start at 06:21:44
Duration 40.08s (transform 1.62s, setup 0ms, collect 2.62s, tests 31.47s, environment 5ms, prepare 2.21s)
npm notice run @qwen-code/channel-telegram@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/channels/telegram
✓ src/TelegramAdapter.test.ts (25 tests) 104ms
Test Files 1 passed (1)
Tests 25 passed (25)
Start at 06:22:25
Duration 1.38s (transform 467ms, setup 0ms, collect 889ms, tests 104ms, environment 0ms, prepare 148ms)
npm notice run @qwen-code/channel-weixin@0.23.0 test
RUN v3.2.7 /build/qwen-code/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 (24 tests) 169ms
✓ src/send.test.ts (36 tests) 26ms
✓ src/accounts.test.ts (18 tests) 24ms
✓ src/media.test.ts (11 tests) 12ms
✓ src/api.test.ts (3 tests) 15ms
Test Files 5 passed (5)
Tests 92 passed (92)
Start at 06:22:27
Duration 3.18s (transform 796ms, setup 0ms, collect 1.40s, tests 247ms, environment 1ms, prepare 576ms)
npm notice run @qwen-code/channel-dingtalk@0.23.0 test
RUN v3.2.7 /build/qwen-code/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] 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] file markers projected (final=0, streamed=1)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=1)
[DingTalk:test-dingtalk] question card creation failed: Error: card unavailable
[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=direct-richText conversationId= isGroup=false isMentioned=false 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.
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=1)
[DingTalk:test-dingtalk] outbound file delivery failed (report.txt): DingTalk session webhook unavailable
[DingTalk:test-dingtalk] file markers projected (final=0, streamed=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
[DingTalk:test-dingtalk] outbound file delivery failed (report.txt): DingTalk session webhook unavailable
[DingTalk:test-dingtalk] outbound image upload failed (missing.png): Image file not found: /workspace/missing.png
[DingTalk:test-dingtalk] sendMessage failed: reply fetch timed out
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
[DingTalk:test-dingtalk] file markers projected (final=1, streamed=0)
✓ src/DingtalkAdapter.test.ts (257 tests) 3570ms
✓ src/interaction-presenter.test.ts (57 tests) 5870ms
✓ DingtalkInteractionPresenter > renders one escaped source label through running, streaming, and terminal cards 509ms
✓ DingtalkInteractionPresenter > adds the group sender only to the final model output 505ms
✓ DingtalkInteractionPresenter > finalizes an eagerly created card when a run completes without output 1605ms
✓ DingtalkInteractionPresenter > recovers at response boundaries after a transient card stream failure 507ms
✓ DingtalkInteractionPresenter > falls back at response boundaries after a permanent card stream failure 506ms
✓ DingtalkInteractionPresenter > does not fall back while terminal card recovery owns delivery 1008ms
✓ src/status-card-controller.test.ts (46 tests) 420ms
✓ src/question-card-controller.test.ts (20 tests) 38ms
✓ src/DingtalkConnectionManager.test.ts (26 tests) 66ms
✓ src/outbound-image.test.ts (16 tests) 28ms
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
[test-dingtalk] /clear abandoned a wedged turn for session session-1 (chat cid123, message m1): it did not wind down within 3000ms
[DingTalk:test-dingtalk] file markers redacted in block stream (session session-1, markers=1)
✓ src/DingtalkAdapter.eviction.test.ts (2 tests) 169ms
✓ src/interactive-card-client.test.ts (16 tests) 37ms
✓ src/markdown.test.ts (25 tests) 17ms
✓ src/interactive-card-types.test.ts (11 tests) 12ms
✓ src/outbound-file.test.ts (16 tests) 27ms
[DingTalk] downloadMedia rejected: size 62914560 exceeds 52428800 byte limit
[DingTalk] downloadMedia rejected: actual size exceeds 52428800 byte limit
✓ src/media.test.ts (4 tests) 21ms
Test Files 12 passed (12)
Tests 496 passed (496)
Start at 06:22:31
Duration 16.61s (transform 1.32s, setup 0ms, collect 2.66s, tests 10.27s, environment 3ms, prepare 1.36s)
npm notice run @qwen-code/channel-wecom@0.23.0 test
RUN v3.2.7 /build/qwen-code/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.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
✓ src/WeComAdapter.test.ts (137 tests) 5632ms
✓ WeComChannel > keeps files buffered during a coalesced prompt for the next prompt 310ms
Test Files 1 passed (1)
Tests 137 passed (137)
Start at 06:22:48
Duration 7.11s (transform 824ms, setup 0ms, collect 1.13s, tests 5.63s, environment 0ms, prepare 120ms)
npm notice run @qwen-code/channel-feishu@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/channels/feishu
[Feishu:test] extractContent parse error (type=text): Unexpected token 'o', "not valid json" is not valid JSON
[Channel:test] preflight rejected reason=group_pairing_required
[Channel:test] preflight rejected reason=sender_pairing_required
[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 (160 tests) 2954ms
✓ src/question-card-controller.test.ts (49 tests) 491ms
✓ src/question-card.test.ts (31 tests) 18ms
✓ src/markdown.test.ts (28 tests) 16ms
[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) 38ms
Test Files 5 passed (5)
Tests 280 passed (280)
Start at 06:22:56
Duration 6.83s (transform 1.10s, setup 0ms, collect 1.76s, tests 3.52s, environment 1ms, prepare 576ms)
npm notice run @qwen-code/channel-qqbot@0.23.0 test
RUN v3.2.7 /build/qwen-code/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] skipped for test-chat-id
[QQ:test-bot] Send failed (HTTP 400: markdown unsupported)
[QQ:test-bot] Plain-text fallback succeeded for test-chat-id
[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:236527) 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 (88 tests) 93ms
[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) 142ms
[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 (45 tests) 59ms
[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) 41ms
[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) 37ms
[QQ] Token request failed (HTTP 401)
✓ src/api.test.ts (28 tests) 21ms
✓ src/accounts.test.ts (8 tests) 8ms
Test Files 7 passed (7)
Tests 305 passed (305)
Start at 06:23:03
Duration 4.07s (transform 970ms, setup 0ms, collect 1.52s, tests 401ms, environment 2ms, prepare 794ms)
npm notice run @qwen-code/channel-github@0.23.0 test
RUN v3.2.7 /build/qwen-code/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] 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-NVYoJn/channels/test-0872effe487c'
[Channel:test-github] failed to read GitHub inbound tasks: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-NVYoJn/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-NVYoJn/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-NVYoJn/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-NVYoJn/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-g5ekol/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-g5ekol/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 (191 tests) 934ms
✓ src/mention.test.ts (17 tests) 8ms
Test Files 2 passed (2)
Tests 208 passed (208)
Start at 06:23:08
Duration 2.70s (transform 773ms, setup 0ms, collect 1.12s, tests 943ms, environment 1ms, prepare 230ms)
npm notice run @qwen-code/channel-dws@0.23.0 test
RUN v3.2.7 /build/qwen-code/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] parked a stale direct message for history polling and pulled the watermark back to 1793514133820: old-message
[Channel:test-dws] parked a stale direct message for history polling and pulled the watermark back to 1793514133822: replayed-document
[Channel:test-dws] parked a stale direct message for history polling and pulled the watermark back to 1793514133835: replayed-in-flight
[Channel:test-dws] parked a stale direct message for history polling and pulled the watermark back to 1793514133839: replayed-between-polls
[classified-order-dws] steer: cancelled active turn for open-alice in session session-1
[Channel:test-dws] failed to poll DWS direct-message history: DWS pending-message capacity is exhausted; retry later.
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[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 start reaction add failed: reaction denied
[Channel:policy-dws] DWS message turn failed (attempt 1/5): agent unavailable
[policy-dws] steer: cancelled active turn for open-alice in session session-1
[Channel:policy-dws] DWS end reaction add failed: end reaction denied
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS message turn failed (attempt 2/5): retry failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS previous end reaction removal failed: transient removal failure
[Channel:policy-dws] DWS message turn failed (attempt 2/5): retry failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[Channel:policy-dws] DWS message turn failed (attempt 1/5): first turn failed
[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:policy-dws] parked a stale direct message for history polling and pulled the watermark back to 1793514097761: allowed-catch-up
[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: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): agent unavailable
[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] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: 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] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: 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 2/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: 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] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] DWS direct messages stream error: 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] DWS direct messages stream error: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS direct messages stream error: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS direct messages stream error: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS direct messages stream error: 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 (203 tests) 4814ms
✓ DwsChannel > does not block or advance direct history at pending capacity 340ms
✓ DwsChannel > drains failed replay capacity until direct history can resume 763ms
✓ src/dws-client.test.ts (67 tests) 243ms
✓ src/dws-event-stream.test.ts (7 tests) 620ms
✓ src/index.test.ts (7 tests) 8ms
✓ src/dws-client-process.test.ts (1 test) 10ms
✓ src/dws-environment.test.ts (1 test) 4ms
Test Files 6 passed (6)
Tests 286 passed (286)
Start at 06:23:12
Duration 9.77s (transform 970ms, setup 0ms, collect 2.21s, tests 5.70s, environment 2ms, prepare 666ms)
npm notice run @qwen-code/channel-gitlab@0.23.0 test
RUN v3.2.7 /build/qwen-code/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 (46 tests) 565ms
✓ src/mention.test.ts (14 tests) 9ms
Test Files 2 passed (2)
Tests 60 passed (60)
Start at 06:23:22
Duration 2.08s (transform 542ms, setup 0ms, collect 845ms, tests 575ms, environment 1ms, prepare 234ms)
npm notice run @qwen-code/channel-plugin-example@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/packages/channels/plugin-example
✓ src/MockPluginChannel.test.ts (4 tests) 9ms
Test Files 1 passed (1)
Tests 4 passed (4)
Start at 06:23:25
Duration 436ms (transform 95ms, setup 0ms, collect 105ms, tests 9ms, environment 0ms, prepare 119ms)
npm notice run @qwen-code/external-context@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/integrations/external-context
✓ src/auto-recall.test.ts (32 tests) 2953ms
✓ runAutoRecallCli > runs as a child process and exits without stderr or a retained timer 412ms
✓ runAutoRecallCli > runs when the configured entry point is a symbolic link 369ms
✓ runAutoRecallCli > runs the real Hook process against a bound Generic HTTP provider 471ms
✓ runAutoRecallCli > exits after a provider timeout leaves a proxy CONNECT stalled 1394ms
✓ src/mcp.test.ts (24 tests) 246ms
✓ src/providers.test.ts (37 tests) 267ms
✓ src/provider-extension-local.test.ts (15 tests) 7954ms
✓ local provider extension example > serves the exact profile tool with stable failure and cancellation semantics 6116ms
✓ local provider extension example > packs an executable that fails fast without provider configuration 1731ms
✓ src/config.test.ts (27 tests) 83ms
✓ src/manifest.test.ts (13 tests) 20ms
✓ src/provider-profile.test.ts (9 tests) 194ms
✓ src/http-client.test.ts (6 tests) 31ms
✓ src/write-confirmation.test.ts (23 tests) 23ms
✓ src/context.test.ts (8 tests) 12ms
✓ src/main.test.ts (4 tests) 60ms
✓ src/proxy.test.ts (3 tests) 37ms
Test Files 12 passed (12)
Tests 201 passed (201)
Start at 06:23:26
Duration 16.79s (transform 466ms, setup 0ms, collect 1.45s, tests 11.88s, environment 4ms, prepare 1.26s)
npm notice run @qwen-code/external-context-mem0@0.23.0 test
RUN v3.2.7 /build/qwen-code/src/qwen-code/integrations/external-context-mem0
✓ src/schemas.test.ts (24 tests) 130ms
✓ src/request-engine.test.ts (11 tests) 40ms
✓ src/mcp.test.ts (7 tests) 217ms
✓ src/profile.test.ts (2 tests) 7ms
✓ src/main.test.ts (3 tests) 292ms
✓ src/manifest.test.ts (2 tests) 10ms
Test Files 6 passed (6)
Tests 49 passed (49)
Start at 06:23:43
Duration 3.37s (transform 204ms, setup 0ms, collect 884ms, tests 696ms, environment 1ms, prepare 672ms)
==> ERROR: A failure occurred in check().
Aborting...
1043008;end=77ba20b2ad9b4c46992c056de0dd1022==> ERROR: Build failed, check /var/lib/archbuild/extra-staging-aarch64/ben-1/build