==>(B Building on smoochum(B ==>(B Checking for remote environment...(B ==>(B Syncing package to remote host...(B sending incremental file list ./ .SRCINFO 952 100% 0.00kB/s 0:00:00 952 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 55 100% 53.71kB/s 0:00:00 55 100% 53.71kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 2,059 70% 1.96MB/s 0:00:00 2,922 100% 2.79MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) gemini-cli-1:0.63.0-1.log 210 100% 205.08kB/s 0:00:00 210 100% 205.08kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ sent 2,047 bytes received 204 bytes 4,502.00 bytes/sec total size is 5,167 speedup is 2.30 ==>(B Applying RISC-V patches...(B sending incremental file list ./ riscv64-support.patch 700 25% 0.00kB/s 0:00:00 2,729 100% 1.94MB/s 0:00:00 (xfr#1, to-chk=1/3) riscv64.patch 1,008 100% 984.38kB/s 0:00:00 1,008 100% 984.38kB/s 0:00:00 (xfr#2, to-chk=0/3) sent 786 bytes received 87 bytes 1,746.00 bytes/sec total size is 3,737 speedup is 4.28 patching file PKGBUILD ==>(B Patching arch to riscv64...(B ==>(B Running pkgctl build --arch riscv64 on remote host...(B ==> WARNING:(B invalid architecture: riscv64(B ==>(B Updating pacman database cache(B [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==>(B Building gemini-cli(B  ->(B repo: extra(B  ->(B arch: riscv64(B  ->(B worker: felix-1(B ==>(B Building gemini-cli for [extra] (riscv64)(B ]3008;start=1aeea85b99174b299fcdb85d763e5937;user=felix;hostname=smoochum.felixc.at;machineid=77eccab17314487ca80710578b50c923;bootid=abe36af9c93d490fa218c75a14ed2c6b;pid=879101;pidfdid=17653042;comm=sudo;targetuser=root;type=session\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. ]3008;start=8affe1bf0c9f4fbbbbc222bd61320069;user=root;hostname=smoochum.felixc.at;machineid=77eccab17314487ca80710578b50c923;bootid=abe36af9c93d490fa218c75a14ed2c6b;pid=879148;pidfdid=17653089;comm=systemd-nspawn;container=arch-nspawn-879148;type=container\]11;?\]2;🔵 Container arch-nspawn-879148 on smoochum.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Package (1) Old Version New Version Net Change Download Size core/glib2 2.88.3-1 2.90.1-1 0.79 MiB 9.65 MiB Total Download Size: 9.65 MiB Total Installed Size: 83.03 MiB Net Upgrade Size: 0.79 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... glib2-2.90.1-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... upgrading glib2... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h[!p]104\[?7h]3008;end=8affe1bf0c9f4fbbbbc222bd61320069\==>(B Building in chroot for [extra] (riscv64)...(B ==>(B Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...(Bdone(B ]3008;start=fbd8c70c2d65414fabe26dc4810b79ca;user=root;hostname=smoochum.felixc.at;machineid=77eccab17314487ca80710578b50c923;bootid=abe36af9c93d490fa218c75a14ed2c6b;pid=879443;pidfdid=17653384;comm=sudo;targetuser=felix;type=session\==>(B Making package: gemini-cli 1:0.63.0-1 (Fri Oct 9 12:54:37 2026)(B ==>(B Retrieving sources...(B  ->(B Updating gemini-cli git repo...(B From https://github.com/google-gemini/gemini-cli - [deleted] (none) -> dependabot/npm_and_yarn/npm-dependencies-736cda2dc7 - [deleted] (none) -> refs/pull/28413/merge - [deleted] (none) -> refs/pull/28421/merge - [deleted] (none) -> refs/pull/28436/merge - [deleted] (none) -> refs/pull/28441/merge - [deleted] (none) -> refs/pull/28465/merge - [deleted] (none) -> refs/pull/28471/merge - [deleted] (none) -> refs/pull/28478/merge - [deleted] (none) -> refs/pull/28511/merge - [deleted] (none) -> refs/pull/28536/merge - [deleted] (none) -> refs/pull/28544/merge - [deleted] (none) -> refs/pull/29292/merge - [deleted] (none) -> refs/pull/29293/merge - [deleted] (none) -> refs/pull/29294/merge - [deleted] (none) -> refs/pull/29303/merge - [deleted] (none) -> refs/pull/29304/merge - [deleted] (none) -> refs/pull/29319/merge - [deleted] (none) -> refs/pull/29320/merge - [deleted] (none) -> refs/pull/29324/merge - [deleted] (none) -> refs/pull/29326/merge - [deleted] (none) -> refs/pull/29327/merge - [deleted] (none) -> refs/pull/29328/merge - [deleted] (none) -> refs/pull/29329/merge - [deleted] (none) -> refs/pull/29330/merge - [deleted] (none) -> refs/pull/29332/merge - [deleted] (none) -> refs/pull/29333/merge - [deleted] (none) -> refs/pull/29336/merge - [deleted] (none) -> refs/pull/29342/merge - [deleted] (none) -> refs/pull/29352/merge - [deleted] (none) -> refs/pull/29353/merge - [deleted] (none) -> refs/pull/29354/merge - [deleted] (none) -> refs/pull/29358/merge - [deleted] (none) -> refs/pull/29359/merge - [deleted] (none) -> refs/pull/29362/merge - [deleted] (none) -> refs/pull/29366/merge - [deleted] (none) -> refs/pull/29368/merge - [deleted] (none) -> refs/pull/29371/merge - [deleted] (none) -> refs/pull/29374/merge - [deleted] (none) -> refs/pull/29375/merge - [deleted] (none) -> refs/pull/29376/merge - [deleted] (none) -> refs/pull/29386/merge - [deleted] (none) -> refs/pull/29387/merge - [deleted] (none) -> refs/pull/29394/merge - [deleted] (none) -> refs/pull/29397/merge - [deleted] (none) -> refs/pull/29398/merge - [deleted] (none) -> refs/pull/29399/merge - [deleted] (none) -> refs/pull/29400/merge - [deleted] (none) -> refs/pull/29402/merge - [deleted] (none) -> refs/pull/29404/merge - [deleted] (none) -> refs/pull/29407/merge - [deleted] (none) -> refs/pull/29411/merge - [deleted] (none) -> refs/pull/29420/merge - [deleted] (none) -> refs/pull/29422/merge - [deleted] (none) -> refs/pull/29423/merge - [deleted] (none) -> refs/pull/29429/merge - [deleted] (none) -> refs/pull/29431/merge - [deleted] (none) -> refs/pull/29432/merge - [deleted] (none) -> refs/pull/29435/merge - [deleted] (none) -> refs/pull/29436/merge - [deleted] (none) -> refs/pull/29440/merge - [deleted] (none) -> refs/pull/29444/merge - [deleted] (none) -> refs/pull/29445/merge - [deleted] (none) -> refs/pull/29447/merge - [deleted] (none) -> refs/pull/29448/merge - [deleted] (none) -> refs/pull/29449/merge - [deleted] (none) -> refs/pull/29450/merge - [deleted] (none) -> refs/pull/29457/merge - [deleted] (none) -> refs/pull/29458/merge - [deleted] (none) -> refs/pull/29459/merge - [deleted] (none) -> refs/pull/29460/merge - [deleted] (none) -> refs/pull/29466/merge - [deleted] (none) -> refs/pull/29476/merge - [deleted] (none) -> refs/pull/29479/merge - [deleted] (none) -> refs/pull/29480/merge - [deleted] (none) -> refs/pull/29481/merge - [deleted] (none) -> refs/pull/29482/merge - [deleted] (none) -> refs/pull/29488/merge - [deleted] (none) -> refs/pull/29489/merge - [deleted] (none) -> refs/pull/29490/merge - [deleted] (none) -> refs/pull/29491/merge - [deleted] (none) -> refs/pull/29492/merge - [deleted] (none) -> refs/pull/29499/merge - [deleted] (none) -> refs/pull/29502/merge - [deleted] (none) -> refs/pull/29508/merge remote: Enumerating objects: 4270, done. remote: Counting objects: 0% (1/2632) remote: Counting objects: 1% (27/2632) remote: Counting objects: 2% (53/2632) remote: Counting objects: 3% (79/2632) remote: Counting objects: 4% (106/2632) remote: Counting objects: 5% (132/2632) remote: Counting objects: 6% (158/2632) remote: Counting objects: 7% (185/2632) remote: Counting objects: 8% (211/2632) remote: Counting objects: 9% (237/2632) remote: Counting objects: 10% (264/2632) remote: Counting objects: 11% (290/2632) remote: Counting objects: 12% (316/2632) remote: Counting objects: 13% (343/2632) remote: Counting objects: 14% (369/2632) remote: Counting objects: 15% (395/2632) remote: Counting objects: 16% (422/2632) remote: Counting objects: 17% (448/2632) remote: Counting objects: 18% (474/2632) remote: Counting objects: 19% (501/2632) remote: Counting objects: 20% (527/2632) remote: Counting objects: 21% (553/2632) remote: Counting objects: 22% (580/2632) remote: Counting objects: 23% (606/2632) remote: Counting objects: 24% (632/2632) remote: Counting objects: 25% (658/2632) remote: Counting objects: 26% (685/2632) remote: Counting objects: 27% (711/2632) remote: Counting objects: 28% (737/2632) remote: Counting objects: 29% (764/2632) remote: Counting objects: 30% (790/2632) remote: Counting objects: 31% (816/2632) remote: Counting objects: 32% (843/2632) remote: Counting objects: 33% (869/2632) remote: Counting objects: 34% (895/2632) remote: Counting objects: 35% (922/2632) remote: Counting objects: 36% (948/2632) remote: Counting objects: 37% (974/2632) remote: Counting objects: 38% (1001/2632) remote: Counting objects: 39% (1027/2632) remote: Counting objects: 40% (1053/2632) remote: Counting objects: 41% (1080/2632) remote: Counting objects: 42% (1106/2632) remote: Counting objects: 43% (1132/2632) remote: Counting objects: 44% (1159/2632) remote: Counting objects: 45% (1185/2632) remote: Counting objects: 46% (1211/2632) remote: Counting objects: 47% (1238/2632) remote: Counting objects: 48% (1264/2632) remote: Counting objects: 49% (1290/2632) remote: Counting objects: 50% (1316/2632) remote: Counting objects: 51% (1343/2632) remote: Counting objects: 52% (1369/2632) remote: Counting objects: 53% (1395/2632) remote: Counting objects: 54% (1422/2632) remote: Counting objects: 55% (1448/2632) remote: Counting objects: 56% (1474/2632) remote: Counting objects: 57% (1501/2632) remote: Counting objects: 58% (1527/2632) remote: Counting objects: 59% (1553/2632) remote: Counting objects: 60% (1580/2632) remote: Counting objects: 61% (1606/2632) remote: Counting objects: 62% (1632/2632) remote: Counting objects: 63% (1659/2632) remote: Counting objects: 64% (1685/2632) remote: Counting objects: 65% (1711/2632) remote: Counting objects: 66% (1738/2632) remote: Counting objects: 67% (1764/2632) remote: Counting objects: 68% (1790/2632) remote: Counting objects: 69% (1817/2632) remote: Counting objects: 70% (1843/2632) remote: Counting objects: 71% (1869/2632) remote: Counting objects: 72% (1896/2632) remote: Counting objects: 73% (1922/2632) remote: Counting objects: 74% (1948/2632) remote: Counting objects: 75% (1974/2632) remote: Counting objects: 76% (2001/2632) remote: Counting objects: 77% (2027/2632) remote: Counting objects: 78% (2053/2632) remote: Counting objects: 79% (2080/2632) remote: Counting objects: 80% (2106/2632) remote: Counting objects: 81% (2132/2632) remote: Counting objects: 82% (2159/2632) remote: Counting objects: 83% (2185/2632) remote: Counting objects: 84% (2211/2632) remote: Counting objects: 85% (2238/2632) remote: Counting objects: 86% (2264/2632) remote: Counting objects: 87% (2290/2632) remote: Counting objects: 88% (2317/2632) remote: Counting objects: 89% (2343/2632) remote: Counting objects: 90% (2369/2632) remote: Counting objects: 91% (2396/2632) remote: Counting objects: 92% (2422/2632) remote: Counting objects: 93% (2448/2632) remote: Counting objects: 94% (2475/2632) remote: Counting objects: 95% (2501/2632) remote: Counting objects: 96% (2527/2632) remote: Counting objects: 97% (2554/2632) remote: Counting objects: 98% (2580/2632) remote: Counting objects: 99% (2606/2632) remote: Counting objects: 100% (2632/2632) remote: Counting objects: 100% (2632/2632), done. remote: Compressing objects: 0% (1/1027) remote: Compressing objects: 1% (11/1027) remote: Compressing objects: 2% (21/1027) remote: Compressing objects: 3% (31/1027) remote: Compressing objects: 4% (42/1027) remote: Compressing objects: 5% (52/1027) remote: Compressing objects: 6% (62/1027) remote: Compressing objects: 7% (72/1027) remote: Compressing objects: 8% (83/1027) remote: Compressing objects: 9% (93/1027) remote: Compressing objects: 10% (103/1027) remote: Compressing objects: 11% (113/1027) remote: Compressing objects: 12% (124/1027) remote: Compressing objects: 13% (134/1027) remote: Compressing objects: 14% (144/1027) remote: Compressing objects: 15% (155/1027) remote: Compressing objects: 16% (165/1027) remote: Compressing objects: 17% (175/1027) remote: Compressing objects: 18% (185/1027) remote: Compressing objects: 19% (196/1027) remote: Compressing objects: 20% (206/1027) remote: Compressing objects: 21% (216/1027) remote: Compressing objects: 22% (226/1027) remote: Compressing objects: 23% (237/1027) remote: Compressing objects: 24% (247/1027) remote: Compressing objects: 25% (257/1027) remote: Compressing objects: 26% (268/1027) remote: Compressing objects: 27% (278/1027) remote: Compressing objects: 28% (288/1027) remote: Compressing objects: 29% (298/1027) remote: Compressing objects: 30% (309/1027) remote: Compressing objects: 31% (319/1027) remote: Compressing objects: 32% (329/1027) remote: Compressing objects: 33% (339/1027) remote: Compressing objects: 34% (350/1027) remote: Compressing objects: 35% (360/1027) remote: Compressing objects: 36% (370/1027) remote: Compressing objects: 37% (380/1027) remote: Compressing objects: 38% (391/1027) remote: Compressing objects: 39% (401/1027) remote: Compressing objects: 40% (411/1027) remote: Compressing objects: 41% (422/1027) remote: Compressing objects: 42% (432/1027) remote: Compressing objects: 43% (442/1027) remote: Compressing objects: 44% (452/1027) remote: Compressing objects: 45% (463/1027) remote: Compressing objects: 46% (473/1027) remote: Compressing objects: 47% (483/1027) remote: Compressing objects: 48% (493/1027) remote: Compressing objects: 49% (504/1027) remote: Compressing objects: 50% (514/1027) remote: Compressing objects: 51% (524/1027) remote: Compressing objects: 52% (535/1027) remote: Compressing objects: 53% (545/1027) remote: Compressing objects: 54% (555/1027) remote: Compressing objects: 55% (565/1027) remote: Compressing objects: 56% (576/1027) remote: Compressing objects: 57% (586/1027) remote: Compressing objects: 58% (596/1027) remote: Compressing objects: 59% (606/1027) remote: Compressing objects: 60% (617/1027) remote: Compressing objects: 61% (627/1027) remote: Compressing objects: 62% (637/1027) remote: Compressing objects: 63% (648/1027) remote: Compressing objects: 64% (658/1027) remote: Compressing objects: 65% (668/1027) remote: Compressing objects: 66% (678/1027) remote: Compressing objects: 67% (689/1027) remote: Compressing objects: 68% (699/1027) remote: Compressing objects: 69% (709/1027) remote: Compressing objects: 70% (719/1027) remote: Compressing objects: 71% (730/1027) remote: Compressing objects: 72% (740/1027) remote: Compressing objects: 73% (750/1027) remote: Compressing objects: 74% (760/1027) remote: Compressing objects: 75% (771/1027) remote: Compressing objects: 76% (781/1027) remote: Compressing objects: 77% (791/1027) remote: Compressing objects: 78% (802/1027) remote: Compressing objects: 79% (812/1027) remote: Compressing objects: 80% (822/1027) remote: Compressing objects: 81% (832/1027) remote: Compressing objects: 82% (843/1027) remote: Compressing objects: 83% (853/1027) remote: Compressing objects: 84% (863/1027) remote: Compressing objects: 85% (873/1027) remote: Compressing objects: 86% (884/1027) remote: Compressing objects: 87% (894/1027) remote: Compressing objects: 88% (904/1027) remote: Compressing objects: 89% (915/1027) remote: Compressing objects: 90% (925/1027) remote: Compressing objects: 91% (935/1027) remote: Compressing objects: 92% (945/1027) remote: Compressing objects: 93% (956/1027) remote: Compressing objects: 94% (966/1027) remote: Compressing objects: 95% (976/1027) remote: Compressing objects: 96% (986/1027) remote: Compressing objects: 97% (997/1027) remote: Compressing objects: 98% (1007/1027) remote: Compressing objects: 99% (1017/1027) remote: Compressing objects: 100% (1027/1027) remote: Compressing objects: 100% (1027/1027), done. Receiving objects: 0% (1/4270) Receiving objects: 1% (43/4270) Receiving objects: 2% (86/4270) Receiving objects: 3% (129/4270) Receiving objects: 4% (171/4270) Receiving objects: 5% (214/4270) Receiving objects: 6% (257/4270) Receiving objects: 7% (299/4270) Receiving objects: 8% (342/4270) Receiving objects: 9% (385/4270) Receiving objects: 10% (427/4270) Receiving objects: 11% (470/4270) Receiving objects: 12% (513/4270) Receiving objects: 13% (556/4270) Receiving objects: 14% (598/4270) Receiving objects: 15% (641/4270) Receiving objects: 16% (684/4270) Receiving objects: 17% (726/4270) Receiving objects: 18% (769/4270) Receiving objects: 19% (812/4270) Receiving objects: 20% (854/4270) Receiving objects: 21% (897/4270) Receiving objects: 22% (940/4270) Receiving objects: 23% (983/4270) Receiving objects: 24% (1025/4270) Receiving objects: 25% (1068/4270) Receiving objects: 26% (1111/4270) Receiving objects: 27% (1153/4270) Receiving objects: 28% (1196/4270) Receiving objects: 29% (1239/4270) Receiving objects: 30% (1281/4270) Receiving objects: 31% (1324/4270) Receiving objects: 32% (1367/4270) Receiving objects: 33% (1410/4270) Receiving objects: 34% (1452/4270) Receiving objects: 35% (1495/4270) Receiving objects: 36% (1538/4270) Receiving objects: 37% (1580/4270) Receiving objects: 38% (1623/4270) Receiving objects: 39% (1666/4270) Receiving objects: 40% (1708/4270) Receiving objects: 41% (1751/4270) Receiving objects: 42% (1794/4270) Receiving objects: 43% (1837/4270) Receiving objects: 44% (1879/4270) Receiving objects: 45% (1922/4270) Receiving objects: 46% (1965/4270) Receiving objects: 47% (2007/4270) Receiving objects: 48% (2050/4270) Receiving objects: 49% (2093/4270) Receiving objects: 50% (2135/4270) Receiving objects: 51% (2178/4270) Receiving objects: 52% (2221/4270) Receiving objects: 53% (2264/4270) Receiving objects: 54% (2306/4270) Receiving objects: 55% (2349/4270) Receiving objects: 56% (2392/4270) Receiving objects: 57% (2434/4270) Receiving objects: 58% (2477/4270) Receiving objects: 59% (2520/4270) Receiving objects: 60% (2562/4270) Receiving objects: 61% (2605/4270) Receiving objects: 62% (2648/4270) Receiving objects: 63% (2691/4270) Receiving objects: 64% (2733/4270) Receiving objects: 65% (2776/4270) Receiving objects: 66% (2819/4270) Receiving objects: 67% (2861/4270) Receiving objects: 68% (2904/4270) Receiving objects: 69% (2947/4270) Receiving objects: 70% (2989/4270) Receiving objects: 71% (3032/4270) Receiving objects: 72% (3075/4270) Receiving objects: 73% (3118/4270) Receiving objects: 74% (3160/4270) Receiving objects: 75% (3203/4270) Receiving objects: 76% (3246/4270) Receiving objects: 77% (3288/4270) Receiving objects: 78% (3331/4270) Receiving objects: 79% (3374/4270) Receiving objects: 80% (3416/4270) Receiving objects: 81% (3459/4270) Receiving objects: 82% (3502/4270) Receiving objects: 83% (3545/4270) Receiving objects: 84% (3587/4270) Receiving objects: 85% (3630/4270) Receiving objects: 86% (3673/4270) Receiving objects: 87% (3715/4270) Receiving objects: 88% (3758/4270) Receiving objects: 89% (3801/4270) Receiving objects: 90% (3843/4270) Receiving objects: 91% (3886/4270) Receiving objects: 92% (3929/4270) Receiving objects: 93% (3972/4270) Receiving objects: 94% (4014/4270) Receiving objects: 95% (4057/4270) Receiving objects: 96% (4100/4270) Receiving objects: 97% (4142/4270) Receiving objects: 98% (4185/4270) Receiving objects: 99% (4228/4270) remote: Total 4270 (delta 2330), reused 1659 (delta 1605), pack-reused 1638 (from 3) Receiving objects: 100% (4270/4270) Receiving objects: 100% (4270/4270), 3.33 MiB | 7.45 MiB/s, done. Resolving deltas: 0% (0/3206) Resolving deltas: 1% (33/3206) Resolving deltas: 2% (65/3206) Resolving deltas: 3% (97/3206) Resolving deltas: 4% (129/3206) Resolving deltas: 5% (161/3206) Resolving deltas: 6% (193/3206) Resolving deltas: 7% (225/3206) Resolving deltas: 8% (257/3206) Resolving deltas: 9% (289/3206) Resolving deltas: 10% (321/3206) Resolving deltas: 11% (353/3206) Resolving deltas: 12% (385/3206) Resolving deltas: 13% (417/3206) Resolving deltas: 14% (449/3206) Resolving deltas: 15% (481/3206) Resolving deltas: 16% (513/3206) Resolving deltas: 17% (546/3206) Resolving deltas: 18% (578/3206) Resolving deltas: 19% (610/3206) Resolving deltas: 20% (642/3206) Resolving deltas: 21% (674/3206) Resolving deltas: 22% (706/3206) Resolving deltas: 23% (738/3206) Resolving deltas: 24% (770/3206) Resolving deltas: 25% (802/3206) Resolving deltas: 26% (834/3206) Resolving deltas: 27% (866/3206) Resolving deltas: 28% (898/3206) Resolving deltas: 29% (930/3206) Resolving deltas: 30% (962/3206) Resolving deltas: 31% (994/3206) Resolving deltas: 32% (1026/3206) Resolving deltas: 33% (1058/3206) Resolving deltas: 34% (1091/3206) Resolving deltas: 35% (1123/3206) Resolving deltas: 36% (1155/3206) Resolving deltas: 37% (1187/3206) Resolving deltas: 38% (1219/3206) Resolving deltas: 39% (1251/3206) Resolving deltas: 40% (1283/3206) Resolving deltas: 41% (1315/3206) Resolving deltas: 42% (1347/3206) Resolving deltas: 43% (1379/3206) Resolving deltas: 44% (1411/3206) Resolving deltas: 45% (1443/3206) Resolving deltas: 46% (1475/3206) Resolving deltas: 47% (1507/3206) Resolving deltas: 48% (1539/3206) Resolving deltas: 49% (1571/3206) Resolving deltas: 50% (1603/3206) Resolving deltas: 51% (1636/3206) Resolving deltas: 52% (1668/3206) Resolving deltas: 53% (1700/3206) Resolving deltas: 54% (1732/3206) Resolving deltas: 55% (1764/3206) Resolving deltas: 56% (1796/3206) Resolving deltas: 57% (1828/3206) Resolving deltas: 58% (1861/3206) Resolving deltas: 59% (1892/3206) Resolving deltas: 60% (1924/3206) Resolving deltas: 61% (1956/3206) Resolving deltas: 62% (1988/3206) Resolving deltas: 63% (2020/3206) Resolving deltas: 64% (2052/3206) Resolving deltas: 65% (2084/3206) Resolving deltas: 66% (2116/3206) Resolving deltas: 67% (2149/3206) Resolving deltas: 68% (2181/3206) Resolving deltas: 69% (2213/3206) Resolving deltas: 70% (2245/3206) Resolving deltas: 71% (2277/3206) Resolving deltas: 72% (2309/3206) Resolving deltas: 73% (2341/3206) Resolving deltas: 74% (2373/3206) Resolving deltas: 75% (2405/3206) Resolving deltas: 76% (2437/3206) Resolving deltas: 77% (2469/3206) Resolving deltas: 78% (2501/3206) Resolving deltas: 79% (2533/3206) Resolving deltas: 80% (2565/3206) Resolving deltas: 81% (2597/3206) Resolving deltas: 82% (2629/3206) Resolving deltas: 83% (2661/3206) Resolving deltas: 84% (2694/3206) Resolving deltas: 85% (2726/3206) Resolving deltas: 86% (2758/3206) Resolving deltas: 87% (2790/3206) Resolving deltas: 88% (2822/3206) Resolving deltas: 89% (2854/3206) Resolving deltas: 90% (2886/3206) Resolving deltas: 91% (2918/3206) Resolving deltas: 92% (2950/3206) Resolving deltas: 93% (2982/3206) Resolving deltas: 94% (3014/3206) Resolving deltas: 95% (3046/3206) Resolving deltas: 96% (3078/3206) Resolving deltas: 97% (3110/3206) Resolving deltas: 98% (3142/3206) Resolving deltas: 99% (3174/3206) Resolving deltas: 100% (3206/3206) Resolving deltas: 100% (3206/3206), completed with 76 local objects. * [new branch] changelog-v0.62.0 -> changelog-v0.62.0 + c1d4a59af1...fc829844e3 dependabot/github_actions/actions-dependencies-25b02ccb02 -> dependabot/github_actions/actions-dependencies-25b02ccb02 (forced update) * [new branch] dependabot/npm_and_yarn/npm-dependencies-8444011ac3 -> dependabot/npm_and_yarn/npm-dependencies-8444011ac3 2fe7c2d3f0..2ce1a6963e main -> main * [new branch] release/v0.63.0-nightly.20260928.g2fe7c2d3f -> release/v0.63.0-nightly.20260928.g2fe7c2d3f * [new branch] release/v0.63.0-nightly.20260929.gfe6350238 -> release/v0.63.0-nightly.20260929.gfe6350238 * [new branch] release/v0.64.0-nightly.20260930.g38700b4b3 -> release/v0.64.0-nightly.20260930.g38700b4b3 * [new branch] release/v0.64.0-nightly.20261001.gc6bccb7ec -> release/v0.64.0-nightly.20261001.gc6bccb7ec * [new branch] release/v0.64.0-nightly.20261002.gc9096a847 -> release/v0.64.0-nightly.20261002.gc9096a847 * [new branch] release/v0.64.0-nightly.20261003.gfb972b2f8 -> release/v0.64.0-nightly.20261003.gfb972b2f8 * [new branch] release/v0.64.0-nightly.20261005.gfb972b2f8 -> release/v0.64.0-nightly.20261005.gfb972b2f8 * [new branch] release/v0.64.0-nightly.20261006.gfb972b2f8 -> release/v0.64.0-nightly.20261006.gfb972b2f8 * [new branch] release/v0.65.0-nightly.20261007.gef59c532f -> release/v0.65.0-nightly.20261007.gef59c532f * [new branch] release/v0.65.0-nightly.20261008.g44d764ee5 -> release/v0.65.0-nightly.20261008.g44d764ee5 + 1d4c01414c...a26cd5844a refs/pull/19013/merge -> refs/pull/19013/merge (forced update) + f4201060ad...f1407dc22b refs/pull/20170/merge -> refs/pull/20170/merge (forced update) + 8305abdb18...72e0231492 refs/pull/20536/merge -> refs/pull/20536/merge (forced update) + 8c8e0506f1...3dfb801e03 refs/pull/21632/merge -> refs/pull/21632/merge (forced update) + f3c377cd69...81e9df252b refs/pull/21880/merge -> refs/pull/21880/merge (forced update) + 243d4e84b4...1ff7447a6f refs/pull/22590/merge -> refs/pull/22590/merge (forced update) + fd9c3d648c...08d84189f5 refs/pull/22846/merge -> refs/pull/22846/merge (forced update) + a22b3087c8...ea3f6cdf5c refs/pull/23105/merge -> refs/pull/23105/merge (forced update) + 37f70eeb35...5bfb1a215f refs/pull/23446/merge -> refs/pull/23446/merge (forced update) + ef376df059...407f29ec6d refs/pull/23482/merge -> refs/pull/23482/merge (forced update) + 886cc5d274...e353db7d38 refs/pull/23543/merge -> refs/pull/23543/merge (forced update) + 8b3813b2a0...1b49367ce3 refs/pull/23809/merge -> refs/pull/23809/merge (forced update) + 5ff28d3cb1...c49e33a204 refs/pull/24661/merge -> refs/pull/24661/merge (forced update) + a5b7c7bf11...7d5148a576 refs/pull/24905/merge -> refs/pull/24905/merge (forced update) + 1bdd50bc77...4a7f3677b9 refs/pull/25230/merge -> refs/pull/25230/merge (forced update) + 9264c7041b...32ba888918 refs/pull/25364/merge -> refs/pull/25364/merge (forced update) + 243254331c...a46c79cbcf refs/pull/25375/merge -> refs/pull/25375/merge (forced update) + 7015d1eedc...26c613a295 refs/pull/25462/merge -> refs/pull/25462/merge (forced update) + d3137a58f3...41756bc571 refs/pull/25729/merge -> refs/pull/25729/merge (forced update) + 01b95eabc0...173752fd63 refs/pull/25786/merge -> refs/pull/25786/merge (forced update) + 06d5fca816...37c2ec43e8 refs/pull/25788/merge -> refs/pull/25788/merge (forced update) + df4802d990...e20ed1a413 refs/pull/26084/merge -> refs/pull/26084/merge (forced update) + 0cb169f0e0...b6bf3b5f83 refs/pull/26686/merge -> refs/pull/26686/merge (forced update) + a352ef5950...b3d4d909c9 refs/pull/26844/head -> refs/pull/26844/head (forced update) + c896c65f6d...0388f94e85 refs/pull/26844/merge -> refs/pull/26844/merge (forced update) + b191df9a84...3b26a87d76 refs/pull/27200/merge -> refs/pull/27200/merge (forced update) + 470fc8b4dd...d095cfcbd0 refs/pull/27399/merge -> refs/pull/27399/merge (forced update) + 6da904c6a0...141bf36264 refs/pull/27400/merge -> refs/pull/27400/merge (forced update) + 9034f7e13e...f1453a911d refs/pull/27584/merge -> refs/pull/27584/merge (forced update) + 6cca6d3fe7...4fa0d870c3 refs/pull/27588/merge -> refs/pull/27588/merge (forced update) + 9d0bdee363...6d2dfb3062 refs/pull/27685/merge -> refs/pull/27685/merge (forced update) + a3e9f17bb5...73bcaaae1c refs/pull/27735/merge -> refs/pull/27735/merge (forced update) + f02e64d2b1...d323030a1f refs/pull/27860/merge -> refs/pull/27860/merge (forced update) + 364223fd8a...de57204c64 refs/pull/27862/merge -> refs/pull/27862/merge (forced update) + d78c01eac6...862e530656 refs/pull/28024/merge -> refs/pull/28024/merge (forced update) + 95d43e1ee2...2ed411e1de refs/pull/28042/merge -> refs/pull/28042/merge (forced update) + 61457636d5...98bcb24fae refs/pull/28054/merge -> refs/pull/28054/merge (forced update) + 8c95170398...35cabee737 refs/pull/28310/merge -> refs/pull/28310/merge (forced update) + 1b32476e35...ea59884225 refs/pull/28405/merge -> refs/pull/28405/merge (forced update) + c1d4a59af1...fc829844e3 refs/pull/28450/head -> refs/pull/28450/head (forced update) + da7c353936...dffb88b072 refs/pull/28450/merge -> refs/pull/28450/merge (forced update) + f6a3831290...e270b0ae47 refs/pull/28486/merge -> refs/pull/28486/merge (forced update) + ae97902c4a...cc9cdd5a22 refs/pull/28490/merge -> refs/pull/28490/merge (forced update) + 71f0b864a2...6b40bf277f refs/pull/28491/merge -> refs/pull/28491/merge (forced update) + 54999ff322...3e6b4c1b1e refs/pull/28669/merge -> refs/pull/28669/merge (forced update) + bb9da2af14...ef6ee47068 refs/pull/28677/merge -> refs/pull/28677/merge (forced update) + 95b863ae27...b8c63162df refs/pull/28738/merge -> refs/pull/28738/merge (forced update) + c9424197aa...6b6c6fae12 refs/pull/28891/merge -> refs/pull/28891/merge (forced update) + c6a08a1671...3f353b77af refs/pull/28963/merge -> refs/pull/28963/merge (forced update) + 9029c2d2c8...9457089535 refs/pull/28985/merge -> refs/pull/28985/merge (forced update) + a3725c54bc...18240978a3 refs/pull/28986/merge -> refs/pull/28986/merge (forced update) + 38782a7f4d...38eb15411e refs/pull/28987/merge -> refs/pull/28987/merge (forced update) + c6dd4688cc...2723ba01fd refs/pull/29019/merge -> refs/pull/29019/merge (forced update) + bdad0560c0...98f516aaad refs/pull/29148/merge -> refs/pull/29148/merge (forced update) + 5a3d2d97f2...491adc060e refs/pull/29168/merge -> refs/pull/29168/merge (forced update) + babf1e73fd...1d2ef21d42 refs/pull/29239/merge -> refs/pull/29239/merge (forced update) 1bd7b08a73..8f2a975ce7 refs/pull/29342/head -> refs/pull/29342/head + 8c05e971ce...9e48509737 refs/pull/29367/merge -> refs/pull/29367/merge (forced update) + d6370ab76f...31830a33c4 refs/pull/29382/merge -> refs/pull/29382/merge (forced update) + 0971ab8cb4...8e7963302e refs/pull/29393/merge -> refs/pull/29393/merge (forced update) fcc1d2c01a..f8dd0adc79 refs/pull/29431/head -> refs/pull/29431/head 7fd3843bf2..18944ebe5a refs/pull/29432/head -> refs/pull/29432/head 9f5a6d827a..da9820fe14 refs/pull/29435/head -> refs/pull/29435/head 36337e6688..315d279b0f refs/pull/29436/head -> refs/pull/29436/head d785e0c0d6..76ebd0eede refs/pull/29448/head -> refs/pull/29448/head 3a9ef8de4b..1a63c7f355 refs/pull/29450/head -> refs/pull/29450/head + d9e618084c...6318023ed9 refs/pull/29457/head -> refs/pull/29457/head (forced update) 72a2ebc52b..22b0c0cd79 refs/pull/29476/head -> refs/pull/29476/head 7e62188d93..fe36c7c2d1 refs/pull/29488/head -> refs/pull/29488/head + 378d650089...d3e54c1074 refs/pull/29490/head -> refs/pull/29490/head (forced update) 3c9afa0bbd..6970b7a6b6 refs/pull/29492/head -> refs/pull/29492/head a1e68e329c..f17e3e9087 refs/pull/29499/head -> refs/pull/29499/head f1a095558a..17c731386e refs/pull/29502/head -> refs/pull/29502/head 225be2b770..88f4c4e0d2 refs/pull/29505/head -> refs/pull/29505/head + fb2925837e...8341773fae refs/pull/29505/merge -> refs/pull/29505/merge (forced update) + 3c60a97fb6...a7bc7a09c3 refs/pull/29508/head -> refs/pull/29508/head (forced update) + 395b7e477b...1b5f4a2090 refs/pull/29509/merge -> refs/pull/29509/merge (forced update) + 9aa01fb591...548729d5dd refs/pull/29510/merge -> refs/pull/29510/merge (forced update) + 2ad57e4e1d...1bbee037cd refs/pull/29512/merge -> refs/pull/29512/merge (forced update) + 3ae29bee81...a63322a3b2 refs/pull/29515/merge -> refs/pull/29515/merge (forced update) + 97d0725a4b...7e4227a903 refs/pull/29516/merge -> refs/pull/29516/merge (forced update) + f259a3cc4a...ebf0a6b2aa refs/pull/29517/merge -> refs/pull/29517/merge (forced update) * [new ref] refs/pull/29520/head -> refs/pull/29520/head * [new ref] refs/pull/29521/head -> refs/pull/29521/head * [new ref] refs/pull/29521/merge -> refs/pull/29521/merge * [new ref] refs/pull/29522/head -> refs/pull/29522/head * [new ref] refs/pull/29522/merge -> refs/pull/29522/merge * [new ref] refs/pull/29523/head -> refs/pull/29523/head * [new ref] refs/pull/29523/merge -> refs/pull/29523/merge * [new ref] refs/pull/29525/head -> refs/pull/29525/head * [new ref] refs/pull/29525/merge -> refs/pull/29525/merge * [new ref] refs/pull/29527/head -> refs/pull/29527/head * [new ref] refs/pull/29527/merge -> refs/pull/29527/merge * [new ref] refs/pull/29528/head -> refs/pull/29528/head * [new ref] refs/pull/29531/head -> refs/pull/29531/head * [new ref] refs/pull/29531/merge -> refs/pull/29531/merge * [new ref] refs/pull/29532/head -> refs/pull/29532/head * [new ref] refs/pull/29532/merge -> refs/pull/29532/merge * [new ref] refs/pull/29535/head -> refs/pull/29535/head * [new ref] refs/pull/29535/merge -> refs/pull/29535/merge * [new ref] refs/pull/29536/head -> refs/pull/29536/head * [new ref] refs/pull/29536/merge -> refs/pull/29536/merge * [new ref] refs/pull/29537/head -> refs/pull/29537/head * [new ref] refs/pull/29537/merge -> refs/pull/29537/merge * [new ref] refs/pull/29539/head -> refs/pull/29539/head * [new ref] refs/pull/29540/head -> refs/pull/29540/head * [new ref] refs/pull/29542/head -> refs/pull/29542/head * [new ref] refs/pull/29543/head -> refs/pull/29543/head * [new ref] refs/pull/29544/head -> refs/pull/29544/head * [new ref] refs/pull/29544/merge -> refs/pull/29544/merge * [new ref] refs/pull/29545/head -> refs/pull/29545/head * [new ref] refs/pull/29546/head -> refs/pull/29546/head * [new ref] refs/pull/29546/merge -> refs/pull/29546/merge * [new ref] refs/pull/29547/head -> refs/pull/29547/head * [new ref] refs/pull/29549/head -> refs/pull/29549/head * [new ref] refs/pull/29551/head -> refs/pull/29551/head * [new ref] refs/pull/29551/merge -> refs/pull/29551/merge * [new ref] refs/pull/29552/head -> refs/pull/29552/head * [new ref] refs/pull/29552/merge -> refs/pull/29552/merge * [new ref] refs/pull/29553/head -> refs/pull/29553/head * [new ref] refs/pull/29553/merge -> refs/pull/29553/merge * [new ref] refs/pull/29554/head -> refs/pull/29554/head * [new ref] refs/pull/29554/merge -> refs/pull/29554/merge * [new ref] refs/pull/29557/head -> refs/pull/29557/head * [new ref] refs/pull/29558/head -> refs/pull/29558/head * [new ref] refs/pull/29559/head -> refs/pull/29559/head * [new ref] refs/pull/29559/merge -> refs/pull/29559/merge * [new ref] refs/pull/29560/head -> refs/pull/29560/head * [new ref] refs/pull/29561/head -> refs/pull/29561/head * [new ref] refs/pull/29563/head -> refs/pull/29563/head * [new ref] refs/pull/29563/merge -> refs/pull/29563/merge * [new ref] refs/pull/29564/head -> refs/pull/29564/head * [new ref] refs/pull/29564/merge -> refs/pull/29564/merge * [new ref] refs/pull/29565/head -> refs/pull/29565/head * [new ref] refs/pull/29566/head -> refs/pull/29566/head * [new ref] refs/pull/29566/merge -> refs/pull/29566/merge * [new ref] refs/pull/29567/head -> refs/pull/29567/head * [new ref] refs/pull/29568/head -> refs/pull/29568/head * [new ref] refs/pull/29569/head -> refs/pull/29569/head * [new ref] refs/pull/29570/head -> refs/pull/29570/head * [new ref] refs/pull/29573/head -> refs/pull/29573/head * [new ref] refs/pull/29573/merge -> refs/pull/29573/merge * [new ref] refs/pull/29575/head -> refs/pull/29575/head * [new ref] refs/pull/29575/merge -> refs/pull/29575/merge * [new ref] refs/pull/29578/head -> refs/pull/29578/head * [new ref] refs/pull/29578/merge -> refs/pull/29578/merge * [new ref] refs/pull/29580/head -> refs/pull/29580/head * [new ref] refs/pull/29581/head -> refs/pull/29581/head * [new ref] refs/pull/29582/head -> refs/pull/29582/head * [new ref] refs/pull/29582/merge -> refs/pull/29582/merge * [new ref] refs/pull/29583/head -> refs/pull/29583/head * [new ref] refs/pull/29584/head -> refs/pull/29584/head * [new ref] refs/pull/29585/head -> refs/pull/29585/head * [new ref] refs/pull/29586/head -> refs/pull/29586/head * [new ref] refs/pull/29587/head -> refs/pull/29587/head * [new ref] refs/pull/29587/merge -> refs/pull/29587/merge * [new ref] refs/pull/29590/head -> refs/pull/29590/head * [new ref] refs/pull/29590/merge -> refs/pull/29590/merge * [new ref] refs/pull/29596/head -> refs/pull/29596/head * [new ref] refs/pull/29596/merge -> refs/pull/29596/merge * [new ref] refs/pull/29597/head -> refs/pull/29597/head * [new ref] refs/pull/29599/head -> refs/pull/29599/head * [new ref] refs/pull/29599/merge -> refs/pull/29599/merge * [new ref] refs/pull/29601/head -> refs/pull/29601/head * [new ref] refs/pull/29604/head -> refs/pull/29604/head * [new ref] refs/pull/29606/head -> refs/pull/29606/head * [new ref] refs/pull/29606/merge -> refs/pull/29606/merge * [new ref] refs/pull/29607/head -> refs/pull/29607/head * [new ref] refs/pull/29607/merge -> refs/pull/29607/merge * [new ref] refs/pull/29608/head -> refs/pull/29608/head * [new ref] refs/pull/29608/merge -> refs/pull/29608/merge * [new ref] refs/pull/29609/head -> refs/pull/29609/head * [new ref] refs/pull/29611/head -> refs/pull/29611/head * [new ref] refs/pull/29611/merge -> refs/pull/29611/merge * [new ref] refs/pull/29612/head -> refs/pull/29612/head * [new ref] refs/pull/29615/head -> refs/pull/29615/head * [new ref] refs/pull/29615/merge -> refs/pull/29615/merge * [new ref] refs/pull/29616/head -> refs/pull/29616/head * [new ref] refs/pull/29617/head -> refs/pull/29617/head * [new ref] refs/pull/29617/merge -> refs/pull/29617/merge * [new ref] refs/pull/29618/head -> refs/pull/29618/head * [new ref] refs/pull/29619/head -> refs/pull/29619/head * [new ref] refs/pull/29619/merge -> refs/pull/29619/merge * [new ref] refs/pull/29621/head -> refs/pull/29621/head * [new ref] refs/pull/29621/merge -> refs/pull/29621/merge * [new ref] refs/pull/29622/head -> refs/pull/29622/head * [new ref] refs/pull/29622/merge -> refs/pull/29622/merge * [new ref] refs/pull/29626/head -> refs/pull/29626/head * [new ref] refs/pull/29626/merge -> refs/pull/29626/merge * [new ref] refs/pull/29629/head -> refs/pull/29629/head * [new ref] refs/pull/29629/merge -> refs/pull/29629/merge * [new ref] refs/pull/29630/head -> refs/pull/29630/head * [new ref] refs/pull/29630/merge -> refs/pull/29630/merge * [new ref] refs/pull/29631/head -> refs/pull/29631/head * [new ref] refs/pull/29632/head -> refs/pull/29632/head * [new ref] refs/pull/29633/head -> refs/pull/29633/head * [new ref] refs/pull/29633/merge -> refs/pull/29633/merge * [new ref] refs/pull/29635/head -> refs/pull/29635/head * [new ref] refs/pull/29635/merge -> refs/pull/29635/merge * [new ref] refs/pull/29636/head -> refs/pull/29636/head * [new ref] refs/pull/29637/head -> refs/pull/29637/head * [new ref] refs/pull/29638/head -> refs/pull/29638/head * [new ref] refs/pull/29638/merge -> refs/pull/29638/merge * [new ref] refs/pull/29640/head -> refs/pull/29640/head * [new ref] refs/pull/29641/head -> refs/pull/29641/head * [new ref] refs/pull/29643/head -> refs/pull/29643/head * [new ref] refs/pull/29643/merge -> refs/pull/29643/merge * [new ref] refs/pull/29644/head -> refs/pull/29644/head * [new ref] refs/pull/29644/merge -> refs/pull/29644/merge * [new ref] refs/pull/29645/head -> refs/pull/29645/head * [new ref] refs/pull/29645/merge -> refs/pull/29645/merge * [new ref] refs/pull/29647/head -> refs/pull/29647/head * [new ref] refs/pull/29647/merge -> refs/pull/29647/merge * [new ref] refs/pull/29648/head -> refs/pull/29648/head * [new ref] refs/pull/29648/merge -> refs/pull/29648/merge * [new ref] refs/pull/29651/head -> refs/pull/29651/head * [new ref] refs/pull/29651/merge -> refs/pull/29651/merge * [new ref] refs/pull/29652/head -> refs/pull/29652/head * [new ref] refs/pull/29652/merge -> refs/pull/29652/merge * [new ref] refs/pull/29653/head -> refs/pull/29653/head * [new ref] refs/pull/29655/head -> refs/pull/29655/head * [new ref] refs/pull/29656/head -> refs/pull/29656/head * [new ref] refs/pull/29657/head -> refs/pull/29657/head * [new ref] refs/pull/29658/head -> refs/pull/29658/head * [new ref] refs/pull/29659/head -> refs/pull/29659/head * [new ref] refs/pull/29660/head -> refs/pull/29660/head * [new ref] refs/pull/29661/head -> refs/pull/29661/head * [new ref] refs/pull/29662/head -> refs/pull/29662/head * [new ref] refs/pull/29663/head -> refs/pull/29663/head * [new ref] refs/pull/29664/head -> refs/pull/29664/head * [new ref] refs/pull/29664/merge -> refs/pull/29664/merge * [new ref] refs/pull/29665/head -> refs/pull/29665/head * [new ref] refs/pull/29666/head -> refs/pull/29666/head * [new ref] refs/pull/29666/merge -> refs/pull/29666/merge * [new ref] refs/pull/29667/head -> refs/pull/29667/head * [new ref] refs/pull/29667/merge -> refs/pull/29667/merge * [new ref] refs/pull/29668/head -> refs/pull/29668/head * [new ref] refs/pull/29668/merge -> refs/pull/29668/merge * [new ref] refs/pull/29670/head -> refs/pull/29670/head * [new ref] refs/pull/29670/merge -> refs/pull/29670/merge * [new ref] refs/pull/29671/head -> refs/pull/29671/head * [new ref] refs/pull/29671/merge -> refs/pull/29671/merge * [new ref] refs/pull/29672/head -> refs/pull/29672/head * [new ref] refs/pull/29673/head -> refs/pull/29673/head * [new ref] refs/pull/29674/head -> refs/pull/29674/head * [new ref] refs/pull/29675/head -> refs/pull/29675/head * [new ref] refs/pull/29675/merge -> refs/pull/29675/merge * [new ref] refs/pull/29677/head -> refs/pull/29677/head * [new ref] refs/pull/29678/head -> refs/pull/29678/head * [new ref] refs/pull/29678/merge -> refs/pull/29678/merge * [new ref] refs/pull/29679/head -> refs/pull/29679/head * [new ref] refs/pull/29679/merge -> refs/pull/29679/merge * [new ref] refs/pull/29683/head -> refs/pull/29683/head * [new ref] refs/pull/29683/merge -> refs/pull/29683/merge * [new ref] refs/pull/29684/head -> refs/pull/29684/head * [new ref] refs/pull/29688/head -> refs/pull/29688/head * [new ref] refs/pull/29688/merge -> refs/pull/29688/merge * [new ref] refs/pull/29691/head -> refs/pull/29691/head * [new ref] refs/pull/29691/merge -> refs/pull/29691/merge * [new ref] refs/pull/29692/head -> refs/pull/29692/head * [new tag] v0.62.0 -> v0.62.0 * [new tag] v0.63.0 -> v0.63.0 * [new tag] v0.63.0-nightly.20260928.g2fe7c2d3f -> v0.63.0-nightly.20260928.g2fe7c2d3f * [new tag] v0.63.0-nightly.20260929.gfe6350238 -> v0.63.0-nightly.20260929.gfe6350238 * [new tag] v0.63.0-preview.0 -> v0.63.0-preview.0 * [new tag] v0.64.0-nightly.20260930.g38700b4b3 -> v0.64.0-nightly.20260930.g38700b4b3 * [new tag] v0.64.0-nightly.20261001.gc6bccb7ec -> v0.64.0-nightly.20261001.gc6bccb7ec * [new tag] v0.64.0-nightly.20261002.gc9096a847 -> v0.64.0-nightly.20261002.gc9096a847 * [new tag] v0.64.0-nightly.20261003.gfb972b2f8 -> v0.64.0-nightly.20261003.gfb972b2f8 * [new tag] v0.64.0-nightly.20261005.gfb972b2f8 -> v0.64.0-nightly.20261005.gfb972b2f8 * [new tag] v0.64.0-nightly.20261006.gfb972b2f8 -> v0.64.0-nightly.20261006.gfb972b2f8 * [new tag] v0.64.0-preview.0 -> v0.64.0-preview.0 * [new tag] v0.65.0-nightly.20261007.gef59c532f -> v0.65.0-nightly.20261007.gef59c532f * [new tag] v0.65.0-nightly.20261008.g44d764ee5 -> v0.65.0-nightly.20261008.g44d764ee5  ->(B Found riscv64-support.patch(B ==>(B Validating source files with b2sums...(B gemini-cli ... Passed riscv64-support.patch ... Passed ]3008;end=fbd8c70c2d65414fabe26dc4810b79ca\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. ]3008;start=43b1b35569b04132896e97d342800c33;user=root;hostname=smoochum.felixc.at;machineid=77eccab17314487ca80710578b50c923;bootid=abe36af9c93d490fa218c75a14ed2c6b;pid=880976;pidfdid=17654917;comm=systemd-nspawn;container=makechrootpkg-gemini-cli.build.879122;type=container\]11;?\]2;🔵 Container makechrootpkg-gemini-cli.build.879122 on smoochum.felixc.at\]3008;start=e0ce57f954ee433aba6d4e6f57f887ac;user=root;hostname=makechrootpkg-gemini-cli.build.879122;machineid=c7dd088d07b14b1a9064811f96268186;bootid=03090a925b0946918b8220b51f8341de;pid=34;pidfdid=17655017;comm=sudo;targetuser=builduser;type=session\==>(B Making package: gemini-cli 1:0.63.0-1 (Fri Oct 9 12:55:31 2026)(B ==>(B Checking runtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=c6995abe7627484cbb24375b382b1f17;user=builduser;hostname=makechrootpkg-gemini-cli.build.879122;machineid=c7dd088d07b14b1a9064811f96268186;bootid=03090a925b0946918b8220b51f8341de;pid=3216;pidfdid=17658371;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... looking for conflicting packages... Package (7) New Version Net Change Download Size extra/abseil-cpp 20260817.0-2 6.45 MiB extra/ada 4.0.0-1 0.83 MiB extra/c-ares 1.34.8-1 0.52 MiB extra/gtest 1.18.0-1 1.57 MiB extra/libuv 1.52.1-2 0.62 MiB extra/simdjson 1:5.0.3-1 9.98 MiB 0.38 MiB extra/nodejs 26.11.1-1 56.59 MiB 15.02 MiB Total Download Size: 15.40 MiB Total Installed Size: 76.56 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... nodejs-26.11.1-1-riscv64 downloading... simdjson-1:5.0.3-1-riscv64 downloading... 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 :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h]3008;end=c6995abe7627484cbb24375b382b1f17\==>(B Checking buildtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=f06678abba3a4acbafaed1aa71324858;user=builduser;hostname=makechrootpkg-gemini-cli.build.879122;machineid=c7dd088d07b14b1a9064811f96268186;bootid=03090a925b0946918b8220b51f8341de;pid=3381;pidfdid=17658666;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... looking for conflicting packages... Package (16) New Version Net Change Download Size core/gpm 1.20.7.r38.ge82d1a6-7 0.36 MiB extra/nodejs-nopt 10.0.1-1 0.03 MiB extra/oniguruma 6.9.10-1 0.88 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB core/procps-ng 4.0.7-1 2.56 MiB extra/semver 7.8.5-1 0.10 MiB extra/vim-runtime 9.2.1164-2 38.81 MiB 7.68 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/bubblewrap 0.13.0-1 0.09 MiB extra/git 2.56.0-1 32.07 MiB extra/jq 1.8.2-1 0.48 MiB extra/node-gyp 13.1.0-1 6.85 MiB extra/npm 12.2.0-1 9.42 MiB extra/vim 9.2.1164-2 5.13 MiB 2.58 MiB Total Download Size: 10.26 MiB Total Installed Size: 97.29 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... vim-runtime-9.2.1164-2-riscv64 downloading... vim-9.2.1164-2-riscv64 downloading... 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] installing bubblewrap... installing vim-runtime... Optional dependencies for vim-runtime sh: support for some tools and macros [installed] python: demoserver example tool [installed] gawk: mve tools support [installed] installing procps-ng... installing gpm... installing vim... Optional dependencies for vim python: Python language support [installed] ruby: Ruby language support lua: Lua language support perl: Perl language support [installed] tcl: Tcl language support :: Running post-transaction hooks... (1/5) Creating system user accounts... Creating group 'git' with GID 968. Creating user 'git' (git daemon user) with UID 968 and GID 968. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Checking for old perl modules... (5/5) Updating the info directory file... [?25h]3008;end=f06678abba3a4acbafaed1aa71324858\==>(B Retrieving sources...(B  ->(B Found riscv64-support.patch(B ==> WARNING:(B Skipping all source file integrity checks.(B ==>(B Extracting sources...(B  ->(B Creating working copy of gemini-cli git repo...(B Cloning into 'gemini-cli'... done. Updating files: 14% (446/3027) Updating files: 15% (455/3027) Updating files: 16% (485/3027) Updating files: 17% (515/3027) Updating files: 18% (545/3027) Updating files: 19% (576/3027) Updating files: 20% (606/3027) Updating files: 20% (632/3027) Updating files: 21% (636/3027) Updating files: 22% (666/3027) Updating files: 23% (697/3027) Updating files: 24% (727/3027) Updating files: 25% (757/3027) Updating files: 26% (788/3027) Updating files: 27% (818/3027) Updating files: 28% (848/3027) Updating files: 29% (878/3027) Updating files: 30% (909/3027) Updating files: 31% (939/3027) Updating files: 32% (969/3027) Updating files: 33% (999/3027) Updating files: 34% (1030/3027) Updating files: 35% (1060/3027) Updating files: 36% (1090/3027) Updating files: 37% (1120/3027) Updating files: 38% (1151/3027) Updating files: 39% (1181/3027) Updating files: 40% (1211/3027) Updating files: 41% (1242/3027) Updating files: 42% (1272/3027) Updating files: 43% (1302/3027) Updating files: 44% (1332/3027) Updating files: 45% (1363/3027) Updating files: 46% (1393/3027) Updating files: 47% (1423/3027) Updating files: 48% (1453/3027) Updating files: 49% (1484/3027) Updating files: 50% (1514/3027) Updating files: 51% (1544/3027) Updating files: 52% (1575/3027) Updating files: 53% (1605/3027) Updating files: 54% (1635/3027) Updating files: 55% (1665/3027) Updating files: 56% (1696/3027) Updating files: 57% (1726/3027) Updating files: 58% (1756/3027) Updating files: 59% (1786/3027) Updating files: 60% (1817/3027) Updating files: 60% (1841/3027) Updating files: 61% (1847/3027) Updating files: 62% (1877/3027) Updating files: 63% (1908/3027) Updating files: 64% (1938/3027) Updating files: 65% (1968/3027) Updating files: 66% (1998/3027) Updating files: 67% (2029/3027) Updating files: 68% (2059/3027) Updating files: 69% (2089/3027) Updating files: 70% (2119/3027) Updating files: 71% (2150/3027) Updating files: 72% (2180/3027) Updating files: 73% (2210/3027) Updating files: 74% (2240/3027) Updating files: 75% (2271/3027) Updating files: 76% (2301/3027) Updating files: 77% (2331/3027) Updating files: 78% (2362/3027) Updating files: 79% (2392/3027) Updating files: 80% (2422/3027) Updating files: 81% (2452/3027) Updating files: 82% (2483/3027) Updating files: 83% (2513/3027) Updating files: 84% (2543/3027) Updating files: 85% (2573/3027) Updating files: 86% (2604/3027) Updating files: 87% (2634/3027) Updating files: 88% (2664/3027) Updating files: 89% (2695/3027) Updating files: 89% (2712/3027) Updating files: 89% (2715/3027) Updating files: 90% (2725/3027) Updating files: 91% (2755/3027) Updating files: 92% (2785/3027) Updating files: 93% (2816/3027) Updating files: 94% (2846/3027) Updating files: 95% (2876/3027) Updating files: 96% (2906/3027) Updating files: 97% (2937/3027) Updating files: 98% (2967/3027) Updating files: 99% (2997/3027) Updating files: 100% (3027/3027) Updating files: 100% (3027/3027), done. Switched to a new branch 'makepkg' ==>(B Starting prepare()...(B patching file packages/core/src/sandbox/linux/LinuxSandboxManager.ts patching file packages/test-utils/src/test-rig.ts Hunk #2 succeeded at 1654 (offset -14 lines). patching file packages/cli/src/ui/components/shared/performance.test.ts patching file packages/core/src/policy/workspace-policy.test.ts patching file packages/cli/src/ui/components/shared/SearchableList.test.tsx npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 1382 packages, and audited 1390 packages in 2h 379 packages are looking for funding run `npm fund` for details 100 vulnerabilities (4 low, 44 moderate, 45 high, 7 critical) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. ==>(B Starting build()...(B npm notice run @google/gemini-cli@0.63.0 bundle npm notice run npm run generate && npm run build --workspace=@google/gemini-cli-devtools && npm run bundle:browser-mcp -w @google/gemini-cli-core && node esbuild.config.js && node scripts/copy_bundle_assets.js npm notice run @google/gemini-cli@0.63.0 generate npm notice run node scripts/generate-git-commit-info.js npm notice run @google/gemini-cli-devtools@0.63.0 build npm notice run npm run build:client && tsc -p tsconfig.build.json npm notice run @google/gemini-cli-devtools@0.63.0 build:client npm notice run node esbuild.client.js npm notice run @google/gemini-cli-core@0.63.0 bundle:browser-mcp npm notice run node scripts/bundle-browser-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/chrome-devtools-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/third_party/index.js Copied 9 policy files to bundle/policies/ Copied 9 policy files to packages/a2a-server/dist/policies/ Copied docs to bundle/docs/ Copied built-in skills to bundle/builtin/ Copied bundled chrome-devtools-mcp to bundle/bundled/ Copied extension examples to bundle/examples/ Assets copied to bundle/ gyp info it worked if it ends with ok gyp info using node-gyp@13.1.0 gyp info using node@26.11.1 | linux | riscv64 gyp info find Python using Python version 3.14.7 found at "/usr/bin/python3" gyp http GET https://nodejs.org/download/release/v26.11.1/node-v26.11.1-headers.tar.gz gyp http 200 https://nodejs.org/download/release/v26.11.1/node-v26.11.1-headers.tar.gz gyp http GET https://nodejs.org/download/release/v26.11.1/SHASUMS256.txt gyp http 200 https://nodejs.org/download/release/v26.11.1/SHASUMS256.txt gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/build/gemini-cli/src/gemini-cli/node_modules/@github/keytar/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/build/.cache/node-gyp/26.11.1/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/build/.cache/node-gyp/26.11.1', gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/build/.cache/node-gyp/26.11.1/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/build/gemini-cli/src/gemini-cli/node_modules/@github/keytar', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Entering directory '/build/gemini-cli/src/gemini-cli/node_modules/@github/keytar/build' CXX(target) Release/obj.target/keytar/src/async.o CXX(target) Release/obj.target/keytar/src/main.o CXX(target) Release/obj.target/keytar/src/keytar_posix.o SOLINK_MODULE(target) Release/obj.target/keytar.node COPY Release/keytar.node make: Leaving directory '/build/gemini-cli/src/gemini-cli/node_modules/@github/keytar/build' gyp info ok npm notice run @google/gemini-cli@0.63.0 prepare npm notice run husky && npm run bundle npm notice run @google/gemini-cli@0.63.0 bundle npm notice run npm run generate && npm run build --workspace=@google/gemini-cli-devtools && npm run bundle:browser-mcp -w @google/gemini-cli-core && node esbuild.config.js && node scripts/copy_bundle_assets.js npm notice run @google/gemini-cli@0.63.0 generate npm notice run node scripts/generate-git-commit-info.js npm notice run @google/gemini-cli-devtools@0.63.0 build npm notice run npm run build:client && tsc -p tsconfig.build.json npm notice run @google/gemini-cli-devtools@0.63.0 build:client npm notice run node esbuild.client.js npm notice run @google/gemini-cli-core@0.63.0 bundle:browser-mcp npm notice run node scripts/bundle-browser-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/chrome-devtools-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/third_party/index.js Copied 9 policy files to bundle/policies/ Copied 9 policy files to packages/a2a-server/dist/policies/ Copied docs to bundle/docs/ Copied built-in skills to bundle/builtin/ Copied bundled chrome-devtools-mcp to bundle/bundled/ Copied extension examples to bundle/examples/ Assets copied to bundle/ npm notice npm notice 📦 @google/gemini-cli@0.63.0 npm notice Tarball Contents npm notice 11.4kB LICENSE npm notice 13.5kB README.md npm notice 3.4kB bundle/builtin/antigravity-support/SKILL.md npm notice 8.0kB bundle/builtin/skill-creator/scripts/init_skill.cjs npm notice 3.9kB bundle/builtin/skill-creator/scripts/package_skill.cjs npm notice 3.5kB bundle/builtin/skill-creator/scripts/validate_skill.cjs npm notice 20.2kB bundle/builtin/skill-creator/SKILL.md npm notice 11.6MB bundle/bundled/chrome-devtools-mcp.mjs npm notice 209B bundle/bundled/third_party/bundled-packages.json npm notice 8.0MB bundle/bundled/third_party/index.js npm notice 304B bundle/bundled/third_party/issue-descriptions/arInsecureContext.md npm notice 228B bundle/bundled/third_party/issue-descriptions/arInvalidInfoHeader.md npm notice 249B bundle/bundled/third_party/issue-descriptions/arInvalidRegisterOsSourceHeader.md npm notice 252B bundle/bundled/third_party/issue-descriptions/arInvalidRegisterOsTriggerHeader.md npm notice 239B bundle/bundled/third_party/issue-descriptions/arInvalidRegisterSourceHeader.md npm notice 242B bundle/bundled/third_party/issue-descriptions/arInvalidRegisterTriggerHeader.md npm notice 325B bundle/bundled/third_party/issue-descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md npm notice 383B bundle/bundled/third_party/issue-descriptions/arNavigationRegistrationWithoutTransientUserActivation.md npm notice 298B bundle/bundled/third_party/issue-descriptions/arNoRegisterOsSourceHeader.md npm notice 301B bundle/bundled/third_party/issue-descriptions/arNoRegisterOsTriggerHeader.md npm notice 296B bundle/bundled/third_party/issue-descriptions/arNoRegisterSourceHeader.md npm notice 299B bundle/bundled/third_party/issue-descriptions/arNoRegisterTriggerHeader.md npm notice 204B bundle/bundled/third_party/issue-descriptions/arNoWebOrOsSupport.md npm notice 801B bundle/bundled/third_party/issue-descriptions/arOsSourceIgnored.md npm notice 826B bundle/bundled/third_party/issue-descriptions/arOsTriggerIgnored.md npm notice 472B bundle/bundled/third_party/issue-descriptions/arPermissionPolicyDisabled.md npm notice 451B bundle/bundled/third_party/issue-descriptions/arSourceAndTriggerHeaders.md npm notice 698B bundle/bundled/third_party/issue-descriptions/arSourceIgnored.md npm notice 651B bundle/bundled/third_party/issue-descriptions/arTriggerIgnored.md npm notice 448B bundle/bundled/third_party/issue-descriptions/arUntrustworthyReportingOrigin.md npm notice 429B bundle/bundled/third_party/issue-descriptions/arWebAndOsHeaders.md npm notice 269B bundle/bundled/third_party/issue-descriptions/bounceTrackingMitigations.md npm notice 175B bundle/bundled/third_party/issue-descriptions/clientHintMetaTagAllowListInvalidOrigin.md npm notice 189B bundle/bundled/third_party/issue-descriptions/clientHintMetaTagModifiedHTML.md npm notice 306B bundle/bundled/third_party/issue-descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md npm notice 677B bundle/bundled/third_party/issue-descriptions/CoepCorpNotSameOrigin.md npm notice 969B bundle/bundled/third_party/issue-descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md npm notice 499B bundle/bundled/third_party/issue-descriptions/CoepCorpNotSameSite.md npm notice 488B bundle/bundled/third_party/issue-descriptions/CoepFrameResourceNeedsCoepHeader.md npm notice 424B bundle/bundled/third_party/issue-descriptions/CompatibilityModeQuirks.md npm notice 467B bundle/bundled/third_party/issue-descriptions/connectionAllowlistInvalidAllowlistItemType.md npm notice 437B bundle/bundled/third_party/issue-descriptions/connectionAllowlistInvalidHeader.md npm notice 333B bundle/bundled/third_party/issue-descriptions/connectionAllowlistInvalidUrlPattern.md npm notice 425B bundle/bundled/third_party/issue-descriptions/connectionAllowlistItemNotInnerList.md npm notice 361B bundle/bundled/third_party/issue-descriptions/connectionAllowlistMoreThanOneList.md npm notice 265B bundle/bundled/third_party/issue-descriptions/connectionAllowlistReportingEndpointNotToken.md npm notice 404B bundle/bundled/third_party/issue-descriptions/CookieAttributeValueExceedsMaxSize.md npm notice 515B bundle/bundled/third_party/issue-descriptions/cookieCrossSiteRedirectDowngrade.md npm notice 182B bundle/bundled/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md npm notice 530B bundle/bundled/third_party/issue-descriptions/cookieExcludeDomainNonAscii.md npm notice 387B bundle/bundled/third_party/issue-descriptions/cookieExcludePortMismatch.md npm notice 279B bundle/bundled/third_party/issue-descriptions/cookieExcludeSchemeMismatch.md npm notice 388B bundle/bundled/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutRead.md npm notice 387B bundle/bundled/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutSet.md npm notice 544B bundle/bundled/third_party/issue-descriptions/cookieWarnDomainNonAscii.md npm notice 378B bundle/bundled/third_party/issue-descriptions/cookieWarnMetadataGrantRead.md npm notice 375B bundle/bundled/third_party/issue-descriptions/cookieWarnMetadataGrantSet.md npm notice 400B bundle/bundled/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutRead.md npm notice 400B bundle/bundled/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutSet.md npm notice 536B bundle/bundled/third_party/issue-descriptions/corsAllowCredentialsRequired.md npm notice 537B bundle/bundled/third_party/issue-descriptions/corsDisabledScheme.md npm notice 628B bundle/bundled/third_party/issue-descriptions/corsDisallowedByMode.md npm notice 518B bundle/bundled/third_party/issue-descriptions/corsHeaderDisallowedByPreflightResponse.md npm notice 640B bundle/bundled/third_party/issue-descriptions/corsInvalidHeaderValues.md npm notice 1.1kB bundle/bundled/third_party/issue-descriptions/corsLocalNetworkAccessPermissionDenied.md npm notice 480B bundle/bundled/third_party/issue-descriptions/corsMethodDisallowedByPreflightResponse.md npm notice 335B bundle/bundled/third_party/issue-descriptions/corsNoCorsRedirectModeNotFollow.md npm notice 645B bundle/bundled/third_party/issue-descriptions/corsOriginMismatch.md npm notice 394B bundle/bundled/third_party/issue-descriptions/corsPreflightResponseInvalid.md npm notice 377B bundle/bundled/third_party/issue-descriptions/corsRedirectContainsCredentials.md npm notice 914B bundle/bundled/third_party/issue-descriptions/corsWildcardOriginNotAllowed.md npm notice 615B bundle/bundled/third_party/issue-descriptions/cspEvalViolation.md npm notice 608B bundle/bundled/third_party/issue-descriptions/cspInlineViolation.md npm notice 616B bundle/bundled/third_party/issue-descriptions/cspTrustedTypesPolicyViolation.md npm notice 544B bundle/bundled/third_party/issue-descriptions/cspTrustedTypesSinkViolation.md npm notice 961B bundle/bundled/third_party/issue-descriptions/cspURLViolation.md npm notice 45B bundle/bundled/third_party/issue-descriptions/deprecation.md npm notice 57B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestAccountsHttpNotFound.md npm notice 39B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestAccountsInvalidResponse.md npm notice 73B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestAccountsNoResponse.md npm notice 37B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestApprovalDeclined.md npm notice 32B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestCanceled.md npm notice 61B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestErrorFetchingSignin.md npm notice 28B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestErrorIdToken.md npm notice 52B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestIdTokenHttpNotFound.md npm notice 41B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidRequest.md npm notice 31B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidResponse.md npm notice 65B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestIdTokenNoResponse.md npm notice 42B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestInvalidSigninResponse.md npm notice 63B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestManifestHttpNotFound.md npm notice 54B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestManifestInvalidResponse.md npm notice 88B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestManifestNoResponse.md npm notice 77B bundle/bundled/third_party/issue-descriptions/federatedAuthRequestTooManyRequests.md npm notice 64B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md npm notice 77B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md npm notice 99B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md npm notice 55B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNoApiPermission.md npm notice 76B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md npm notice 41B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNotIframe.md npm notice 78B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md npm notice 61B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSameOrigin.md npm notice 74B bundle/bundled/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md npm notice 409B bundle/bundled/third_party/issue-descriptions/fetchingPartitionedBlobURL.md npm notice 336B bundle/bundled/third_party/issue-descriptions/genericFormAriaLabelledByToNonExistingIdError.md npm notice 219B bundle/bundled/third_party/issue-descriptions/genericFormAutocompleteAttributeEmptyError.md npm notice 268B bundle/bundled/third_party/issue-descriptions/genericFormDuplicateIdForInputError.md npm notice 383B bundle/bundled/third_party/issue-descriptions/genericFormEmptyIdAndNameAttributesForInputError.md npm notice 326B bundle/bundled/third_party/issue-descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md npm notice 245B bundle/bundled/third_party/issue-descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md npm notice 361B bundle/bundled/third_party/issue-descriptions/genericFormInputWithNoLabelError.md npm notice 323B bundle/bundled/third_party/issue-descriptions/genericFormLabelForMatchesNonExistingIdError.md npm notice 306B bundle/bundled/third_party/issue-descriptions/genericFormLabelForNameError.md npm notice 223B bundle/bundled/third_party/issue-descriptions/genericFormLabelHasNeitherForNorNestedInputError.md npm notice 403B bundle/bundled/third_party/issue-descriptions/genericNavigationEntryMarkedSkippable.md npm notice 129B bundle/bundled/third_party/issue-descriptions/genericResponseWasBlockedByORB.md npm notice 839B bundle/bundled/third_party/issue-descriptions/heavyAd.md npm notice 775B bundle/bundled/third_party/issue-descriptions/LowTextContrast.md npm notice 429B bundle/bundled/third_party/issue-descriptions/mixedContent.md npm notice 493B bundle/bundled/third_party/issue-descriptions/navigatingPartitionedBlobURL.md npm notice 388B bundle/bundled/third_party/issue-descriptions/permissionElementActivationDisabled.md npm notice 446B bundle/bundled/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md npm notice 499B bundle/bundled/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md npm notice 278B bundle/bundled/third_party/issue-descriptions/permissionElementCspFrameAncestorsMissing.md npm notice 168B bundle/bundled/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md npm notice 160B bundle/bundled/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md npm notice 158B bundle/bundled/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md npm notice 146B bundle/bundled/third_party/issue-descriptions/permissionElementGeolocationDeprecated.md npm notice 184B bundle/bundled/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md npm notice 232B bundle/bundled/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md npm notice 250B bundle/bundled/third_party/issue-descriptions/permissionElementInvalidSizeValue.md npm notice 216B bundle/bundled/third_party/issue-descriptions/permissionElementInvalidType.md npm notice 282B bundle/bundled/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md npm notice 218B bundle/bundled/third_party/issue-descriptions/permissionElementLowContrast.md npm notice 218B bundle/bundled/third_party/issue-descriptions/permissionElementNonOpaqueColor.md npm notice 265B bundle/bundled/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md npm notice 263B bundle/bundled/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md npm notice 265B bundle/bundled/third_party/issue-descriptions/permissionElementPermissionsPolicyBlocked.md npm notice 199B bundle/bundled/third_party/issue-descriptions/permissionElementRegistrationFailed.md npm notice 373B bundle/bundled/third_party/issue-descriptions/permissionElementRequestInProgress.md npm notice 227B bundle/bundled/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md npm notice 294B bundle/bundled/third_party/issue-descriptions/permissionElementTypeNotSupported.md npm notice 396B bundle/bundled/third_party/issue-descriptions/permissionElementUntrustedEvent.md npm notice 179B bundle/bundled/third_party/issue-descriptions/placeholderDescriptionForInvisibleIssues.md npm notice 100B bundle/bundled/third_party/issue-descriptions/propertyRuleInvalidNameIssue.md npm notice 157B bundle/bundled/third_party/issue-descriptions/propertyRuleIssue.md npm notice 571B bundle/bundled/third_party/issue-descriptions/SameSiteExcludeContextDowngradeRead.md npm notice 572B bundle/bundled/third_party/issue-descriptions/SameSiteExcludeContextDowngradeSet.md npm notice 583B bundle/bundled/third_party/issue-descriptions/SameSiteExcludeNavigationContextDowngrade.md npm notice 556B bundle/bundled/third_party/issue-descriptions/SameSiteNoneInsecureErrorRead.md npm notice 611B bundle/bundled/third_party/issue-descriptions/SameSiteNoneInsecureErrorSet.md npm notice 592B bundle/bundled/third_party/issue-descriptions/SameSiteNoneInsecureWarnRead.md npm notice 647B bundle/bundled/third_party/issue-descriptions/SameSiteNoneInsecureWarnSet.md npm notice 699B bundle/bundled/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md npm notice 758B bundle/bundled/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md npm notice 610B bundle/bundled/third_party/issue-descriptions/SameSiteWarnCrossDowngradeRead.md npm notice 612B bundle/bundled/third_party/issue-descriptions/SameSiteWarnCrossDowngradeSet.md npm notice 622B bundle/bundled/third_party/issue-descriptions/SameSiteWarnStrictLaxDowngradeStrict.md npm notice 587B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityDisallowedOptGroupChild.md npm notice 605B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md npm notice 272B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md npm notice 409B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentLegendChild.md npm notice 299B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentOptionChild.md npm notice 470B bundle/bundled/third_party/issue-descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md npm notice 643B bundle/bundled/third_party/issue-descriptions/sharedArrayBuffer.md npm notice 101B bundle/bundled/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md npm notice 97B bundle/bundled/third_party/issue-descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md npm notice 155B bundle/bundled/third_party/issue-descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md npm notice 101B bundle/bundled/third_party/issue-descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md npm notice 91B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md npm notice 49B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md npm notice 124B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorExpiredResponse.md npm notice 126B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorFeatureDisabled.md npm notice 63B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorInsufficientResources.md npm notice 84B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidMatchField.md npm notice 81B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md npm notice 93B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidTTLField.md npm notice 138B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNavigationRequest.md npm notice 76B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNoMatchField.md npm notice 85B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md npm notice 88B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md npm notice 115B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonSecureContext.md npm notice 82B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringIdField.md npm notice 98B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md npm notice 85B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringMatchField.md npm notice 83B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md npm notice 49B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorRequestAborted.md npm notice 49B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorShuttingDown.md npm notice 134B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorTooLongIdField.md npm notice 131B bundle/bundled/third_party/issue-descriptions/sharedDictionaryWriteErrorUnsupportedType.md npm notice 655B bundle/bundled/third_party/issue-descriptions/sriInvalidSignatureHeader.md npm notice 756B bundle/bundled/third_party/issue-descriptions/sriInvalidSignatureInputHeader.md npm notice 465B bundle/bundled/third_party/issue-descriptions/sriMissingSignatureHeader.md npm notice 477B bundle/bundled/third_party/issue-descriptions/sriMissingSignatureInputHeader.md npm notice 420B bundle/bundled/third_party/issue-descriptions/sriSignatureHeaderValueIsIncorrectLength.md npm notice 643B bundle/bundled/third_party/issue-descriptions/sriSignatureHeaderValueIsNotByteSequence.md npm notice 678B bundle/bundled/third_party/issue-descriptions/sriSignatureHeaderValueIsParameterized.md npm notice 278B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md npm notice 516B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md npm notice 231B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md npm notice 286B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md npm notice 338B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderInvalidParameter.md npm notice 500B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderKeyIdLength.md npm notice 339B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderMissingLabel.md npm notice 380B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md npm notice 351B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md npm notice 429B bundle/bundled/third_party/issue-descriptions/sriSignatureInputHeaderValueNotInnerList.md npm notice 429B bundle/bundled/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md npm notice 259B bundle/bundled/third_party/issue-descriptions/sriValidationFailedInvalidLength.md npm notice 295B bundle/bundled/third_party/issue-descriptions/sriValidationFailedSignatureExpired.md npm notice 384B bundle/bundled/third_party/issue-descriptions/sriValidationFailedSignatureMismatch.md npm notice 266B bundle/bundled/third_party/issue-descriptions/stylesheetLateImport.md npm notice 76B bundle/bundled/third_party/issue-descriptions/stylesheetRequestFailed.md npm notice 231B bundle/bundled/third_party/issue-descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md npm notice 606B bundle/bundled/third_party/issue-descriptions/unencodedDigestIncorrectDigestLength.md npm notice 692B bundle/bundled/third_party/issue-descriptions/unencodedDigestIncorrectDigestType.md npm notice 549B bundle/bundled/third_party/issue-descriptions/unencodedDigestMalformedDictionary.md npm notice 581B bundle/bundled/third_party/issue-descriptions/unencodedDigestUnknownAlgorithm.md npm notice 166.1kB bundle/bundled/third_party/THIRD_PARTY_NOTICES npm notice 665.1kB bundle/chunk-2QVGCSEB.js npm notice 858B bundle/chunk-5AUYMPVF.js npm notice 1.2kB bundle/chunk-5PS3AYFU.js npm notice 49.2kB bundle/chunk-7DJEOEF4.js npm notice 2.5kB bundle/chunk-34MYV7JD.js npm notice 123.5kB bundle/chunk-664ZODQF.js npm notice 205.7kB bundle/chunk-DAHVX5MI.js npm notice 3.4kB bundle/chunk-E5STUM7G.js npm notice 3.8kB bundle/chunk-G3ITJJXQ.js npm notice 3.7MB bundle/chunk-GGNKJNQF.js npm notice 56.5kB bundle/chunk-IUUIT4SU.js npm notice 13.7kB bundle/chunk-JISWRHRN.js npm notice 19.5kB bundle/chunk-JY3LQ35K.js npm notice 1.6kB bundle/chunk-L5V3KIDT.js npm notice 41.5kB bundle/chunk-L6PII3GR.js npm notice 16.7MB bundle/chunk-VD3KC6GY.js npm notice 902B bundle/cleanup-WGVQKSYD.js npm notice 52.6kB bundle/core-LTNGJVWG.js npm notice 683.4kB bundle/devtools-TYCPOPV3.js npm notice 146.8kB bundle/devtoolsService-MOHQSOYB.js npm notice 6.5kB bundle/docs/admin/enterprise-controls.md npm notice 121.7kB bundle/docs/assets/connected_devtools.png npm notice 61.2kB bundle/docs/assets/gemini-screenshot.png npm notice 112.5kB bundle/docs/assets/monitoring-dashboard-logs.png npm notice 58.9kB bundle/docs/assets/monitoring-dashboard-metrics.png npm notice 55.8kB bundle/docs/assets/monitoring-dashboard-overview.png npm notice 389.7kB bundle/docs/assets/release_patch.png npm notice 157.3kB bundle/docs/assets/theme-ansi-dark.png npm notice 144.8kB bundle/docs/assets/theme-ansi-light.png npm notice 154.4kB bundle/docs/assets/theme-atom-one-dark.png npm notice 150.0kB bundle/docs/assets/theme-ayu-dark.png npm notice 140.5kB bundle/docs/assets/theme-ayu-light.png npm notice 265.5kB bundle/docs/assets/theme-custom.png npm notice 158.7kB bundle/docs/assets/theme-default-dark.png npm notice 147.3kB bundle/docs/assets/theme-default-light.png npm notice 160.3kB bundle/docs/assets/theme-dracula-dark.png npm notice 157.4kB bundle/docs/assets/theme-github-dark.png npm notice 138.4kB bundle/docs/assets/theme-github-light.png npm notice 137.2kB bundle/docs/assets/theme-google-light.png npm notice 167.3kB bundle/docs/assets/theme-holiday-dark.png npm notice 161.2kB bundle/docs/assets/theme-shades-of-purple-dark.png npm notice 149.3kB bundle/docs/assets/theme-solarized-dark.png npm notice 141.4kB bundle/docs/assets/theme-solarized-light.png npm notice 55.6kB bundle/docs/assets/theme-tokyonight-dark.png npm notice 123.1kB bundle/docs/assets/theme-xcode-light.png npm notice 7.1kB bundle/docs/behavioral-evals.md npm notice 67.8kB bundle/docs/changelogs/index.md npm notice 2.3kB bundle/docs/changelogs/latest.md npm notice 4.3kB bundle/docs/changelogs/preview.md npm notice 4.7kB bundle/docs/cli/acp-mode.md npm notice 7.0kB bundle/docs/cli/auto-memory.md npm notice 3.1kB bundle/docs/cli/checkpointing.md npm notice 16.6kB bundle/docs/cli/cli-reference.md npm notice 6.7kB bundle/docs/cli/creating-skills.md npm notice 12.1kB bundle/docs/cli/custom-commands.md npm notice 19.2kB bundle/docs/cli/enterprise.md npm notice 2.1kB bundle/docs/cli/gemini-ignore.md npm notice 3.8kB bundle/docs/cli/gemini-md.md npm notice 6.5kB bundle/docs/cli/generation-settings.md npm notice 3.6kB bundle/docs/cli/git-worktrees.md npm notice 1.6kB bundle/docs/cli/headless.md npm notice 2.7kB bundle/docs/cli/model-routing.md npm notice 2.9kB bundle/docs/cli/model-steering.md npm notice 2.7kB bundle/docs/cli/model.md npm notice 2.0kB bundle/docs/cli/notifications.md npm notice 19.6kB bundle/docs/cli/plan-mode.md npm notice 2.3kB bundle/docs/cli/rewind.md npm notice 14.1kB bundle/docs/cli/sandbox.md npm notice 6.4kB bundle/docs/cli/session-management.md npm notice 37.3kB bundle/docs/cli/settings.md npm notice 3.3kB bundle/docs/cli/skills-best-practices.md npm notice 5.7kB bundle/docs/cli/skills.md npm notice 4.6kB bundle/docs/cli/system-prompt.md npm notice 29.5kB bundle/docs/cli/telemetry.md npm notice 8.1kB bundle/docs/cli/themes.md npm notice 754B bundle/docs/cli/token-caching.md npm notice 6.2kB bundle/docs/cli/trusted-folders.md npm notice 7.1kB bundle/docs/cli/tutorials/automation.md npm notice 4.5kB bundle/docs/cli/tutorials/file-management.md npm notice 3.3kB bundle/docs/cli/tutorials/mcp-setup.md npm notice 4.5kB bundle/docs/cli/tutorials/memory-management.md npm notice 3.5kB bundle/docs/cli/tutorials/plan-mode-steering.md npm notice 3.7kB bundle/docs/cli/tutorials/session-management.md npm notice 3.6kB bundle/docs/cli/tutorials/shell-commands.md npm notice 5.9kB bundle/docs/cli/tutorials/skills-getting-started.md npm notice 3.0kB bundle/docs/cli/tutorials/task-planning.md npm notice 2.5kB bundle/docs/cli/tutorials/web-tools.md npm notice 3.0kB bundle/docs/cli/using-agent-skills.md npm notice 20.4kB bundle/docs/CONTRIBUTING.md npm notice 3.1kB bundle/docs/core/gemma-setup.md npm notice 5.0kB bundle/docs/core/index.md npm notice 7.1kB bundle/docs/core/local-model-routing.md npm notice 17.0kB bundle/docs/core/remote-agents.md npm notice 23.6kB bundle/docs/core/subagents.md npm notice 2.8kB bundle/docs/examples/proxy-script.md npm notice 5.8kB bundle/docs/extensions/best-practices.md npm notice 1.8kB bundle/docs/extensions/index.md npm notice 12.0kB bundle/docs/extensions/reference.md npm notice 7.6kB bundle/docs/extensions/releasing.md npm notice 12.3kB bundle/docs/extensions/writing-extensions.md npm notice 15.0kB bundle/docs/get-started/authentication.mdx npm notice 4.6kB bundle/docs/get-started/gemini-3.md npm notice 6.3kB bundle/docs/get-started/index.md npm notice 5.6kB bundle/docs/get-started/installation.mdx npm notice 17.7kB bundle/docs/hooks/best-practices.md npm notice 8.3kB bundle/docs/hooks/index.md npm notice 13.3kB bundle/docs/hooks/reference.md npm notice 11.5kB bundle/docs/hooks/writing-hooks.md npm notice 10.8kB bundle/docs/ide-integration/ide-companion-spec.md npm notice 11.7kB bundle/docs/ide-integration/index.md npm notice 5.9kB bundle/docs/index.md npm notice 8.5kB bundle/docs/integration-tests.md npm notice 10.0kB bundle/docs/issue-and-pr-automation.md npm notice 4.9kB bundle/docs/local-development.md npm notice 3.1kB bundle/docs/mermaid/context.mmd npm notice 1.6kB bundle/docs/mermaid/render-path.mmd npm notice 2.5kB bundle/docs/npm.md npm notice 981B bundle/docs/redirects.json npm notice 24.2kB bundle/docs/reference/commands.md npm notice 101.9kB bundle/docs/reference/configuration.md npm notice 23.4kB bundle/docs/reference/keyboard-shortcuts.md npm notice 6.4kB bundle/docs/reference/memport.md npm notice 19.4kB bundle/docs/reference/policy-engine.md npm notice 18.0kB bundle/docs/reference/tools.md npm notice 5.5kB bundle/docs/release-confidence.md npm notice 23.3kB bundle/docs/releases.md npm notice 8.1kB bundle/docs/resources/faq.md npm notice 9.1kB bundle/docs/resources/quota-and-pricing.md npm notice 6.7kB bundle/docs/resources/tos-privacy.md npm notice 10.5kB bundle/docs/resources/troubleshooting.md npm notice 1.5kB bundle/docs/resources/uninstall.md npm notice 9.4kB bundle/docs/sidebar.json npm notice 1.5kB bundle/docs/tools/activate-skill.md npm notice 2.8kB bundle/docs/tools/ask-user.md npm notice 5.2kB bundle/docs/tools/file-system.md npm notice 1.7kB bundle/docs/tools/internal-docs.md npm notice 1.8kB bundle/docs/tools/mcp-resources.md npm notice 41.9kB bundle/docs/tools/mcp-server.md npm notice 1.2kB bundle/docs/tools/memory.md npm notice 2.6kB bundle/docs/tools/planning.md npm notice 7.9kB bundle/docs/tools/shell.md npm notice 1.2kB bundle/docs/tools/todos.md npm notice 2.6kB bundle/docs/tools/tracker.md npm notice 1.7kB bundle/docs/tools/web-fetch.md npm notice 1.1kB bundle/docs/tools/web-search.md npm notice 418B bundle/events-XB7DADIJ.js npm notice 114B bundle/examples/custom-commands/commands/fs/grep-code.toml npm notice 54B bundle/examples/custom-commands/gemini-extension.json npm notice 100B bundle/examples/exclude-tools/gemini-extension.json npm notice 52B bundle/examples/hooks/gemini-extension.json npm notice 216B bundle/examples/hooks/hooks/hooks.json npm notice 188B bundle/examples/hooks/scripts/on-start.js npm notice 1.4kB bundle/examples/mcp-server/example.js npm notice 213B bundle/examples/mcp-server/gemini-extension.json npm notice 253B bundle/examples/mcp-server/package.json npm notice 859B bundle/examples/mcp-server/README.md npm notice 131B bundle/examples/policies/gemini-extension.json npm notice 872B bundle/examples/policies/policies/policies.toml npm notice 1.4kB bundle/examples/policies/README.md npm notice 53B bundle/examples/skills/gemini-extension.json npm notice 215B bundle/examples/skills/skills/greeter/SKILL.md npm notice 535B bundle/examples/themes-example/gemini-extension.json npm notice 870B bundle/examples/themes-example/README.md npm notice 645.9kB bundle/gemini-7Y3OFKA7.js npm notice 5.1kB bundle/gemini.js npm notice 1.5kB bundle/getMachineId-bsd-TXG52NKR.js npm notice 1.6kB bundle/getMachineId-darwin-7OE4DDZ6.js npm notice 1.3kB bundle/getMachineId-linux-SHIFKOOX.js npm notice 1.1kB bundle/getMachineId-unsupported-5U5DOEYY.js npm notice 1.7kB bundle/getMachineId-win-6KLLGOI4.js npm notice 479B bundle/https-proxy-agent-JWL7GO47.js npm notice 1.3MB bundle/interactiveCli-P2GHWUUQ.js npm notice 2.1kB bundle/liteRtServerManager-EO26RWY2.js npm notice 11.7kB bundle/multipart-parser-E7RMVJWU.js npm notice 11.7kB bundle/multipart-parser-KPBZEGQU.js npm notice 9.1kB bundle/oauth2-provider-5GGWRODY.js npm notice 312B bundle/policies/agents.toml npm notice 111B bundle/policies/conseca.toml npm notice 366B bundle/policies/discovered.toml npm notice 158B bundle/policies/non-interactive.toml npm notice 6.9kB bundle/policies/plan.toml npm notice 2.2kB bundle/policies/read-only.toml npm notice 647B bundle/policies/sandbox-default.toml npm notice 3.0kB bundle/policies/write.toml npm notice 2.4kB bundle/policies/yolo.toml npm notice 8.7kB bundle/sandbox-macos-permissive-open.sb npm notice 9.0kB bundle/sandbox-macos-permissive-proxied.sb npm notice 6.9kB bundle/sandbox-macos-restrictive-open.sb npm notice 7.1kB bundle/sandbox-macos-restrictive-proxied.sb npm notice 8.2kB bundle/sandbox-macos-strict-open.sb npm notice 8.4kB bundle/sandbox-macos-strict-proxied.sb npm notice 45.4kB bundle/src-65GKNWUJ.js npm notice 45.7kB bundle/src-U45KTUYT.js npm notice 352.1kB bundle/src-XZYPU6PJ.js npm notice 622B bundle/start-6ITA7HBH.js npm notice 1.8MB bundle/tree-sitter-bash-K67FJMO7.js npm notice 274.5kB bundle/tree-sitter-HH7MDLFZ.js npm notice 362.8kB bundle/worker/worker-entry.js npm notice 8.1kB package.json npm notice Bundled Dependencies npm notice node-pty npm notice minimist npm notice require-directory npm notice proper-lockfile npm notice @github/keytar npm notice config-chain npm notice @kwsites/file-exists npm notice @kwsites/promise-deferred npm notice @lydell/node-pty npm notice @pnpm/network.ca-file npm notice @pnpm/npm-conf npm notice ansi-escapes npm notice ansi-regex npm notice ansi-styles npm notice auto-bind npm notice cli-boxes npm notice cli-cursor npm notice cli-truncate npm notice cliui npm notice code-excerpt npm notice color-convert npm notice color-name npm notice convert-to-spaces npm notice debug npm notice deep-extend npm notice environment npm notice es-toolkit npm notice escalade npm notice get-east-asian-width npm notice graceful-fs npm notice indent-string npm notice ini npm notice ink npm notice is-fullwidth-code-point npm notice ky npm notice latest-version npm notice mimic-fn npm notice node-fetch-native npm notice onetime npm notice package-json npm notice patch-console npm notice proto-list npm notice rc npm notice react-reconciler npm notice registry-auth-token npm notice registry-url npm notice restore-cursor npm notice scheduler npm notice semver npm notice slice-ansi npm notice stack-utils npm notice strip-ansi npm notice wrap-ansi npm notice ws npm notice y18n npm notice yargs npm notice yargs-parser npm notice yoga-layout npm notice nan npm notice mnemonist npm notice obliterator npm notice @pnpm/config.env-replace npm notice get-caller-file npm notice ms npm notice simple-git npm notice punycode npm notice Tarball Details npm notice name: @google/gemini-cli npm notice version: 0.63.0 npm notice filename: google-gemini-cli-0.63.0.tgz npm notice package size: 15.6 MB npm notice unpacked size: 65.2 MB npm notice shasum: 485a0de791b2325506531b92373162b60fbdea81 npm notice integrity: sha512-t2oshcUi2PiBr[...]IbSIpvfJMnbHw== npm notice bundled deps: 66 npm notice bundled files: 0 npm notice own files: 4900 npm notice total files: 4900 npm notice google-gemini-cli-0.63.0.tgz ==>(B Starting check()...(B npm notice run @google/gemini-cli@0.63.0 build npm notice run node scripts/build.js npm notice run @google/gemini-cli@0.63.0 generate npm notice run node scripts/generate-git-commit-info.js CI environment detected. Building workspaces sequentially... npm notice run @google/gemini-cli-a2a-server@0.63.0 build npm notice run node ../../scripts/build_package.js Successfully copied files. npm notice run @google/gemini-cli@0.63.0 build Successfully copied files. npm notice run @google/gemini-cli-core@0.63.0 build Running chrome devtools MCP bundling... npm notice run @google/gemini-cli-core@0.63.0 bundle:browser-mcp npm notice run node scripts/bundle-browser-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/chrome-devtools-mcp.mjs Sanitizing hardcoded API key in: /build/gemini-cli/src/gemini-cli/packages/core/dist/bundled/third_party/index.js Successfully copied files. Copied documentation to dist/docs npm notice run @google/gemini-cli-devtools@0.63.0 build npm notice run npm run build:client && tsc -p tsconfig.build.json npm notice run @google/gemini-cli-devtools@0.63.0 build:client npm notice run node esbuild.client.js npm notice run @google/gemini-cli-sdk@0.63.0 build Successfully copied files. npm notice run @google/gemini-cli-test-utils@0.63.0 build Successfully copied files. npm notice run gemini-cli-vscode-ide-companion@0.63.0 build npm notice run npm run build:dev npm notice run gemini-cli-vscode-ide-companion@0.63.0 build:dev npm notice run node esbuild.js [watch] build started [watch] build finished npm notice run @google/gemini-cli-a2a-server@0.63.0 test npm notice run vitest run --no-file-parallelism --exclude=**/BuiltinCommandLoader.test.ts --exclude=**/FileCommandLoader.test.ts --exclude=**/config.integration.test.ts --exclude=**/gemini.test.tsx --exclude=**/mcp-client.test.ts --exclude=**/pathReader.test.ts --exclude=**/sandboxManager.integration.test.ts RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/a2a-server Coverage enabled with v8 ✓ src/http/app.test.ts (20 tests) 10443ms ✓ E2E Tests > should create a new task and stream status updates (text-content) via POST / 3128ms ✓ E2E Tests > should create a new task, schedule a tool call, and wait for approval 1131ms ✓ E2E Tests > should handle multiple tool calls in a single turn 551ms ✓ E2E Tests > should handle multiple tool calls sequentially in YOLO mode 716ms ✓ E2E Tests > should handle tool calls that do not require approval 377ms ✓ E2E Tests > should bypass tool approval in YOLO mode 1186ms ✓ E2E Tests > should include traceId in status updates when available 580ms ✓ E2E Tests > /listCommands > should return a list of top-level commands 426ms (node:5473) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:5473) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 memory-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:5473) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 approval-mode-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:5473) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-progress listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit ✓ src/agent/task.test.ts (20 tests) 3535ms ✓ Task > scheduleToolCalls should not modify the input requests array 1083ms ✓ Task > scheduleToolCalls > should process all restorable tools for checkpointing in a single batch 362ms (node:5523) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:5523) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 memory-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:5523) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 approval-mode-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:5523) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-progress listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit ✓ src/agent/task-event-driven.test.ts (17 tests) 3099ms ✓ Task Event-Driven Scheduler > should instantiate Scheduler when enabled 588ms ✓ Task Event-Driven Scheduler > should subscribe to TOOL_CALLS_UPDATE and map status changes 793ms ✓ src/config/config.test.ts (27 tests) 3795ms ✓ loadConfig > admin settings overrides > should pass clientName as a2a-server to Config 703ms ✓ setIsTrusted > should return agentSettings.isTrusted if defined, ignoring env vars 338ms ✓ src/agent/executor.test.ts (7 tests) 1825ms ✓ CoderAgentExecutor > should distinguish between primary and secondary execution 668ms ✓ src/persistence/gcs.test.ts (12 tests) 1254ms ✓ GCSTaskStore > Constructor & Initialization > should initialize and check bucket existence 355ms ✓ src/http/endpoints.test.ts (6 tests) 4497ms ✓ Agent Server Endpoints > should create a new task via POST /tasks 2126ms ✓ Agent Server Endpoints > should get metadata for a specific task via GET /tasks/:taskId/metadata 402ms ✓ Agent Server Endpoints > GET /tasks/metadata with non-InMemoryTaskStore > should return 501 and not fall through to send a second response 336ms ✓ src/config/settings.test.ts (6 tests) 890ms ✓ loadSettings > should load other top-level settings correctly 553ms ✓ src/config/workspace_trust.test.ts (4 tests) 4271ms ✓ Workspace Trust Evaluation > resolves untrusted environment signals in checkPathTrust 689ms ✓ Workspace Trust Evaluation > evaluates to false in Config.isTrustedFolder when untrusted signals are present or undefined 708ms ✓ Workspace Trust Evaluation > assigns undefined to mcpServers, policyPaths, adminPolicyPaths, tools, and telemetry in configParams and policySettings when trusted is false 1972ms ✓ Workspace Trust Evaluation > retains mcpServers, policyPaths, adminPolicyPaths, tools, and telemetry in configParams and policySettings when trusted is true 826ms ✓ src/commands/init.test.ts (5 tests) 1727ms ✓ InitCommand > execute > handles info from performInit 398ms ✓ InitCommand > execute > when handling submit_prompt > passes autoExecute to the agent executor 812ms ✓ src/agent/race-condition.test.ts (3 tests) 1847ms ✓ Task Race Condition > should not hang when multiple tool confirmations are processed while waiting 1117ms ✓ Task Race Condition > should handle concurrent tool scheduling correctly 384ms ✓ src/commands/restore.test.ts (6 tests) 384ms ✓ src/commands/command-registry.test.ts (6 tests) 336ms ✓ src/config/rce_vulnerability.test.ts (3 tests) 920ms ✓ Vulnerability Mitigation: b-519269096 > should ignore GEMINI_CLI_TRUST_WORKSPACE and GEMINI_YOLO_MODE in untrusted workspaces 473ms ✓ src/commands/memory.test.ts (4 tests) 299ms ✓ src/commands/extensions.test.ts (8 tests) 330ms Test Files 16 passed (16) Tests 154 passed (154) Start at 15:37:47 Duration 1427.19s (transform 106.01s, setup 0ms, collect 1040.66s, tests 39.45s, environment 293ms, prepare 67.89s) JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml % Coverage report from v8 npm notice run @google/gemini-cli@0.63.0 test RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli Coverage enabled with v8 [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004hstdout | src/ui/components/InputPrompt.test.tsx > InputPrompt > Voice Mode > should toggle recording off when space is pressed again (toggle) [Voice] Stop requested [Voice] Draining transcription for 4000ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004hstdout | src/ui/components/InputPrompt.test.tsx > InputPrompt > Voice Mode > push-to-talk > should stop recording when space heartbeat stops (release) [Voice] Stop requested [Voice] Draining transcription for 4000ms [?2004h[?2004h ❯ src/ui/components/InputPrompt.test.tsx (199 tests | 2 failed) 665421ms ✓ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 8902ms ✓ InputPrompt > should call shellHistory.getNextCommand on down arrow in shell mode 2948ms ✓ InputPrompt > should set the buffer text when a shell history command is retrieved 4305ms ✓ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 2552ms ✓ InputPrompt > should submit command in shell mode when Enter pressed with suggestions visible but no arrow navigation 2743ms ✓ InputPrompt > should accept suggestion in shell mode when Enter pressed after arrow navigation 2580ms ✓ InputPrompt > should NOT call shell history methods when not in shell mode 3569ms ✓ InputPrompt > arrow key navigation > should move to start of line on Up arrow if on first line but not at start 3351ms ✓ InputPrompt > arrow key navigation > should navigate history on Up arrow if on first line and at start 2560ms ✓ InputPrompt > arrow key navigation > should move to end of line on Down arrow if on last line but not at end 2591ms ✓ InputPrompt > arrow key navigation > should navigate history on Down arrow if on last line and at end 2522ms ✓ InputPrompt > should call completion.navigateUp for both up arrow and Ctrl+P when suggestions are showing 2527ms ✓ InputPrompt > should call completion.navigateDown for both down arrow and Ctrl+N when suggestions are showing 2554ms ✓ InputPrompt > should NOT call completion navigation when suggestions are not showing 2519ms ✓ InputPrompt > should clear the buffer and reset completion on Ctrl+C 3135ms ✓ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 3038ms ✓ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 2291ms ✓ InputPrompt > clipboard image paste > should handle image save failure gracefully 2362ms ✓ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 2315ms ✓ InputPrompt > clipboard image paste > should handle errors during clipboard operations 2484ms ✓ InputPrompt > clipboard text paste > should insert text from clipboard on Ctrl+V 2427ms ✓ InputPrompt > clipboard text paste > should use OSC 52 when useOSC52Paste setting is enabled 2445ms ✓ InputPrompt > 'should complete a partial parent comm…' 3139ms ✓ InputPrompt > 'should append a sub-command when pare…' 3363ms ✓ InputPrompt > 'should handle the backspace edge case…' 2529ms ✓ InputPrompt > 'should complete a partial argument fo…' 2557ms ✓ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 2508ms ✓ InputPrompt > should complete a command based on its altNames 2450ms ✓ InputPrompt > queues a message when Tab is pressed during generation 2347ms ✓ InputPrompt > shows an error when attempting to queue a slash command 2456ms ✓ InputPrompt > shows an error when attempting to queue a shell command 2341ms ✓ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 2328ms ✓ InputPrompt > should submit directly on Enter when isPerfectMatch is true 2320ms ✓ InputPrompt > should execute perfect match on Enter even if suggestions are showing, if at first suggestion 2530ms ✓ InputPrompt > should autocomplete and NOT execute on Enter if a DIFFERENT suggestion is selected even if perfect match 2596ms ✓ InputPrompt > should submit directly on Enter when a complete leaf command is typed 2342ms ✓ InputPrompt > should submit on Enter when an @-path is a perfect match 2459ms ✓ InputPrompt > should NOT submit on Shift+Enter even if an @-path is a perfect match 2455ms ✓ InputPrompt > should auto-execute commands with autoExecute: true on Enter 2614ms ✓ InputPrompt > should autocomplete commands with autoExecute: false on Enter 2484ms ✓ InputPrompt > should autocomplete on Tab, even for executable commands 2482ms ✓ InputPrompt > should NOT autocomplete on Shift+Tab 3064ms ✓ InputPrompt > should autocomplete custom commands from .toml files on Enter 3239ms ✓ InputPrompt > should auto-execute argument completion when command has autoExecute: true 2561ms ✓ InputPrompt > should autocomplete argument completion when command has autoExecute: false 2559ms ✓ InputPrompt > should autocomplete command name even with autoExecute: true if command has completion function 2529ms ✓ InputPrompt > should autocomplete an @-path on Enter without submitting 2658ms ✓ InputPrompt > should add a newline on enter when the line ends with a backslash 2395ms ✓ InputPrompt > should clear the buffer on Ctrl+C if it has text 2450ms ✓ InputPrompt > should render correctly in plan mode 2494ms ✓ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 2558ms ✓ InputPrompt > should call setBannerVisible(false) when clear screen key is pressed 2500ms ✓ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursor…' 3149ms ✓ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursor…' 3056ms ✓ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cu…' 2466ms ✓ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cu…' 2521ms ✓ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cu…' 2419ms ✓ InputPrompt > cursor-based completion trigger > 'should handle multiline text correctly' 2433ms ✓ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters (emo…' 2543ms ✓ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters with…' 2545ms ✓ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in paths…' 2527ms ✓ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion after u…' 2469ms ✓ InputPrompt > cursor-based completion trigger > 'should handle multiple escaped spaces…' 2518ms ✓ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in slash…' 2628ms ✓ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters with…' 2540ms ✓ InputPrompt > vim mode > 'should not call buffer.handleInput wh…' 2518ms ✓ InputPrompt > vim mode > 'should call buffer.handleInput when v…' 2485ms ✓ InputPrompt > vim mode > 'should call handleInput when vim mode…' 2557ms ✓ InputPrompt > unfocused paste > should handle bracketed paste when not focused 2996ms ✓ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 2484ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'mid-word' 5205ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the beginning of the line' 4095ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of the line' 3747ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a highlighted token' 3755ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'for multi-byte unicode characters' 3920ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'after multi-byte unicode characters' 3736ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a line with unicode cha…' 3730ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a short line with unico…' 3831ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on an empty line' 3747ms ✓ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a space between words' 4108ms ✓ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'in the middle of a line' in a multiline block 4705ms ✓ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the beginning of a line' in a multiline block 3849ms ✓ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the end of a line' in a multiline block 4491ms ✓ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor on a blank line in a multiline block 4149ms × InputPrompt > scrolling large inputs > should correctly render scrolling down and up for large inputs 42680ms → expected '▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄…' to contain 'testline 49' ✓ InputPrompt > multiline rendering > should correctly render multiline input including blank lines 4888ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 3142ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 3838ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 3642ms ✓ InputPrompt > large paste placeholder > should handle large clipboard paste (lines > 5) by calling buffer.insert 2863ms ✓ InputPrompt > large paste placeholder > should handle large clipboard paste (chars > 500) by calling buffer.insert 2730ms ✓ InputPrompt > large paste placeholder > should handle normal clipboard paste by calling buffer.insert 2640ms ✓ InputPrompt > large paste placeholder > should replace placeholder with actual content on submit 2718ms ✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after an unsafe paste 2809ms ✓ InputPrompt > paste auto-submission protection > should prevent perfect match auto-submission immediately after an unsafe paste 2291ms ✓ InputPrompt > paste auto-submission protection > should allow submission after unsafe paste protection timeout 2543ms ✓ InputPrompt > paste auto-submission protection > should allow immediate submission for a trusted paste ('kitty') 2092ms ✓ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 2138ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should clear buffer on Ctrl-C 2075ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should submit /rewind on double ESC when buffer is empty 2787ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should clear the buffer on esc esc if it has text 2120ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should reset escape state on any non-ESC key 1760ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC in shell mode by disabling shell mode 1951ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should not propagate ESC to global cancellation handler when shell mode is active (responding) 2091ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should allow ESC to reach global cancellation handler when responding and no overlay is active 1941ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC when completion suggestions are showing 2100ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should not call onEscapePromptChange when not provided 2049ms ✓ InputPrompt > enhanced input UX - keyboard shortcuts > should not interfere with existing keyboard shortcuts 1974ms ✓ InputPrompt > reverse search > invokes reverse search on Ctrl+R 3466ms ✓ InputPrompt > reverse search > resets reverse search state on Escape ('standard') 3969ms ✓ InputPrompt > reverse search > resets reverse search state on Escape ('kitty') 3972ms ✓ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 4390ms ✓ InputPrompt > reverse search > should NOT autocomplete on Shift+Tab in reverse search 3683ms ✓ InputPrompt > reverse search > submits the highlighted entry on Enter and exits reverse-search 4077ms ✓ InputPrompt > reverse search > should restore text and cursor position after reverse search" 3903ms ✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 3031ms ✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 2952ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 3322ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 5583ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 3951ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 3413ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > ensures Ctrl+R search results are prioritized newest-to-oldest by reversing userMessages 2886ms ✓ InputPrompt > Tab clean UI toggle > 'should toggle clean UI details on dou…' 2825ms ✓ InputPrompt > Tab clean UI toggle > 'should accept ghost text and NOT togg…' 3744ms ✓ InputPrompt > Tab clean UI toggle > 'should NOT toggle clean UI details on…' 3971ms ✓ InputPrompt > Tab clean UI toggle > should NOT accept ghost text on Shift+Tab 3131ms ✓ InputPrompt > Tab clean UI toggle > should not reveal clean UI details on Shift+Tab when hidden 3214ms ✓ InputPrompt > Tab clean UI toggle > should toggle clean UI details on double-Tab by default 2947ms ✓ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, first char' 3593ms ✓ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, middle char' 3399ms ✓ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, first char' 3396ms ✓ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, end char' 3328ms ✓ InputPrompt > mouse interaction > should unfocus embedded shell on click 3264ms ✓ InputPrompt > mouse interaction > should toggle paste expansion on double-click 5287ms × InputPrompt > mouse interaction > should collapse expanded paste on double-click after the end of the line 8473ms → expected '▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄…' to contain '[Pasted Text: 10 lines]' ✓ InputPrompt > mouse interaction > should move cursor on mouse click with plain borders 3162ms ✓ InputPrompt > queued message editing > should load all queued messages when up arrow is pressed with empty input 3566ms ✓ InputPrompt > queued message editing > should not load queued messages when input is not empty 3085ms ✓ InputPrompt > queued message editing > should handle undefined messages from popAllMessages 3203ms ✓ InputPrompt > queued message editing > should work with NAVIGATION_UP key as well 3073ms ✓ InputPrompt > queued message editing > should handle single queued message 3183ms ✓ InputPrompt > queued message editing > should only check for queued messages when buffer text is trimmed empty 3081ms ✓ InputPrompt > queued message editing > should not call popAllMessages if it is not provided 3170ms ✓ InputPrompt > queued message editing > should navigate input history on fresh start when no queued messages exist 3118ms ✓ InputPrompt > snapshots > should render correctly in shell mode 3236ms ✓ InputPrompt > snapshots > should render correctly when accepting edits 3150ms ✓ InputPrompt > snapshots > should render correctly in yolo mode 3154ms ✓ InputPrompt > snapshots > should not show inverted cursor when shell is focused 4324ms ✓ InputPrompt > should still allow input when shell is not focused 2903ms ✓ InputPrompt > command queuing while streaming > 'should prevent slash commands' 3030ms ✓ InputPrompt > command queuing while streaming > 'should allow concurrent-safe slash co…' 3806ms ✓ InputPrompt > command queuing while streaming > 'should prevent shell commands' 3169ms ✓ InputPrompt > command queuing while streaming > 'should allow regular messages' 2951ms ✓ InputPrompt > IME Cursor Support > should report correct cursor position for simple ASCII text 3308ms ✓ InputPrompt > IME Cursor Support > should report correct cursor position for text with double-width characters 3150ms ✓ InputPrompt > IME Cursor Support > should report correct cursor position for a line full of "😀" emojis 3709ms ✓ InputPrompt > IME Cursor Support > should report correct cursor position for mixed emojis and multi-line input 3475ms ✓ InputPrompt > IME Cursor Support > should report correct cursor position and focus for multi-line input 3332ms ✓ InputPrompt > IME Cursor Support > should report cursor position 0 when input is empty and placeholder is shown 3202ms ✓ InputPrompt > image path transformation snapshots > should snapshot collapsed image path 3306ms ✓ InputPrompt > image path transformation snapshots > should snapshot expanded image path when cursor is on it 3380ms ✓ InputPrompt > Ctrl+O paste expansion > Ctrl+O triggers paste expansion via keybinding 3002ms ✓ InputPrompt > Ctrl+O paste expansion > 'hint appears on large paste via Ctrl+V' 3118ms ✓ InputPrompt > Ctrl+O paste expansion > 'hint does not appear for small pastes…' 3018ms ✓ InputPrompt > Ctrl+O paste expansion > 'hint appears on large terminal paste …' 3110ms ✓ InputPrompt > tryTogglePasteExpansion > 'returns false when no pasted content …' 988ms ✓ InputPrompt > tryTogglePasteExpansion > 'expands placeholder under cursor' 982ms ✓ InputPrompt > tryTogglePasteExpansion > 'collapses expanded paste when cursor …' 1067ms ✓ InputPrompt > tryTogglePasteExpansion > 'expands placeholder when cursor is im…' 990ms ✓ InputPrompt > tryTogglePasteExpansion > 'shows hint when cursor is not on plac…' 996ms ✓ InputPrompt > History Navigation and Completion Suppression > should move cursor to 'start' on 'Up arrow' (older history) 3423ms ✓ InputPrompt > History Navigation and Completion Suppression > should move cursor to 'start' on 'Ctrl+P' (older history) 3275ms ✓ InputPrompt > History Navigation and Completion Suppression > should move cursor to 'end' on 'Down arrow' (newer history) 3395ms ✓ InputPrompt > History Navigation and Completion Suppression > should move cursor to 'end' on 'Ctrl+N' (newer history) 3288ms ✓ InputPrompt > History Navigation and Completion Suppression > should suppress completion after history navigation 3381ms ✓ InputPrompt > History Navigation and Completion Suppression > should not render suggestions during history navigation 3938ms ✓ InputPrompt > History Navigation and Completion Suppression > should continue to suppress completion after manual cursor movement 3470ms ✓ InputPrompt > History Navigation and Completion Suppression > should re-enable completion after typing 3521ms ✓ InputPrompt > shortcuts help visibility > opens shortcuts help with ? on empty prompt even when showShortcutsHint is false 4390ms ✓ InputPrompt > shortcuts help visibility > should NOT open shortcuts help with ? in vim NORMAL mode 3249ms ✓ InputPrompt > shortcuts help visibility > should open shortcuts help with ? in vim INSERT mode 3201ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'terminal paste event occurs' 3521ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'Ctrl+V (PASTE_CLIPBOARD) is pressed' 3215ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'mouse right-click paste occurs' 3111ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'Ctrl+R hotkey is pressed' 3486ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'Ctrl+G hotkey is pressed' 3114ms ✓ InputPrompt > shortcuts help visibility > should close shortcuts help when a 'F12 hotkey is pressed' 3209ms ✓ InputPrompt > Voice Mode > should start recording when space is pressed and voice mode is enabled (toggle) 4455ms ✓ InputPrompt > Voice Mode > should toggle recording off when space is pressed again (toggle) 4333ms ✓ InputPrompt > Voice Mode > should resume recording when space is pressed even if buffer is not empty (toggle) 5049ms ✓ InputPrompt > Voice Mode > should not start recording if voice mode is disabled (toggle) 6633ms ✓ InputPrompt > Voice Mode > should append transcription correctly across multiple turn updates (toggle) 4563ms ✓ InputPrompt > Voice Mode > should append transcription correctly when resuming voice mode (toggle) 3852ms ✓ InputPrompt > Voice Mode > should insert transcription at cursor position when buffer has text before and after (toggle) 4606ms ✓ InputPrompt > Voice Mode > push-to-talk > should insert a space on a single tap 3385ms ✓ InputPrompt > Voice Mode > push-to-talk > should start recording on hold (simulated by repeat spaces) 3798ms ✓ InputPrompt > Voice Mode > push-to-talk > should stop recording when space heartbeat stops (release) 3279ms ✓ InputPrompt > Voice Mode > push-to-talk > should cancel hold state if non-space key is pressed after first space 2705ms ✓ InputPrompt > terminal buffer rendering > does not clip the last char of a visual line whose width equals inputWidth 4698ms [?25h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:6393) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:6393) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 clear listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:6393) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 settings-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/hooks/useGeminiStream.test.tsx (86 tests) 174039ms ✓ useGeminiStream > should not submit tool responses if not all tool calls are completed 4556ms ✓ useGeminiStream > should expose activePtyId for non-shell executing tools that report an execution ID 1899ms ✓ useGeminiStream > should submit tool responses when all tool calls are completed and ready 3518ms ✓ useGeminiStream > should inject steering hint prompt for continuation 2491ms ✓ useGeminiStream > should auto-nudge the model when tool execution succeeds but model stream is empty 1977ms ✓ useGeminiStream > should handle all tool calls being cancelled by rolling back the history 2054ms ✓ useGeminiStream > should record tool responses in history when the model was switched due to a quota error 1822ms ✓ useGeminiStream > should NOT stop responding when only update_topic is called 1910ms ✓ useGeminiStream > should stop agent execution immediately when a tool call returns STOP_EXECUTION error 2154ms ✓ useGeminiStream > should add a compact suppressed-error note before STOP_EXECUTION terminal info in low verbosity mode 1978ms ✓ useGeminiStream > should rollback multiple cancelled tool calls rather than appending them to history 1964ms ✓ useGeminiStream > should not flicker streaming state to Idle between tool completion and submission 2021ms ✓ useGeminiStream > User Cancellation > should cancel an in-progress stream when escape is pressed 1914ms ✓ useGeminiStream > User Cancellation > should call onCancelSubmit handler when escape is pressed 1915ms ✓ useGeminiStream > User Cancellation > should call setShellInputFocused(false) when escape is pressed 1914ms ✓ useGeminiStream > User Cancellation > should not do anything if escape is pressed when not responding 1891ms ✓ useGeminiStream > User Cancellation > should prevent further processing after cancellation 1921ms ✓ useGeminiStream > User Cancellation > should cancel if a tool call is in progress 1802ms ✓ useGeminiStream > User Cancellation > should transition to Idle state when cancelled while a tool call is in progress and completes 1852ms ✓ useGeminiStream > User Cancellation > should append cancelled tool responses to history when cancelled while a tool call is in progress and completes with response parts 2304ms ✓ useGeminiStream > User Cancellation > should cancel a request when a tool is awaiting confirmation 2401ms ✓ useGeminiStream > Retry Handling > should ignore retryStatus updates when not responding 1785ms ✓ useGeminiStream > Retry Handling > should reset retryStatus when isResponding becomes false 1924ms ✓ useGeminiStream > Retry Handling > should ignore late retry events after cancellation 1890ms ✓ useGeminiStream > Slash Command Handling > should schedule a tool call when the command processor returns a schedule_tool action 1830ms ✓ useGeminiStream > Slash Command Handling > should stop processing and not call Gemini when a command is handled without a tool call 1777ms ✓ useGeminiStream > Slash Command Handling > should call Gemini with prompt content when slash command returns a `submit_prompt` action 1909ms ✓ useGeminiStream > Slash Command Handling > should correctly handle a submit_prompt action with empty content 1852ms ✓ useGeminiStream > Slash Command Handling > should not call handleSlashCommand for line comments 1808ms ✓ useGeminiStream > Slash Command Handling > should not call handleSlashCommand for block comments 1804ms ✓ useGeminiStream > Slash Command Handling > should not call handleSlashCommand is shell mode is active 1815ms ✓ useGeminiStream > Slash Command Handling > should record client-initiated tool calls in GeminiChat history 1838ms ✓ useGeminiStream > Slash Command Handling > should NOT record other client-initiated tool calls in history 1829ms ✓ useGeminiStream > Error Handling > should call parseAndFormatApiError with the correct authType on stream initialization failure 1940ms ✓ useGeminiStream > Error Handling > should use TRUE_EMPTY_RESPONSE_MESSAGE when receiving an invalid stream event of type NO_RESPONSE_TEXT 1913ms ✓ useGeminiStream > Error Handling > should use the event message when receiving a non-NO_RESPONSE_TEXT invalid stream event 1851ms ✓ useGeminiStream > handleApprovalModeChange > should auto-approve all pending tool calls when switching to YOLO mode 1813ms ✓ useGeminiStream > handleApprovalModeChange > should only auto-approve edit tools when switching to AUTO_EDIT mode 1803ms ✓ useGeminiStream > handleApprovalModeChange > should auto-approve shell commands with redirection when switching to AUTO_EDIT mode 1803ms ✓ useGeminiStream > handleApprovalModeChange > should NOT auto-approve shell commands without redirection when switching to AUTO_EDIT mode 1777ms ✓ useGeminiStream > handleApprovalModeChange > should not auto-approve any tools when switching to REQUIRE_CONFIRMATION mode 1777ms ✓ useGeminiStream > handleApprovalModeChange > should handle errors gracefully when auto-approving tool calls 1803ms ✓ useGeminiStream > handleApprovalModeChange > should skip tool calls without confirmationDetails 1811ms ✓ useGeminiStream > handleApprovalModeChange > should only process tool calls with awaiting_approval status 1850ms ✓ useGeminiStream > handleApprovalModeChange > should inject a notification message when manually exiting Plan Mode 1798ms ✓ useGeminiStream > handleFinishedEvent > should add info message for MAX_TOKENS finish reason 3207ms ✓ useGeminiStream > handleFinishedEvent > ContextWindowWillOverflow event > should add message 'without suggestion when remaining tok…' 3796ms ✓ useGeminiStream > handleFinishedEvent > ContextWindowWillOverflow event > should add message 'with suggestion when remaining tokens…' 2017ms ✓ useGeminiStream > handleFinishedEvent > should call onCancelSubmit when ContextWindowWillOverflow event is received 1844ms ✓ useGeminiStream > handleFinishedEvent > should add informational messages when ChatCompressed event is received 2021ms ✓ useGeminiStream > handleFinishedEvent > should handle 'STOP' finish reason correctly 2887ms ✓ useGeminiStream > handleFinishedEvent > should handle 'FINISH_REASON_UNSPECIFIED' finish reason correctly 2660ms ✓ useGeminiStream > handleFinishedEvent > should handle 'SAFETY' finish reason correctly 1880ms ✓ useGeminiStream > handleFinishedEvent > should handle 'RECITATION' finish reason correctly 1828ms ✓ useGeminiStream > handleFinishedEvent > should handle 'LANGUAGE' finish reason correctly 1823ms ✓ useGeminiStream > handleFinishedEvent > should handle 'BLOCKLIST' finish reason correctly 1826ms ✓ useGeminiStream > handleFinishedEvent > should handle 'PROHIBITED_CONTENT' finish reason correctly 1835ms ✓ useGeminiStream > handleFinishedEvent > should handle 'SPII' finish reason correctly 1865ms ✓ useGeminiStream > handleFinishedEvent > should handle 'OTHER' finish reason correctly 1860ms ✓ useGeminiStream > handleFinishedEvent > should handle 'MALFORMED_FUNCTION_CALL' finish reason correctly 1869ms ✓ useGeminiStream > handleFinishedEvent > should handle 'IMAGE_SAFETY' finish reason correctly 1968ms ✓ useGeminiStream > handleFinishedEvent > should handle 'UNEXPECTED_TOOL_CALL' finish reason correctly 1929ms ✓ useGeminiStream > should flush pending text rationale before scheduling tool calls to ensure correct history order 2054ms ✓ useGeminiStream > should process @include commands, adding user turn after processing to prevent race conditions 1921ms ✓ useGeminiStream > should display user query, then tool execution, then model response 1865ms ✓ useGeminiStream > Thought Reset > should keep full thinking entries in history when mode is full 1855ms ✓ useGeminiStream > Thought Reset > keeps thought transient and clears it on first non-thought event 2081ms ✓ useGeminiStream > Thought Reset > should reset thought to null when starting a new prompt 1959ms ✓ useGeminiStream > Thought Reset > should memoize pendingHistoryItems 1927ms ✓ useGeminiStream > Thought Reset > should reset thought to null when user cancels 1880ms ✓ useGeminiStream > Thought Reset > should reset thought to null when there is an error 1861ms ✓ useGeminiStream > Thought Reset > should update lastOutputTime on Gemini thought and content events 1068ms ✓ useGeminiStream > Loop Detection Confirmation > should set loopDetectionConfirmationRequest when LoopDetected event is received 1836ms ✓ useGeminiStream > Loop Detection Confirmation > should disable loop detection and show message when user selects "disable" 1913ms ✓ useGeminiStream > Loop Detection Confirmation > should keep loop detection enabled and show message when user selects "keep" 1867ms ✓ useGeminiStream > Loop Detection Confirmation > should handle multiple loop detection events properly 2054ms ✓ useGeminiStream > Loop Detection Confirmation > should process LoopDetected event after moving pending history to history 2055ms ✓ useGeminiStream > Loop Detection Confirmation > Race Condition Prevention > should reject concurrent submitQuery when already responding 2453ms ✓ useGeminiStream > Loop Detection Confirmation > Race Condition Prevention > should allow continuation queries via loop detection retry 2455ms ✓ useGeminiStream > Agent Execution Events > should handle AgentExecutionStopped event with systemMessage 1875ms ✓ useGeminiStream > Agent Execution Events > should handle AgentExecutionStopped event by falling back to reason when systemMessage is missing 1832ms ✓ useGeminiStream > Agent Execution Events > should handle AgentExecutionBlocked event with systemMessage 1847ms ✓ useGeminiStream > Agent Execution Events > should handle AgentExecutionBlocked event by falling back to reason when systemMessage is missing 1807ms ✓ useGeminiStream > Stream Splitting > should not add empty history item when splitting message results in empty or whitespace-only beforeText 2256ms ✓ useGeminiStream > Stream Splitting > should add whitespace-only history item when splitting message 1917ms ✓ useGeminiStream > should trace UserPrompt telemetry on submitQuery 1848ms stdout | src/config/config.test.ts > loadCliConfig > Model resolution > should handle multiple --model flags by taking the last one Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig > Model resolution > should handle multiple --model flags by taking the last one innerError Error: Cannot find module '../build/Debug/pty.node' Require stack: - /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js - /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js  at Module._resolveFilename (node:internal/modules/cjs/loader:1603:15)  at wrapResolveFilename (node:internal/modules/cjs/loader:1145:27)  at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1169:10)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1196:12)  at Module._load (node:internal/modules/cjs/loader:1370:5)  at wrapModuleLoad (node:internal/modules/cjs/loader:261:19)  at Module.require (node:internal/modules/cjs/loader:1713:12)  at require (node:internal/modules/helpers:318:16) at Object. (/build/gemini-cli/src/gemini-cli/node_modules/node-pty/src/unixTerminal.ts:20:11)  at Module._compile (node:internal/modules/cjs/loader:1968:14) { code: 'MODULE_NOT_FOUND', requireStack: [ '/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js', '/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js' ] } stdout | src/config/config.test.ts > loadCliConfig > Model resolution > should handle non-string model flags by coercing to string Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should leave proxy to empty by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTP_PROXY] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > should add IDE workspace folders from GEMINI_CLI_IDE_WORKSPACE_PATH to include directories Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > should skip inaccessible workspace folders from GEMINI_CLI_IDE_WORKSPACE_PATH Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. [IDE] Skipping inaccessible workspace folder: /nonexistent/restricted/folder (EACCES: permission denied) stdout | src/config/config.test.ts > loadCliConfig > should use default fileFilter options when unconfigured Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > should be non-interactive when isCommand is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > isAcpMode > should force skipNextSpeakerCheck to true when in ACP mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > isAcpMode > should respect settings.model.skipNextSpeakerCheck when not in ACP mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude only ask_user in non-interactive mode with yolo approval mode YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude only ask_user in non-interactive mode with legacy yolo flag YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should fall back to default approval mode if plan mode is requested but not enabled Approval mode "plan" is disabled in your settings. Falling back to "default". stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow all MCP servers if the flag is not provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow only the specified MCP server Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow multiple specified MCP servers Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should handle server names that do not exist Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow no MCP servers if the flag is provided but empty Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read allowMCPServers from settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read excludeMCPServers from settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize mcp server flag if set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize CLI flag over both allowed and excluded settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should use local configuration if admin allowlist is empty Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should ignore locally configured servers not present in the allowlist Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 1 MCP server is not allowlisted by your administrator. To enable it, please request an update to the settings at: https://goo.gle/manage-gemini-cli stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should clear command, args, env, and cwd for present servers Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 1 MCP server is not allowlisted by your administrator. To enable it, please request an update to the settings at: https://goo.gle/manage-gemini-cli stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should not initialize a server if it is in allowlist but missing locally Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 2 MCP servers are not allowlisted by your administrator. To enable them, please request an update to the settings at: https://goo.gle/manage-gemini-cli stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should merge local fields and prefer admin tool filters Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with admin.mcp.config > should use local tool filters when admin does not define them Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be false when folderTrust is false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be true when folderTrust is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be true by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should pass settings to the core config Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should have default compressionThreshold if not in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true by default when useRipgrep is not set in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be false when useRipgrep is set to false in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true when useRipgrep is explicitly set to true in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig directWebFetch > should be false by default when directWebFetch is not set in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig directWebFetch > should be true when directWebFetch is set to true in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig context management > should be false by default when generalistProfile / context management is not set in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig context management > should be true when generalistProfile is set to true in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings true) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings false) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should prioritize --screen-reader CLI flag (true) over settings (false) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should be false by default when no flag or setting is present Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode without YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude interactive tools in non-interactive mode without YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude only ask_user in non-interactive mode with YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude only ask_user in non-interactive mode with YOLO YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude ask_user in interactive mode when --acp is provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude ask_user in interactive mode when --experimental-acp is provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode at config level Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode when allowed Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="run_shell_command" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool(wc)" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if isTTY and no prompt Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if prompt-interactive is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if not isTTY and no prompt Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if prompt is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with other flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with extensions flag Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words correctly Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words with flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle empty positional arguments Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle extensions flag with positional arguments correctly Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if no positional prompt words are provided with flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should default to DEFAULT approval mode when no flags are set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set DEFAULT approval mode when --approval-mode=default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set AUTO_EDIT approval mode when --approval-mode=auto_edit Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. (node:6447) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:6447) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 memory-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (node:6447) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 approval-mode-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > should prioritize --approval-mode over --yolo when both would be valid (but validation prevents this) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set Plan approval mode when --approval-mode=plan is used and plan is enabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should ignore "yolo" in settings.tools.approvalMode and fall back to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but plan is disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but plan is disabled Approval mode "plan" is disabled in your settings. Falling back to "default". stdout | src/config/config.test.ts > loadCliConfig approval mode > should allow plan approval mode by default when --approval-mode=plan is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should pass planSettings.directory from settings to config Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT YOLO mode is enabled. All tool calls will be automatically approved. Approval mode overridden to "default" because the current folder is not trusted. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT Approval mode overridden to "default" because the current folder is not trusted. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT YOLO mode is enabled. All tool calls will be automatically approved. Approval mode overridden to "default" because the current folder is not trusted. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should remain DEFAULT when --approval-mode=default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should use approvalMode from settings when no CLI flags are set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --approval-mode flag over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should respect plan mode from settings when plan is enabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should fall back to default if plan mode is in settings but disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should fall back to default if plan mode is in settings but disabled Approval mode "plan" is disabled in your settings. Falling back to "default". stdout | src/config/config.test.ts > loadCliConfig gemmaModelRouter > should have gemmaModelRouter disabled by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig gemmaModelRouter > should load gemmaModelRouter settings from merged settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig gemmaModelRouter > should load experimental.gemma setting from merged settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig gemmaModelRouter > should handle partial gemmaModelRouter settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings The 'metricReader' option is deprecated. Please use 'metricReaders' instead. stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used {"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317. Resolution note: )\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:180:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:139:7)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317. Resolution note: )","name":"Error"} stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to false in interactive mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged allowed tools from CLI and settings to createPolicyEngineConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged exclude tools from CLI logic and settings to createPolicyEngineConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass user-provided policy paths from --policy flag to createPolicyEngineConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should allow auto_edit mode even if yolo mode is disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true YOLO mode is disabled by the "disableYolo" setting. stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true YOLO mode is disabled by "secureModeEnabled" setting. stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true YOLO mode is disabled by "secureModeEnabled" setting. stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should set disableYoloMode to true when secureModeEnabled is true {"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:180:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:139:7)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )","name":"Error"} stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should set disableYoloMode to true when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should disable MCP when mcpEnabled is false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP when mcpEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > extension plan settings > should use plan directory from active extension when user has not specified one Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > extension plan settings > should NOT use plan directory from active extension when user has specified one Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > extension plan settings > should NOT use plan directory from inactive extension Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > extension plan settings > should use default path if neither user nor extension settings provide a plan directory Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig acpMode and clientName > should set acpMode to true and detect clientName when --acp flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig acpMode and clientName > should set acpMode to true and set clientName to acp for generic terminals Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig acpMode and clientName > should set acpMode to false and clientName to tui by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. ✓ src/config/config.test.ts (222 tests | 1 skipped) 139083ms ✓ parseArguments > should fail if multiple session flags are provided 2468ms ✓ parseArguments > should parse --session-id option correctly 472ms ✓ parseArguments > worktree > should parse --worktree flag when provided with a name 391ms ✓ parseArguments > worktree > should throw an error when --worktree is used but experimental.worktrees is not enabled 423ms ✓ parseArguments > should throw an error when using conflicting prompt flags ('long flags') 425ms ✓ parseArguments > should throw an error when using conflicting prompt flags ('short flags') 419ms ✓ parseArguments > should throw an error when using conflicting yolo/approval-mode flags ('long flags') 356ms ✓ parseArguments > should throw an error when using conflicting yolo/approval-mode flags ('short flags') 347ms ✓ parseArguments > should reject invalid --approval-mode values 359ms ✓ loadCliConfig > Model resolution > should handle multiple --model flags by taking the last one 3969ms ✓ loadCliConfig > Model resolution > should handle non-string model flags by coercing to string 655ms ✓ loadCliConfig > Proxy configuration > should leave proxy to empty by default 797ms ✓ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy] 664ms ✓ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy] 707ms ✓ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY] 618ms ✓ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTP_PROXY] 628ms ✓ loadCliConfig > should add IDE workspace folders from GEMINI_CLI_IDE_WORKSPACE_PATH to include directories 612ms ✓ loadCliConfig > should skip inaccessible workspace folders from GEMINI_CLI_IDE_WORKSPACE_PATH 614ms ✓ loadCliConfig > should use default fileFilter options when unconfigured 662ms ✓ loadCliConfig > should be non-interactive when isCommand is set 574ms ✓ loadCliConfig > isAcpMode > should force skipNextSpeakerCheck to true when in ACP mode 615ms ✓ loadCliConfig > isAcpMode > should respect settings.model.skipNextSpeakerCheck when not in ACP mode 581ms ✓ mergeMcpServers > should not modify the original settings object 736ms ✓ mergeExcludeTools > should merge excludeTools from settings and extensions 592ms ✓ mergeExcludeTools > should handle overlapping excludeTools between settings and extensions 538ms ✓ mergeExcludeTools > should handle overlapping excludeTools between extensions 541ms ✓ mergeExcludeTools > should return an empty array when no excludeTools are specified and it is interactive 557ms ✓ mergeExcludeTools > should return default excludes when no excludeTools are specified and it is not interactive 551ms ✓ mergeExcludeTools > should handle settings with excludeTools but no extensions 555ms ✓ mergeExcludeTools > should handle extensions with excludeTools but no settings 534ms ✓ mergeExcludeTools > should not modify the original settings object 646ms ✓ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with default approval mode 560ms ✓ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with explicit default approval mode 1898ms ✓ Approval mode tool exclusion logic > should exclude only shell tools in non-interactive mode with auto_edit approval mode 698ms ✓ Approval mode tool exclusion logic > should exclude only ask_user in non-interactive mode with yolo approval mode 599ms ✓ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with plan approval mode 560ms ✓ Approval mode tool exclusion logic > should exclude only ask_user in non-interactive mode with legacy yolo flag 574ms ✓ Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode 2791ms ✓ Approval mode tool exclusion logic > should merge approval mode exclusions with settings exclusions in auto_edit mode 579ms ✓ Approval mode tool exclusion logic > should throw an error if YOLO mode is attempted when disableYoloMode is true 639ms ✓ Approval mode tool exclusion logic > should throw an error for invalid approval mode values in loadCliConfig 429ms ✓ Approval mode tool exclusion logic > should fall back to default approval mode if plan mode is requested but not enabled 519ms ✓ Approval mode tool exclusion logic > should allow plan approval mode if plan is enabled 506ms ✓ loadCliConfig with allowed-mcp-server-names > should allow all MCP servers if the flag is not provided 610ms ✓ loadCliConfig with allowed-mcp-server-names > should allow only the specified MCP server 579ms ✓ loadCliConfig with allowed-mcp-server-names > should allow multiple specified MCP servers 575ms ✓ loadCliConfig with allowed-mcp-server-names > should handle server names that do not exist 596ms ✓ loadCliConfig with allowed-mcp-server-names > should allow no MCP servers if the flag is provided but empty 575ms ✓ loadCliConfig with allowed-mcp-server-names > should read allowMCPServers from settings 648ms ✓ loadCliConfig with allowed-mcp-server-names > should read excludeMCPServers from settings 645ms ✓ loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping 628ms ✓ loadCliConfig with allowed-mcp-server-names > should prioritize mcp server flag if set 628ms ✓ loadCliConfig with allowed-mcp-server-names > should prioritize CLI flag over both allowed and excluded settings 634ms ✓ loadCliConfig with admin.mcp.config > should use local configuration if admin allowlist is empty 614ms ✓ loadCliConfig with admin.mcp.config > should ignore locally configured servers not present in the allowlist 748ms ✓ loadCliConfig with admin.mcp.config > should clear command, args, env, and cwd for present servers 1596ms ✓ loadCliConfig with admin.mcp.config > should not initialize a server if it is in allowlist but missing locally 1220ms ✓ loadCliConfig with admin.mcp.config > should merge local fields and prefer admin tool filters 769ms ✓ loadCliConfig with admin.mcp.config > should use local tool filters when admin does not define them 626ms ✓ loadCliConfig model selection > selects a model from settings.json if provided 580ms ✓ loadCliConfig model selection > uses the default gemini model if nothing is set 576ms ✓ loadCliConfig model selection > always prefers model from argv 651ms ✓ loadCliConfig model selection > selects the model from argv if provided 553ms ✓ loadCliConfig model selection > selects the default auto model if provided via auto alias 556ms ✓ loadCliConfig folderTrust > should be false when folderTrust is false 650ms ✓ loadCliConfig folderTrust > should be true when folderTrust is true 610ms ✓ loadCliConfig folderTrust > should be true by default 595ms ✓ loadCliConfig compressionThreshold > should pass settings to the core config 603ms ✓ loadCliConfig compressionThreshold > should have default compressionThreshold if not in settings 602ms ✓ loadCliConfig useRipgrep > should be true by default when useRipgrep is not set in settings 597ms ✓ loadCliConfig useRipgrep > should be false when useRipgrep is set to false in settings 607ms ✓ loadCliConfig useRipgrep > should be true when useRipgrep is explicitly set to true in settings 591ms ✓ loadCliConfig directWebFetch > should be false by default when directWebFetch is not set in settings 626ms ✓ loadCliConfig directWebFetch > should be true when directWebFetch is set to true in settings 664ms ✓ loadCliConfig context management > should be false by default when generalistProfile / context management is not set in settings 626ms ✓ loadCliConfig context management > should be true when generalistProfile is set to true in settings 593ms ✓ screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings true) 606ms ✓ screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings false) 597ms ✓ screenReader configuration > should prioritize --screen-reader CLI flag (true) over settings (false) 614ms ✓ screenReader configuration > should be false by default when no flag or setting is present 606ms ✓ loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode without YOLO 627ms ✓ loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO 622ms ✓ loadCliConfig tool exclusions > should exclude interactive tools in non-interactive mode without YOLO 665ms ✓ loadCliConfig tool exclusions > should exclude only ask_user in non-interactive mode with YOLO 631ms ✓ loadCliConfig tool exclusions > should exclude ask_user in interactive mode when --acp is provided 628ms ✓ loadCliConfig tool exclusions > should exclude ask_user in interactive mode when --experimental-acp is provided 610ms ✓ loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set 618ms ✓ loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode at config level 623ms ✓ loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode when allowed 627ms ✓ loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="run_shell_command" is set 624ms ✓ loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool(wc)" is set 615ms ✓ loadCliConfig interactive > should be interactive if isTTY and no prompt 603ms ✓ loadCliConfig interactive > should be interactive if prompt-interactive is set 608ms ✓ loadCliConfig interactive > should not be interactive if not isTTY and no prompt 594ms ✓ loadCliConfig interactive > should not be interactive if prompt is set 609ms ✓ loadCliConfig interactive > should be interactive if positional prompt words are provided with other flags 635ms ✓ loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags 639ms ✓ loadCliConfig interactive > should be interactive if positional prompt words are provided with extensions flag 1848ms ✓ loadCliConfig interactive > should handle multiple positional words correctly 848ms ✓ loadCliConfig interactive > should handle multiple positional words with flags 676ms ✓ loadCliConfig interactive > should handle empty positional arguments 642ms ✓ loadCliConfig interactive > should handle extensions flag with positional arguments correctly 651ms ✓ loadCliConfig interactive > should be interactive if no positional prompt words are provided with flags 610ms ✓ loadCliConfig approval mode > should default to DEFAULT approval mode when no flags are set 671ms ✓ loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used 635ms ✓ loadCliConfig approval mode > should set YOLO approval mode when -y flag is used 612ms ✓ loadCliConfig approval mode > should set DEFAULT approval mode when --approval-mode=default 637ms ✓ loadCliConfig approval mode > should set AUTO_EDIT approval mode when --approval-mode=auto_edit 740ms ✓ loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo 653ms ✓ loadCliConfig approval mode > should prioritize --approval-mode over --yolo when both would be valid (but validation prevents this) 623ms ✓ loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set 611ms ✓ loadCliConfig approval mode > should set Plan approval mode when --approval-mode=plan is used and plan is enabled 632ms ✓ loadCliConfig approval mode > should ignore "yolo" in settings.tools.approvalMode and fall back to DEFAULT 598ms ✓ loadCliConfig approval mode > should throw error when --approval-mode=plan is used but plan is disabled 624ms ✓ loadCliConfig approval mode > should allow plan approval mode by default when --approval-mode=plan is used 614ms ✓ loadCliConfig approval mode > should pass planSettings.directory from settings to config 647ms ✓ loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT 623ms ✓ loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT 613ms ✓ loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT 604ms ✓ loadCliConfig approval mode > when folder is NOT trusted > should remain DEFAULT when --approval-mode=default 625ms ✓ loadCliConfig approval mode > Persistent approvalMode setting > should use approvalMode from settings when no CLI flags are set 595ms ✓ loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --approval-mode flag over settings 581ms ✓ loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings 940ms ✓ loadCliConfig approval mode > Persistent approvalMode setting > should respect plan mode from settings when plan is enabled 1737ms ✓ loadCliConfig approval mode > Persistent approvalMode setting > should fall back to default if plan mode is in settings but disabled 1616ms ✓ loadCliConfig gemmaModelRouter > should have gemmaModelRouter disabled by default 690ms ✓ loadCliConfig gemmaModelRouter > should load gemmaModelRouter settings from merged settings 657ms ✓ loadCliConfig gemmaModelRouter > should load experimental.gemma setting from merged settings 635ms ✓ loadCliConfig gemmaModelRouter > should handle partial gemmaModelRouter settings 627ms ✓ loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when true 609ms ✓ loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when false 595ms ✓ loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when true 582ms ✓ loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when false 597ms ✓ loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when true 582ms ✓ loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when false 591ms ✓ loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when true 580ms ✓ loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when false 588ms ✓ Output format > should default to TEXT 577ms ✓ Output format > should use the format from settings 566ms ✓ Output format > should prioritize the format from argv 629ms ✓ Output format > should accept stream-json as a valid output format 563ms ✓ Output format > should error on invalid --output-format argument 500ms ✓ parseArguments with positional prompt > should throw an error when both a positional prompt and the --prompt flag are used 353ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 2849ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_TARGET over settings 1446ms ✓ Telemetry configuration via environment variables > should throw when GEMINI_TELEMETRY_TARGET is invalid 602ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_ENDPOINT over settings and default env var 582ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_PROTOCOL over settings 643ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_LOG_PROMPTS over settings 656ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OUTFILE over settings 590ms ✓ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_USE_COLLECTOR over settings 594ms ✓ Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_ENABLED is not set 612ms ✓ Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_TARGET is not set 601ms ✓ Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='1' as true 599ms ✓ Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='0' as false 573ms ✓ Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='1' as true 572ms ✓ Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='false' as false 582ms ✓ PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used 4539ms ✓ PolicyEngine nonInteractive wiring > should set nonInteractive to false in interactive mode 1093ms ✓ Policy Engine Integration in loadCliConfig > should pass merged allowed tools from CLI and settings to createPolicyEngineConfig 800ms ✓ Policy Engine Integration in loadCliConfig > should pass merged exclude tools from CLI logic and settings to createPolicyEngineConfig 717ms ✓ Policy Engine Integration in loadCliConfig > should pass user-provided policy paths from --policy flag to createPolicyEngineConfig 675ms ✓ loadCliConfig disableYoloMode > should allow auto_edit mode even if yolo mode is disabled 663ms ✓ loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true 656ms ✓ loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true 648ms ✓ loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true 663ms ✓ loadCliConfig secureModeEnabled > should set disableYoloMode to true when secureModeEnabled is true 692ms ✓ loadCliConfig mcpEnabled > should enable MCP by default 665ms ✓ loadCliConfig mcpEnabled > should disable MCP when mcpEnabled is false 685ms ✓ loadCliConfig mcpEnabled > should enable MCP when mcpEnabled is true 667ms ✓ loadCliConfig mcpEnabled > extension plan settings > should use plan directory from active extension when user has not specified one 643ms ✓ loadCliConfig mcpEnabled > extension plan settings > should NOT use plan directory from active extension when user has specified one 641ms ✓ loadCliConfig mcpEnabled > extension plan settings > should NOT use plan directory from inactive extension 624ms ✓ loadCliConfig mcpEnabled > extension plan settings > should use default path if neither user nor extension settings provide a plan directory 652ms ✓ loadCliConfig acpMode and clientName > should set acpMode to true and detect clientName when --acp flag is used 821ms ✓ loadCliConfig acpMode and clientName > should set acpMode to true and set clientName to acp for generic terminals 1386ms ✓ loadCliConfig acpMode and clientName > should set acpMode to false and clientName to tui by default 742ms stderr | unknown test {"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:180:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:139:7)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )","name":"Error"} stderr | unknown test {"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:180:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:139:7)\n at PeriodicExportingMetricReader.onForceFlush (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:200:5)\n at PeriodicExportingMetricReader.onShutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:208:5)\n at PeriodicExportingMetricReader.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/MetricReader.ts:258:7)\n at MetricCollector.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/state/MetricCollector.ts:84:5)\n at async Promise.all (index 0)\n at MeterProvider.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/MeterProvider.ts:88:5)\n at async Promise.all (index 2)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED ::1:4317. Resolution note: )","name":"Error"} ✓ src/config/settings.test.ts (118 tests) 41295ms ✓ Settings Loading and Merging > loadSettings > should load 'system' settings if only 'system' file exists 1022ms ✓ Settings Loading and Merging > loadSettings > should load 'user' settings if only 'user' file exists 306ms ✓ Settings Loading and Merging > loadSettings > should unconditionally override selectedType when GEMINI_CLI_AUTH_OVERRIDE is present and delete it from process.env 302ms ✓ Settings Loading and Merging > loadSettings > should merge system, user and workspace settings, with system taking precedence over workspace, and workspace over user 401ms ✓ Settings Loading and Merging > loadSettings > should use folderTrust from workspace settings when trusted 314ms ✓ Settings Loading and Merging > loadSettings > should record validation errors if expansion result is invalid 317ms ✓ Settings Loading and Merging > loadSettings > should preserve environment variable placeholders on save 1057ms ✓ Settings Loading and Merging > loadSettings > should use system folderTrust over user setting 416ms ✓ Settings Loading and Merging > loadSettings > should handle 'contextFileName in workspace settings' correctly 329ms ✓ Settings Loading and Merging > loadSettings > should handle 'excludedProjectEnvVars in user settin…' correctly 349ms ✓ Settings Loading and Merging > loadSettings > should merge MCP servers correctly, with workspace taking precedence 313ms ✓ Settings Loading and Merging > loadSettings > should handle JSON parsing errors gracefully 350ms ✓ Settings Loading and Merging > loadSettings > should correctly resolve and merge env variables from different scopes 305ms ✓ Settings Loading and Merging > loadSettings > caching > should use separate cache for different workspace directories 779ms ✓ Settings Loading and Merging > loadSettings > caching > should clear cache when saveSettings is called for user settings 662ms ✓ Settings Loading and Merging > loadSettings > caching > should clear all caches when saveSettings is called for workspace settings 1193ms ✓ Settings Loading and Merging > loadEnvironment > loads whitelisted env files from untrusted spaces if sandboxing is enabled via CLI flag 302ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should not do anything if there are no deprecated settings 312ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate general.disableAutoUpdate to general.enableAutoUpdate with inverted value 367ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate tools.approvalMode to general.defaultApprovalMode 433ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate all 4 inverted boolean settings 617ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should remove deprecated settings by default and prioritize new ones 333ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should trigger migration automatically during loadSettings 353ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate disableUpdateNag to enableAutoUpdateNotification in memory but not save for system and system defaults settings 455ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate experimental agent settings in system scope in memory but not save 447ms ✓ Settings Loading and Merging > migrateDeprecatedSettings > should migrate experimental agent settings to agents overrides 447ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should prioritize remote admin settings over file-based admin settings 322ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should set remote admin settings and recompute merged settings 315ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should correctly handle undefined remote admin settings 309ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should map requiredMcpConfig from remote settings 322ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should set skills based on unmanagedCapabilitiesEnabled 363ms ✓ Settings Loading and Merging > LoadedSettings and remote admin settings > should handle completely empty remote admin settings response 329ms ✓ Settings Loading and Merging > Reactivity & Snapshots > setValue() should create a new snapshot reference and emit event 369ms ✓ LoadedSettings Isolation and Serializability > setValue Serializability > should handle circular references (structuredClone supports them, but deepMerge may not) 9355ms [?2004h[?2004h[?2004h[?2004h[?2004h ❯ src/ui/components/shared/text-buffer.test.ts (228 tests | 1 failed) 285525ms ✓ textBufferReducer > should return the initial state if state is undefined 246ms ✓ textBufferReducer > Big Word Navigation Helpers > findNextBigWordStartInLine (W) > should skip non-whitespace and then whitespace 40ms ✓ textBufferReducer > Big Word Navigation Helpers > findPrevBigWordStartInLine (B) > should skip whitespace backwards then non-whitespace 29ms ✓ textBufferReducer > Big Word Navigation Helpers > findBigWordEndInLine (E) > should find end of current big word 24ms ✓ textBufferReducer > Big Word Navigation Helpers > findBigWordEndInLine (E) > should skip whitespace if currently on whitespace 18ms ✓ textBufferReducer > Big Word Navigation Helpers > findBigWordEndInLine (E) > should find next big word end if at end of current 17ms ✓ textBufferReducer > set_text action > should set new text and move cursor to the end 113ms ✓ textBufferReducer > set_text action > should not create an undo snapshot if pushToUndo is false 355ms ✓ textBufferReducer > insert action > should insert a character 230ms ✓ textBufferReducer > insert action > should insert a newline 40ms ✓ textBufferReducer > insert action with options > should filter input using inputFilter option 32ms ✓ textBufferReducer > insert action with options > should strip newlines when singleLine option is true 30ms ✓ textBufferReducer > insert action with options > should apply both inputFilter and singleLine options 23ms ✓ textBufferReducer > add_pasted_content action > should add content to pastedContent Record 20ms ✓ textBufferReducer > backspace action > should remove a character 34ms ✓ textBufferReducer > backspace action > should join lines if at the beginning of a line 32ms ✓ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace at end of paste placeholder removes entire placeholder 47ms ✓ textBufferReducer > atomic placeholder deletion > paste placeholders > delete at start of paste placeholder removes entire placeholder 35ms ✓ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace inside paste placeholder does normal deletion 65ms ✓ textBufferReducer > atomic placeholder deletion > image placeholders > backspace at end of image path removes entire path 94ms ✓ textBufferReducer > atomic placeholder deletion > image placeholders > delete at start of image path removes entire path 23ms ✓ textBufferReducer > atomic placeholder deletion > image placeholders > backspace inside image path does normal deletion 29ms ✓ textBufferReducer > atomic placeholder deletion > undo behavior > undo after placeholder deletion restores everything 31ms ✓ textBufferReducer > undo/redo actions > should undo and redo a change 42ms ✓ textBufferReducer > create_undo_snapshot action > should create a snapshot without changing state 27ms ✓ textBufferReducer > delete_word_left action > should delete 'simple word' 97ms ✓ textBufferReducer > delete_word_left action > should delete 'path segment' 19ms ✓ textBufferReducer > delete_word_left action > should delete 'variable_name parts' 36ms ✓ textBufferReducer > delete_word_left action > should act like backspace at the beginning of a line 22ms ✓ textBufferReducer > delete_word_right action > should delete 'simple word' 42ms ✓ textBufferReducer > delete_word_right action > should delete 'variable_name parts' 24ms ✓ textBufferReducer > delete_word_right action > should delete path segments progressively 28ms ✓ textBufferReducer > delete_word_right action > should act like delete at the end of a line 25ms ✓ textBufferReducer > kill_line_left action > should clean up pastedContent when deleting a placeholder line-left 104ms ✓ textBufferReducer > kill_line_right action > should reset preferredCol when deleting to end of line 23ms ✓ textBufferReducer > toggle_paste_expansion action > should expand a placeholder correctly 42ms ✓ textBufferReducer > toggle_paste_expansion action > should collapse an expanded placeholder correctly 33ms ✓ textBufferReducer > toggle_paste_expansion action > should expand single-line content correctly 24ms ✓ textBufferReducer > toggle_paste_expansion action > should return current state if placeholder ID not found in pastedContent 19ms ✓ textBufferReducer > toggle_paste_expansion action > should preserve expandedPaste when lines change from edits outside the region 27ms ✓ useTextBuffer > Initialization > should initialize with empty text and cursor at (0,0) by default 3524ms ✓ useTextBuffer > Initialization > should initialize with provided initialText 1840ms ✓ useTextBuffer > Initialization > should initialize with initialText and initialCursorOffset 1822ms ✓ useTextBuffer > Initialization > should wrap visual lines 1790ms ✓ useTextBuffer > Initialization > should wrap visual lines with multiple spaces 1843ms ✓ useTextBuffer > Initialization > should wrap visual lines even without spaces 1779ms ✓ useTextBuffer > Initialization > should initialize with multi-byte unicode characters and correct cursor offset 2677ms ✓ useTextBuffer > Basic Editing > insert: should insert a character and update cursor 1787ms ✓ useTextBuffer > Basic Editing > insert: should insert text in the middle of a line 1816ms ✓ useTextBuffer > Basic Editing > insert: should use placeholder for large text paste 1774ms ✓ useTextBuffer > Basic Editing > insert: should NOT use placeholder for large text if NOT a paste 1750ms ✓ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is deleted 1719ms ✓ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is removed via atomic backspace 1750ms ✓ useTextBuffer > Basic Editing > deleteWordLeft: should clean up pastedContent and avoid #2 suffix on repaste 1791ms ✓ useTextBuffer > Basic Editing > deleteWordRight: should clean up pastedContent and avoid #2 suffix on repaste 1848ms ✓ useTextBuffer > Basic Editing > killLineLeft: should clean up pastedContent and avoid #2 suffix on repaste 1802ms ✓ useTextBuffer > Basic Editing > killLineRight: should clean up pastedContent and avoid #2 suffix on repaste 2151ms ✓ useTextBuffer > Basic Editing > newline: should create a new line and move cursor 2242ms ✓ useTextBuffer > Basic Editing > backspace: should delete char to the left or merge lines 1828ms ✓ useTextBuffer > Basic Editing > del: should delete char to the right or merge lines 1791ms ✓ useTextBuffer > Drag and Drop File Paths > should prepend @ to a valid file path on insert 1893ms ✓ useTextBuffer > Drag and Drop File Paths > should not prepend @ to an invalid file path on insert 1709ms ✓ useTextBuffer > Drag and Drop File Paths > should handle quoted paths 1747ms ✓ useTextBuffer > Drag and Drop File Paths > should not prepend @ to short text that is not a path 1729ms ✓ useTextBuffer > Drag and Drop File Paths > should prepend @ to multiple valid file paths on insert 1742ms ✓ useTextBuffer > Drag and Drop File Paths > should handle multiple paths with escaped spaces 1771ms ✓ useTextBuffer > Drag and Drop File Paths > should not prepend @ unless all paths are valid 1753ms ✓ useTextBuffer > Shell Mode Behavior > should not prepend @ to valid file paths when shellModeActive is true 1715ms ✓ useTextBuffer > Shell Mode Behavior > should not prepend @ to quoted paths when shellModeActive is true 1695ms ✓ useTextBuffer > Shell Mode Behavior > should behave normally with invalid paths when shellModeActive is true 1721ms ✓ useTextBuffer > Shell Mode Behavior > should behave normally with short text when shellModeActive is true 1695ms ✓ useTextBuffer > Cursor Movement > move: left/right should work within and across visual lines (due to wrapping) 1806ms ✓ useTextBuffer > Cursor Movement > move: up/down should preserve preferred visual column 1791ms ✓ useTextBuffer > Cursor Movement > move: home/end should go to visual line start/end 1730ms ✓ useTextBuffer > Visual Layout & Viewport > should wrap long lines correctly into visualLines 1686ms ✓ useTextBuffer > Visual Layout & Viewport > should update visualScrollRow when visualCursor moves out of viewport 1772ms ✓ useTextBuffer > Undo/Redo > should undo and redo an insert operation 1768ms ✓ useTextBuffer > Undo/Redo > should undo and redo a newline operation 1746ms ✓ useTextBuffer > Unicode Handling > insert: should correctly handle multi-byte unicode characters 1754ms ✓ useTextBuffer > Unicode Handling > backspace: should correctly delete multi-byte unicode characters 1725ms ✓ useTextBuffer > Unicode Handling > move: left/right should treat multi-byte chars as single units for visual cursor 1734ms ✓ useTextBuffer > Unicode Handling > move: up/down should work on wrapped lines (regression test) 1778ms ✓ useTextBuffer > Unicode Handling > moveToVisualPosition: should correctly handle wide characters (Chinese) 1742ms ✓ useTextBuffer > handleInput > should insert printable characters 1709ms ✓ useTextBuffer > handleInput > should handle "Enter" key as newline 1749ms ✓ useTextBuffer > handleInput > should handle Ctrl+J as newline 1701ms ✓ useTextBuffer > handleInput > should do nothing for a tab key press 1680ms ✓ useTextBuffer > handleInput > should do nothing for a shift tab key press 1722ms ✓ useTextBuffer > handleInput > should handle CLEAR_INPUT (Ctrl+C) 1696ms ✓ useTextBuffer > handleInput > should NOT handle CLEAR_INPUT if buffer is empty 1680ms ✓ useTextBuffer > handleInput > should handle "Backspace" key 1748ms ✓ useTextBuffer > handleInput > should only handle Undo if there is something to undo 1730ms ✓ useTextBuffer > handleInput > should handle "Ctrl+Z" for smart bubbling on Linux/WSL 1712ms ✓ useTextBuffer > handleInput > should only handle Redo if there is something to redo 1715ms ✓ useTextBuffer > handleInput > should handle multiple delete characters in one input 1706ms ✓ useTextBuffer > handleInput > should handle inserts that contain delete characters 1704ms ✓ useTextBuffer > handleInput > should handle inserts with a mix of regular and delete characters 1760ms ✓ useTextBuffer > handleInput > should handle arrow keys for movement 1715ms ✓ useTextBuffer > handleInput > should strip ANSI escape codes when pasting text 1767ms ✓ useTextBuffer > handleInput > should handle VSCode terminal Shift+Enter as newline 1717ms ✓ useTextBuffer > handleInput > should correctly handle repeated pasting of long text 1786ms ✓ useTextBuffer > replaceRange > should replace a single-line range with single-line text 1710ms ✓ useTextBuffer > replaceRange > should replace a multi-line range with single-line text 1728ms ✓ useTextBuffer > replaceRange > should delete a range when replacing with an empty string 1697ms ✓ useTextBuffer > replaceRange > should handle replacing at the beginning of the text 1698ms ✓ useTextBuffer > replaceRange > should handle replacing at the end of the text 1739ms ✓ useTextBuffer > replaceRange > should handle replacing the entire buffer content 1695ms ✓ useTextBuffer > replaceRange > should correctly replace with unicode characters 1699ms ✓ useTextBuffer > replaceRange > should handle invalid range by returning false and not changing text 1735ms ✓ useTextBuffer > replaceRange > replaceRange: multiple lines with a single character 1735ms ✓ useTextBuffer > replaceRange > should replace a single-line range with multi-line text 1703ms ✓ useTextBuffer > Input Sanitization > should strip 'ANSI escape codes' from input 1691ms ✓ useTextBuffer > Input Sanitization > should strip 'control characters' from input 1682ms ✓ useTextBuffer > Input Sanitization > should strip 'mixed ANSI and control characters' from input 1683ms ✓ useTextBuffer > Input Sanitization > should strip 'pasted text with ANSI' from input 1721ms ✓ useTextBuffer > Input Sanitization > should not strip standard characters or newlines 1703ms ✓ useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters 31490ms × useTextBuffer > Input Sanitization > should sanitize large ANSI text (>5000 chars) and strip escape codes 73362ms → Test timed out in 60000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ✓ useTextBuffer > Input Sanitization > should not strip popular emojis 1835ms ✓ useTextBuffer > inputFilter > should filter input based on the provided filter function 1816ms ✓ useTextBuffer > inputFilter > should handle empty result from filter 1794ms ✓ useTextBuffer > inputFilter > should filter pasted text 1719ms ✓ useTextBuffer > inputFilter > should not filter newlines if they are allowed by the filter 1744ms ✓ useTextBuffer > inputFilter > should filter before newline check in insert 1713ms ✓ useTextBuffer > stripAnsi > should correctly strip ANSI escape codes 33ms ✓ useTextBuffer > stripAnsi > should handle multiple ANSI codes 33ms ✓ useTextBuffer > stripAnsi > should not modify text without ANSI codes 79ms ✓ useTextBuffer > stripAnsi > should handle empty string 34ms ✓ useTextBuffer > Memoization > should keep action references stable across re-renders 1982ms ✓ useTextBuffer > Memoization > should have memoized actions that operate on the latest state 1753ms ✓ useTextBuffer > singleLine mode > should not insert a newline character when singleLine is true 1767ms ✓ useTextBuffer > singleLine mode > should not create a new line when newline() is called and singleLine is true 1743ms ✓ useTextBuffer > singleLine mode > should not handle "Enter" key as newline when singleLine is true 1700ms ✓ useTextBuffer > singleLine mode > should not print anything for function keys when singleLine is true 1733ms ✓ useTextBuffer > singleLine mode > should strip newlines from pasted text when singleLine is true 1709ms ✓ offsetToLogicalPos > should handle 'offset 0' 10ms ✓ offsetToLogicalPos > should handle 'single line start' 9ms ✓ offsetToLogicalPos > should handle 'single line middle' 9ms ✓ offsetToLogicalPos > should handle 'single line end' 9ms ✓ offsetToLogicalPos > should handle 'beyond end clamps' 8ms ✓ offsetToLogicalPos > should handle 'empty lines - first char' 8ms ✓ offsetToLogicalPos > should handle 'empty lines - end of first' 9ms ✓ offsetToLogicalPos > should handle 'empty lines - empty line' 8ms ✓ offsetToLogicalPos > should handle 'empty lines - last line start' 15ms ✓ offsetToLogicalPos > should handle 'empty lines - last line end' 8ms ✓ offsetToLogicalPos > should handle 'newline end - before newline' 8ms ✓ offsetToLogicalPos > should handle 'newline end - after newline' 8ms ✓ offsetToLogicalPos > should handle 'newline end - beyond' 8ms ✓ offsetToLogicalPos > should handle 'newline start - first line' 8ms ✓ offsetToLogicalPos > should handle 'newline start - second line' 8ms ✓ offsetToLogicalPos > should handle 'newline start - middle of second' 8ms ✓ offsetToLogicalPos > should handle 'empty string at 0' 8ms ✓ offsetToLogicalPos > should handle 'empty string beyond' 8ms ✓ offsetToLogicalPos > should handle 'unicode - start' 8ms ✓ offsetToLogicalPos > should handle 'unicode - after first char' 8ms ✓ offsetToLogicalPos > should handle 'unicode - end first line' 16ms ✓ offsetToLogicalPos > should handle 'unicode - second line start' 8ms ✓ offsetToLogicalPos > should handle 'unicode - second line middle' 8ms ✓ offsetToLogicalPos > should handle 'unicode - second line end' 8ms ✓ offsetToLogicalPos > should handle 'unicode - beyond' 8ms ✓ offsetToLogicalPos > should handle 'at newline - end of line' 8ms ✓ offsetToLogicalPos > should handle 'at newline - after newline' 9ms ✓ offsetToLogicalPos > should handle 'emoji - start' 8ms ✓ offsetToLogicalPos > should handle 'emoji - middle' 8ms ✓ offsetToLogicalPos > should handle 'emoji - end' 8ms ✓ offsetToLogicalPos > multi-line text > should return [ +0, +0 ] for 'start of first line' (offset +0) 9ms ✓ offsetToLogicalPos > multi-line text > should return [ +0, 3 ] for 'middle of first line' (offset 3) 15ms ✓ offsetToLogicalPos > multi-line text > should return [ +0, 5 ] for 'end of first line' (offset 5) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 1, +0 ] for 'start of second line' (offset 6) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 1, 2 ] for 'middle of second line' (offset 8) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 1, 5 ] for 'end of second line' (offset 11) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 2, +0 ] for 'start of third line' (offset 12) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 2, 1 ] for 'middle of third line' (offset 13) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'end of third line' (offset 15) 8ms ✓ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'beyond end' (offset 20) 8ms ✓ logicalPosToOffset > should convert row/col position to offset correctly 22ms ✓ logicalPosToOffset > should handle empty lines 21ms ✓ logicalPosToOffset > should handle single empty line 8ms ✓ logicalPosToOffset > should be inverse of offsetToLogicalPos 348ms ✓ logicalPosToOffset > should handle out-of-bounds positions 157ms ✓ textBufferReducer vim operations > vim_delete_line > should delete a single line including newline in multi-line text 236ms ✓ textBufferReducer vim operations > vim_delete_line > should delete multiple lines when count > 1 149ms ✓ textBufferReducer vim operations > vim_delete_line > should clear single line content when only one line exists 27ms ✓ textBufferReducer vim operations > vim_delete_line > should handle deleting the last line properly 20ms ✓ textBufferReducer vim operations > vim_delete_line > should handle deleting all lines and maintain valid state for subsequent paste 37ms ✓ Unicode helper functions > findWordEndInLine with Unicode > should handle combining characters 127ms ✓ Unicode helper functions > findWordEndInLine with Unicode > should handle precomposed characters with diacritics 12ms ✓ Unicode helper functions > findWordEndInLine with Unicode > should return null when no word end found 9ms ✓ Unicode helper functions > findNextWordStartInLine with Unicode > should handle right-to-left text 13ms ✓ Unicode helper functions > findNextWordStartInLine with Unicode > should handle Chinese characters 9ms ✓ Unicode helper functions > findNextWordStartInLine with Unicode > should return null at end of line 8ms ✓ Unicode helper functions > findNextWordStartInLine with Unicode > should handle combining characters 9ms ✓ Unicode helper functions > findNextWordStartInLine with Unicode > should handle precomposed characters with diacritics 11ms ✓ Unicode helper functions > isWordCharStrict with Unicode > should return true for ASCII word characters 12ms ✓ Unicode helper functions > isWordCharStrict with Unicode > should return false for punctuation 17ms ✓ Unicode helper functions > isWordCharStrict with Unicode > should return true for non-Latin scripts 10ms ✓ Unicode helper functions > isWordCharStrict with Unicode > should return false for whitespace 9ms ✓ Unicode helper functions > cpLen with Unicode > should handle combining characters 10ms ✓ Unicode helper functions > cpLen with Unicode > should handle Chinese and Arabic text 9ms ✓ Unicode helper functions > useTextBuffer CJK Navigation > should navigate by word in Chinese 2175ms ✓ Unicode helper functions > useTextBuffer CJK Navigation > should navigate mixed English and Chinese 1744ms ✓ Transformation Utilities > getTransformedImagePath > should transform a simple image path 66ms ✓ Transformation Utilities > getTransformedImagePath > should handle paths with directories 46ms ✓ Transformation Utilities > getTransformedImagePath > should truncate long filenames 40ms ✓ Transformation Utilities > getTransformedImagePath > should handle different image extensions 92ms ✓ Transformation Utilities > getTransformedImagePath > should handle POSIX-style forward-slash paths on any platform 42ms ✓ Transformation Utilities > getTransformedImagePath > should handle escaped spaces in paths 41ms ✓ Transformation Utilities > getTransformationsForLine > should find transformations in a line 111ms ✓ Transformation Utilities > getTransformationsForLine > should handle no transformations 41ms ✓ Transformation Utilities > getTransformationsForLine > should handle empty line 42ms ✓ Transformation Utilities > getTransformationsForLine > should keep adjacent image paths as separate transformations 47ms ✓ Transformation Utilities > getTransformationsForLine > should handle multiple transformations in a row 45ms ✓ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is inside it 44ms ✓ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is at start 39ms ✓ Transformation Utilities > getTransformUnderCursor > should NOT find transformation when cursor is at end 47ms ✓ Transformation Utilities > getTransformUnderCursor > should return null when cursor is not on a transformation 41ms ✓ Transformation Utilities > getTransformUnderCursor > should handle empty transformations array 41ms ✓ Transformation Utilities > getTransformUnderCursor > regression: should not find paste transformation when clicking one character after it 55ms ✓ Transformation Utilities > calculateTransformedLine > should transform a line with one transformation 54ms ✓ Transformation Utilities > calculateTransformedLine > should handle cursor inside transformation 47ms ✓ Transformation Utilities > calculateTransformedLine > should handle line with no transformations 137ms ✓ Transformation Utilities > calculateTransformedLine > should handle empty line 47ms ✓ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via setText' 3102ms ✓ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via replaceRange' 1857ms ✓ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when viewport width changes 1812ms ✓ Transformation Utilities > Layout Caching and Invalidation > should correctly handle cursor expansion/collapse in cached layout 1816ms ✓ Transformation Utilities > Layout Caching and Invalidation > should reuse cache for unchanged lines during editing 1784ms ✓ Transformation Utilities > Scroll Regressions > should not show empty viewport when collapsing a large paste that was scrolled 1772ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:7614) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:7614) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 memory-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (node:7614) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 approval-mode-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/AppContainer.test.tsx (112 tests) 295464ms ✓ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 6323ms ✓ AppContainer State Management > Basic Rendering > renders with startup warnings 2342ms ✓ AppContainer State Management > Basic Rendering > shows full UI details by default 2140ms ✓ AppContainer State Management > Basic Rendering > starts in minimal UI mode when Focus UI preference is persisted 2250ms ✓ AppContainer State Management > State Initialization > calls validateAuthMethod and onAuthError if validation fails 2160ms ✓ AppContainer State Management > State Initialization > sends a macOS notification when confirmation is pending and terminal is unfocused 2148ms ✓ AppContainer State Management > State Initialization > does not send attention notification when terminal is focused 2029ms ✓ AppContainer State Management > State Initialization > sends attention notification when focus reporting is unavailable 2764ms ✓ AppContainer State Management > State Initialization > sends a macOS notification when a response completes while unfocused 3565ms ✓ AppContainer State Management > State Initialization > sends completion notification when focus reporting is unavailable 2590ms ✓ AppContainer State Management > State Initialization > does not send completion notification when another action-required dialog is pending 2453ms ✓ AppContainer State Management > State Initialization > can send repeated attention notifications for the same key after pending state clears 2720ms ✓ AppContainer State Management > State Initialization > initializes with theme error from initialization result 2161ms ✓ AppContainer State Management > State Initialization > handles debug mode state 11233ms ✓ AppContainer State Management > Context Providers > provides AppContext with correct values 2852ms ✓ AppContainer State Management > Context Providers > provides UIStateContext with state management 2055ms ✓ AppContainer State Management > Context Providers > provides UIActionsContext with action handlers 2067ms ✓ AppContainer State Management > Context Providers > provides ConfigContext with config object 2057ms ✓ AppContainer State Management > Settings Integration > handles settings with all display options disabled 2249ms ✓ AppContainer State Management > Settings Integration > handles settings with memory usage enabled 2093ms ✓ AppContainer State Management > Version Handling > handles version format: 1.0.0 2081ms ✓ AppContainer State Management > Version Handling > handles version format: 2.1.3-beta 2144ms ✓ AppContainer State Management > Version Handling > handles version format: 3.0.0-nightly 2063ms ✓ AppContainer State Management > Error Handling > handles config methods that might throw 6102ms ✓ AppContainer State Management > Error Handling > handles undefined settings gracefully 2100ms ✓ AppContainer State Management > Provider Hierarchy > establishes correct provider nesting order 3540ms ✓ AppContainer State Management > Session Resumption > handles resumed session data correctly 2095ms ✓ AppContainer State Management > Session Resumption > renders without resumed session data 2040ms ✓ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 6258ms ✓ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 5832ms ✓ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 6350ms ✓ AppContainer State Management > Session Resume Flow > accepts resumed session data 6269ms ✓ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 5688ms ✓ AppContainer State Management > SessionStart Hook Rendering > does not render systemMessage directly (avoids duplicate with HookSystemMessage event) 2470ms ✓ AppContainer State Management > Token Counting from Session Stats > tracks token counts from session messages 5765ms ✓ AppContainer State Management > Quota and Fallback Integration > passes a null proQuotaRequest to QuotaContext by default 2095ms ✓ AppContainer State Management > Quota and Fallback Integration > passes a valid proQuotaRequest to QuotaContext when provided by the hook 2100ms ✓ AppContainer State Management > Quota and Fallback Integration > passes the handleProQuotaChoice function to UIActionsContext 2740ms ✓ AppContainer State Management > Terminal Title Update Feature > verifies useStdout is mocked 485ms ✓ AppContainer State Management > Terminal Title Update Feature > should update terminal title with Working… when showStatusInTitle is false 2778ms ✓ AppContainer State Management > Terminal Title Update Feature > should use legacy terminal title when dynamicWindowTitle is false 2187ms ✓ AppContainer State Management > Terminal Title Update Feature > should not update terminal title when hideWindowTitle is true 2150ms ✓ AppContainer State Management > Terminal Title Update Feature > should update terminal title with thought subject when in active state 2366ms ✓ AppContainer State Management > Terminal Title Update Feature > should update terminal title with default text when in Idle state and no thought subject 2405ms ✓ AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject 2428ms ✓ AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Action Required in title after a delay when shell is awaiting focus 3522ms ✓ AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Working… in title for redirected commands after 2 mins 1558ms ✓ AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Working… in title for silent non-redirected commands after 1 min 1585ms ✓ AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should NOT show Action Required in title if shell is streaming output 2131ms ✓ AppContainer State Management > Terminal Title Update Feature > should pad title to exactly 80 characters 2213ms ✓ AppContainer State Management > Terminal Title Update Feature > should use correct ANSI escape code format 2228ms ✓ AppContainer State Management > Terminal Title Update Feature > should use CLI_TITLE environment variable when set 2268ms ✓ AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout 1927ms ✓ AppContainer State Management > Queue Error Message > should reset the timer if a new error message is set 2558ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should cancel ongoing request on first press 1776ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should quit on second press 1950ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should reset press count after a timeout 3502ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should quit on second press if buffer is empty 2305ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should NOT quit if buffer is not empty 2011ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should reset press count after a timeout 2055ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+Z > should call handleSuspend 2323ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should focus shell input on Tab 1917ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should unfocus shell input on Shift+Tab 2071ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should auto-unfocus when activePtyId becomes null 1761ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should focus background shell on Tab when already visible (not toggle it off) 1705ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Background Shell Toggling (CTRL+B) > should toggle background shell on Ctrl+B even if visible but not focused 1758ms ✓ AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Background Shell Toggling (CTRL+B) > should show and focus background shell on Ctrl+B if hidden 1724ms ✓ AppContainer State Management > Shortcuts Help Visibility > dismisses shortcuts help when a registered hotkey is pressed 2236ms ✓ AppContainer State Management > Shortcuts Help Visibility > dismisses shortcuts help when streaming starts 2089ms ✓ AppContainer State Management > Shortcuts Help Visibility > dismisses shortcuts help when action-required confirmation appears 2100ms ✓ AppContainer State Management > Copy Mode (F9) > 'Normal Mode' > should NOT toggle mouse off when F9 is pressed 2918ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should toggle mouse off when F9 is pressed 2472ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should toggle mouse back on when F9 is pressed again 2929ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should exit copy mode on non-scroll key press 2309ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should not exit copy mode on PageDown and should pass it through 2240ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should not exit copy mode on Shift+Down and should pass it through 2197ms ✓ AppContainer State Management > Copy Mode (F9) > 'Alternate Buffer Mode' > should have higher priority than other priority listeners when enabled 2200ms ✓ AppContainer State Management > Model Dialog Integration > should provide isModelDialogOpen in the UIStateContext 2265ms ✓ AppContainer State Management > Model Dialog Integration > should provide model dialog actions in the UIActionsContext 2233ms ✓ AppContainer State Management > Agent Configuration Dialog Integration > should initialize with dialog closed and no agent selected 3422ms ✓ AppContainer State Management > Agent Configuration Dialog Integration > should update state when openAgentConfigDialog is called 2517ms ✓ AppContainer State Management > Agent Configuration Dialog Integration > should clear state when closeAgentConfigDialog is called 2374ms ✓ AppContainer State Management > CoreEvents Integration > subscribes to UserFeedback and drains backlog on mount 2408ms ✓ AppContainer State Management > CoreEvents Integration > unsubscribes from UserFeedback on unmount 2243ms ✓ AppContainer State Management > CoreEvents Integration > adds history item when UserFeedback event is received 2352ms ✓ AppContainer State Management > CoreEvents Integration > calls app.rerender() when ExternalEditorClosed event is received in terminalBuffer mode 2349ms ✓ AppContainer State Management > CoreEvents Integration > updates currentModel when ModelChanged event is received 2514ms ✓ AppContainer State Management > CoreEvents Integration > provides activeHooks from useHookDisplayState 2241ms ✓ AppContainer State Management > CoreEvents Integration > handles consent request events 2368ms ✓ AppContainer State Management > CoreEvents Integration > unsubscribes from ConsentRequest on unmount 2259ms ✓ AppContainer State Management > Banner Text > should render placeholder banner text for USE_GEMINI auth type 2254ms ✓ AppContainer State Management > onCancelSubmit Behavior > preserves buffer when cancelling, even if empty (user is in control) 2430ms ✓ AppContainer State Management > onCancelSubmit Behavior > preserves prompt text when cancelling streaming, even if same as last message (regression test for issue #13387) 2290ms ✓ AppContainer State Management > onCancelSubmit Behavior > restores the prompt when onCancelSubmit is called with shouldRestorePrompt=true (or undefined) 2376ms ✓ AppContainer State Management > onCancelSubmit Behavior > input history is independent from conversation history (survives /clear) 2796ms ✓ AppContainer State Management > Regression Tests > does not refresh static on startup if banner text is empty 2421ms ✓ AppContainer State Management > Submission Handling > resets expansion state on submission when not in alternate buffer 2482ms ✓ AppContainer State Management > Submission Handling > resets expansion state on submission when in alternate buffer without clearing terminal 2442ms ✓ AppContainer State Management > Overflow Hint Handling > should set showIsExpandableHint when overflow occurs in Standard Mode and hides after 10s 2480ms ✓ AppContainer State Management > Overflow Hint Handling > resets the hint timer when a new component overflows (overflowingIdsSize increases) 2206ms ✓ AppContainer State Management > Overflow Hint Handling > toggles expansion state and resets the hint timer when Ctrl+O is pressed in Standard Mode 1727ms ✓ AppContainer State Management > Overflow Hint Handling > toggles Ctrl+O multiple times and verifies the hint disappears exactly after the last toggle 1607ms ✓ AppContainer State Management > Overflow Hint Handling > DOES set showIsExpandableHint when overflow occurs in Alternate Buffer Mode 1511ms ✓ AppContainer State Management > Permission Handling > shows permission dialog when checkPermissions returns paths 2377ms ✓ AppContainer State Management > Permission Handling > handles permissions when allowed is true 2405ms ✓ AppContainer State Management > Permission Handling > handles permissions when allowed is false 2366ms ✓ AppContainer State Management > Plan Mode Availability > should allow plan mode when enabled and idle 2281ms ✓ AppContainer State Management > Plan Mode Availability > should NOT allow plan mode when disabled in config 2453ms ✓ AppContainer State Management > Plan Mode Availability > should NOT allow plan mode when streaming 2303ms ✓ AppContainer State Management > Plan Mode Availability > should NOT allow plan mode when a tool is awaiting confirmation 2316ms ✓ AppContainer State Management > Compression Queuing > queues messages during compression instead of handling as steering hints 2495ms ✓ AppContainer State Management > Compression Queuing > executes slash commands immediately during compression 2342ms [?25h ✓ src/ui/components/shared/vim-buffer-actions.test.ts (196 tests) 4146ms ✓ vim-buffer-actions > Movement commands > vim_move_left > should move cursor left by count 367ms ✓ src/nonInteractiveCliAgentSession.test.ts (61 tests) 12902ms ✓ runNonInteractive > should process input and write text output 736ms ✓ runNonInteractive > should exit with error if sendMessageStream throws initially 1590ms ✓ runNonInteractive > should not exit if a tool is not found, and should send error back to model 335ms ✓ runNonInteractive > should handle cancellation (Ctrl+C) 678ms ✓ runNonInteractive > should instantiate CommandService with correct loaders for slash commands 348ms ✓ src/ui/hooks/vim.test.tsx (190 tests) 326084ms ✓ useVim hook > Mode switching > should start in INSERT mode 4119ms ✓ useVim hook > Mode switching > should switch to INSERT mode with i command 2219ms ✓ useVim hook > Mode switching > should switch back to NORMAL mode with Escape 1885ms ✓ useVim hook > Mode switching > should properly handle escape followed immediately by a command 2025ms ✓ useVim hook > Navigation commands > should handle h (left movement) 1832ms ✓ useVim hook > Navigation commands > should handle l (right movement) 1804ms ✓ useVim hook > Navigation commands > should handle j (down movement) 1912ms ✓ useVim hook > Navigation commands > should handle k (up movement) 1841ms ✓ useVim hook > Navigation commands > should handle 0 (move to start of line) 1780ms ✓ useVim hook > Navigation commands > should handle $ (move to end of line) 1819ms ✓ useVim hook > Mode switching commands > should handle a (append after cursor) 1767ms ✓ useVim hook > Mode switching commands > should handle A (append at end of line) 1843ms ✓ useVim hook > Mode switching commands > should handle o (open line below) 1767ms ✓ useVim hook > Mode switching commands > should handle O (open line above) 1762ms ✓ useVim hook > Edit commands > should handle x (delete character) 1783ms ✓ useVim hook > Edit commands > should move cursor left when deleting last character on line (vim behavior) 1840ms ✓ useVim hook > Edit commands > should handle first d key (sets pending state) 1865ms ✓ useVim hook > Count handling > should handle count input and return to count 0 after command 1773ms ✓ useVim hook > Count handling > should only delete 1 character with x command when no count is specified 1837ms ✓ useVim hook > Word movement > should properly initialize vim hook with word movement support 1817ms ✓ useVim hook > Word movement > should support vim mode and basic operations across multiple lines 1904ms ✓ useVim hook > Word movement > should handle w (next word) 1828ms ✓ useVim hook > Word movement > should handle b (previous word) 1824ms ✓ useVim hook > Word movement > should handle e (end of word) 1820ms ✓ useVim hook > Word movement > should handle w when cursor is on the last word 1905ms ✓ useVim hook > Word movement > should handle first c key (sets pending change state) 1765ms ✓ useVim hook > Word movement > should clear pending state on invalid command sequence (df) 1764ms ✓ useVim hook > Word movement > should clear pending state with Escape in NORMAL mode 1757ms ✓ useVim hook > Big Word movement > should handle W (next big word) 1820ms ✓ useVim hook > Big Word movement > should handle B (previous big word) 1824ms ✓ useVim hook > Big Word movement > should handle E (end of big word) 1829ms ✓ useVim hook > Big Word movement > should handle dW (delete big word forward) 1847ms ✓ useVim hook > Big Word movement > should handle cW (change big word forward) 1979ms ✓ useVim hook > Big Word movement > should handle dB (delete big word backward) 1841ms ✓ useVim hook > Big Word movement > should handle dE (delete big word end) 1840ms ✓ useVim hook > Disabled vim mode > should not respond to vim commands when disabled 1768ms ✓ useVim hook > Command repeat system > should repeat x command from current cursor position 1843ms ✓ useVim hook > Command repeat system > should repeat dd command from current position 1844ms ✓ useVim hook > Command repeat system > should repeat ce command from current position 2016ms ✓ useVim hook > Command repeat system > should repeat cc command from current position 1858ms ✓ useVim hook > Command repeat system > should repeat cw command from current position 1860ms ✓ useVim hook > Command repeat system > should repeat D command from current position 1904ms ✓ useVim hook > Command repeat system > should repeat C command from current position 1853ms ✓ useVim hook > Command repeat system > should repeat command after cursor movement 1849ms ✓ useVim hook > Command repeat system > should move cursor to the correct position after exiting INSERT mode with "a" 2014ms ✓ useVim hook > Special characters and edge cases > should handle ^ (move to first non-whitespace character) 1855ms ✓ useVim hook > Special characters and edge cases > should handle G without count (go to last line) 1854ms ✓ useVim hook > Special characters and edge cases > should handle gg (go to first line) 1858ms ✓ useVim hook > Special characters and edge cases > should handle count with movement commands 1853ms ✓ useVim hook > Vim word operations > dw (delete word forward) > should delete from cursor to start of next word 1855ms ✓ useVim hook > Vim word operations > dw (delete word forward) > should actually delete the complete word including trailing space 473ms ✓ useVim hook > Vim word operations > dw (delete word forward) > should delete multiple words with count 1982ms ✓ useVim hook > Vim word operations > dw (delete word forward) > should record command for repeat with dot 1954ms ✓ useVim hook > Vim word operations > de (delete word end) > should delete from cursor to end of current word 1868ms ✓ useVim hook > Vim word operations > de (delete word end) > should handle count with de 1870ms ✓ useVim hook > Vim word operations > cw (change word forward) > should change from cursor to start of next word and enter INSERT mode 1992ms ✓ useVim hook > Vim word operations > cw (change word forward) > should handle count with cw 1878ms ✓ useVim hook > Vim word operations > cw (change word forward) > should be repeatable with dot 1966ms ✓ useVim hook > Vim word operations > ce (change word end) > should change from cursor to end of word and enter INSERT mode 1878ms ✓ useVim hook > Vim word operations > ce (change word end) > should handle count with ce 3018ms ✓ useVim hook > Vim word operations > cc (change line) > should change entire line and enter INSERT mode 1918ms ✓ useVim hook > Vim word operations > cc (change line) > should change multiple lines with count 1893ms ✓ useVim hook > Vim word operations > cc (change line) > should be repeatable with dot 1994ms ✓ useVim hook > Vim word operations > db (delete word backward) > should delete from cursor to start of previous word 1925ms ✓ useVim hook > Vim word operations > db (delete word backward) > should handle count with db 1932ms ✓ useVim hook > Vim word operations > cb (change word backward) > should change from cursor to start of previous word and enter INSERT mode 1888ms ✓ useVim hook > Vim word operations > cb (change word backward) > should handle count with cb 1992ms ✓ useVim hook > Vim word operations > Pending state handling > should clear pending delete state after dw 1925ms ✓ useVim hook > Vim word operations > Pending state handling > should clear pending change state after cw 1951ms ✓ useVim hook > Vim word operations > Pending state handling > should clear pending state with escape 1912ms ✓ useVim hook > Vim word operations > NORMAL mode escape behavior > should pass escape through when no pending operator is active 2097ms ✓ useVim hook > Vim word operations > NORMAL mode escape behavior > should handle escape and clear pending operator 2079ms ✓ useVim hook > Shell command pass-through > should pass through ctrl+r in INSERT mode 2156ms ✓ useVim hook > Shell command pass-through > should pass through ! in INSERT mode when buffer is empty 2230ms ✓ useVim hook > Shell command pass-through > should handle ! as input in INSERT mode when buffer is not empty 2316ms ✓ useVim hook > Reducer-based integration tests > 'ce': should 'change from cursor to end of current …' 331ms ✓ useVim hook > double-escape to clear buffer > should clear buffer on double-escape in NORMAL mode 1178ms ✓ useVim hook > double-escape to clear buffer > should clear buffer on double-escape in INSERT mode 1840ms ✓ useVim hook > double-escape to clear buffer > should NOT clear buffer if escapes are too slow 975ms ✓ useVim hook > double-escape to clear buffer > should clear escape history when clearing pending operator 944ms ✓ useVim hook > double-escape to clear buffer > should pass Ctrl+C through to InputPrompt in NORMAL mode 925ms ✓ useVim hook > double-escape to clear buffer > should pass Ctrl+C through to InputPrompt in INSERT mode 928ms ✓ useVim hook > Character deletion and case toggle (X, ~) > X: should call vimDeleteCharBefore 1889ms ✓ useVim hook > Character deletion and case toggle (X, ~) > ~: should call vimToggleCase 1956ms ✓ useVim hook > Character deletion and case toggle (X, ~) > X can be repeated with dot (.) 1873ms ✓ useVim hook > Character deletion and case toggle (X, ~) > ~ can be repeated with dot (.) 1869ms ✓ useVim hook > Character deletion and case toggle (X, ~) > 3X calls vimDeleteCharBefore with count=3 1868ms ✓ useVim hook > Character deletion and case toggle (X, ~) > 2~ calls vimToggleCase with count=2 1863ms ✓ useVim hook > Replace character (r) > r{char}: should call vimReplaceChar with the next key 1875ms ✓ useVim hook > Replace character (r) > r: should consume the pending char without passing through 1877ms ✓ useVim hook > Replace character (r) > Escape cancels pending r (pendingFindOp cleared on Esc) 1871ms ✓ useVim hook > Replace character (r) > 2rx calls vimReplaceChar with count=2 1869ms ✓ useVim hook > Replace character (r) > r{char} is dot-repeatable 1997ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > 'f'{char}: calls 'vimFindCharForward' (till=false) 1906ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > 'F'{char}: calls 'vimFindCharBackward' (till=false) 1877ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > 't'{char}: calls 'vimFindCharForward' (till=true) 1870ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > 'T'{char}: calls 'vimFindCharBackward' (till=true) 1871ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > ;: should repeat last f forward find 1995ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > ,: should repeat last f find in reverse direction 1887ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > ; and , should do nothing if no prior find 1880ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > Escape cancels pending f (pendingFindOp cleared on Esc) 1878ms ✓ useVim hook > Character find motions (f, F, t, T, ;, ,) > 2fo calls vimFindCharForward with count=2 1878ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'm': should be swallowed and do nothing in Normal mode 1997ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'n': should be swallowed and do nothing in Normal mode 1876ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'p': should be swallowed and do nothing in Normal mode 1885ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'q': should be swallowed and do nothing in Normal mode 1879ms ✓ useVim hook > should handle unmapped keys in Normal mode > 's': should be swallowed and do nothing in Normal mode 1873ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'v': should be swallowed and do nothing in Normal mode 1988ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'y': should be swallowed and do nothing in Normal mode 1882ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'z': should be swallowed and do nothing in Normal mode 1882ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'H': should be swallowed and do nothing in Normal mode 1881ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'J': should be swallowed and do nothing in Normal mode 1879ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'K': should be swallowed and do nothing in Normal mode 1997ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'L': should be swallowed and do nothing in Normal mode 1888ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'M': should be swallowed and do nothing in Normal mode 1902ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'N': should be swallowed and do nothing in Normal mode 1887ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'P': should be swallowed and do nothing in Normal mode 2001ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'Q': should be swallowed and do nothing in Normal mode 1891ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'R': should be swallowed and do nothing in Normal mode 1894ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'S': should be swallowed and do nothing in Normal mode 1884ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'U': should be swallowed and do nothing in Normal mode 1884ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'V': should be swallowed and do nothing in Normal mode 1998ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'Y': should be swallowed and do nothing in Normal mode 1893ms ✓ useVim hook > should handle unmapped keys in Normal mode > 'Z': should be swallowed and do nothing in Normal mode 1891ms ✓ useVim hook > should handle unmapped keys in Normal mode > '/': should be swallowed and do nothing in Normal mode 1893ms ✓ useVim hook > should handle unmapped keys in Normal mode > '#': should be swallowed and do nothing in Normal mode 2004ms ✓ useVim hook > should handle unmapped keys in Normal mode > '%': should be swallowed and do nothing in Normal mode 1931ms ✓ useVim hook > should handle unmapped keys in Normal mode > '&': should be swallowed and do nothing in Normal mode 1899ms ✓ useVim hook > should handle unmapped keys in Normal mode > '\'': should be swallowed and do nothing in Normal mode 1895ms ✓ useVim hook > should handle unmapped keys in Normal mode > '(': should be swallowed and do nothing in Normal mode 3542ms ✓ useVim hook > should handle unmapped keys in Normal mode > ')': should be swallowed and do nothing in Normal mode 1938ms ✓ useVim hook > should handle unmapped keys in Normal mode > '*': should be swallowed and do nothing in Normal mode 1900ms ✓ useVim hook > should handle unmapped keys in Normal mode > '+': should be swallowed and do nothing in Normal mode 1894ms ✓ useVim hook > should handle unmapped keys in Normal mode > '-': should be swallowed and do nothing in Normal mode 1905ms ✓ useVim hook > should handle unmapped keys in Normal mode > '/': should be swallowed and do nothing in Normal mode 1900ms ✓ useVim hook > should handle unmapped keys in Normal mode > ':': should be swallowed and do nothing in Normal mode 2007ms ✓ useVim hook > should handle unmapped keys in Normal mode > '<': should be swallowed and do nothing in Normal mode 1908ms ✓ useVim hook > should handle unmapped keys in Normal mode > '=': should be swallowed and do nothing in Normal mode 1905ms ✓ useVim hook > should handle unmapped keys in Normal mode > '>': should be swallowed and do nothing in Normal mode 1916ms ✓ useVim hook > should handle unmapped keys in Normal mode > '@': should be swallowed and do nothing in Normal mode 2118ms ✓ useVim hook > should handle unmapped keys in Normal mode > '[': should be swallowed and do nothing in Normal mode 1911ms ✓ useVim hook > should handle unmapped keys in Normal mode > '\': should be swallowed and do nothing in Normal mode 1910ms ✓ useVim hook > should handle unmapped keys in Normal mode > ']': should be swallowed and do nothing in Normal mode 1907ms ✓ useVim hook > should handle unmapped keys in Normal mode > '_': should be swallowed and do nothing in Normal mode 2042ms ✓ useVim hook > should handle unmapped keys in Normal mode > '`': should be swallowed and do nothing in Normal mode 2591ms ✓ useVim hook > should handle unmapped keys in Normal mode > '{': should be swallowed and do nothing in Normal mode 1927ms ✓ useVim hook > should handle unmapped keys in Normal mode > '|': should be swallowed and do nothing in Normal mode 1912ms ✓ useVim hook > should handle unmapped keys in Normal mode > '}': should be swallowed and do nothing in Normal mode 1908ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > df{char}: executes delete-to-char, not a dangling operator 1926ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharForward' (till=false, insert=false) 2020ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharForward' (till=true, insert=false) 1919ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharBackward' (till=false, insert=false) 1920ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharBackward' (till=true, insert=false) 1924ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharForward' (till=false, insert=true) 2052ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharForward' (till=true, insert=true) 1924ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharBackward' (till=false, insert=true) 1923ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > undefined{char}: calls 'vimDeleteToCharBackward' (till=true, insert=true) 1923ms ✓ useVim hook > Operator + find motions (df, dt, dF, dT, cf, ct, cF, cT) > 2df{char}: count is passed through to vimDeleteToCharForward 2080ms ✓ useVim hook > Yank and paste (y/p/P) > should handle yy (yank line) 1940ms ✓ useVim hook > Yank and paste (y/p/P) > should handle 2yy (yank 2 lines) 1930ms ✓ useVim hook > Yank and paste (y/p/P) > should handle Y (yank to end of line, equivalent to y$) 1912ms ✓ useVim hook > Yank and paste (y/p/P) > should handle yw (yank word forward) 2038ms ✓ useVim hook > Yank and paste (y/p/P) > should handle yW (yank big word forward) 1929ms ✓ useVim hook > Yank and paste (y/p/P) > should handle ye (yank to end of word) 1925ms ✓ useVim hook > Yank and paste (y/p/P) > should handle yE (yank to end of big word) 1920ms ✓ useVim hook > Yank and paste (y/p/P) > should handle y$ (yank to end of line) 2074ms ✓ useVim hook > Yank and paste (y/p/P) > should handle p (paste after) 1924ms ✓ useVim hook > Yank and paste (y/p/P) > should handle 2p (paste after, count 2) 1934ms ✓ useVim hook > Yank and paste (y/p/P) > should handle P (paste before) 1918ms ✓ useVim hook > Yank and paste (y/p/P) > should duplicate a line below with yy then p 500ms ✓ useVim hook > Yank and paste (y/p/P) > should paste a yanked word after cursor with yw then p 640ms ✓ useVim hook > Yank and paste (y/p/P) > should move a word forward with dw then p 354ms ✓ src/nonInteractiveCli.test.ts (57 tests) 10203ms ✓ runNonInteractive > should process input and write text output 462ms ✓ runNonInteractive > should handle cancellation (Ctrl+C) 650ms ✓ runNonInteractive > should emit appropriate events for streaming JSON output 774ms ✓ runNonInteractive > Agent Execution Events > should write JSON output when AgentExecutionStopped event occurs 323ms stderr | src/config/extension.test.ts > extension tests > installExtension > should prompt for settings if promptForSettings Extension "my-local-extension" has missing settings: API Key. Please run "gemini extensions config my-local-extension [setting-name]" to configure them. stderr | src/config/extension.test.ts > extension tests > installExtension > should not prompt for settings if promptForSettings is false Extension "my-local-extension" has missing settings: API Key. Please run "gemini extensions config my-local-extension [setting-name]" to configure them. stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed Extension "my-auto-update-ext" has missing settings: OLD_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them. stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed Extension "my-auto-update-ext" has missing settings: NEW_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them. ✓ src/config/extension.test.ts (82 tests) 23028ms ✓ extension tests > loadExtensions > should include extension path in loaded extension 1482ms ✓ extension tests > loadExtensions > should skip loading the context file if a context file path is outside the extension directory and log a warning 363ms ✓ extension tests > loadExtensions > should load context file path when GEMINI.md is present 394ms ✓ extension tests > loadExtensions > should load a linked extension correctly 419ms ✓ extension tests > loadExtensions > should load extension policies from the policies directory 428ms ✓ extension tests > loadExtensions > should ignore ALLOW rules and YOLO mode from extension policies for security 325ms ✓ extension tests > loadExtensions > should not load github extensions and log a warning if blockGitExtensions is set 301ms ✓ extension tests > loadExtensions > id generation > should warn about hooks during installation 372ms ✓ extension tests > installExtension > should install an extension from a git URL 317ms ✓ extension tests > installExtension > should prompt for trust if workspace is not trusted 923ms ✓ extension tests > installExtension > should not install if user denies trust 563ms ✓ extension tests > installExtension > should add the workspace to trusted folders if user consents 329ms ✓ extension tests > installExtension > with previous extension config: true > should log an update event to clearcut on success 448ms ✓ extension tests > installExtension > with previous extension config: true > should not alter the extension enablement configuration 438ms ✓ extension tests > installExtension > should show users information on their ansi escaped mcp servers when installing 312ms ✓ extension tests > installExtension > should ignore consent flow if not required 345ms ✓ extension tests > installExtension > should prompt for settings if promptForSettings 375ms ✓ extension tests > installExtension > should only prompt for new settings on update, and preserve old settings 358ms ✓ extension tests > installExtension > installing from github > should fallback to git clone if github release download fails and user consents 305ms ✓ src/utils/sandbox.test.ts (44 tests) 4321ms ✓ sandbox > start_sandbox > should handle macOS seatbelt (sandbox-exec) 597ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/SettingsDialog.test.tsx (64 tests) 735386ms ✓ SettingsDialog > Initial Rendering > should render the settings dialog with default state 18635ms ✓ SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 4424ms ✓ SettingsDialog > Initial Rendering > should render settings list with visual indicators 8825ms ✓ SettingsDialog > Initial Rendering > should use almost full height of the window but no more when the window height is 25 rows 4307ms ✓ SettingsDialog > Initial Rendering > should render the bottom border correctly when height is constrained 5546ms ✓ SettingsDialog > Setting Descriptions > should render descriptions for settings that have them 7263ms ✓ SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 14112ms ✓ SettingsDialog > Settings Navigation > should navigate with 'emacs keys (Ctrl+P/N)' 13432ms ✓ SettingsDialog > Settings Navigation > should allow j and k characters to be typed in search without triggering navigation 16039ms ✓ SettingsDialog > Settings Navigation > wraps around when at the top of the list 10521ms ✓ SettingsDialog > Settings Toggling > should toggle setting with Enter key 10571ms ✓ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 9287ms ✓ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 8760ms ✓ SettingsDialog > Settings Toggling > should handle vim mode setting specially 10356ms ✓ SettingsDialog > Scope Selection > should switch between scopes 12253ms ✓ SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 7426ms ✓ SettingsDialog > Scope Selection > should not offer read-only system settings as an editable target 6468ms ✓ SettingsDialog > Scope Selection > should not offer a read-only home-directory workspace as an editable target 9509ms ✓ SettingsDialog > Scope Selection > should fall back to the first writable scope when the selected scope is read-only 9664ms ✓ SettingsDialog > Scope Selection > should not save when all editable scopes are read-only 7384ms ✓ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 6993ms ✓ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 12738ms ✓ SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 6667ms ✓ SettingsDialog > Settings Persistence > should persist settings across scope changes 10193ms ✓ SettingsDialog > Settings Persistence > should show different values for different scopes 7316ms ✓ SettingsDialog > Complex State Management > should track modified settings correctly 16665ms ✓ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 9455ms ✓ SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 6401ms ✓ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 11025ms ✓ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 7904ms ✓ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 6486ms ✓ SettingsDialog > Settings Display Values > should show correct values for inherited settings 6399ms ✓ SettingsDialog > Settings Display Values > should show override indicator for overridden settings 6726ms ✓ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when toggl…' 8485ms ✓ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings in…' 7804ms ✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 9765ms ✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 8871ms ✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 9746ms ✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 13958ms ✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 6738ms ✓ SettingsDialog > Error Recovery > should handle malformed settings gracefully 6339ms ✓ SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 6328ms ✓ SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 7090ms ✓ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 22779ms ✓ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 26828ms ✓ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 13166ms ✓ SettingsDialog > Restart and Search Conflict Regression > should prioritize restart request over search text box when showRestartPrompt is true 11739ms ✓ SettingsDialog > Restart and Search Conflict Regression > should hide search box when showRestartPrompt is true 8915ms ✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 26609ms ✓ SettingsDialog > Array Settings Editing > should parse comma-separated input as string arrays 48908ms ✓ SettingsDialog > Array Settings Editing > should parse JSON array input for allowedExtensions 50312ms ✓ SettingsDialog > Search Functionality > should display text entered in search 11298ms ✓ SettingsDialog > Search Functionality > should show search query and filter settings as user types 12064ms ✓ SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 13788ms ✓ SettingsDialog > Search Functionality > should handle backspace to modify search query 15544ms ✓ SettingsDialog > Search Functionality > should display nothing when search yields no results 9946ms ✓ SettingsDialog > Snapshot Tests > should render 'default state' correctly 7889ms ✓ SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 8448ms ✓ SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 8381ms ✓ SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 10938ms ✓ SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 8310ms ✓ SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 7770ms ✓ SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 8202ms ✓ SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 8328ms [?25hstdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should pass through query if no @ command is present Ignore file not found: /tmp/folder-structure-test-3niGny/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should pass through original query if only a lone @ symbol is present Ignore file not found: /tmp/folder-structure-test-TUCjML/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path Ignore file not found: /tmp/folder-structure-test-yIstMO/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path Ignore file not found: /tmp/folder-structure-test-yIstMO/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob Ignore file not found: /tmp/folder-structure-test-GjSApH/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob Ignore file not found: /tmp/folder-structure-test-GjSApH/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command Ignore file not found: /tmp/folder-structure-test-RahbS7/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command Ignore file not found: /tmp/folder-structure-test-RahbS7/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces Ignore file not found: /tmp/folder-structure-test-tBvQhX/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces Ignore file not found: /tmp/folder-structure-test-tBvQhX/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly handle double-quoted paths with spaces Ignore file not found: /tmp/folder-structure-test-M9ZzIP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly handle double-quoted paths with spaces Ignore file not found: /tmp/folder-structure-test-M9ZzIP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly handle file paths with narrow non-breaking space (NNBSP) Ignore file not found: /tmp/folder-structure-test-XFf1ne/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly handle file paths with narrow non-breaking space (NNBSP) Ignore file not found: /tmp/folder-structure-test-XFf1ne/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references Ignore file not found: /tmp/folder-structure-test-I5Ytjr/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references Ignore file not found: /tmp/folder-structure-test-I5Ytjr/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text Ignore file not found: /tmp/folder-structure-test-jIJd8o/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text Ignore file not found: /tmp/folder-structure-test-jIJd8o/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-qKTXXS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-qKTXXS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-qKTXXS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @ Ignore file not found: /tmp/folder-structure-test-4lMHIe/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @ Ignore file not found: /tmp/folder-structure-test-4lMHIe/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands Ignore file not found: /tmp/folder-structure-test-n0XvH0/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands Ignored 1 files: Git-ignored: /tmp/folder-structure-test-n0XvH0/node_modules/package.json stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally Ignore file not found: /tmp/folder-structure-test-7gPOqb/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally Ignore file not found: /tmp/folder-structure-test-7gPOqb/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignore file not found: /tmp/folder-structure-test-EIbSP4/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignored 1 files: Git-ignored: /tmp/folder-structure-test-EIbSP4/.env stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignore file not found: /tmp/folder-structure-test-EIbSP4/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files Ignore file not found: /tmp/folder-structure-test-zf2ptz/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files Ignored 1 files: Git-ignored: /tmp/folder-structure-test-zf2ptz/.git/config stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > when recursive file search is disabled > should not use glob search for a nonexistent file Ignore file not found: /tmp/folder-structure-test-yrlaYI/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands Loading ignore patterns from: /tmp/folder-structure-test-aVu2lO/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands Ignored 1 files: Gemini-ignored: /tmp/folder-structure-test-aVu2lO/build/output.js stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present Loading ignore patterns from: /tmp/folder-structure-test-YnmO3x/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present Loading ignore patterns from: /tmp/folder-structure-test-YnmO3x/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files Loading ignore patterns from: /tmp/folder-structure-test-GBef8h/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files Ignored 1 files: Gemini-ignored: /tmp/folder-structure-test-GBef8h/dist/bundle.js stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files Loading ignore patterns from: /tmp/folder-structure-test-GBef8h/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma' Ignore file not found: /tmp/folder-structure-test-I0ftP8/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma' Ignore file not found: /tmp/folder-structure-test-I0ftP8/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period' Ignore file not found: /tmp/folder-structure-test-l06v7M/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period' Ignore file not found: /tmp/folder-structure-test-l06v7M/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon' Ignore file not found: /tmp/folder-structure-test-OUiIrV/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon' Ignore file not found: /tmp/folder-structure-test-OUiIrV/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark' Ignore file not found: /tmp/folder-structure-test-YqixVz/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark' Ignore file not found: /tmp/folder-structure-test-YqixVz/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark' Ignore file not found: /tmp/folder-structure-test-pwe4vo/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark' Ignore file not found: /tmp/folder-structure-test-pwe4vo/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis' Ignore file not found: /tmp/folder-structure-test-4yufKJ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis' Ignore file not found: /tmp/folder-structure-test-4yufKJ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis' Ignore file not found: /tmp/folder-structure-test-vxYCLX/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis' Ignore file not found: /tmp/folder-structure-test-vxYCLX/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket' Ignore file not found: /tmp/folder-structure-test-aXortA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket' Ignore file not found: /tmp/folder-structure-test-aXortA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket' Ignore file not found: /tmp/folder-structure-test-It1Ers/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket' Ignore file not found: /tmp/folder-structure-test-It1Ers/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace' Ignore file not found: /tmp/folder-structure-test-TnaGAF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace' Ignore file not found: /tmp/folder-structure-test-TnaGAF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace' Ignore file not found: /tmp/folder-structure-test-8uhXST/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace' Ignore file not found: /tmp/folder-structure-test-8uhXST/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation Ignore file not found: /tmp/folder-structure-test-DbmaMk/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation Ignore file not found: /tmp/folder-structure-test-DbmaMk/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation Ignore file not found: /tmp/folder-structure-test-tQiuzo/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation Ignore file not found: /tmp/folder-structure-test-tQiuzo/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions Ignore file not found: /tmp/folder-structure-test-MyC6CF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions Ignore file not found: /tmp/folder-structure-test-MyC6CF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space Ignore file not found: /tmp/folder-structure-test-mj4Vch/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space Ignore file not found: /tmp/folder-structure-test-mj4Vch/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths Ignore file not found: /tmp/folder-structure-test-xXAZcE/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths Ignore file not found: /tmp/folder-structure-test-xXAZcE/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods Ignore file not found: /tmp/folder-structure-test-qH5ahw/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods Ignore file not found: /tmp/folder-structure-test-qH5ahw/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma Ignore file not found: /tmp/folder-structure-test-oRbewC/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma Ignore file not found: /tmp/folder-structure-test-oRbewC/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names Ignore file not found: /tmp/folder-structure-test-7VaBAf/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names Ignore file not found: /tmp/folder-structure-test-7VaBAf/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters Ignore file not found: /tmp/folder-structure-test-gPo9qv/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters Ignore file not found: /tmp/folder-structure-test-gPo9qv/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly Ignore file not found: /tmp/folder-structure-test-VNiAw1/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly Ignore file not found: /tmp/folder-structure-test-VNiAw1/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly Ignore file not found: /tmp/folder-structure-test-9TO6fA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly Ignore file not found: /tmp/folder-structure-test-9TO6fA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility Ignore file not found: /tmp/folder-structure-test-GkUf5M/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility Ignore file not found: /tmp/folder-structure-test-GkUf5M/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > attaches MCP resource content when @serverName:uri matches registry Ignore file not found: /tmp/folder-structure-test-2LPCXV/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable Ignore file not found: /tmp/folder-structure-test-5yNmDO/.geminiignore, continue without it. stderr | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable Exiting due to an error processing the @ command: Error reading resource resource://server-1/logs: MCP client for server 'server-1' is not available or not connected. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return error if the read_many_files tool is cancelled by user Ignore file not found: /tmp/folder-structure-test-OJtv4e/.geminiignore, continue without it. stderr | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return error if the read_many_files tool is cancelled by user Exiting due to an error processing the @ command: Error reading files (file.txt): User cancelled operation stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should resolve files in multiple workspace directories Ignore file not found: /tmp/folder-structure-test-fEmBif/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should resolve files in multiple workspace directories Ignore file not found: /tmp/folder-structure-test-fEmBif/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should attempt glob fallback if direct resolution is unauthorized Ignore file not found: /tmp/folder-structure-test-gXw8DI/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should attempt glob fallback if direct resolution is unauthorized Ignore file not found: /tmp/folder-structure-test-gXw8DI/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should attempt glob fallback if direct resolution is unauthorized Ignore file not found: /tmp/folder-structure-test-gXw8DI/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should skip malformed paths (the original crash scenario) Ignore file not found: /tmp/folder-structure-test-UZi4nR/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should skip malformed paths (the original crash scenario) Ignore file not found: /tmp/folder-structure-test-UZi4nR/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should recover a buried path from a malformed fragment during handleAtCommand Ignore file not found: /tmp/folder-structure-test-48vXBm/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should recover a buried path from a malformed fragment during handleAtCommand Ignore file not found: /tmp/folder-structure-test-48vXBm/.geminiignore, continue without it. ✓ src/ui/hooks/atCommandProcessor.test.ts (64 tests) 10721ms ✓ handleAtCommand > should pass through query if no @ command is present 545ms ✓ handleAtCommand > should process a valid text file path 2945ms ✓ handleAtCommand > should handle a mix of valid, invalid, and lone @ references 436ms ✓ src/ui/hooks/useQuotaAndFallback.test.ts (35 tests) 69544ms ✓ useQuotaAndFallback > should register a fallback handler on initialization 5004ms ✓ useQuotaAndFallback > Fallback Handler Logic > should show fallback dialog but omit switch to API key message if authType is not LOGIN_WITH_GOOGLE 3007ms ✓ useQuotaAndFallback > Fallback Handler Logic > should auto-retry transient capacity failures in low verbosity mode 1993ms ✓ useQuotaAndFallback > Fallback Handler Logic > should still prompt for terminal quota in low verbosity mode 1925ms ✓ useQuotaAndFallback > Fallback Handler Logic > should auto-retry terminal quota capacity failures in low verbosity mode 1912ms ✓ useQuotaAndFallback > Fallback Handler Logic > should auto-retry capacity failures matched by regex on message in low verbosity mode 1833ms ✓ useQuotaAndFallback > Fallback Handler Logic > should auto-retry capacity failures thrown as raw string error in low verbosity mode 1832ms ✓ useQuotaAndFallback > Fallback Handler Logic > should show high demand message for MODEL_CAPACITY_EXHAUSTED 1802ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should set an interactive request for a terminal quota error 1917ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should show the model name for a terminal quota error on a non-pro model 1993ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle terminal quota error without retry delay 1851ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle race conditions by stopping subsequent requests 1824ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle generic error correctly 1949ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle retryable quota error correctly 2406ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle ModelNotFoundError for personal accounts correctly 1920ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle ModelNotFoundError for enterprise/workspace accounts correctly 1813ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle ModelNotFoundError with Vertex AI by displaying region-specific availability message and documentation link 1905ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle ModelNotFoundError with Vertex AI and invalid model by displaying generic not found error message 1829ms ✓ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should handle ModelNotFoundError with invalid model correctly 1843ms ✓ useQuotaAndFallback > G1 AI Credits Flow > should fall through to ProQuotaDialog if credits are already active (strategy=always) 2198ms ✓ useQuotaAndFallback > G1 AI Credits Flow > should show overage menu if balance > 0 and not auto-using 1796ms ✓ useQuotaAndFallback > G1 AI Credits Flow > should handle use_fallback from overage menu 1725ms ✓ useQuotaAndFallback > G1 AI Credits Flow > should show empty wallet menu if balance is 0 1738ms ✓ useQuotaAndFallback > G1 AI Credits Flow > should add info message to history when get_credits is selected 1966ms ✓ useQuotaAndFallback > handleProQuotaChoice > should do nothing if there is no pending pro quota request 1750ms ✓ useQuotaAndFallback > handleProQuotaChoice > should resolve intent to "retry_later" 1719ms ✓ useQuotaAndFallback > handleProQuotaChoice > should resolve intent to "retry_always" and add info message on continue 1748ms ✓ useQuotaAndFallback > handleProQuotaChoice > should show a special message when falling back from the preview model 1759ms ✓ useQuotaAndFallback > handleProQuotaChoice > should show a special message when falling back from the preview model, but not show the periodical check message for flash model fallbacks 1717ms ✓ useQuotaAndFallback > Validation Handler > should register a validation handler on initialization 1707ms ✓ useQuotaAndFallback > Validation Handler > should set a validation request when handler is called 1808ms ✓ useQuotaAndFallback > Validation Handler > should handle race conditions by returning cancel for subsequent requests 1804ms ✓ useQuotaAndFallback > Validation Handler > should call onShowAuthSelection when change_auth is chosen 1717ms ✓ useQuotaAndFallback > Validation Handler > should call onShowAuthSelection when cancel is chosen 1764ms ✓ useQuotaAndFallback > Validation Handler > should do nothing if handleValidationChoice is called without pending request 1950ms [?25h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:8527) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:8527) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 clear listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:8527) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 settings-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/AskUserDialog.test.tsx (44 tests) 327379ms ✓ AskUserDialog > renders question and options 9276ms ✓ AskUserDialog > Submission: 'Single Select' > submits correct values for Single Select 5458ms ✓ AskUserDialog > Submission: 'Multi-select' > submits correct values for Multi-select 15920ms ✓ AskUserDialog > Submission: 'All of the above' > submits correct values for All of the above 12341ms ✓ AskUserDialog > Submission: 'Text Input' > submits correct values for Text Input 6356ms ✓ AskUserDialog > verifies "All of the above" visual state with snapshot 8729ms ✓ AskUserDialog > handles custom option in single select with inline typing 14753ms ✓ AskUserDialog > supports multi-line input for "Other" option in choice questions 13826ms ✓ AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 7305ms ✓ AskUserDialog > Scroll Arrows (useAlternateBuffer: false) > shows scroll arrows correctly when useAlternateBuffer is false 7330ms ✓ AskUserDialog > navigates to custom option when typing unbound characters (Type-to-Jump) 11245ms ✓ AskUserDialog > shows progress header for multiple questions 3423ms ✓ AskUserDialog > hides progress header for single question 2594ms ✓ AskUserDialog > shows keyboard hints 2586ms ✓ AskUserDialog > navigates between questions with arrow keys 8427ms ✓ AskUserDialog > preserves answers when navigating back 13245ms ✓ AskUserDialog > shows Review tab in progress header for multiple questions 2755ms ✓ AskUserDialog > allows navigating to Review tab and back 10333ms ✓ AskUserDialog > shows warning for unanswered questions on Review tab 5970ms ✓ AskUserDialog > submits with unanswered questions when user confirms on Review 5109ms ✓ AskUserDialog > Text type questions > renders text input for type: "text" 2541ms ✓ AskUserDialog > Text type questions > shows default placeholder when none provided 2421ms ✓ AskUserDialog > Text type questions > supports backspace in text mode 7914ms ✓ AskUserDialog > Text type questions > shows correct keyboard hints for text type 2422ms ✓ AskUserDialog > Text type questions > preserves text answer when navigating between questions 12527ms ✓ AskUserDialog > Text type questions > handles mixed text and choice questions 19136ms ✓ AskUserDialog > Text type questions > submits empty text as unanswered 2497ms ✓ AskUserDialog > Text type questions > clears text on Ctrl+C 9886ms ✓ AskUserDialog > Text type questions > allows immediate arrow navigation after switching away from text input 13431ms ✓ AskUserDialog > Text type questions > handles rapid sequential answers correctly (stale closure protection) 8036ms ✓ AskUserDialog > Markdown rendering > auto-bolds plain single-line questions 3852ms ✓ AskUserDialog > Markdown rendering > does not auto-bold questions that already have markdown 3853ms ✓ AskUserDialog > Markdown rendering > renders bold markdown in question 3800ms ✓ AskUserDialog > Markdown rendering > renders inline code markdown in question 4263ms ✓ AskUserDialog > uses availableTerminalHeight from UIStateContext if availableHeight prop is missing 5966ms ✓ AskUserDialog > does NOT truncate the question when in alternate buffer mode even with small height 5119ms ✓ AskUserDialog > Choice question placeholder > uses placeholder for "Other" option when provided 4681ms ✓ AskUserDialog > Choice question placeholder > uses default placeholder when not provided 4555ms ✓ AskUserDialog > Choice question placeholder > supports "Other" option for yesno questions 19203ms ✓ AskUserDialog > expands paste placeholders in multi-select custom option via Done 7855ms ✓ AskUserDialog > shows at least 3 selection options even in small terminal heights 3966ms ✓ AskUserDialog > allows the question to exceed 15 lines in a tall terminal 5657ms ✓ AskUserDialog > indents multi-line descriptions correctly 3433ms ✓ AskUserDialog > indents multi-line descriptions correctly in multi-select mode 3206ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 clear listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 settings-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 memory-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit (node:8577) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 approval-mode-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/contexts/KeypressContext.test.tsx (142 tests) 113732ms ✓ KeypressContext > Enter key handling > should recognize 'regular enter key (keycode 13)' in kitty protocol 4468ms ✓ KeypressContext > Enter key handling > should recognize 'numpad enter key (keycode 57414)' in kitty protocol 931ms ✓ KeypressContext > Enter key handling > should handle backslash return 788ms ✓ KeypressContext > Enter key handling > should handle numpad enter with 'Shift' modifier 772ms ✓ KeypressContext > Enter key handling > should handle numpad enter with 'Ctrl' modifier 769ms ✓ KeypressContext > Enter key handling > should handle numpad enter with 'Alt' modifier 828ms ✓ KeypressContext > Enter key handling > should recognize (LF) as ctrl+j 1185ms ✓ KeypressContext > Enter key handling > should recognize \x1b\n as Alt+Enter (return with meta) 739ms ✓ KeypressContext > Fast return buffering > should buffer return key pressed quickly after another key 769ms ✓ KeypressContext > Fast return buffering > should NOT buffer return key if delay is long enough 895ms ✓ KeypressContext > Escape key handling > should recognize escape key (keycode 27) in kitty protocol 793ms ✓ KeypressContext > Escape key handling > should stop propagation when a higher priority handler returns true 743ms ✓ KeypressContext > Escape key handling > should continue propagation when a higher priority handler does not consume the event 743ms ✓ KeypressContext > Escape key handling > should handle double Escape 739ms ✓ KeypressContext > Escape key handling > should handle lone Escape key (keycode 27) with timeout when kitty protocol is enabled 727ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Tab key' in kitty protocol 721ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Shift+Tab' in kitty protocol 718ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Backspace' in kitty protocol 712ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Alt+Backspace' in kitty protocol 712ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Ctrl+Backspace' in kitty protocol 717ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Shift+Space' in kitty protocol 750ms ✓ KeypressContext > Tab, Backspace, and Space handling > should recognize 'Ctrl+Space' in kitty protocol 1741ms ✓ KeypressContext > paste mode > should 'handle multiline paste as a single ev…' 909ms ✓ KeypressContext > paste mode > should 'handle paste start code split over mu…' 729ms ✓ KeypressContext > paste mode > should 'handle paste end code split over mult…' 748ms ✓ KeypressContext > paste mode > should parse valid OSC 52 response 746ms ✓ KeypressContext > paste mode > should handle split OSC 52 response 730ms ✓ KeypressContext > paste mode > should handle OSC 52 response terminated by ESC \ 755ms ✓ KeypressContext > paste mode > should ignore unknown OSC sequences 1060ms ✓ KeypressContext > paste mode > should ignore invalid OSC 52 format 739ms ✓ KeypressContext > debug keystroke logging > should not log keystrokes when debugKeystrokeLogging is false 875ms ✓ KeypressContext > debug keystroke logging > should log kitty buffer accumulation when debugKeystrokeLogging is true 843ms ✓ KeypressContext > debug keystroke logging > should show char codes when debugKeystrokeLogging is true even without debug mode 776ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[53;5u'" as '5' 729ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[51;2u'" as '3' 701ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[27;2;13~'" as 'enter' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[27;5;13~'" as 'enter' 698ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[27;5;9~'" as 'tab' 699ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[27;6;9~'" as 'tab' 697ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[44032u'" as '가' 707ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[27;1;44032~'" as '가' 705ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;129A'" as 'up' 707ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;2H'" as 'home' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;5F'" as 'end' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;1P'" as 'f1' 824ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;3Q'" as 'f2' 713ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[3~'" as 'delete' 706ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[5~'" as 'pageup' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[6~'" as 'pagedown' 702ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1~'" as 'home' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[4~'" as 'end' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[2~'" as 'insert' 712ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[11~'" as 'f1' 705ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[17~'" as 'f6' 697ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[23~'" as 'f11' 898ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[24~'" as 'f12' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[25~'" as 'f13' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[34~'" as 'f20' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[302u'" as 'f13' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[324u'" as 'f35' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[57358u'" as 'capslock' 701ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[57362u'" as 'pausebreak' 697ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[Z'" as 'tab' 702ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[1;2Z'" as 'tab' 699ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001bOZ'" as 'tab' 701ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[A'" as 'up' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[B'" as 'down' 825ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[C'" as 'right' 710ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[D'" as 'left' 711ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[H'" as 'home' 704ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[F'" as 'end' 703ms ✓ KeypressContext > Parameterized functional keys > should recognize sequence "'\u001b[5H'" as 'home' 736ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOj'" as '*' 732ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOk'" as '+' 701ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOm'" as '-' 699ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOo'" as '/' 1708ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOp'" as '0' 741ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOq'" as '1' 710ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOr'" as '2' 1268ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOs'" as '3' 915ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOt'" as '4' 723ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOu'" as '5' 759ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOv'" as '6' 722ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOw'" as '7' 702ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOx'" as '8' 700ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOy'" as '9' 702ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001bOn'" as '.' 705ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001b[57404u'" as 'numpad5' 706ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001b[57404;5u'" as 'numpad5' 704ms ✓ KeypressContext > Numpad support > should recognize numpad sequence "'\u001b[57411u'" as 'numpad_multiply' 703ms ✓ KeypressContext > Double-tap and batching > should emit two delete events for double-tap CSI[3~ 770ms ✓ KeypressContext > Double-tap and batching > should parse two concatenated tilde-coded sequences in one chunk 901ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'b' in 'iTerm2' 792ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'f' in 'iTerm2' 716ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'m' in 'iTerm2' 711ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'z' in 'iTerm2' 709ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'Z' in 'iTerm2' 719ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'b' in 'Ghostty' 723ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'f' in 'Ghostty' 709ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'m' in 'Ghostty' 709ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'z' in 'Ghostty' 897ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'Z' in 'Ghostty' 718ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'b' in 'MacTerminal' 735ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'f' in 'MacTerminal' 714ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'m' in 'MacTerminal' 710ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'z' in 'MacTerminal' 708ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'Z' in 'MacTerminal' 708ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'b' in 'VSCodeTerminal' 708ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'f' in 'VSCodeTerminal' 715ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'m' in 'VSCodeTerminal' 708ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'z' in 'VSCodeTerminal' 706ms ✓ KeypressContext > Cross-terminal Alt key handling (simulating macOS) > should handle Alt+'Z' in 'VSCodeTerminal' 704ms ✓ KeypressContext > Backslash key handling > should treat backslash as a regular keystroke 902ms ✓ KeypressContext > should timeout and flush incomplete kitty sequences after 50ms 745ms ✓ KeypressContext > should immediately flush non-kitty CSI sequences 718ms ✓ KeypressContext > should parse valid kitty sequences immediately when complete 714ms ✓ KeypressContext > should handle batched kitty sequences correctly 717ms ✓ KeypressContext > should handle mixed valid and invalid sequences 716ms ✓ KeypressContext > should handle sequences arriving character by character with 1 ms delay 724ms ✓ KeypressContext > should handle sequences arriving character by character with 49 ms delay 707ms ✓ KeypressContext > should reset timeout when new input arrives 717ms ✓ KeypressContext > SGR Mouse Handling > should ignore SGR mouse sequences 732ms ✓ KeypressContext > SGR Mouse Handling > should handle mixed SGR mouse and key sequences 2001ms ✓ KeypressContext > SGR Mouse Handling > should ignore X11 mouse sequences 763ms ✓ KeypressContext > SGR Mouse Handling > should not flush slow SGR mouse sequences as garbage 719ms ✓ KeypressContext > SGR Mouse Handling > should ignore specific SGR mouse sequence sandwiched between keystrokes 721ms ✓ KeypressContext > Ignored Sequences > should ignore 'Focus In' sequence 727ms ✓ KeypressContext > Ignored Sequences > should ignore 'Focus Out' sequence 714ms ✓ KeypressContext > Ignored Sequences > should ignore 'SGR Mouse Release' sequence 719ms ✓ KeypressContext > Ignored Sequences > should ignore 'something mouse' sequence 718ms ✓ KeypressContext > Ignored Sequences > should ignore 'another mouse' sequence 718ms ✓ KeypressContext > Ignored Sequences > should handle F12 755ms ✓ KeypressContext > Individual Character Input > should correctly handle string "abc" 1003ms ✓ KeypressContext > Individual Character Input > should correctly handle string "你好" 1023ms ✓ KeypressContext > Individual Character Input > should correctly handle string "こんにちは" 752ms ✓ KeypressContext > Individual Character Input > should correctly handle string "안녕하세요" 732ms ✓ KeypressContext > Individual Character Input > should correctly handle string "A你B好C" 744ms ✓ KeypressContext > Greek support > should handle undefined correctly in 'non-Greek locale (Option+z)' 762ms ✓ KeypressContext > Greek support > should handle undefined correctly in 'Greek LANG' 716ms ✓ KeypressContext > Greek support > should handle undefined correctly in 'Greek LC_ALL' 737ms ✓ KeypressContext > Greek support > should handle undefined correctly in 'LC_ALL overriding non-Greek LANG' 713ms ✓ KeypressContext > Greek support > should handle '¸' correctly in 'Cedilla (¸) in Greek locale (should b…' 716ms stdout | src/ui/commands/extensionsCommand.test.ts > extensionsCommand > explore > should handle onSelect and onClose in ExtensionRegistryView Selected extension: test-ext stderr | src/ui/commands/extensionsCommand.test.ts > extensionsCommand > link > should show error message for invalid source Failed to stat path "test-extension-package": invalid path ✓ src/ui/commands/extensionsCommand.test.ts (59 tests) 7718ms ✓ extensionsCommand > list > should add an EXTENSIONS_LIST item to the UI 527ms ✓ extensionsCommand > update > should call setPendingItem and addItem in a finally block on failure 910ms ✓ extensionsCommand > explore > should handle onSelect and onClose in ExtensionRegistryView 326ms stderr | unknown test An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures 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/ui/hooks/useExecutionLifecycle.test.tsx (36 tests) 69475ms ✓ useExecutionLifecycle > should initiate command execution and set pending state 5087ms ✓ useExecutionLifecycle > should pass the config sessionId into shell execution config 1846ms ✓ useExecutionLifecycle > should handle successful execution and update history correctly 2127ms ✓ useExecutionLifecycle > should handle command failure and display error status 1868ms ✓ useExecutionLifecycle > UI Streaming and Throttling > should update UI for text streams (non-interactive) 1012ms ✓ useExecutionLifecycle > UI Streaming and Throttling > should show binary progress messages correctly 850ms ✓ useExecutionLifecycle > should not wrap the command on Windows 1703ms ✓ useExecutionLifecycle > should handle command abort and display cancelled status 1708ms ✓ useExecutionLifecycle > should handle binary output result correctly 1739ms ✓ useExecutionLifecycle > should prepend warnings to AnsiOutput array 1852ms ✓ useExecutionLifecycle > should handle promise rejection and show an error 2556ms ✓ useExecutionLifecycle > should handle synchronous errors during execution and clean up resources 1907ms ✓ useExecutionLifecycle > Directory Change Warning > should show a warning if the working directory changes 1867ms ✓ useExecutionLifecycle > Directory Change Warning > should NOT show a warning if the directory does not change 1854ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should have activeShellPtyId as null initially 1780ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should set activeShellPtyId when a command with a PID starts 1763ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should update the pending history item with the ptyId 1757ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should reset activeShellPtyId to null after successful execution 1727ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should reset activeShellPtyId to null after failed execution 2601ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should reset activeShellPtyId to null if execution promise rejects 1904ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should not set activeShellPtyId on synchronous execution error and should remain null 1843ms ✓ useExecutionLifecycle > ActiveShellPtyId management > should not set activeShellPtyId if service does not return a PID 1729ms ✓ useExecutionLifecycle > Background Shell Management > should register a background shell and update count 1962ms ✓ useExecutionLifecycle > Background Shell Management > should toggle background shell visibility 1781ms ✓ useExecutionLifecycle > Background Shell Management > should show info message when toggling background shells if none are active 1706ms ✓ useExecutionLifecycle > Background Shell Management > should dismiss a background shell and remove it from state 1759ms ✓ useExecutionLifecycle > Background Shell Management > should handle backgrounding the current shell 1794ms ✓ useExecutionLifecycle > Background Shell Management > should auto-dismiss background task on successful exit 1762ms ✓ useExecutionLifecycle > Background Shell Management > should auto-dismiss background task on failed exit 1684ms ✓ useExecutionLifecycle > Background Shell Management > should NOT trigger re-render on background shell output when visible 1710ms ✓ useExecutionLifecycle > Background Shell Management > should NOT trigger re-render on background shell output when hidden 1740ms ✓ useExecutionLifecycle > Background Shell Management > should trigger re-render on binary progress when visible 1718ms ✓ useExecutionLifecycle > Background Shell Management > should NOT hide background shell when model is responding without confirmation 2055ms ✓ useExecutionLifecycle > Background Shell Management > should hide background shell when waiting for confirmation and restore after delay 2570ms ✓ useExecutionLifecycle > Background Shell Management > should auto-hide background shell when foreground shell starts and restore when it ends 2166ms ✓ useExecutionLifecycle > Background Shell Management > should NOT restore background shell if it was manually hidden during foreground execution 1824ms [?25h ✓ src/ui/hooks/useSlashCompletion.test.ts (30 tests) 67500ms ✓ useSlashCompletion > Top-Level Commands > should suggest all top-level commands for the root slash 5078ms ✓ useSlashCompletion > Top-Level Commands > should filter commands based on partial input 1954ms ✓ useSlashCompletion > Top-Level Commands > should suggest commands based on partial altNames 1851ms ✓ useSlashCompletion > Top-Level Commands > should provide suggestions even for a perfectly typed command that is a leaf node 1808ms ✓ useSlashCompletion > Top-Level Commands > should suggest commands even when altNames is fully typed 1785ms ✓ useSlashCompletion > Top-Level Commands > should suggest commands even when altNames is fully typed 1818ms ✓ useSlashCompletion > Top-Level Commands > should show all matching suggestions even when one is a perfect match 1786ms ✓ useSlashCompletion > Top-Level Commands > should show the same selectable auto/checkpoint menu for /chat and /resume 5654ms ✓ useSlashCompletion > Top-Level Commands > should NOT suggest the auto-list command when typing a non-matching partial after /chat 1837ms ✓ useSlashCompletion > Top-Level Commands > should STILL suggest the auto-list command when typing a matching partial after /chat 1775ms ✓ useSlashCompletion > Top-Level Commands > should sort exact altName matches to the top 1734ms ✓ useSlashCompletion > Top-Level Commands > should suggest the command itself instead of subcommands when a parent command is fully typed without a trailing space 1736ms ✓ useSlashCompletion > Top-Level Commands > should NOT suggest subcommands when a parent command is fully typed without a trailing space (fix for over-eager completion) 1791ms ✓ useSlashCompletion > Top-Level Commands > should not provide suggestions for a fully typed command that has no sub-commands or argument completion 2748ms ✓ useSlashCompletion > Top-Level Commands > should not provide suggestions for an unknown command 1739ms ✓ useSlashCompletion > Top-Level Commands > should not suggest hidden commands 2739ms ✓ useSlashCompletion > Top-Level Commands > should rank primary name prefix matches higher than alias prefix matches 1698ms ✓ useSlashCompletion > Sub-Commands > should suggest sub-commands for a parent command 2733ms ✓ useSlashCompletion > Sub-Commands > should suggest parent command (and siblings) instead of sub-commands when no trailing space 1736ms ✓ useSlashCompletion > Sub-Commands > should suggest all sub-commands when the query ends with the parent command and a space 2726ms ✓ useSlashCompletion > Sub-Commands > should filter sub-commands by prefix 1722ms ✓ useSlashCompletion > Sub-Commands > should provide no suggestions for an invalid sub-command 1750ms ✓ useSlashCompletion > Argument Completion > should call the command.completion function for argument suggestions 1821ms ✓ useSlashCompletion > Argument Completion > should call command.completion with an empty string when args start with a space 1750ms ✓ useSlashCompletion > Argument Completion > should handle completion function that returns null 1749ms ✓ useSlashCompletion > Command Kind Information > should include commandKind for MCP commands in suggestions 2696ms ✓ useSlashCompletion > Command Kind Information > should include commandKind when filtering MCP commands by prefix 1710ms ✓ useSlashCompletion > Command Kind Information > should include commandKind for sub-commands 3228ms ✓ useSlashCompletion > Command Kind Information > should include commandKind for file commands 1895ms ✓ useSlashCompletion > should not call shared callbacks when disabled 2363ms [?25hstderr | src/acp/acpSession.test.ts > Session > Policy Handling > should fail closed when PolicyEngine is missing Policy engine missing. Denying tool confirmation request. stderr | src/acp/acpSession.test.ts > Session > Policy Handling > should handle missing tool name in request by failing closed Tool confirmation request missing tool name. Denying. stderr | src/acp/acpSession.test.ts > Session > Policy Handling > should trim tool name before lookup and validation Tool confirmation request missing tool name. Denying. stderr | src/acp/acpSession.test.ts > Session > Policy Handling > should fail closed and deny unknown tools Tool confirmation request for unknown tool: unknown_tool. Denying. ✓ src/acp/acpSession.test.ts (36 tests) 5146ms ✓ Session > should send available commands 401ms ✓ src/ui/hooks/useSelectionList.test.tsx (51 tests) 150465ms ✓ useSelectionList > Initialization > should initialize with the default index (0) if enabled 3895ms ✓ useSelectionList > Initialization > should initialize with the provided initialIndex if enabled 1835ms ✓ useSelectionList > Initialization > should handle an empty list gracefully 1793ms ✓ useSelectionList > Initialization > should find the next enabled item (downwards) if initialIndex is disabled 1760ms ✓ useSelectionList > Initialization > should wrap around to find the next enabled item if initialIndex is disabled 1729ms ✓ useSelectionList > Initialization > should default to 0 if initialIndex is out of bounds 3401ms ✓ useSelectionList > Initialization > should stick to the initial index if all items are disabled 1698ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should move down with "j" and "down" keys, skipping disabled items 4173ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should move up with "k" and "up" keys, skipping disabled items 4031ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should ignore navigation keys when shift is pressed 7592ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should wrap navigation correctly 4086ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should call onHighlight when index changes 2964ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should not move or call onHighlight if navigation results in the same index (e.g., single item) 2812ms ✓ useSelectionList > Keyboard Navigation (Up/Down/J/K) > should not move or call onHighlight if all items are disabled 2836ms ✓ useSelectionList > Wrapping (wrapAround) > should wrap by default (wrapAround=true) 3940ms ✓ useSelectionList > Wrapping (wrapAround) > should not wrap when wrapAround is false 5114ms ✓ useSelectionList > Selection (Enter) > should call onSelect when "return" is pressed on enabled item 2831ms ✓ useSelectionList > Selection (Enter) > should not call onSelect if the active item is disabled 3940ms ✓ useSelectionList > Keyboard Navigation Robustness (Rapid Input) > should handle rapid navigation and selection robustly (avoiding stale state) 5116ms ✓ useSelectionList > Keyboard Navigation Robustness (Rapid Input) > should handle ultra-rapid input (multiple presses in single act) without stale state 2859ms ✓ useSelectionList > Focus Management (isFocused) > should activate the keypress handler when focused (default) and items exist 2809ms ✓ useSelectionList > Focus Management (isFocused) > should not activate the keypress handler when isFocused is false 1743ms ✓ useSelectionList > Focus Management (isFocused) > should not activate the keypress handler when items list is empty 1710ms ✓ useSelectionList > Focus Management (isFocused) > should activate/deactivate when isFocused prop changes 5622ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should not respond to numbers if showNumbers is false (default) 970ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should select item immediately if the number cannot be extended (unambiguous) 872ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should highlight and wait for timeout if the number can be extended (ambiguous) 998ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should handle multi-digit input correctly 961ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should reset buffer if input becomes invalid (out of bounds) 937ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should allow "0" as subsequent digit, but ignore as first digit 1057ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should clear the initial "0" input after timeout 1202ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should highlight but not select a disabled item (immediate selection case) 815ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should highlight but not select a disabled item (timeout case) 951ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should clear the number buffer if a non-numeric key (e.g., navigation) is pressed 1115ms ✓ useSelectionList > Numeric Quick Selection (showNumbers=true) > should clear the number buffer if "return" is pressed 1054ms ✓ useSelectionList > Programmatic Focus (focusKey) > should change the activeIndex when a valid focusKey is provided 4186ms ✓ useSelectionList > Programmatic Focus (focusKey) > should ignore a focusKey that does not exist 4202ms ✓ useSelectionList > Programmatic Focus (focusKey) > should ignore a focusKey that points to a disabled item 4171ms ✓ useSelectionList > Programmatic Focus (focusKey) > should handle clearing the focusKey 6793ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should update activeIndex when initialIndex prop changes 3088ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should respect a new initialIndex even after user interaction 4198ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should validate index when initialIndex prop changes to a disabled item 3846ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should adjust activeIndex if items change and the initialIndex is now out of bounds 3171ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should adjust activeIndex if items change and the initialIndex becomes disabled 3061ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should reset to 0 if items change to an empty list 3181ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should not reset activeIndex when items are deeply equal 4302ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should update activeIndex when items change structurally 3091ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should handle partial changes in items array 3073ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should update selection when a new item is added to the start of the list 4226ms ✓ useSelectionList > Reactivity (Dynamic Updates) > should not re-initialize when items have identical keys but are different objects 3110ms ✓ useSelectionList > Cleanup > should clear timeout on unmount when timer is active 1412ms [?25h ✓ src/ui/hooks/slashCommandProcessor.test.tsx (38 tests) 73804ms ✓ useSlashCommandProcessor > Console Clear Safety > should not call console.clear if alternate buffer is active 4507ms ✓ useSlashCommandProcessor > Console Clear Safety > should call console.clear if alternate buffer is not active 1923ms ✓ useSlashCommandProcessor > Initialization and Command Loading > should initialize CommandService with all required loaders 1986ms ✓ useSlashCommandProcessor > Initialization and Command Loading > should call loadCommands and populate state after mounting 1895ms ✓ useSlashCommandProcessor > Command Execution Logic > should treat unknown commands as regular input 1840ms ✓ useSlashCommandProcessor > Command Execution Logic > should show MCP loading warning for unknown commands when MCP is loading 1947ms ✓ useSlashCommandProcessor > Command Execution Logic > should display help for a parent command invoked without a subcommand 1807ms ✓ useSlashCommandProcessor > Command Execution Logic > should correctly find and execute a nested subcommand 1859ms ✓ useSlashCommandProcessor > Command Execution Logic > sets isProcessing to false if the the input is not a command 1792ms ✓ useSlashCommandProcessor > Command Execution Logic > sets isProcessing to false if the command has an error 1871ms ✓ useSlashCommandProcessor > Command Execution Logic > should set isProcessing to true during execution and false afterwards 1851ms ✓ useSlashCommandProcessor > Action Result Handling > Dialog actions > should handle "dialog: 'theme'" action 1777ms ✓ useSlashCommandProcessor > Action Result Handling > Dialog actions > should handle "dialog: 'model'" action 1827ms ✓ useSlashCommandProcessor > Action Result Handling > Dialog actions > should handle "dialog: agentConfig" action with props 1784ms ✓ useSlashCommandProcessor > Action Result Handling > should handle "load_history" action 1795ms ✓ useSlashCommandProcessor > Action Result Handling > should call refreshStatic exactly once when ui.loadHistory is called 1780ms ✓ useSlashCommandProcessor > Action Result Handling > should handle a "quit" action 1855ms ✓ useSlashCommandProcessor > Action Result Handling > should delete the current session when quit action has deleteSession flag 1793ms ✓ useSlashCommandProcessor > Action Result Handling > should not delete session when quit action does not have deleteSession flag 1795ms ✓ useSlashCommandProcessor > Action Result Handling > should still quit even if session deletion fails 1885ms ✓ useSlashCommandProcessor > Action Result Handling > should handle "submit_prompt" action returned from a file-based command 1803ms ✓ useSlashCommandProcessor > Action Result Handling > should handle "submit_prompt" action returned from a mcp-based command 1804ms ✓ useSlashCommandProcessor > Command Parsing and Matching > should be case-sensitive 1798ms ✓ useSlashCommandProcessor > Command Parsing and Matching > should correctly match an altName 1854ms ✓ useSlashCommandProcessor > Command Parsing and Matching > should handle extra whitespace around the command 1816ms ✓ useSlashCommandProcessor > Command Parsing and Matching > should handle `?` as a command prefix 1805ms ✓ useSlashCommandProcessor > Command Precedence > should prioritize a command with a primary name over a command with a matching alias 2605ms ✓ useSlashCommandProcessor > Command Precedence > should add an overridden command to the history 1882ms ✓ useSlashCommandProcessor > Lifecycle > removes the IDE status listener on unmount after async initialization 1866ms ✓ useSlashCommandProcessor > Lifecycle > does not register an IDE status listener if unmounted before async initialization resolves 1808ms ✓ useSlashCommandProcessor > Lifecycle > should abort command loading when the hook unmounts 1945ms ✓ useSlashCommandProcessor > Slash Command Logging > should log 'simple slash command' 1843ms ✓ useSlashCommandProcessor > Slash Command Logging > should log 'failure event for failed command' 1826ms ✓ useSlashCommandProcessor > Slash Command Logging > should log 'slash command with subcommand' 1830ms ✓ useSlashCommandProcessor > Slash Command Logging > should log 'command path when alias is used' 1834ms ✓ useSlashCommandProcessor > Slash Command Logging > should not log for 'bogus command' 1833ms ✓ useSlashCommandProcessor > Slash Command Logging > should not log for 'unknown command' 1969ms ✓ useSlashCommandProcessor > should reload commands on extension events 2008ms [?25h ✓ src/utils/sessionCleanup.test.ts (66 tests) 5355ms ✓ Session Cleanup (Refactored) > Configuration boundaries & early exits > should return early when cleanup is disabled 635ms ✓ Session Cleanup (Refactored) > Logging and Debug Mode > should log debug information when enabled 680ms ✓ src/ui/components/Composer.test.tsx (58 tests) 89425ms ✓ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 6653ms ✓ Composer > Footer Display Settings > does NOT render Footer when hideFooter is true 2568ms ✓ Composer > Footer Display Settings > passes correct props to Footer including vim mode when enabled 2163ms ✓ Composer > Loading Indicator > renders LoadingIndicator with thought when streaming 1757ms ✓ Composer > Loading Indicator > renders generic thinking text in loading indicator when full inline thinking is enabled 1532ms ✓ Composer > Loading Indicator > shows shortcuts hint while loading 1302ms ✓ Composer > Loading Indicator > renders LoadingIndicator with thought when loadingPhrases is off 1417ms ✓ Composer > Loading Indicator > does not render LoadingIndicator when waiting for confirmation 1354ms ✓ Composer > Loading Indicator > does not render LoadingIndicator when a tool confirmation is pending 1067ms ✓ Composer > Loading Indicator > renders LoadingIndicator when embedded shell is focused but background shell is visible 1459ms ✓ Composer > Loading Indicator > renders both LoadingIndicator and ApprovalModeIndicator when streaming in full UI mode 1424ms ✓ Composer > Loading Indicator > does NOT render LoadingIndicator when embedded shell is focused and background shell is NOT visible 1365ms ✓ Composer > Message Queue Display > displays queued messages when present 2251ms ✓ Composer > Message Queue Display > renders QueuedMessageDisplay with empty message queue 1902ms ✓ Composer > Context and Status Display > shows StatusDisplay and ApprovalModeIndicator in normal state 1379ms ✓ Composer > Context and Status Display > shows ToastDisplay and hides ApprovalModeIndicator when a toast is present 1475ms ✓ Composer > Context and Status Display > shows ToastDisplay for other toast types 1394ms ✓ Composer > Input and Indicators > hides non-essential UI details in clean mode 1033ms ✓ Composer > Input and Indicators > renders InputPrompt when input is active 1352ms ✓ Composer > Input and Indicators > does not render InputPrompt when input is inactive 1365ms ✓ Composer > Input and Indicators > shows ApprovalModeIndicator when approval mode is default and shell mode is inactive 1386ms ✓ Composer > Input and Indicators > shows ApprovalModeIndicator when approval mode is autoEdit and shell mode is inactive 1369ms ✓ Composer > Input and Indicators > shows ApprovalModeIndicator when approval mode is plan and shell mode is inactive 1345ms ✓ Composer > Input and Indicators > shows ApprovalModeIndicator when approval mode is yolo and shell mode is inactive 1334ms ✓ Composer > Input and Indicators > shows ShellModeIndicator when shell mode is active 1376ms ✓ Composer > Input and Indicators > shows RawMarkdownIndicator when renderMarkdown is false 1581ms ✓ Composer > Input and Indicators > does not show RawMarkdownIndicator when renderMarkdown is true 1325ms ✓ Composer > Input and Indicators > shows minimal mode badge "'yolo'" when clean UI details are hidden 1267ms ✓ Composer > Input and Indicators > shows minimal mode badge "'plan'" when clean UI details are hidden 1253ms ✓ Composer > Input and Indicators > shows minimal mode badge "'autoEdit'" when clean UI details are hidden 1532ms ✓ Composer > Input and Indicators > hides minimal mode badge while loading in clean mode 1857ms ✓ Composer > Input and Indicators > hides minimal mode badge while action-required state is active 890ms ✓ Composer > Input and Indicators > shows Esc rewind prompt in minimal mode without showing full UI 1363ms ✓ Composer > Input and Indicators > shows context usage bleed-through when over 60% 1478ms ✓ Composer > Error Details Display > shows DetailedMessagesDisplay when showErrorDetails is true 1640ms ✓ Composer > Error Details Display > does not show error details when showErrorDetails is false 1315ms ✓ Composer > Vim Mode Placeholders > shows correct placeholder in INSERT mode 1354ms ✓ Composer > Vim Mode Placeholders > shows correct placeholder in NORMAL mode 1427ms ✓ Composer > Shortcuts Hint > restores shortcuts hint after 200ms debounce when buffer is empty 1085ms ✓ Composer > Shortcuts Hint > hides shortcuts hint when text is typed in buffer 1089ms ✓ Composer > Shortcuts Hint > hides shortcuts hint when showShortcutsHint setting is false 1238ms ✓ Composer > Shortcuts Hint > hides shortcuts hint when a action is required (e.g. dialog is open) 1017ms ✓ Composer > Shortcuts Hint > keeps shortcuts hint visible when no action is required 1115ms ✓ Composer > Shortcuts Hint > shows shortcuts hint when full UI details are visible 1337ms ✓ Composer > Shortcuts Hint > shows shortcuts hint while loading when full UI details are visible 1599ms ✓ Composer > Shortcuts Hint > shows shortcuts hint while loading in minimal mode 1445ms ✓ Composer > Shortcuts Hint > shows shortcuts help in minimal mode when toggled on 1124ms ✓ Composer > Shortcuts Hint > hides shortcuts hint when suggestions are visible above input in alternate buffer 1547ms ✓ Composer > Shortcuts Hint > hides approval mode indicator when suggestions are visible above input in alternate buffer 1450ms ✓ Composer > Shortcuts Hint > keeps shortcuts hint when suggestions are visible below input in regular buffer 1097ms ✓ Composer > Shortcuts Help > shows shortcuts help in passive state 1582ms ✓ Composer > Shortcuts Help > hides shortcuts help while streaming 3409ms ✓ Composer > Shortcuts Help > hides shortcuts help when action is required 1133ms ✓ Composer > Snapshots > matches snapshot in idle state 1561ms ✓ Composer > Snapshots > matches snapshot while streaming 1380ms ✓ Composer > Snapshots > matches snapshot in narrow view 1523ms ✓ Composer > Snapshots > matches snapshot in minimal UI mode 1093ms ✓ Composer > Snapshots > matches snapshot in minimal UI mode while loading 1116ms ✓ src/config/extension-manager.test.ts (34 tests) 12047ms ✓ ExtensionManager > loadExtensions parallel loading > should prevent concurrent loading and return the same promise 1261ms ✓ ExtensionManager > symlink handling > preserves symlinks in installMetadata.source when linking 3849ms ✓ ExtensionManager > symlink handling > works with the new install command logic (preserves symlink but trusts real path) 1045ms ✓ ExtensionManager > symlink handling > enforces allowedExtensions using the real path 505ms ✓ ExtensionManager > Extension Renaming > should support renaming an extension during update 927ms ✓ ExtensionManager > Extension Renaming > should carry over enablement status when renaming 759ms ✓ ExtensionManager > extension integrity > should store integrity data during installation 497ms ✓ ExtensionManager > contextFileName directory boundary validation and path resolution > rejects relative parent directory navigation using .. (e.g. ../../../../etc/passwd, ../secret.txt) and skips loading the invalid context file 439ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/InboxDialog.test.tsx (20 tests) 166555ms ✓ InboxDialog > reviews and applies memory patches 19127ms ✓ InboxDialog > disables the project destination when the workspace is untrusted 11358ms ✓ InboxDialog > shows inline feedback when moving a skill throws 10295ms ✓ InboxDialog > shows inline feedback when reloading skills fails after a move 9668ms ✓ InboxDialog > preserves the highlighted row after Esc-ing back from a sub-phase 12958ms ✓ InboxDialog > patch support > shows patches alongside skills with section headers 3579ms ✓ InboxDialog > patch support > shows diff preview when a patch is selected 7176ms ✓ InboxDialog > patch support > applies a patch when Apply is selected 7006ms ✓ InboxDialog > patch support > disables Apply for workspace patches in an untrusted workspace 6150ms ✓ InboxDialog > patch support > uses canonical project-scope checks before enabling Apply 6161ms ✓ InboxDialog > patch support > dismisses a patch when Dismiss is selected 9395ms ✓ InboxDialog > patch support > shows Windows patch entries with a basename and origin tag 4555ms ✓ InboxDialog > patch support > renders multi-section patches without duplicate React keys 6762ms ✓ InboxDialog > patch support > alt-buffer: renders a bounded ScrollableList viewport for tall patches 9599ms ✓ InboxDialog > patch support > alt-buffer: surfaces PgUp/PgDn in the patch-preview footer 12018ms ✓ InboxDialog > patch support > non-alt-buffer: clips the diff via DiffRenderer with a "lines hidden" hint 9107ms ✓ InboxDialog > patch support > non-alt-buffer: surfaces Ctrl+O inline (not in the footer) when the diff overflows 7617ms ✓ InboxDialog > renders each list row as exactly two lines even with long descriptions 3999ms ✓ InboxDialog > keeps the list-phase footer on screen with many long-description skills 6077ms ✓ InboxDialog > keeps the list-phase footer on screen on short terminals 3680ms [?25h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (42 tests) 142026ms ✓ ToolConfirmationMessage > should not display urls if prompt and url are the same 7720ms ✓ ToolConfirmationMessage > should display urls if prompt and url are different 3729ms ✓ ToolConfirmationMessage > should display WarningMessage for deceptive URLs in info type 2952ms ✓ ToolConfirmationMessage > should display WarningMessage for deceptive URLs in exec type commands 5006ms ✓ ToolConfirmationMessage > should exclude shell delimiters from extracted URLs in exec type commands 3302ms ✓ ToolConfirmationMessage > should aggregate multiple deceptive URLs into a single WarningMessage 3154ms ✓ ToolConfirmationMessage > should display multiple commands for exec type when provided 2650ms ✓ ToolConfirmationMessage > should render multiline shell scripts with correct newlines and syntax highlighting 4717ms ✓ ToolConfirmationMessage > should use the tool name for display in the confirmation question 2919ms ✓ ToolConfirmationMessage > tool name humanization > should humanize run_shell_command to Shell 2131ms ✓ ToolConfirmationMessage > tool name humanization > should humanize shell to Shell 1939ms ✓ ToolConfirmationMessage > tool name humanization > should keep raw name for non-shell tools 1932ms ✓ ToolConfirmationMessage > tool name humanization > should humanize shell tool in sandbox expansion prompt 2112ms ✓ ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 2251ms ✓ ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 2578ms ✓ ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 2473ms ✓ ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1900ms ✓ ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 1620ms ✓ ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 1451ms ✓ ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 1993ms ✓ ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1546ms ✓ ToolConfirmationMessage > enablePermanentToolApproval setting > should NOT show "Allow for all future sessions" when setting is false (default) 2366ms ✓ ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when trusted 2524ms ✓ ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when NOT in IDE mode 2176ms ✓ ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when in IDE mode but diffing is NOT enabled 2188ms ✓ ToolConfirmationMessage > Modify with external editor option > should NOT show "Modify with external editor" when in IDE mode AND diffing is enabled 1961ms ✓ ToolConfirmationMessage > should strip BiDi characters from MCP tool and server names 1982ms ✓ ToolConfirmationMessage > should show MCP tool details expand hint for MCP confirmations 2105ms ✓ ToolConfirmationMessage > should omit empty MCP invocation arguments from details 2119ms ✓ ToolConfirmationMessage > height allocation and layout > should expand to available height for large exec commands 10151ms ✓ ToolConfirmationMessage > height allocation and layout > should expand to available height for large edit diffs 13426ms ✓ ToolConfirmationMessage > ESCAPE key behavior > should call confirm(Cancel) asynchronously via useEffect when ESC is pressed 3604ms ✓ ToolConfirmationMessage > Security Warnings & Build File Protection > should display critical security warning and suppress persistent approvals for build files 12712ms ✓ ToolConfirmationMessage > Security Warnings & Build File Protection > should display critical security warning and suppress persistent approvals for untrusted command flags 3924ms ✓ ToolConfirmationMessage > Security Warnings & Build File Protection > should display caution warning when build files were modified earlier in session 2783ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is -5 2288ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is -1 2186ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is 0 2195ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is 1 3536ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is 2 2708ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is 4 2482ms ✓ ToolConfirmationMessage > narrow and negative terminal widths for edit confirmations > renders edit confirmation without throwing RangeError when terminalWidth is 10 2293ms [?25h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/messages/ToolGroupMessage.test.tsx (39 tests) 110581ms ✓ > Golden Snapshots > renders single successful tool call 7790ms ✓ > Golden Snapshots > hides confirming tools (standard behavior) 2064ms ✓ > Golden Snapshots > renders canceled tool calls 3827ms ✓ > Golden Snapshots > renders multiple tool calls with different statuses (only visible ones) 4040ms ✓ > Golden Snapshots > hides errored tool calls in low error verbosity mode 2528ms ✓ > Golden Snapshots > keeps client-initiated errored tool calls visible in low error verbosity mode 2451ms ✓ > Golden Snapshots > renders update_topic tool call using TopicMessage 2770ms ✓ > Golden Snapshots > renders update_topic tool call with summary instead of strategic_intent 2584ms ✓ > Golden Snapshots > renders mixed tool calls including update_topic 3838ms ✓ > Golden Snapshots > renders update_topic in the middle of other tools 3117ms ✓ > Golden Snapshots > renders with limited terminal height 2737ms ✓ > Golden Snapshots > renders with narrow terminal width 3867ms ✓ > Golden Snapshots > renders empty tool calls array 1886ms ✓ > Golden Snapshots > renders header when scrolled 5282ms ✓ > Golden Snapshots > renders tool call with outputFile 3419ms ✓ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 3178ms ✓ > Border Color Logic > uses yellow border for shell commands even when successful 2421ms ✓ > Border Color Logic > uses gray border when all tools are successful and no shell commands 2882ms ✓ > Height Calculation > calculates available height correctly with multiple tools with results 3117ms ✓ > Ask User Filtering > filtering logic for status='scheduled' and hasResult='test result' 1919ms ✓ > Ask User Filtering > filtering logic for status='executing' and hasResult='test result' 2572ms ✓ > Ask User Filtering > filtering logic for status='awaiting_approval' and hasResult='test result' 2109ms ✓ > Ask User Filtering > filtering logic for status='success' and hasResult='test result' 2690ms ✓ > Ask User Filtering > filtering logic for status='error' and hasResult='' 1896ms ✓ > Ask User Filtering > filtering logic for status='error' and hasResult='error message' 2354ms ✓ > Ask User Filtering > shows other tools when ask_user is filtered out 2452ms ✓ > Ask User Filtering > renders nothing when only tool is in-progress AskUser with borderBottom=false 1848ms ✓ > Ask User Filtering > does not render a bottom-border fragment when all tools are filtered out 1878ms ✓ > Ask User Filtering > still renders explicit closing slices for split static/pending groups 2111ms ✓ > Ask User Filtering > does not render a border fragment when plan-mode tools are filtered out 1859ms ✓ > Ask User Filtering > does not render a border fragment when only confirming tools are present 1888ms ✓ > Ask User Filtering > does not leave a border stub when transitioning from visible to fully filtered tools 6486ms ✓ > Ask User Filtering > keeps visible tools rendered with many filtered tools (stress case) 2392ms ✓ > Ask User Filtering > renders explicit closing slice even at very narrow terminal width 1927ms ✓ > Plan Mode Filtering > filtering logic for 'WriteFile' in 'plan' mode 1862ms ✓ > Plan Mode Filtering > filtering logic for 'Edit' in 'plan' mode 1885ms ✓ > Plan Mode Filtering > filtering logic for 'WriteFile' in 'default' mode 2236ms ✓ > Plan Mode Filtering > filtering logic for 'ReadFile' in 'plan' mode 2051ms ✓ > Plan Mode Filtering > filtering logic for 'FindFiles' in 'plan' mode 2037ms [?25h ✓ src/utils/sessionUtils.test.ts (27 tests) 3091ms ✓ SessionSelector > sessionExists > should return true if a session file with the exact UUID exists 1041ms ✓ SessionSelector > should resolve session by UUID 451ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:9249) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:9249) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 clear listeners added to [UiTelemetryService]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h(node:9249) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 settings-changed listeners added to [CoreEventEmitter]. MaxListeners is 100. Use emitter.setMaxListeners() to increase limit ✓ src/ui/hooks/useCommandCompletion.test.tsx (34 tests) 70061ms ✓ useCommandCompletion > Core Hook Behavior > State Management > should initialize with default state 5818ms ✓ useCommandCompletion > Core Hook Behavior > State Management > should reset state when completion mode becomes IDLE 2504ms ✓ useCommandCompletion > Core Hook Behavior > State Management > should reset all state to default values 2008ms ✓ useCommandCompletion > Core Hook Behavior > State Management > should call useAtCompletion with the correct query for an escaped space 1853ms ✓ useCommandCompletion > Core Hook Behavior > State Management > should correctly identify the completion context with multiple @ symbols 1829ms ✓ useCommandCompletion > Core Hook Behavior > State Management > 'should show slash command suggestions…' 1796ms ✓ useCommandCompletion > Core Hook Behavior > State Management > 'should not show slash command suggest…' 1784ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should handle navigateUp with no suggestions 1773ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should handle navigateDown with no suggestions 1866ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should navigate up through suggestions with wrap-around 3465ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should navigate down through suggestions with wrap-around 2405ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should handle navigation with multiple suggestions 2031ms ✓ useCommandCompletion > Core Hook Behavior > Navigation > should automatically select the first item when suggestions are available 1882ms ✓ useCommandCompletion > handleAutocomplete > should complete a partial command and ADD a space even if it has an action 1976ms ✓ useCommandCompletion > handleAutocomplete > should complete a partial command and ADD a space if it has NO action (e.g. just a parent) 1865ms ✓ useCommandCompletion > handleAutocomplete > should complete a file path 1936ms ✓ useCommandCompletion > handleAutocomplete > should insert canonical slash command text when suggestion provides insertValue 1867ms ✓ useCommandCompletion > handleAutocomplete > should complete a file path when cursor is not at the end of the line 1832ms ✓ useCommandCompletion > handleAutocomplete > should complete a directory path ending with / without a trailing space 1910ms ✓ useCommandCompletion > handleAutocomplete > should complete a directory path ending with \ without a trailing space 1863ms ✓ useCommandCompletion > handleAutocomplete > should ADD a space for AT completion even if name matches a command with an action 1960ms ✓ useCommandCompletion > handleAutocomplete > should show ghost text for a single shell completion 1807ms ✓ useCommandCompletion > handleAutocomplete > should not show ghost text if there are multiple completions 1790ms ✓ useCommandCompletion > handleAutocomplete > should not show ghost text if the typed text extends past the completion 1791ms ✓ useCommandCompletion > handleAutocomplete > should clear ghost text after user types a space when exact match ghost text was showing 1843ms ✓ useCommandCompletion > prompt completion filtering > should not trigger prompt completion for line comments 1861ms ✓ useCommandCompletion > prompt completion filtering > should not trigger prompt completion for block comments 1826ms ✓ useCommandCompletion > prompt completion filtering > should trigger prompt completion for regular text when enabled 1825ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should show file suggestions when typing @path after a slash command 1814ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should show slash suggestions when cursor is on command part (no @) 1852ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should switch to @ completion when typing @ after slash command 1807ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should handle multiple @ references in a slash command 1821ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should complete file path and add trailing space 1883ms ✓ useCommandCompletion > @ completion after slash commands (issue #14420) > should stay in slash mode when slash command has trailing space but no @ 1819ms ✓ src/config/extensions/extensionSettings.test.ts (33 tests) 2560ms ✓ src/utils/sandboxUtils.test.ts (50 tests) 2601ms ✓ src/utils/settingsUtils.test.ts (49 tests) 2010ms ✓ SettingsUtils > Schema Utilities > getSettingsByCategory > should group settings by category 496ms [?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/MainContent.test.tsx (25 tests) 73716ms ✓ MainContent > renders in normal buffer mode 8278ms ✓ MainContent > renders in alternate buffer mode 3339ms ✓ MainContent > renders minimal header in minimal mode (alternate buffer) 2707ms ✓ MainContent > restores full header details after toggle in alternate buffer mode 3944ms ✓ MainContent > always renders full header details in normal buffer mode 2824ms ✓ MainContent > does not constrain height in alternate buffer mode 2476ms ✓ MainContent > renders multiple history items with single line padding between them 4055ms ✓ MainContent > renders mixed history items (user + gemini) with single line padding between them 3162ms ✓ MainContent > renders a subagent with a complete box including bottom border 5402ms ✓ MainContent > renders a split tool group without a gap between static and pending areas 3833ms ✓ MainContent > renders a ToolConfirmationQueue without an extra line when preceded by hidden tools 5116ms ✓ MainContent > renders a spurious line when a tool group has only hidden tools and borderBottom true 2866ms ✓ MainContent > renders multiple thinking messages sequentially correctly 4371ms ✓ MainContent > MainContent Tool Output Height Logic > 'ASB mode - Focused shell should expand' 6714ms ✓ MainContent > MainContent Tool Output Height Logic > 'ASB mode - Unfocused shell' 5405ms ✓ MainContent > MainContent Tool Output Height Logic > 'Normal mode - Constrained height' 4062ms ✓ MainContent > MainContent Tool Output Height Logic > 'Normal mode - Unconstrained height' 4713ms [?25h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h[?2004h ✓ src/ui/components/Footer.test.tsx (39 tests) 108054ms ✓