Skip to content

Conversation

@xuewenjie123
Copy link
Collaborator

Summary
This PR addresses critical stability issues on Windows where the CLI would hang during startup (preventing commands like /quit from loading) and during exit. It also fixes a Node.js deprecation warning related to shell execution.

Problem
Startup Hang: On some Windows machines, the PowerShell command used to detect the IDE environment (Get-CimInstance) can be extremely slow or unresponsive. This blocked the initialization of IdeClient, which in turn blocked the loading of all built-in commands. As a result, the CLI would start, but typing / would show no commands, and /quit would not work.
Exit Hang: When running /quit or pressing Ctrl+C, the application attempts to disconnect the IdeClient. If the detection process was still stuck, this cleanup step would also hang, preventing the process from terminating.
Deprecation Warning: Using spawn with shell: true and an empty arguments array caused a Node.js DeprecationWarning.
Solution
Implemented timeout mechanisms for critical blocking operations and fixed the API usage for shell execution.

Detailed Changes
shellExecutionService.ts

Removed the empty args array [] when calling spawn with shell: true to resolve the DeprecationWarning.
process-utils.ts

Added a 5-second timeout to the PowerShell execution used for IDE detection. This prevents the detection logic from hanging indefinitely.
ideCommand.ts

Added a 1-second timeout to IdeClient.getInstance() during the initial command loading phase.
If initialization takes longer than 1s, a placeholder /ide command is registered immediately. This ensures that other critical commands (like /quit, /help) are available to the user instantly, without waiting for slow IDE detection.
slashCommandProcessor.ts

Added a listener to trigger reloadCommands() once IdeClient initialization completes. This ensures that the full /ide command functionality becomes available automatically once the background detection finishes.
AppContainer.tsx

Added a 2-second timeout to the exit cleanup logic. If disconnecting the IDE client takes too long, the process will force exit
, ensuring the CLI remains responsive to termination requests.

Impact
Windows Users: significantly improved startup reliability and exit responsiveness. The CLI is now guaranteed to be usable immediately after launch, even if the system's PowerShell is slow.
All Users: Cleaner console output (no deprecation warnings).

- Fix DeprecationWarning in shellExecutionService by removing empty args.
- Add timeout to PowerShell IDE detection to prevent startup hangs.
- Add timeout to IdeClient initialization to allow other commands to load.
- Add timeout to exit cleanup to prevent process hanging on quit.
- Ensure commands are reloaded after IDE detection completes.
@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

📋 Review Summary

This PR addresses critical stability issues on Windows where the CLI would hang during startup and exit, and also fixes a Node.js deprecation warning. The changes implement timeout mechanisms for critical blocking operations and fix API usage for shell execution. Overall, this is a solid improvement to the reliability and user experience of the CLI, particularly for Windows users.

🔍 General Feedback

  • The implementation of timeouts for potentially blocking operations is well-executed and addresses real user pain points
  • The approach of providing immediate placeholder functionality while background processes complete is user-friendly
  • Good error handling with appropriate timeouts that don't compromise user experience
  • Clean and consistent implementation across all affected files

🎯 Specific Feedback

🔴 Critical

No specific issues identified in this review.

🟡 High

No specific issues identified in this review.

🟢 Medium

  • File: packages/cli/src/ui/AppContainer.tsx:237 - The 2-second timeout for IDE client disconnection is reasonable, but consider making this timeout configurable or adjusting based on the environment. In some cases, a longer timeout might be needed for complex IDE setups.
  • File: packages/cli/src/ui/commands/ideCommand.ts:137 - The 1-second timeout for IDE client initialization might be too aggressive for slower systems. Consider increasing slightly or making it adaptive based on system performance metrics.
  • File: packages/core/src/ide/process-utils.ts:40 - The 5-second timeout for PowerShell execution is appropriate, but consider adding logging when timeouts occur to help with debugging in case users still experience issues.

🔵 Low

  • File: packages/cli/src/ui/commands/ideCommand.ts:150 - Consider improving the placeholder command description to be more informative about what "loading..." means and approximately how long the user might expect to wait.
  • File: packages/cli/src/ui/hooks/slashCommandProcessor.ts:258 - The addition of reloadCommands() in the status change listener is good, but consider adding a debounce mechanism to prevent excessive reloading if status changes rapidly.

✅ Highlights

  • Excellent implementation of timeout mechanisms that prevent the CLI from becoming unresponsive
  • Smart approach to provide immediate functionality with background loading for better user experience
  • Clean resolution of the Node.js deprecation warning
  • Well-structured code with good error handling and fallback mechanisms
  • Significant improvement to Windows user experience with these stability fixes

@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 69.29% 69.29% 71.01% 81.51%
Core 77.19% 77.19% 80.05% 83.58%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   69.29 |    81.51 |   71.01 |   69.29 |                   
 src               |   73.69 |    68.38 |   61.11 |   73.69 |                   
  gemini.tsx       |   61.94 |    58.92 |      75 |   61.94 | ...87,492-500,508 
  ...ractiveCli.ts |   82.94 |    69.84 |      20 |   82.94 | ...73-275,294,342 
  ...liCommands.ts |    75.4 |    66.66 |   66.66 |    75.4 | ...-81,88,177-205 
  ...ActiveAuth.ts |   97.46 |     87.5 |     100 |   97.46 | 21-22             
 ...cp-integration |   44.39 |        0 |       0 |   44.39 |                   
  acp.ts           |    2.72 |        0 |       0 |    2.72 | ...67-303,306-353 
  acpAgent.ts      |    4.56 |        0 |       0 |    4.56 | 34-55,58-329      
  schema.ts        |     100 |      100 |     100 |     100 |                   
 ...ration/service |   20.58 |      100 |       0 |   20.58 |                   
  filesystem.ts    |   20.58 |      100 |       0 |   20.58 | ...34,37-46,48-49 
 ...ration/session |   26.17 |    72.13 |   73.68 |   26.17 |                   
  ...ryReplayer.ts |   95.06 |       84 |     100 |   95.06 | 102-103,134-135   
  Session.ts       |    3.63 |        0 |       0 |    3.63 | 75-894,913-981    
  ...entTracker.ts |   81.55 |    69.69 |    87.5 |   81.55 | ...04-311,314-315 
  index.ts         |       0 |        0 |       0 |       0 | 1-40              
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 ...ssion/emitters |   96.96 |    95.55 |    91.3 |   96.96 |                   
  BaseEmitter.ts   |   84.61 |      100 |      75 |   84.61 | 35-36             
  ...ageEmitter.ts |     100 |      100 |     100 |     100 |                   
  PlanEmitter.ts   |     100 |      100 |     100 |     100 |                   
  ...allEmitter.ts |   99.39 |    94.33 |     100 |   99.39 | 285               
  index.ts         |       0 |        0 |       0 |       0 | 1-10              
 src/commands      |   70.45 |      100 |      25 |   70.45 |                   
  extensions.tsx   |   55.55 |      100 |       0 |   55.55 | 21-31,35          
  mcp.ts           |   94.11 |      100 |      50 |   94.11 | 26                
 ...nds/extensions |   44.24 |    97.14 |   34.48 |   44.24 |                   
  disable.ts       |   20.68 |      100 |       0 |   20.68 | 18-31,37-63,65-69 
  enable.ts        |   19.04 |      100 |       0 |   19.04 | 18-36,42-68,70-74 
  install.ts       |   82.05 |    91.66 |   66.66 |   82.05 | 40-43,85-88,91-96 
  link.ts          |   26.31 |      100 |       0 |   26.31 | 20-37,44-49,51-54 
  list.ts          |   32.14 |      100 |       0 |   32.14 | 11-27,34-35       
  new.ts           |     100 |      100 |     100 |     100 |                   
  uninstall.ts     |   45.71 |      100 |   33.33 |   45.71 | 15-23,35-40,43-46 
  update.ts        |   12.09 |      100 |       0 |   12.09 | ...29-144,146-150 
 ...les/mcp-server |       0 |        0 |       0 |       0 |                   
  example.ts       |       0 |        0 |       0 |       0 | 1-60              
 src/commands/mcp  |   97.16 |     86.2 |    90.9 |   97.16 |                   
  add.ts           |     100 |    96.15 |     100 |     100 | 210               
  list.ts          |   90.82 |    80.76 |      80 |   90.82 | ...10-112,137-138 
  remove.ts        |     100 |    66.66 |     100 |     100 | 19-23             
 src/config        |   91.53 |    82.88 |   86.17 |   91.53 |                   
  auth.ts          |     100 |       90 |     100 |     100 | 16                
  config.ts        |   93.78 |    86.16 |      75 |   93.78 | ...-881,1026-1030 
  extension.ts     |   83.88 |     88.4 |   84.37 |   83.88 | ...73-774,777-778 
  keyBindings.ts   |     100 |      100 |     100 |     100 |                   
  sandboxConfig.ts |   54.16 |    23.07 |   66.66 |   54.16 | ...44,54-68,73-89 
  settings.ts      |   87.94 |    77.33 |      92 |   87.94 | ...50-853,861-863 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...tedFolders.ts |   96.87 |    93.87 |     100 |   96.87 | ...87-188,203-204 
  webSearch.ts     |    40.9 |    11.11 |     100 |    40.9 | ...95-102,105-121 
 ...fig/extensions |   70.34 |    86.74 |   94.44 |   70.34 |                   
  ...Enablement.ts |   95.45 |    95.52 |     100 |   95.45 | ...89-191,235-237 
  github.ts        |   57.38 |    83.33 |      90 |   57.38 | ...81-386,392-418 
  update.ts        |   60.54 |    53.84 |   66.66 |   60.54 | ...21-147,162-170 
  ...ableSchema.ts |     100 |      100 |     100 |     100 |                   
  variables.ts     |   95.34 |       90 |     100 |   95.34 | 30-31             
 src/core          |   64.38 |       30 |     100 |   64.38 |                   
  auth.ts          |   42.85 |       50 |     100 |   42.85 | 29-48             
  initializer.ts   |   74.35 |       20 |     100 |   74.35 | 49-54,61-64       
  theme.ts         |   69.23 |    33.33 |     100 |   69.23 | 19-22             
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/i18n          |   64.45 |     62.5 |   68.75 |   64.45 |                   
  index.ts         |   64.45 |     62.5 |   68.75 |   64.45 | ...68-171,192-210 
 src/i18n/locales  |   51.76 |        0 |       0 |   51.76 |                   
  en.js            |     100 |      100 |     100 |     100 |                   
  zh.js            |       0 |        0 |       0 |       0 | 1-1042            
 ...nonInteractive |   63.23 |    65.04 |   68.88 |   63.23 |                   
  session.ts       |   66.66 |     62.6 |   81.81 |   66.66 | ...36-637,651-661 
  types.ts         |    42.5 |      100 |   33.33 |    42.5 | ...63-564,567-568 
 ...active/control |   74.55 |     85.1 |   77.77 |   74.55 |                   
  ...rolContext.ts |    8.33 |        0 |       0 |    8.33 | 46-76             
  ...Dispatcher.ts |   88.46 |    88.88 |    87.5 |   88.46 | ...20-340,355,358 
  ...rolService.ts |       8 |        0 |       0 |       8 | 46-179            
 ...ol/controllers |    6.68 |       80 |   13.79 |    6.68 |                   
  ...Controller.ts |   17.09 |      100 |      60 |   17.09 | 77-114,123-205    
  ...Controller.ts |       0 |        0 |       0 |       0 | 1-56              
  ...Controller.ts |    3.96 |      100 |   11.11 |    3.96 | ...63-381,391-492 
  ...Controller.ts |   13.23 |      100 |       0 |   13.23 | ...82-121,134-137 
  ...Controller.ts |    5.12 |      100 |       0 |    5.12 | ...95-407,416-450 
 .../control/types |       0 |        0 |       0 |       0 |                   
  serviceAPIs.ts   |       0 |        0 |       0 |       0 | 1                 
 ...Interactive/io |    96.2 |    91.22 |   95.94 |    96.2 |                   
  ...putAdapter.ts |      96 |    90.34 |     100 |      96 | ...1239,1264-1265 
  ...putAdapter.ts |   95.45 |      100 |   85.71 |   95.45 | 51-52             
  ...nputReader.ts |     100 |    94.73 |     100 |     100 | 67                
  ...putAdapter.ts |   96.15 |     92.3 |    87.5 |   96.15 | ...81,107-108,289 
 src/patches       |       0 |        0 |       0 |       0 |                   
  is-in-ci.ts      |       0 |        0 |       0 |       0 | 1-17              
 src/services      |   86.92 |    87.09 |   94.11 |   86.92 |                   
  ...mandLoader.ts |     100 |      100 |     100 |     100 |                   
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |   93.06 |    91.48 |     100 |   93.06 | 189-194,277-284   
  ...omptLoader.ts |   74.88 |       80 |   83.33 |   74.88 | ...00-201,267-268 
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...mpt-processors |   97.12 |     93.5 |     100 |   97.12 |                   
  ...tProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...eProcessor.ts |   94.44 |    84.21 |     100 |   94.44 | 43-44,90-91       
  ...tionParser.ts |     100 |      100 |     100 |     100 |                   
  ...lProcessor.ts |   97.14 |    94.87 |     100 |   97.14 | 94-97             
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   94.41 |     87.5 |   83.33 |   94.41 |                   
  ...eExtension.ts |     100 |      100 |     100 |     100 |                   
  ...omMatchers.ts |   69.69 |       50 |      50 |   69.69 | 32-35,37-39,45-47 
  ...andContext.ts |     100 |      100 |     100 |     100 |                   
  render.tsx       |     100 |      100 |     100 |     100 |                   
 src/ui            |   73.53 |     72.5 |   61.11 |   73.53 |                   
  App.tsx          |      80 |    85.71 |     100 |      80 | 20-29             
  AppContainer.tsx |   75.08 |    62.83 |   44.44 |   75.08 | ...1033,1047-1108 
  ...tionNudge.tsx |       8 |      100 |       0 |       8 | 25-100            
  colors.ts        |   67.34 |      100 |   46.66 |   67.34 | ...46,48-49,54-55 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  keyMatchers.ts   |   95.65 |    95.65 |     100 |   95.65 | 25-26             
  ...tic-colors.ts |     100 |      100 |     100 |     100 |                   
  textConstants.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/auth       |   32.71 |    72.72 |   42.85 |   32.71 |                   
  AuthDialog.tsx   |   86.66 |    76.19 |      60 |   86.66 | ...01-102,147-153 
  ...nProgress.tsx |       0 |        0 |       0 |       0 | 1-64              
  useAuth.ts       |    3.51 |      100 |       0 |    3.51 | 26-257            
 src/ui/commands   |   60.56 |    83.33 |   43.07 |   60.56 |                   
  aboutCommand.ts  |     100 |      100 |     100 |     100 |                   
  agentsCommand.ts |    64.7 |      100 |       0 |    64.7 | ...30,35-36,39-41 
  ...odeCommand.ts |     100 |      100 |     100 |     100 |                   
  authCommand.ts   |     100 |      100 |     100 |     100 |                   
  bugCommand.ts    |   76.92 |    66.66 |      50 |   76.92 | 24-25,62-71       
  clearCommand.ts  |   88.23 |    66.66 |      50 |   88.23 | 16-17,41-42       
  ...essCommand.ts |   97.33 |    88.88 |      50 |   97.33 | 17-18             
  copyCommand.ts   |   96.22 |      100 |      50 |   96.22 | 15-16             
  corgiCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...ryCommand.tsx |   66.83 |    73.07 |      50 |   66.83 | ...77-178,186-194 
  docsCommand.ts   |   95.23 |       80 |      50 |   95.23 | 20-21             
  editorCommand.ts |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |   90.54 |    96.55 |   57.14 |   90.54 | ...45-146,167-168 
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  ideCommand.ts    |   56.71 |    60.71 |   31.57 |   56.71 | ...12-313,316-330 
  initCommand.ts   |    81.7 |       70 |      50 |    81.7 | ...67,81-86,88-93 
  ...ageCommand.ts |   12.32 |      100 |       0 |   12.32 | ...31-432,435-455 
  mcpCommand.ts    |   37.54 |    80.95 |   22.22 |   37.54 | ...12-352,358-361 
  memoryCommand.ts |    54.8 |     86.2 |      20 |    54.8 | ...78,285-286,304 
  modelCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |     100 |      100 |     100 |     100 |                   
  quitCommand.ts   |   93.75 |      100 |      50 |   93.75 | 15-16             
  ...oreCommand.ts |      92 |    87.09 |     100 |      92 | ...,82-87,128-129 
  ...ngsCommand.ts |     100 |      100 |     100 |     100 |                   
  ...hubCommand.ts |   82.69 |    66.66 |      75 |   82.69 | ...57-160,163-166 
  statsCommand.ts  |   76.92 |       75 |      50 |   76.92 | ...36,50-51,65-66 
  ...aryCommand.ts |    7.74 |      100 |       0 |    7.74 | 21-24,27-199      
  ...tupCommand.ts |     100 |      100 |     100 |     100 |                   
  themeCommand.ts  |     100 |      100 |     100 |     100 |                   
  toolsCommand.ts  |   95.12 |      100 |      50 |   95.12 | 18-19             
  types.ts         |     100 |      100 |     100 |     100 |                   
  vimCommand.ts    |   42.85 |      100 |       0 |   42.85 | 14-15,18-28       
 src/ui/components |   65.55 |    79.03 |   66.66 |   65.55 |                   
  AboutBox.tsx     |     100 |      100 |     100 |     100 |                   
  AnsiOutput.tsx   |     100 |      100 |     100 |     100 |                   
  AppHeader.tsx    |    42.1 |      100 |       0 |    42.1 | 19-33             
  ...odeDialog.tsx |    9.62 |      100 |       0 |    9.62 | 35-47,50-187      
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  ...Indicator.tsx |   15.38 |      100 |       0 |   15.38 | 18-53             
  Composer.tsx     |   98.51 |    68.96 |     100 |   98.51 | 77,86             
  ...itDisplay.tsx |   55.81 |      100 |      50 |   55.81 | 22-38,42-43       
  ...entPrompt.tsx |     100 |      100 |     100 |     100 |                   
  ...ryDisplay.tsx |   21.05 |      100 |       0 |   21.05 | 17-35             
  ...ryDisplay.tsx |   75.89 |    62.06 |     100 |   75.89 | ...,88,93-108,113 
  ...geDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...gProfiler.tsx |      24 |      100 |       0 |      24 | 13-36             
  ...esDisplay.tsx |   10.34 |      100 |       0 |   10.34 | 24-83             
  ...ogManager.tsx |    13.6 |      100 |       0 |    13.6 | 47-294            
  ...ngsDialog.tsx |    6.91 |      100 |       0 |    6.91 | 31-198            
  ExitWarning.tsx  |     100 |      100 |     100 |     100 |                   
  ...ustDialog.tsx |     100 |      100 |     100 |     100 |                   
  Footer.tsx       |    84.5 |    70.37 |     100 |    84.5 | ...57-164,167-170 
  ...ngSpinner.tsx |   54.28 |       50 |      50 |   54.28 | 31-48,61          
  Header.tsx       |   87.23 |    57.14 |     100 |   87.23 | 36-39,55,64       
  Help.tsx         |   98.69 |    73.33 |     100 |   98.69 | 73,128            
  ...emDisplay.tsx |   77.58 |       50 |     100 |   77.58 | ...45,150-154,157 
  ...ngeDialog.tsx |     100 |      100 |     100 |     100 |                   
  InputPrompt.tsx  |   90.08 |     85.5 |     100 |   90.08 | ...33,637-639,800 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...firmation.tsx |   91.42 |      100 |      50 |   91.42 | 26-31             
  MainContent.tsx  |   17.24 |      100 |       0 |   17.24 | 22-73             
  ...geDisplay.tsx |   22.58 |      100 |       0 |   22.58 | 15-41             
  ModelDialog.tsx  |     100 |    92.85 |     100 |     100 | 46                
  ...tsDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...tchDialog.tsx |     100 |      100 |     100 |     100 |                   
  ...fications.tsx |   17.02 |      100 |       0 |   17.02 | 15-62             
  ...KeyPrompt.tsx |   45.49 |     12.5 |   33.33 |   45.49 | ...80-198,214-216 
  ...ustDialog.tsx |     100 |    81.81 |     100 |     100 | 71-86             
  ...ryDisplay.tsx |      20 |      100 |       0 |      20 | 20-41             
  PrepareLabel.tsx |   91.66 |    76.19 |     100 |   91.66 | 73-75,77-79,110   
  ...otaDialog.tsx |     100 |      100 |     100 |     100 |                   
  ...geDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ngDisplay.tsx |   23.07 |      100 |       0 |   23.07 | 13-37             
  ...hProgress.tsx |   90.78 |    95.55 |     100 |   90.78 | 247-273           
  ...ionPicker.tsx |    2.22 |      100 |       0 |    2.22 | 30-436            
  ...ryDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ngsDialog.tsx |    56.3 |    69.53 |      75 |    56.3 | ...45-846,928-932 
  ...ionDialog.tsx |   87.01 |      100 |   33.33 |   87.01 | 36-39,44-51       
  ...putPrompt.tsx |      15 |      100 |       0 |      15 | 19-57             
  ...Indicator.tsx |   44.44 |      100 |       0 |   44.44 | 12-17             
  ...MoreLines.tsx |      28 |      100 |       0 |      28 | 18-40             
  StatsDisplay.tsx |   98.65 |    93.33 |     100 |   98.65 | 197-199           
  ...nsDisplay.tsx |   84.09 |    57.14 |     100 |   84.09 | ...16-118,125-127 
  ThemeDialog.tsx  |    90.9 |    44.44 |      75 |    90.9 | ...16-117,159-161 
  Tips.tsx         |   19.35 |      100 |       0 |   19.35 | 18-46             
  TodoDisplay.tsx  |     100 |      100 |     100 |     100 |                   
  ...tsDisplay.tsx |     100 |     87.5 |     100 |     100 | 31-32             
  ...ification.tsx |   36.36 |      100 |       0 |   36.36 | 15-22             
  ...ackDialog.tsx |    7.84 |      100 |       0 |    7.84 | 24-134            
  ...ionDialog.tsx |    9.19 |      100 |       0 |    9.19 | 21-119            
 ...nents/messages |   78.02 |    79.91 |    60.6 |   78.02 |                   
  ...onMessage.tsx |   91.93 |    82.35 |     100 |   91.93 | 57-59,61,63       
  DiffRenderer.tsx |   93.03 |    85.55 |     100 |   93.03 | ...02,228-229,295 
  ErrorMessage.tsx |   22.22 |      100 |       0 |   22.22 | 16-31             
  ...niMessage.tsx |     100 |      100 |     100 |     100 |                   
  ...geContent.tsx |     100 |      100 |     100 |     100 |                   
  ...htMessage.tsx |   17.85 |      100 |       0 |   17.85 | 24-48             
  ...geContent.tsx |   31.57 |      100 |       0 |   31.57 | 26-40             
  InfoMessage.tsx  |   22.72 |      100 |       0 |   22.72 | 18-37             
  ...ryMessage.tsx |   12.82 |      100 |       0 |   12.82 | 22-59             
  ...onMessage.tsx |   77.48 |    77.77 |   33.33 |   77.48 | ...58-159,180-195 
  ...upMessage.tsx |   90.82 |       84 |     100 |   90.82 | 40-43,55,142-146  
  ToolMessage.tsx  |    80.3 |       70 |      80 |    80.3 | ...72-377,451-453 
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
  ...ngMessage.tsx |   26.31 |      100 |       0 |   26.31 | 17-32             
 ...ponents/shared |   80.81 |    77.39 |   94.11 |   80.81 |                   
  ...ctionList.tsx |   99.02 |    95.65 |     100 |   99.02 | 82                
  ...tonSelect.tsx |     100 |      100 |     100 |     100 |                   
  EnumSelector.tsx |     100 |    96.42 |     100 |     100 | 58                
  MaxSizedBox.tsx  |   81.62 |    82.11 |   88.88 |   81.62 | ...07-508,613-614 
  ...tonSelect.tsx |     100 |      100 |     100 |     100 |                   
  ...eSelector.tsx |     100 |    83.33 |     100 |     100 | 40                
  TextInput.tsx    |    7.94 |      100 |       0 |    7.94 | 32-194            
  text-buffer.ts   |   82.06 |    75.96 |   96.87 |   82.06 | ...1895,1922,1984 
  ...er-actions.ts |   86.71 |    67.79 |     100 |   86.71 | ...07-608,809-811 
 ...ents/subagents |    32.1 |      100 |       0 |    32.1 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  reducers.tsx     |    12.1 |      100 |       0 |    12.1 | 33-190            
  types.ts         |     100 |      100 |     100 |     100 |                   
  utils.ts         |   10.95 |      100 |       0 |   10.95 | ...1,56-57,60-102 
 ...bagents/create |    8.66 |      100 |       0 |    8.66 |                   
  ...ionWizard.tsx |    6.38 |      100 |       0 |    6.38 | 34-339            
  ...rSelector.tsx |   14.75 |      100 |       0 |   14.75 | 26-85             
  ...onSummary.tsx |    3.51 |      100 |       0 |    3.51 | 24-328            
  ...tionInput.tsx |    8.63 |      100 |       0 |    8.63 | 23-177            
  ...dSelector.tsx |   33.33 |      100 |       0 |   33.33 | 20-21,26-27,36-63 
  ...nSelector.tsx |    37.5 |      100 |       0 |    37.5 | 20-21,26-27,36-58 
  ...EntryStep.tsx |   12.76 |      100 |       0 |   12.76 | 34-78             
  ToolSelector.tsx |    4.16 |      100 |       0 |    4.16 | 31-253            
 ...bagents/manage |    9.02 |      100 |       0 |    9.02 |                   
  ...ctionStep.tsx |   10.52 |      100 |       0 |   10.52 | 21-99             
  ...eleteStep.tsx |   17.07 |      100 |       0 |   17.07 | 20-59             
  ...tEditStep.tsx |   25.53 |      100 |       0 |   25.53 | ...2,37-38,51-124 
  ...ctionStep.tsx |     3.1 |      100 |       0 |     3.1 | 27-337            
  ...iewerStep.tsx |   15.21 |      100 |       0 |   15.21 | 18-66             
  ...gerDialog.tsx |    6.13 |      100 |       0 |    6.13 | 32-334            
 ...agents/runtime |    7.83 |      100 |       0 |    7.83 |                   
  ...onDisplay.tsx |    7.83 |      100 |       0 |    7.83 | ...72-502,511-549 
 ...mponents/views |   90.74 |    74.19 |     100 |   90.74 |                   
  ...sionsList.tsx |     100 |    93.75 |     100 |     100 | 15                
  McpStatus.tsx    |   87.34 |    60.52 |     100 |   87.34 | ...79,182-184,269 
  ToolsList.tsx    |     100 |      100 |     100 |     100 |                   
 src/ui/contexts   |   77.44 |    77.66 |    86.2 |   77.44 |                   
  AppContext.tsx   |      40 |      100 |       0 |      40 | 17-22             
  ...igContext.tsx |   81.81 |       50 |     100 |   81.81 | 15-16             
  ...ssContext.tsx |   85.24 |    84.21 |     100 |   85.24 | ...52-754,757-759 
  ...owContext.tsx |   89.28 |       80 |   66.66 |   89.28 | 34,47-48,60-62    
  ...onContext.tsx |   47.02 |     62.5 |   71.42 |   47.02 | ...36-239,243-246 
  ...gsContext.tsx |   83.33 |       50 |     100 |   83.33 | 17-18             
  ...usContext.tsx |     100 |      100 |     100 |     100 |                   
  ...ngContext.tsx |   71.42 |       50 |     100 |   71.42 | 17-20             
  ...nsContext.tsx |   88.23 |       50 |     100 |   88.23 | 74-75             
  ...teContext.tsx |   83.33 |       50 |     100 |   83.33 | 146-147           
  ...deContext.tsx |   76.08 |    33.33 |     100 |   76.08 | 47-48,52-59,77-78 
 src/ui/editors    |   93.33 |    85.71 |   66.66 |   93.33 |                   
  ...ngsManager.ts |   93.33 |    85.71 |   66.66 |   93.33 | 49,63-64          
 src/ui/hooks      |    81.6 |    83.75 |   84.87 |    81.6 |                   
  ...dProcessor.ts |   78.76 |    80.19 |     100 |   78.76 | ...47-450,461-479 
  keyToAnsi.ts     |    3.92 |      100 |       0 |    3.92 | 19-77             
  ...dProcessor.ts |   94.75 |    70.58 |     100 |   94.75 | ...70-271,276-277 
  ...dProcessor.ts |   81.19 |    67.74 |      80 |   81.19 | ...20,575,594-600 
  ...agerDialog.ts |   88.23 |      100 |     100 |   88.23 | 20,24             
  ...odeCommand.ts |   58.82 |      100 |     100 |   58.82 | 28,33-48          
  ...Completion.ts |   92.77 |    89.28 |     100 |   92.77 | ...85-186,219-222 
  ...ifications.ts |     100 |      100 |     100 |     100 |                   
  ...tIndicator.ts |     100 |     87.5 |     100 |     100 | 43                
  ...ketedPaste.ts |    23.8 |      100 |       0 |    23.8 | 19-37             
  ...ompletion.tsx |    94.7 |       80 |     100 |    94.7 | ...92-193,195-196 
  useCompletion.ts |    92.4 |     87.5 |     100 |    92.4 | 68-69,93-94,98-99 
  ...leMessages.ts |   98.68 |       95 |     100 |   98.68 | 55                
  ...ialogClose.ts |      25 |      100 |     100 |      25 | 58-95             
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  ...ionUpdates.ts |   73.68 |       95 |      50 |   73.68 | ...20-123,138-144 
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |     100 |      100 |     100 |     100 |                   
  ...miniStream.ts |   76.91 |    77.55 |      75 |   76.91 | ...1165,1198-1299 
  ...BranchName.ts |   87.27 |       75 |     100 |   87.27 | 19-20,53-59       
  ...oryManager.ts |   98.41 |    93.33 |     100 |   98.41 | 43                
  ...stListener.ts |     100 |      100 |     100 |     100 |                   
  ...nAuthError.ts |   76.19 |       50 |     100 |   76.19 | 39-40,43-45       
  ...putHistory.ts |    92.5 |    85.71 |     100 |    92.5 | 62-63,71,93-95    
  ...storyStore.ts |     100 |    94.11 |     100 |     100 | 66                
  useKeypress.ts   |     100 |      100 |     100 |     100 |                   
  ...rdProtocol.ts |   36.36 |      100 |       0 |   36.36 | 24-31             
  ...unchEditor.ts |   11.53 |      100 |       0 |   11.53 | 16-30,37-82       
  ...gIndicator.ts |     100 |      100 |     100 |     100 |                   
  useLogger.ts     |   21.05 |      100 |       0 |   21.05 | 15-37             
  ...oryMonitor.ts |     100 |      100 |     100 |     100 |                   
  ...ssageQueue.ts |     100 |      100 |     100 |     100 |                   
  ...delCommand.ts |     100 |      100 |     100 |     100 |                   
  ...odifyTrust.ts |     100 |      100 |     100 |     100 |                   
  ...raseCycler.ts |   95.69 |    82.35 |     100 |   95.69 | ...78-179,195-197 
  ...ndFallback.ts |   98.27 |    96.42 |     100 |   98.27 | 69-71             
  useQwenAuth.ts   |     100 |      100 |     100 |     100 |                   
  ...lScheduler.ts |   85.06 |    94.73 |     100 |   85.06 | ...00-203,291-301 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  ...ompletion.tsx |   90.59 |    83.33 |     100 |   90.59 | ...01,104,137-140 
  ...ectionList.ts |   96.18 |    93.67 |     100 |   96.18 | ...58-159,205-208 
  ...ngsCommand.ts |   18.75 |      100 |       0 |   18.75 | 10-25             
  ...ellHistory.ts |   91.66 |    79.41 |     100 |   91.66 | ...69,117-118,128 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-76              
  ...Completion.ts |    80.8 |    84.46 |    90.9 |    80.8 | ...52-454,462-470 
  ...tateAndRef.ts |   13.63 |      100 |       0 |   13.63 | 16-36             
  ...eateDialog.ts |   88.23 |      100 |     100 |   88.23 | 14,18             
  ...rminalSize.ts |   68.18 |      100 |      50 |   68.18 | 19-23,27-28       
  ...emeCommand.ts |    8.04 |      100 |       0 |    8.04 | 25-112            
  useTimer.ts      |   88.09 |    85.71 |     100 |   88.09 | 44-45,51-53       
  ...AutoSwitch.ts |   91.84 |    88.57 |     100 |   91.84 | ...07,173,233-241 
  ...elcomeBack.ts |   69.44 |    54.54 |     100 |   69.44 | ...85,89-90,96-98 
  ...eMigration.ts |   11.11 |      100 |       0 |   11.11 | 16-70             
  vim.ts           |   83.57 |     79.5 |     100 |   83.57 | ...38,742-750,759 
 src/ui/layouts    |   92.59 |       80 |     100 |   92.59 |                   
  ...AppLayout.tsx |     100 |      100 |     100 |     100 |                   
  ...AppLayout.tsx |   85.18 |       50 |     100 |   85.18 | 28-31             
 src/ui/models     |   76.66 |    77.77 |   71.42 |   76.66 |                   
  ...ableModels.ts |   76.66 |    77.77 |   71.42 |   76.66 | ...59-61,70-72,76 
 ...noninteractive |     100 |      100 |    8.33 |     100 |                   
  ...eractiveUi.ts |     100 |      100 |    8.33 |     100 |                   
 src/ui/state      |   94.82 |    81.81 |     100 |   94.82 |                   
  extensions.ts    |   94.82 |    81.81 |     100 |   94.82 | 67-68,87          
 src/ui/themes     |   99.07 |    61.53 |     100 |   99.07 |                   
  ansi-light.ts    |     100 |      100 |     100 |     100 |                   
  ansi.ts          |     100 |      100 |     100 |     100 |                   
  atom-one-dark.ts |     100 |      100 |     100 |     100 |                   
  ayu-light.ts     |     100 |      100 |     100 |     100 |                   
  ayu.ts           |     100 |      100 |     100 |     100 |                   
  color-utils.ts   |     100 |      100 |     100 |     100 |                   
  default-light.ts |     100 |      100 |     100 |     100 |                   
  default.ts       |     100 |      100 |     100 |     100 |                   
  dracula.ts       |     100 |      100 |     100 |     100 |                   
  github-dark.ts   |     100 |      100 |     100 |     100 |                   
  github-light.ts  |     100 |      100 |     100 |     100 |                   
  googlecode.ts    |     100 |      100 |     100 |     100 |                   
  no-color.ts      |     100 |      100 |     100 |     100 |                   
  qwen-dark.ts     |     100 |      100 |     100 |     100 |                   
  qwen-light.ts    |     100 |      100 |     100 |     100 |                   
  ...tic-tokens.ts |     100 |      100 |     100 |     100 |                   
  ...-of-purple.ts |     100 |      100 |     100 |     100 |                   
  theme-manager.ts |   88.08 |    79.68 |     100 |   88.08 | ...00-306,311-312 
  theme.ts         |     100 |    32.25 |     100 |     100 | 255-437           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |   69.29 |    82.79 |    78.2 |   69.29 |                   
  ...Colorizer.tsx |   82.19 |    88.23 |     100 |   82.19 | ...08-109,191-217 
  ...olePatcher.ts |      70 |    55.55 |   66.66 |      70 | ...56,59-60,64-67 
  ...nRenderer.tsx |   58.74 |    38.23 |     100 |   58.74 | ...30-136,146-148 
  ...wnDisplay.tsx |   85.75 |    88.05 |     100 |   85.75 | ...76-284,317-342 
  ...eRenderer.tsx |   78.09 |    76.19 |     100 |   78.09 | 55-83             
  ...boardUtils.ts |   31.11 |     37.5 |     100 |   31.11 | ...51-110,125-141 
  commandUtils.ts  |   93.16 |    88.09 |     100 |   93.16 | ...29,133,135-136 
  computeStats.ts  |     100 |      100 |     100 |     100 |                   
  displayUtils.ts  |     100 |      100 |     100 |     100 |                   
  formatters.ts    |   94.11 |    97.82 |     100 |   94.11 | 91-94             
  highlight.ts     |   98.63 |       95 |     100 |   98.63 | 93                
  isNarrowWidth.ts |     100 |      100 |     100 |     100 |                   
  ...olDetector.ts |    7.89 |      100 |       0 |    7.89 | ...11-112,115-116 
  ...nUtilities.ts |   69.84 |    85.71 |     100 |   69.84 | 75-91,100-101     
  ...mConstants.ts |     100 |      100 |     100 |     100 |                   
  ...storyUtils.ts |   85.78 |    72.13 |     100 |   85.78 | ...24,232-237,285 
  terminalSetup.ts |    3.67 |      100 |       0 |    3.67 | 41-390            
  textUtils.ts     |   96.52 |    94.44 |    87.5 |   96.52 | 19-20,148-149     
  updateCheck.ts   |     100 |    80.95 |     100 |     100 | 27-39             
 src/utils         |   65.03 |    91.48 |   92.45 |   65.03 |                   
  ...tification.ts |     100 |    83.33 |     100 |     100 | 31                
  checks.ts        |   33.33 |      100 |       0 |   33.33 | 23-28             
  cleanup.ts       |   65.38 |      100 |   66.66 |   65.38 | 28-37             
  commands.ts      |     100 |      100 |     100 |     100 |                   
  commentJson.ts   |     100 |      100 |     100 |     100 |                   
  deepMerge.ts     |     100 |    89.65 |     100 |     100 | 41-43,49          
  ...ScopeUtils.ts |   97.56 |    88.88 |     100 |   97.56 | 67                
  ...arResolver.ts |   96.42 |    96.15 |     100 |   96.42 | 111-112           
  errors.ts        |     100 |    96.29 |     100 |     100 | 76                
  events.ts        |     100 |      100 |     100 |     100 |                   
  gitUtils.ts      |   94.66 |    82.35 |     100 |   94.66 | 75-78             
  ...AutoUpdate.ts |    51.2 |       95 |      50 |    51.2 | 84-149            
  ...lationInfo.ts |     100 |      100 |     100 |     100 |                   
  math.ts          |   66.66 |      100 |       0 |   66.66 | 15                
  ...iveHelpers.ts |   96.21 |    91.83 |     100 |   96.21 | ...38-439,544,557 
  package.ts       |   88.88 |       80 |     100 |   88.88 | 33-34             
  processUtils.ts  |     100 |      100 |     100 |     100 |                   
  readStdin.ts     |   79.24 |       90 |      80 |   79.24 | 31-38,50-52       
  relaunch.ts      |      98 |    83.33 |     100 |      98 | 68                
  resolvePath.ts   |   66.66 |       25 |     100 |   66.66 | 12-13,16,18-19    
  sandbox.ts       |       0 |        0 |       0 |       0 | 1-994             
  settingsUtils.ts |   87.54 |    93.81 |   96.87 |   87.54 | ...92-419,467-468 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  systemInfo.ts    |   98.92 |    85.71 |     100 |   98.92 | 164               
  ...InfoFields.ts |   97.72 |    81.81 |     100 |   97.72 | 109-110           
  ...entEmitter.ts |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |   91.17 |    82.35 |     100 |   91.17 | 67-68,73-74,77-78 
  version.ts       |     100 |       50 |     100 |     100 | 11                
  windowTitle.ts   |     100 |      100 |     100 |     100 |                   
-------------------|---------|----------|---------|---------|-------------------
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   77.19 |    83.58 |   80.05 |   77.19 |                   
 src               |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |     100 |      100 |     100 |     100 |                   
  promises.ts      |     100 |      100 |     100 |     100 |                   
 src/code_assist   |   78.49 |    82.53 |   81.25 |   78.49 |                   
  codeAssist.ts    |    17.5 |      100 |       0 |    17.5 | 16-38,41-54       
  converter.ts     |   94.96 |    93.02 |     100 |   94.96 | ...85,199,216-217 
  ...al-storage.ts |     100 |    74.07 |     100 |     100 | 37-39,70-73       
  oauth2.ts        |   81.77 |     81.7 |    92.3 |   81.77 | ...32-533,556-557 
  server.ts        |   54.21 |    73.33 |   57.14 |   54.21 | ...30-233,252-253 
  setup.ts         |   86.66 |    78.94 |     100 |   86.66 | ...,92-94,118-124 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/config        |   77.16 |    79.66 |   54.72 |   77.16 |                   
  config.ts        |   75.62 |    76.97 |   50.41 |   75.62 | ...1361,1376-1377 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  models.ts        |     100 |      100 |     100 |     100 |                   
  storage.ts       |   83.83 |       95 |   73.07 |   83.83 | ...21-122,125-126 
 src/core          |    79.5 |    82.46 |   79.38 |    79.5 |                   
  baseLlmClient.ts |     100 |    96.55 |     100 |     100 | 122               
  client.ts        |    82.5 |    78.86 |   73.91 |    82.5 | ...54-658,666-682 
  ...tGenerator.ts |   47.93 |       70 |      50 |   47.93 | ...17,147,168-211 
  ...lScheduler.ts |   78.35 |    79.68 |   89.28 |   78.35 | ...1263,1305-1309 
  geminiChat.ts    |   86.63 |    83.76 |      80 |   86.63 | ...77-580,623-624 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   82.99 |    81.81 |     100 |   82.99 | ...52-356,396-407 
  ...tGenerator.ts |   12.42 |      100 |      10 |   12.42 | ...00-201,204-207 
  ...olExecutor.ts |   92.59 |       75 |      50 |   92.59 | 41-42             
  prompts.ts       |   88.44 |    86.15 |    87.5 |   88.44 | ...96-797,800-801 
  tokenLimits.ts   |     100 |    86.66 |     100 |     100 | 41-42             
  turn.ts          |   95.95 |    88.23 |     100 |   95.95 | ...29,342-343,391 
 ...ntentGenerator |   66.85 |    82.31 |   86.76 |   66.85 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  converter.ts     |   46.17 |    63.06 |   69.56 |   46.17 | ...1095,1114-1151 
  errorHandler.ts  |     100 |      100 |     100 |     100 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-101             
  ...tGenerator.ts |      50 |     87.5 |    87.5 |      50 | 87-99,103-156     
  pipeline.ts      |    97.2 |    92.06 |     100 |    97.2 | ...27-228,403-407 
  ...CallParser.ts |   90.14 |    86.66 |     100 |   90.14 | ...15-319,349-350 
  ...tryService.ts |   98.85 |    95.55 |     100 |   98.85 | 161-162           
 ...rator/provider |   97.36 |    89.58 |     100 |   97.36 |                   
  dashscope.ts     |   98.26 |     92.3 |     100 |   98.26 | 195-196,276-277   
  deepseek.ts      |   89.83 |    70.58 |     100 |   89.83 | 34-35,39-40,53-54 
  default.ts       |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  modelscope.ts    |     100 |      100 |     100 |     100 |                   
  openrouter.ts    |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 |                   
 src/fallback      |   55.55 |    93.75 |   66.66 |   55.55 |                   
  handler.ts       |   55.05 |    93.75 |   66.66 |   55.05 | 20-21,70-120      
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/ide           |   71.59 |    83.25 |   75.47 |   71.59 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  detect-ide.ts    |     100 |      100 |     100 |     100 |                   
  ide-client.ts    |   56.73 |    78.26 |    60.6 |   56.73 | ...05-813,839-847 
  ide-installer.ts |   89.06 |    79.31 |     100 |   89.06 | ...36,143-147,160 
  ideContext.ts    |     100 |      100 |     100 |     100 |                   
  process-utils.ts |    87.3 |    74.19 |     100 |    87.3 | ...27,158,168-169 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mcp           |   78.48 |    75.12 |   75.92 |   78.48 |                   
  ...h-provider.ts |   86.36 |      100 |   33.33 |   86.36 | ...85,89,93,97-98 
  ...h-provider.ts |   73.39 |    54.16 |     100 |   73.39 | ...00-807,814-816 
  ...en-storage.ts |    98.6 |    97.67 |     100 |    98.6 | 84-85             
  oauth-utils.ts   |   70.33 |    81.48 |    90.9 |   70.33 | ...62-283,308-331 
  ...n-provider.ts |   89.38 |    95.83 |   45.45 |   89.38 | ...39,143,147-148 
 .../token-storage |   88.39 |    86.46 |      95 |   88.39 |                   
  ...en-storage.ts |     100 |      100 |     100 |     100 |                   
  ...en-storage.ts |   82.75 |    82.35 |   92.85 |   82.75 | ...62-172,180-181 
  ...en-storage.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...en-storage.ts |   85.71 |    81.81 |      90 |   85.71 | ...25-227,249-250 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mocks         |     100 |      100 |     100 |     100 |                   
  msw.ts           |     100 |      100 |     100 |     100 |                   
 src/output        |     100 |      100 |     100 |     100 |                   
  ...-formatter.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/prompts       |   26.41 |      100 |      25 |   26.41 |                   
  mcp-prompts.ts   |   18.18 |      100 |       0 |   18.18 | 11-19             
  ...t-registry.ts |   28.57 |      100 |   28.57 |   28.57 | ...42,48-55,68-73 
 src/qwen          |   84.41 |    78.98 |    97.1 |   84.41 |                   
  ...tGenerator.ts |   98.63 |    98.18 |     100 |   98.63 | 103-104           
  qwenOAuth2.ts    |   80.85 |     73.1 |   92.85 |   80.85 | ...25,865,880-896 
  ...kenManager.ts |   84.24 |    76.03 |     100 |   84.24 | ...52-757,778-783 
 src/services      |   86.24 |    81.79 |   91.01 |   86.24 |                   
  ...ionService.ts |    95.1 |    95.23 |     100 |    95.1 | 134-142           
  ...ingService.ts |   74.28 |    59.37 |    92.3 |   74.28 | ...77-389,405-406 
  ...eryService.ts |   96.73 |    96.66 |    87.5 |   96.73 | 112,140-141       
  ...temService.ts |     100 |      100 |     100 |     100 |                   
  gitService.ts    |   66.29 |     90.9 |   55.55 |   66.29 | ...03-113,116-120 
  ...ionService.ts |   97.67 |    91.25 |     100 |   97.67 | ...79-380,386-387 
  ...ionService.ts |   79.12 |    73.19 |   88.88 |   79.12 | ...50-671,679-703 
  ...ionService.ts |   86.86 |    78.26 |     100 |   86.86 | ...68-669,673-678 
 src/subagents     |   82.32 |    78.27 |   83.11 |   82.32 |                   
  ...tin-agents.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...ent-events.ts |   83.33 |      100 |      50 |   83.33 | 127-128,131-132   
  ...gent-hooks.ts |       0 |        0 |       0 |       0 | 1                 
  ...nt-manager.ts |   77.13 |    77.24 |    91.3 |   77.13 | ...21-822,891-892 
  ...statistics.ts |   97.97 |    82.92 |     100 |   97.97 | 111,131,168,201   
  subagent.ts      |   76.23 |     60.5 |      68 |   76.23 | ...80-881,887-888 
  types.ts         |     100 |      100 |     100 |     100 |                   
  validation.ts    |    92.4 |    96.59 |     100 |    92.4 | 54-59,63-68,72-77 
 src/telemetry     |   73.08 |    88.21 |   76.78 |   73.08 |                   
  config.ts        |     100 |      100 |     100 |     100 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...-exporters.ts |   36.76 |      100 |   22.22 |   36.76 | ...84,87-88,91-92 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-111             
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-128             
  loggers.ts       |      60 |    68.18 |   56.25 |      60 | ...34-753,848-871 
  metrics.ts       |   82.85 |    86.74 |   81.63 |   82.85 | ...24-725,731-749 
  sdk.ts           |   82.55 |       50 |     100 |   82.55 | ...85,189-190,192 
  ...etry-utils.ts |     100 |      100 |     100 |     100 |                   
  ...l-decision.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |   87.98 |      100 |   89.09 |   87.98 | ...62-671,702-722 
  uiTelemetry.ts   |    94.7 |    96.15 |   91.66 |    94.7 | 130,159-165       
 ...learcut-logger |   45.62 |    68.42 |   38.09 |   45.62 |                   
  ...cut-logger.ts |   39.02 |    67.85 |   38.09 |   39.02 | ...1132,1135-1138 
  ...tadata-key.ts |     100 |      100 |     100 |     100 |                   
 ...ry/qwen-logger |   71.91 |    83.54 |   72.91 |   71.91 |                   
  event-types.ts   |       0 |        0 |       0 |       0 |                   
  qwen-logger.ts   |   71.91 |    83.33 |   72.34 |   71.91 | ...57-861,904-905 
 src/test-utils    |   93.88 |    93.33 |   77.77 |   93.88 |                   
  config.ts        |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  mock-tool.ts     |   92.14 |     92.3 |      76 |   92.14 | ...70,174-175,188 
  ...aceContext.ts |     100 |      100 |     100 |     100 |                   
 src/tools         |    74.3 |    82.07 |      83 |    74.3 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |   84.89 |    85.71 |   85.71 |   84.89 | ...60-461,550-590 
  exitPlanMode.ts  |   85.29 |    86.36 |     100 |   85.29 | ...03-108,136-148 
  glob.ts          |   96.05 |       88 |      90 |   96.05 | 91-97,215,218     
  grep.ts          |   71.35 |    85.29 |   76.47 |   71.35 | ...22,462,470-477 
  ls.ts            |   96.31 |    88.52 |     100 |   96.31 | 141-146,177,181   
  ...nt-manager.ts |   81.44 |    61.53 |      80 |   81.44 | ...23-130,138-139 
  mcp-client.ts    |   28.59 |    68.57 |   48.38 |   28.59 | ...1365,1369-1372 
  mcp-tool.ts      |   95.43 |    93.67 |      95 |   95.43 | 233-243,305-306   
  memoryTool.ts    |   74.42 |    83.87 |   90.47 |   74.42 | ...39-347,449-533 
  ...iable-tool.ts |     100 |    84.61 |     100 |     100 | 99,106            
  read-file.ts     |    96.2 |    86.48 |    87.5 |    96.2 | 64,66,68-69,75-76 
  ...many-files.ts |   78.99 |    78.87 |   85.71 |   78.99 | ...46-447,454-455 
  ripGrep.ts       |   95.61 |    88.67 |     100 |   95.61 | ...23,226,304-305 
  ...-transport.ts |    2.43 |      100 |       0 |    2.43 | 44-163            
  shell.ts         |   86.66 |    77.77 |     100 |   86.66 | ...74-481,486-487 
  smart-edit.ts    |   82.95 |    77.86 |      88 |   82.95 | ...01-903,921-964 
  task.ts          |    66.4 |    86.79 |     100 |    66.4 | ...00-501,522-529 
  todoWrite.ts     |   78.74 |    80.95 |   71.42 |   78.74 | ...95-420,441-442 
  tool-error.ts    |     100 |      100 |     100 |     100 |                   
  tool-names.ts    |     100 |      100 |     100 |     100 |                   
  tool-registry.ts |   69.45 |    65.38 |   70.37 |   69.45 | ...28-433,441-449 
  tools.ts         |    89.2 |    89.58 |    87.5 |    89.2 | ...74-375,391-397 
  web-fetch.ts     |   85.22 |    60.86 |      90 |   85.22 | ...33-234,236-237 
  write-file.ts    |   83.33 |    83.33 |      75 |   83.33 | ...16-419,431-465 
 ...ols/web-search |   72.49 |    76.59 |   81.25 |   72.49 |                   
  base-provider.ts |    40.9 |    33.33 |     100 |    40.9 | 40-43,48-56       
  index.ts         |   76.99 |    84.61 |   91.66 |   76.99 | ...47-151,257-267 
  types.ts         |       0 |        0 |       0 |       0 | 1                 
  utils.ts         |      60 |       50 |      50 |      60 | 35-42             
 ...arch/providers |   46.73 |     64.7 |   72.72 |   46.73 |                   
  ...e-provider.ts |       8 |      100 |       0 |       8 | 68-83,89-199      
  ...e-provider.ts |      82 |    55.55 |     100 |      82 | 57-58,61-62,72-76 
  ...y-provider.ts |   89.79 |       75 |     100 |   89.79 | 62-66             
 src/utils         |   84.15 |    88.74 |   87.67 |   84.15 |                   
  LruCache.ts      |   80.64 |       75 |     100 |   80.64 | 28,30-34          
  bfsFileSearch.ts |   89.65 |     92.3 |     100 |   89.65 | 86-94             
  browser.ts       |    7.69 |      100 |       0 |    7.69 | 17-56             
  editHelper.ts    |   91.84 |    80.45 |     100 |   91.84 | ...73-475,484-485 
  editor.ts        |   96.95 |    93.87 |     100 |   96.95 | ...90-191,193-194 
  ...entContext.ts |     100 |    94.73 |     100 |     100 | 120               
  errorParsing.ts  |     100 |     92.3 |     100 |     100 | 76,80,86          
  ...rReporting.ts |   83.72 |    84.61 |     100 |   83.72 | 82-86,107-115     
  errors.ts        |   58.33 |       75 |      50 |   58.33 | ...86-102,106-112 
  fetch.ts         |   34.04 |      100 |       0 |   34.04 | 22-27,31-57       
  fileUtils.ts     |   94.75 |       90 |     100 |   94.75 | ...26-428,476-482 
  formatters.ts    |   54.54 |       50 |     100 |   54.54 | 12-16             
  ...eUtilities.ts |    95.4 |    94.87 |     100 |    95.4 | 16-17,45-46       
  ...rStructure.ts |   95.96 |    94.93 |     100 |   95.96 | ...14-117,345-347 
  getPty.ts        |    12.5 |      100 |       0 |    12.5 | 21-34             
  ...noreParser.ts |    92.3 |    89.13 |     100 |    92.3 | ...15-116,186-187 
  gitUtils.ts      |   59.25 |    76.92 |   66.66 |   59.25 | 41-42,51-74,88-89 
  ...rePatterns.ts |     100 |      100 |     100 |     100 |                   
  ...ionManager.ts |     100 |       90 |     100 |     100 | 23                
  jsonl-utils.ts   |   11.47 |       50 |    12.5 |   11.47 | ...48-181,187-193 
  ...-detection.ts |     100 |      100 |     100 |     100 |                   
  ...edit-fixer.ts |     100 |      100 |     100 |     100 |                   
  ...yDiscovery.ts |   82.72 |    72.88 |   77.77 |   82.72 | ...05-406,409-410 
  ...tProcessor.ts |   93.23 |    89.74 |    92.3 |   93.23 | ...95-301,378-379 
  ...Inspectors.ts |   61.53 |      100 |      50 |   61.53 | 18-23             
  ...kerChecker.ts |   83.69 |    78.94 |     100 |   83.69 | 65-66,76-81,89-95 
  openaiLogger.ts  |   85.85 |    81.48 |     100 |   85.85 | ...98-100,123-128 
  partUtils.ts     |     100 |      100 |     100 |     100 |                   
  pathReader.ts    |     100 |      100 |     100 |     100 |                   
  paths.ts         |    74.5 |    97.56 |     100 |    74.5 | 46-105            
  ...ectSummary.ts |    3.75 |      100 |       0 |    3.75 | 27-119            
  ...tIdContext.ts |     100 |      100 |     100 |     100 |                   
  ...rDetection.ts |   76.85 |    84.31 |     100 |   76.85 | ...25-126,166-167 
  ...noreParser.ts |   85.45 |    81.48 |     100 |   85.45 | ...59,65-66,72-73 
  retry.ts         |   63.77 |    77.02 |     100 |   63.77 | ...98-318,363-378 
  ripgrepUtils.ts  |   36.19 |       75 |   55.55 |   36.19 | ...77-230,246-334 
  safeJsonParse.ts |      72 |    83.33 |     100 |      72 | 37-43             
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aValidator.ts |     100 |    76.19 |     100 |     100 | 11-25,62,66-67    
  ...r-launcher.ts |   76.52 |     87.5 |   66.66 |   76.52 | ...33,135,153-191 
  shell-utils.ts   |   86.82 |    95.55 |   93.33 |   86.82 | ...21-534,554-558 
  ...nlyChecker.ts |   81.63 |       80 |      80 |   81.63 | ...58-259,263-264 
  ...tGenerator.ts |     100 |     90.9 |     100 |     100 | 129               
  summarizer.ts    |     100 |    88.88 |     100 |     100 | 91                
  ...emEncoding.ts |      98 |    94.11 |     100 |      98 | 106-107           
  ...Serializer.ts |   99.06 |    94.54 |     100 |   99.06 | 90,147-149        
  testUtils.ts     |   84.44 |    72.72 |   83.33 |   84.44 | 27-28,34-35,70-72 
  textUtils.ts     |   53.33 |      100 |      50 |   53.33 | 36-55             
  thoughtUtils.ts  |     100 |    91.66 |     100 |     100 | 71                
  tool-utils.ts    |    93.6 |       92 |     100 |    93.6 | ...58-159,162-163 
  ...untManager.ts |   97.14 |    94.59 |     100 |   97.14 | 36-38             
  ...aceContext.ts |   96.82 |    95.12 |    92.3 |   96.82 | 94-95,109-110     
  yaml-parser.ts   |      92 |       84 |     100 |      92 | 49-53,65-69       
 ...ils/filesearch |   96.17 |     91.4 |     100 |   96.17 |                   
  crawlCache.ts    |     100 |      100 |     100 |     100 |                   
  crawler.ts       |   96.22 |     92.3 |     100 |   96.22 | 66-67             
  fileSearch.ts    |   93.22 |    87.14 |     100 |   93.22 | ...27-228,230-231 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |     92.3 |     100 |     100 | 46                
 ...uest-tokenizer |   59.81 |    76.37 |   75.67 |   59.81 |                   
  ...eTokenizer.ts |   41.47 |    76.47 |   69.23 |   41.47 | ...67-440,450-504 
  index.ts         |   66.66 |      100 |      50 |   66.66 | 35-40             
  ...tTokenizer.ts |   71.18 |    70.96 |   91.66 |   71.18 | ...26-327,338-339 
  ...ageFormats.ts |      76 |      100 |   33.33 |      76 | 45-48,55-56       
  textTokenizer.ts |     100 |    88.88 |     100 |     100 | 71,76,81          
  types.ts         |       0 |        0 |       0 |       0 | 1                 
-------------------|---------|----------|---------|---------|-------------------

For detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can not give command suggestion when typing / in the chatbox and can not quit when i type /quit or use Control+C

2 participants