Skip to content

feat(cli): Increase /insight feature exposure via weighted tips#2019

Merged
tanzhenxin merged 1 commit intomainfrom
feat/increase-insight-exposure
Feb 28, 2026
Merged

feat(cli): Increase /insight feature exposure via weighted tips#2019
tanzhenxin merged 1 commit intomainfrom
feat/increase-insight-exposure

Conversation

@tanzhenxin
Copy link
Copy Markdown
Collaborator

TLDR

This PR increases the visibility of the new /insight command by implementing a weighted tip system. The /insight tip now has a 3x higher chance of appearing in the startup tips rotation compared to other tips.

Dive Deeper

The /insight feature was recently introduced but many users may not be aware of it. Startup tips are an effective way to surface features to users. To increase exposure without being overly repetitive, I've implemented a weighted random selection system:

  • Tips can now have an optional weight property (default weight: 1)
  • The /insight tip has weight 3, making it 3x more likely to appear
  • The system is backward compatible - existing string tips work unchanged
  • Added comprehensive unit tests for the weighted selection algorithm

The feature has been internationalized across all supported languages (de, en, ja, pt, ru, zh).

Reviewer Test Plan

  1. Run the CLI and observe the startup tips appearing on the initial screen
  2. The /insight tip ("Try /insight to generate personalized insights from your chat history.") should appear more frequently than others
  3. Run the new tests: cd packages/cli && npx vitest run src/ui/components/Tips.test.ts

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

No linked issues


🤖 Generated with Qwen Code

- Add weighted tip system to make certain tips appear more frequently
- Set /insight tip to weight 3 (3x more likely than regular tips)
- Add i18n translations for the new tip across all supported languages
- Add comprehensive unit tests for weighted tip selection

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
@github-actions
Copy link
Copy Markdown
Contributor

📋 Review Summary

This PR implements a weighted tip system to increase visibility of the /insight command by making it 3x more likely to appear in startup tips. The implementation includes a new weighted random selection algorithm, adds several new tips across all supported languages, and includes comprehensive unit tests.

🔍 General Feedback

  • The implementation of the weighted random selection algorithm is mathematically sound and well-tested
  • Good backward compatibility approach - existing string tips continue to work with default weight of 1
  • Comprehensive internationalization across all supported languages (de, en, ja, pt, ru, zh)
  • Excellent test coverage for the new weighted selection algorithm with multiple scenarios
  • Clean separation of concerns with helper functions for extracting text and weight from tips

🎯 Specific Feedback

🟡 High

  • File: packages/cli/src/ui/components/Tips.tsx:35 - The weighted selection algorithm could potentially have floating point precision issues with large numbers of tips or very high weights. Consider using integer arithmetic if precision becomes an issue, though this is unlikely with the current use case.

🟢 Medium

  • File: packages/cli/src/ui/components/Tips.tsx:28-37 - The selectWeightedTip function implementation is correct but could benefit from a brief comment explaining the algorithm for future maintainers. Something like "Select a tip based on cumulative weights using random number in total weight range" would help clarify the approach.
  • File: packages/cli/src/ui/components/Tips.tsx:13 - Consider defining the Tip type in a shared types file if similar structures are used elsewhere in the codebase to promote consistency.

🔵 Low

  • File: packages/cli/src/ui/components/Tips.test.ts:40-53 - The test for weight distribution uses hardcoded expectations which might occasionally fail due to randomness. Consider using a wider tolerance range or running more iterations to make the test more robust.
  • File: packages/cli/src/i18n/locales/ja.js:786-806 - The Japanese locale file received many new tip entries in addition to the insight tip. This is consistent with the PR goal of expanding tip availability across all locales.

✅ Highlights

  • Well-designed weighted random selection algorithm that maintains backward compatibility
  • Comprehensive test suite with good coverage of edge cases and distribution verification
  • Proper TypeScript typing with union types for both string and object-based tips
  • Consistent internationalization across all supported languages
  • Smart approach to maintaining existing functionality while adding new features

Copy link
Copy Markdown
Collaborator

@pomelo-nwu pomelo-nwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@tanzhenxin tanzhenxin merged commit 14df5a5 into main Feb 28, 2026
14 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 60.65% 60.65% 69.59% 80.28%
Core 73.93% 73.93% 78.38% 81.85%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   60.65 |    80.28 |   69.59 |   60.65 |                   
 src               |   76.19 |    66.66 |   72.22 |   76.19 |                   
  gemini.tsx       |   61.91 |     62.5 |      75 |   61.91 | ...91,499-502,510 
  ...ractiveCli.ts |   84.53 |       64 |      40 |   84.53 | ...27,337-338,357 
  ...liCommands.ts |   83.25 |    69.04 |     100 |   83.25 | ...10,245,247,370 
  ...ActiveAuth.ts |   94.11 |    82.35 |     100 |   94.11 | 27-30             
 ...cp-integration |   42.53 |       50 |   18.75 |   42.53 |                   
  acp.ts           |      12 |       60 |   27.27 |      12 | ...37-446,449-456 
  acpAgent.ts      |    3.64 |        0 |       0 |    3.64 | 41-60,63-462      
  authMethods.ts   |   13.15 |      100 |       0 |   13.15 | 11-28,31-35,38-47 
  errorCodes.ts    |     100 |      100 |     100 |     100 |                   
  schema.ts        |     100 |      100 |     100 |     100 |                   
 ...ration/service |      76 |    78.57 |      60 |      76 |                   
  filesystem.ts    |      76 |    78.57 |      60 |      76 | ...,58-74,101-102 
 ...ration/session |   48.65 |    64.06 |   65.85 |   48.65 |                   
  ...ryReplayer.ts |      76 |    79.41 |      90 |      76 | ...19-220,228-229 
  Session.ts       |   32.42 |    48.07 |   44.44 |   32.42 | ...4-947,967-1035 
  ...entTracker.ts |   81.42 |       75 |    90.9 |   81.42 | ...71-378,381-382 
  index.ts         |       0 |        0 |       0 |       0 | 1-40              
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 ...ssion/emitters |    96.8 |    93.45 |      92 |    96.8 |                   
  BaseEmitter.ts   |    82.6 |       75 |      80 |    82.6 | 23-24,50-51       
  ...ageEmitter.ts |     100 |      100 |     100 |     100 |                   
  PlanEmitter.ts   |     100 |      100 |     100 |     100 |                   
  ...allEmitter.ts |   98.97 |    93.22 |     100 |   98.97 | 314,322           
  index.ts         |       0 |        0 |       0 |       0 | 1-10              
 src/commands      |   95.65 |      100 |      50 |   95.65 |                   
  extensions.tsx   |   96.55 |      100 |      50 |   96.55 | 37                
  mcp.ts           |   94.11 |      100 |      50 |   94.11 | 26                
 ...nds/extensions |   85.34 |    91.27 |   81.81 |   85.34 |                   
  consent.ts       |   71.65 |    89.28 |   42.85 |   71.65 | ...85-141,156-162 
  disable.ts       |     100 |      100 |     100 |     100 |                   
  enable.ts        |     100 |      100 |     100 |     100 |                   
  install.ts       |   81.73 |    83.33 |   66.66 |   81.73 | ...17-120,123-130 
  link.ts          |     100 |      100 |     100 |     100 |                   
  list.ts          |     100 |      100 |     100 |     100 |                   
  new.ts           |     100 |      100 |     100 |     100 |                   
  settings.ts      |   99.15 |      100 |   83.33 |   99.15 | 151               
  uninstall.ts     |    37.5 |      100 |   33.33 |    37.5 | 23-45,57-64,67-70 
  update.ts        |   96.32 |      100 |     100 |   96.32 | 101-105           
  utils.ts         |   60.24 |    28.57 |     100 |   60.24 | ...81,83-87,89-93 
 ...les/mcp-server |       0 |        0 |       0 |       0 |                   
  example.ts       |       0 |        0 |       0 |       0 | 1-60              
 src/commands/mcp  |   97.35 |    87.87 |    90.9 |   97.35 |                   
  add.ts           |     100 |    96.66 |     100 |     100 | 211               
  list.ts          |   91.22 |    80.76 |      80 |   91.22 | ...19-121,146-147 
  remove.ts        |     100 |       80 |     100 |     100 | 21-25             
 src/config        |   89.88 |     80.3 |    85.5 |   89.88 |                   
  auth.ts          |   86.92 |    78.84 |     100 |   86.92 | ...98-199,215-216 
  config.ts        |   89.95 |    84.27 |   77.77 |   89.95 | ...-930,1048-1049 
  keyBindings.ts   |   95.78 |       50 |     100 |   95.78 | 158-161           
  ...idersScope.ts |      92 |       90 |     100 |      92 | 11-12             
  sandboxConfig.ts |   54.16 |    23.07 |   66.66 |   54.16 | ...44,54-68,73-89 
  settings.ts      |   82.83 |    78.81 |   82.14 |   82.83 | ...1105,1172-1196 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...tedFolders.ts |   96.29 |       94 |     100 |   96.29 | ...88-190,205-206 
  webSearch.ts     |    40.9 |    11.11 |     100 |    40.9 | ...95-102,105-121 
 src/constants     |   92.09 |    88.23 |   66.66 |   92.09 |                   
  codingPlan.ts    |   92.09 |    88.23 |   66.66 |   92.09 | ...06-307,315-327 
 src/core          |    17.8 |      100 |       0 |    17.8 |                   
  auth.ts          |    9.52 |      100 |       0 |    9.52 | 21-48             
  initializer.ts   |   15.38 |      100 |       0 |   15.38 | 33-74             
  theme.ts         |   38.46 |      100 |       0 |   38.46 | 17-24             
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/i18n          |   43.69 |    71.42 |   38.88 |   43.69 |                   
  index.ts         |   26.11 |    69.23 |   26.66 |   26.11 | ...35-236,246-257 
  languages.ts     |   98.27 |       75 |     100 |   98.27 | 88                
 src/i18n/locales  |       0 |        0 |       0 |       0 |                   
  de.js            |       0 |        0 |       0 |       0 | 1-1471            
  en.js            |       0 |        0 |       0 |       0 | 1-1456            
  ja.js            |       0 |        0 |       0 |       0 | 1-981             
  pt.js            |       0 |        0 |       0 |       0 | 1-1465            
  ru.js            |       0 |        0 |       0 |       0 | 1-1475            
  zh.js            |       0 |        0 |       0 |       0 | 1-1289            
 ...nonInteractive |   68.34 |    71.68 |   68.88 |   68.34 |                   
  session.ts       |    73.1 |    69.52 |   81.81 |    73.1 | ...03-604,612-622 
  types.ts         |    42.5 |      100 |   33.33 |    42.5 | ...73-574,577-578 
 ...active/control |   77.48 |       88 |      80 |   77.48 |                   
  ...rolContext.ts |    7.69 |        0 |       0 |    7.69 | 47-79             
  ...Dispatcher.ts |   91.63 |    91.66 |   88.88 |   91.63 | ...54-372,387,390 
  ...rolService.ts |       8 |        0 |       0 |       8 | 46-179            
 ...ol/controllers |    7.32 |       80 |   13.79 |    7.32 |                   
  ...Controller.ts |   19.32 |      100 |      60 |   19.32 | 81-118,127-210    
  ...Controller.ts |       0 |        0 |       0 |       0 | 1-56              
  ...Controller.ts |    3.96 |      100 |   11.11 |    3.96 | ...61-379,389-494 
  ...Controller.ts |   14.06 |      100 |       0 |   14.06 | ...82-117,130-133 
  ...Controller.ts |    5.72 |      100 |       0 |    5.72 | ...72-384,393-418 
 .../control/types |       0 |        0 |       0 |       0 |                   
  serviceAPIs.ts   |       0 |        0 |       0 |       0 | 1                 
 ...Interactive/io |    97.2 |    92.01 |   96.05 |    97.2 |                   
  ...putAdapter.ts |   97.32 |    91.57 |     100 |   97.32 | ...1275,1300-1301 
  ...putAdapter.ts |   96.15 |    91.66 |   85.71 |   96.15 | 51-52             
  ...nputReader.ts |     100 |    94.73 |     100 |     100 | 67                
  ...putAdapter.ts |   96.49 |     93.1 |   88.23 |   96.49 | ...85,111-112,319 
 src/patches       |       0 |        0 |       0 |       0 |                   
  is-in-ci.ts      |       0 |        0 |       0 |       0 | 1-17              
 src/services      |   87.56 |    85.87 |   95.83 |   87.56 |                   
  ...mandLoader.ts |     100 |      100 |     100 |     100 |                   
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |   86.38 |    81.48 |     100 |   86.38 | ...25-330,335-340 
  ...omptLoader.ts |    75.1 |    80.64 |   83.33 |    75.1 | ...03-204,270-271 
  ...nd-factory.ts |    91.2 |    93.33 |     100 |    91.2 | 119-126           
  ...ation-tool.ts |     100 |    95.45 |     100 |     100 | 125               
  ...and-parser.ts |   89.47 |    85.71 |     100 |   89.47 | 54-57             
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...ght/generators |   51.88 |    85.59 |   73.33 |   51.88 |                   
  DataProcessor.ts |   55.48 |    85.59 |   84.61 |   55.48 | ...1110,1114-1121 
  ...tGenerator.ts |   11.53 |      100 |       0 |   11.53 | 22-124            
  ...teRenderer.ts |   45.45 |      100 |       0 |   45.45 | 13-51             
 .../insight/types |       0 |       50 |      50 |       0 |                   
  ...sightTypes.ts |       0 |        0 |       0 |       0 |                   
  ...sightTypes.ts |       0 |        0 |       0 |       0 | 1                 
 ...mpt-processors |   97.26 |    92.59 |     100 |   97.26 |                   
  ...tProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...eProcessor.ts |   94.52 |    84.21 |     100 |   94.52 | 46-47,93-94       
  ...tionParser.ts |     100 |      100 |     100 |     100 |                   
  ...lProcessor.ts |   97.38 |    93.02 |     100 |   97.38 | 96-99             
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   93.46 |    83.33 |      80 |   93.46 |                   
  ...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            |   65.37 |    72.97 |   54.05 |   65.37 |                   
  App.tsx          |     100 |      100 |     100 |     100 |                   
  AppContainer.tsx |   70.25 |    63.36 |   57.14 |   70.25 | ...1096,1110-1210 
  ...tionNudge.tsx |    9.58 |      100 |       0 |    9.58 | 24-94             
  ...ackDialog.tsx |   29.23 |      100 |       0 |   29.23 | 25-75             
  ...tionNudge.tsx |    7.69 |      100 |       0 |    7.69 | 25-103            
  colors.ts        |      60 |      100 |   35.29 |      60 | ...52,54-55,60-61 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  keyMatchers.ts   |   91.83 |    88.46 |     100 |   91.83 | 25-26,54-55       
  ...tic-colors.ts |     100 |      100 |     100 |     100 |                   
  textConstants.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/auth       |   26.71 |    52.94 |   33.33 |   26.71 |                   
  AuthDialog.tsx   |   51.96 |    54.54 |   38.46 |   51.96 | ...69,371,404-410 
  ...nProgress.tsx |       0 |        0 |       0 |       0 | 1-64              
  useAuth.ts       |    3.03 |      100 |       0 |    3.03 | 43-467            
 src/ui/commands   |   64.77 |    80.09 |   50.95 |   64.77 |                   
  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.47 |    66.66 |      50 |   76.47 | 21-22,57-66       
  clearCommand.ts  |   88.23 |    66.66 |      50 |   88.23 | 16-17,41-42       
  ...essCommand.ts |   63.15 |       50 |      50 |   63.15 | ...47-148,162-165 
  copyCommand.ts   |   96.22 |      100 |      50 |   96.22 | 15-16             
  ...ryCommand.tsx |   67.89 |    73.07 |      50 |   67.89 | ...74-175,183-191 
  docsCommand.ts   |   95.23 |       80 |      50 |   95.23 | 20-21             
  editorCommand.ts |     100 |      100 |     100 |     100 |                   
  exportCommand.ts |   57.31 |     90.9 |      50 |   57.31 | 173-312           
  ...onsCommand.ts |   75.53 |    82.89 |   47.82 |   75.53 | ...53-654,663-664 
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  ideCommand.ts    |   56.79 |    57.69 |   35.29 |   56.79 | ...00-301,304-318 
  initCommand.ts   |    81.7 |       70 |      50 |    81.7 | ...67,81-86,88-93 
  ...ghtCommand.ts |   15.23 |      100 |       0 |   15.23 | 23-26,29-131      
  ...ageCommand.ts |   89.24 |    82.35 |   76.92 |   89.24 | ...20-323,345-346 
  mcpCommand.ts    |   37.54 |    80.95 |   22.22 |   37.54 | ...12-352,358-361 
  memoryCommand.ts |   70.38 |    77.14 |   33.33 |   70.38 | ...84,291-292,310 
  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 
  resumeCommand.ts |     100 |      100 |     100 |     100 |                   
  ...ngsCommand.ts |     100 |      100 |     100 |     100 |                   
  ...hubCommand.ts |   80.12 |    63.63 |      60 |   80.12 | ...69-172,175-178 
  skillsCommand.ts |    12.5 |      100 |       0 |    12.5 | ...89-105,108-135 
  statsCommand.ts  |   76.92 |       75 |      50 |   76.92 | ...36,50-51,65-66 
  ...aryCommand.ts |    4.61 |      100 |       0 |    4.61 | 21-24,27-322      
  ...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 |   71.16 |    74.03 |   68.59 |   71.16 |                   
  AboutBox.tsx     |     100 |      100 |     100 |     100 |                   
  AnsiOutput.tsx   |     100 |      100 |     100 |     100 |                   
  ApiKeyInput.tsx  |   21.21 |      100 |       0 |   21.21 | 30-86             
  AppHeader.tsx    |     100 |       50 |     100 |     100 | 28,40             
  ...odeDialog.tsx |     9.7 |      100 |       0 |     9.7 | 35-47,50-182      
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  ...Indicator.tsx |   13.95 |      100 |       0 |   13.95 | 18-58             
  Composer.tsx     |   91.76 |    55.55 |     100 |   91.76 | ...2-45,63,99,108 
  ...itDisplay.tsx |   55.81 |      100 |      50 |   55.81 | 22-38,42-43       
  ...entPrompt.tsx |     100 |      100 |     100 |     100 |                   
  ...ryDisplay.tsx |   75.89 |    62.06 |     100 |   75.89 | ...,88,93-108,113 
  ...geDisplay.tsx |   90.47 |       75 |     100 |   90.47 | 20-21             
  ...ification.tsx |   28.57 |      100 |       0 |   28.57 | 16-36             
  ...gProfiler.tsx |       0 |        0 |       0 |       0 | 1-36              
  ...ogManager.tsx |   12.69 |      100 |       0 |   12.69 | 46-307            
  ...ngsDialog.tsx |    8.44 |      100 |       0 |    8.44 | 37-195            
  ExitWarning.tsx  |     100 |      100 |     100 |     100 |                   
  ...ustDialog.tsx |     100 |      100 |     100 |     100 |                   
  Footer.tsx       |   77.31 |    33.33 |     100 |   77.31 | ...64,71-75,77-81 
  ...ngSpinner.tsx |   54.28 |       50 |      50 |   54.28 | 31-48,61          
  Header.tsx       |   82.44 |       60 |   66.66 |   82.44 | ...20,122,127-130 
  Help.tsx         |    98.7 |    68.75 |     100 |    98.7 | 74,129            
  ...emDisplay.tsx |   78.83 |    44.82 |     100 |   78.83 | ...76,179,182,185 
  ...ngeDialog.tsx |     100 |      100 |     100 |     100 |                   
  InputPrompt.tsx  |   84.75 |     77.6 |     100 |   84.75 | ...1016,1112,1186 
  ...Shortcuts.tsx |   21.34 |      100 |       0 |   21.34 | ...4,47-49,65-123 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...firmation.tsx |   91.42 |      100 |      50 |   91.42 | 26-31             
  MainContent.tsx  |   18.46 |      100 |       0 |   18.46 | 24-80             
  ...geDisplay.tsx |       0 |        0 |       0 |       0 | 1-41              
  ModelDialog.tsx  |    75.6 |    42.25 |     100 |    75.6 | ...46-462,475-479 
  ...tsDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...fications.tsx |   18.18 |      100 |       0 |   18.18 | 15-58             
  ...ustDialog.tsx |     100 |    81.81 |     100 |     100 | 71-86             
  ...ryDisplay.tsx |      20 |      100 |       0 |      20 | 20-41             
  ...icePrompt.tsx |   88.14 |    83.87 |     100 |   88.14 | ...01-105,133-138 
  PrepareLabel.tsx |   91.66 |    76.19 |     100 |   91.66 | 73-75,77-79,110   
  ...geDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ngDisplay.tsx |   21.42 |      100 |       0 |   21.42 | 13-39             
  ...hProgress.tsx |   90.86 |    95.55 |     100 |   90.86 | 250-276           
  ...ionPicker.tsx |   94.18 |    92.85 |     100 |   94.18 | 79,194-202        
  ...ryDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...putPrompt.tsx |   72.56 |       80 |      40 |   72.56 | ...06-109,114-117 
  ...ngsDialog.tsx |   66.75 |    72.66 |     100 |   66.75 | ...72-780,786-787 
  ...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             
  ...ionPicker.tsx |    8.04 |      100 |       0 |    8.04 | 21-129            
  StatsDisplay.tsx |   98.66 |    93.33 |     100 |   98.66 | 199-201           
  ...nsDisplay.tsx |   84.09 |    57.14 |     100 |   84.09 | ...16-118,125-127 
  ThemeDialog.tsx  |   90.95 |    44.44 |      75 |   90.95 | ...16-117,159-161 
  Tips.tsx         |      75 |       60 |      75 |      75 | 23,48-49,52-62    
  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            
 ...nents/messages |   74.98 |    79.83 |   57.14 |   74.98 |                   
  ...onMessage.tsx |   91.93 |    82.35 |     100 |   91.93 | 57-59,61,63       
  DiffRenderer.tsx |   93.17 |    86.17 |     100 |   93.17 | ...08,236-237,303 
  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             
  ...ssMessage.tsx |    12.5 |      100 |       0 |    12.5 | 18-59             
  ...wnMessage.tsx |   17.39 |      100 |       0 |   17.39 | 20-41             
  ...ryMessage.tsx |   12.82 |      100 |       0 |   12.82 | 22-59             
  ...onMessage.tsx |   77.48 |    77.77 |   33.33 |   77.48 | ...57-158,179-194 
  ...upMessage.tsx |   90.74 |       84 |     100 |   90.74 | 40-43,55,140-144  
  ToolMessage.tsx  |   78.71 |    69.33 |      80 |   78.71 | ...94-399,473-475 
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
  ...ngMessage.tsx |      30 |      100 |       0 |      30 | 18-33             
 ...ponents/shared |   80.75 |    77.19 |   94.11 |   80.75 |                   
  ...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.13 |    81.96 |   88.88 |   81.13 | ...12-513,618-619 
  ...tonSelect.tsx |     100 |      100 |     100 |     100 |                   
  ...eSelector.tsx |     100 |       60 |     100 |     100 | 40-45             
  TextInput.tsx    |    7.94 |      100 |       0 |    7.94 | 32-194            
  text-buffer.ts   |   82.07 |    75.96 |   96.87 |   82.07 | ...1897,1924,1986 
  ...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.83 |      100 |       0 |    8.83 |                   
  ...ionWizard.tsx |    6.38 |      100 |       0 |    6.38 | 34-339            
  ...rSelector.tsx |   14.75 |      100 |       0 |   14.75 | 26-85             
  ...onSummary.tsx |    4.26 |      100 |       0 |    4.26 | 27-331            
  ...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 |    8.43 |      100 |       0 |    8.43 |                   
  ...ctionStep.tsx |   10.25 |      100 |       0 |   10.25 | 21-103            
  ...eleteStep.tsx |   20.93 |      100 |       0 |   20.93 | 23-62             
  ...tEditStep.tsx |   25.53 |      100 |       0 |   25.53 | ...2,37-38,51-124 
  ...ctionStep.tsx |    2.29 |      100 |       0 |    2.29 | 28-449            
  ...iewerStep.tsx |   15.21 |      100 |       0 |   15.21 | 18-66             
  ...gerDialog.tsx |    6.74 |      100 |       0 |    6.74 | 35-341            
 ...agents/runtime |    7.83 |      100 |       0 |    7.83 |                   
  ...onDisplay.tsx |    7.83 |      100 |       0 |    7.83 | ...72-502,511-549 
 ...mponents/views |   86.46 |    69.23 |      75 |   86.46 |                   
  ...sionsList.tsx |   87.69 |    73.68 |     100 |   87.69 | 65-72             
  McpStatus.tsx    |   89.53 |    60.52 |     100 |   89.53 | ...72,175-177,262 
  SkillsList.tsx   |   27.27 |      100 |       0 |   27.27 | 18-35             
  ToolsList.tsx    |     100 |      100 |     100 |     100 |                   
 src/ui/contexts   |   77.33 |    78.57 |    86.2 |   77.33 |                   
  AppContext.tsx   |      40 |      100 |       0 |      40 | 17-22             
  ...igContext.tsx |   81.81 |       50 |     100 |   81.81 | 15-16             
  ...ssContext.tsx |   84.84 |    83.11 |     100 |   84.84 | ...72-774,777-779 
  ...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 | 92-93             
  ...teContext.tsx |   84.61 |       50 |     100 |   84.61 | 137-138           
  ...deContext.tsx |   76.08 |    72.72 |     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.61 |    82.24 |   83.33 |   81.61 |                   
  ...dProcessor.ts |   83.02 |     81.9 |     100 |   83.02 | ...86-387,406-433 
  keyToAnsi.ts     |    3.92 |      100 |       0 |    3.92 | 19-77             
  ...dProcessor.ts |   94.77 |    70.58 |     100 |   94.77 | ...75-276,281-282 
  ...dProcessor.ts |   77.83 |    64.28 |   66.66 |   77.83 | ...24,648,667-671 
  ...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.09 |     100 |   92.77 | ...86-187,220-223 
  ...ifications.ts |     100 |      100 |     100 |     100 |                   
  ...tIndicator.ts |     100 |    93.75 |     100 |     100 | 60                
  ...ketedPaste.ts |    23.8 |      100 |       0 |    23.8 | 19-37             
  ...lanUpdates.ts |     100 |       90 |     100 |     100 | 58,129            
  ...ompletion.tsx |   94.87 |    80.55 |     100 |   94.87 | ...99-200,202-203 
  ...dMigration.ts |   90.62 |       75 |     100 |   90.62 | 38-40             
  useCompletion.ts |    92.4 |     87.5 |     100 |    92.4 | 68-69,93-94,98-99 
  ...ialogClose.ts |      25 |      100 |     100 |      25 | 62-99             
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  ...ionUpdates.ts |   93.45 |     92.3 |     100 |   93.45 | ...83-287,300-306 
  ...backDialog.ts |   50.37 |    77.77 |   33.33 |   50.37 | ...58-174,195-196 
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |     100 |      100 |     100 |     100 |                   
  ...miniStream.ts |   76.09 |    73.68 |      80 |   76.09 | ...1321,1362-1463 
  ...BranchName.ts |    90.9 |     92.3 |     100 |    90.9 | 19-20,55-58       
  ...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 | 69                
  useKeypress.ts   |     100 |      100 |     100 |     100 |                   
  ...rdProtocol.ts |   36.36 |      100 |       0 |   36.36 | 24-31             
  ...unchEditor.ts |    8.97 |      100 |       0 |    8.97 | 20-67,74-125      
  ...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 |   84.48 |    76.47 |     100 |   84.48 | ...47,50-51,67-69 
  useQwenAuth.ts   |     100 |      100 |     100 |     100 |                   
  ...lScheduler.ts |   85.13 |    94.73 |     100 |   85.13 | ...05-208,296-306 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  ...umeCommand.ts |   95.45 |    83.33 |     100 |   95.45 | 55-56             
  ...ompletion.tsx |   90.59 |    83.33 |     100 |   90.59 | ...01,104,137-140 
  ...ectionList.ts |   96.21 |    93.67 |     100 |   96.21 | ...61-162,208-211 
  ...sionPicker.ts |   91.66 |    72.34 |     100 |   91.66 | ...45-246,250-251 
  ...ngsCommand.ts |   18.75 |      100 |       0 |   18.75 | 10-25             
  ...ellHistory.ts |   91.74 |    79.41 |     100 |   91.74 | ...74,122-123,133 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-73              
  ...Completion.ts |   80.97 |     84.4 |   91.66 |   80.97 | ...69-471,479-487 
  ...tateAndRef.ts |     100 |      100 |     100 |     100 |                   
  ...eateDialog.ts |   88.23 |      100 |     100 |   88.23 | 14,18             
  ...rminalSize.ts |   76.19 |      100 |      50 |   76.19 | 21-25             
  ...emeCommand.ts |    8.04 |      100 |       0 |    8.04 | 25-112            
  useTimer.ts      |   88.09 |    85.71 |     100 |   88.09 | 44-45,51-53       
  ...lMigration.ts |       0 |        0 |       0 |       0 |                   
  ...elcomeBack.ts |   69.44 |    54.54 |     100 |   69.44 | ...85,89-90,96-98 
  vim.ts           |   83.54 |     79.5 |     100 |   83.54 | ...44,748-756,765 
 src/ui/layouts    |   89.28 |       80 |     100 |   89.28 |                   
  ...AppLayout.tsx |     100 |      100 |     100 |     100 |                   
  ...AppLayout.tsx |   79.31 |       50 |     100 |   79.31 | 28-33             
 src/ui/models     |   80.24 |    79.16 |   71.42 |   80.24 |                   
  ...ableModels.ts |   80.24 |    79.16 |   71.42 |   80.24 | ...,61-71,123-125 
 ...noninteractive |     100 |      100 |    9.09 |     100 |                   
  ...eractiveUi.ts |     100 |      100 |    9.09 |     100 |                   
 src/ui/state      |   94.91 |    81.81 |     100 |   94.91 |                   
  extensions.ts    |   94.91 |    81.81 |     100 |   94.91 | 68-69,88          
 src/ui/themes     |   98.99 |    59.06 |     100 |   98.99 |                   
  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 |   87.08 |    79.68 |     100 |   87.08 | ...03-312,317-318 
  theme.ts         |     100 |    29.41 |     100 |     100 | 270-458           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |   67.97 |    83.05 |   79.22 |   67.97 |                   
  ...Colorizer.tsx |   82.43 |    88.23 |     100 |   82.43 | ...10-111,193-219 
  ...nRenderer.tsx |   59.31 |    38.23 |     100 |   59.31 | ...33-139,149-151 
  ...wnDisplay.tsx |   85.75 |    88.05 |     100 |   85.75 | ...76-284,317-342 
  ...eRenderer.tsx |   77.88 |    76.19 |     100 |   77.88 | 54-82             
  ...boardUtils.ts |   59.61 |    58.82 |     100 |   59.61 | ...,86-88,107-149 
  commandUtils.ts  |   93.27 |    88.37 |     100 |   93.27 | ...32,136,138-139 
  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 |   60.25 |    67.69 |      90 |   60.25 | ...36,384,389-411 
  ...ickerUtils.ts |     100 |      100 |     100 |     100 |                   
  terminalSetup.ts |    4.37 |      100 |       0 |    4.37 | 44-393            
  textUtils.ts     |   96.52 |    94.44 |    87.5 |   96.52 | 19-20,148-149     
  updateCheck.ts   |     100 |    80.95 |     100 |     100 | 30-42             
 ...i/utils/export |    3.89 |        0 |       0 |    3.89 |                   
  collect.ts       |     2.1 |      100 |       0 |     2.1 | 19-266            
  index.ts         |     100 |      100 |     100 |     100 |                   
  normalize.ts     |    1.28 |      100 |       0 |    1.28 | 17-324            
  types.ts         |       0 |        0 |       0 |       0 | 1                 
  utils.ts         |      40 |      100 |       0 |      40 | 11-13             
 ...ort/formatters |    4.82 |      100 |       0 |    4.82 |                   
  html.ts          |    9.61 |      100 |       0 |    9.61 | ...28,34-75,81-83 
  json.ts          |      50 |      100 |       0 |      50 | 14-15             
  jsonl.ts         |   13.33 |      100 |       0 |   13.33 | 14-31             
  markdown.ts      |    1.27 |      100 |       0 |    1.27 | 13-225            
 src/utils         |   68.58 |    90.55 |   93.47 |   68.58 |                   
  acpModelUtils.ts |     100 |      100 |     100 |     100 |                   
  ...tification.ts |   92.59 |    71.42 |     100 |   92.59 | 36-37             
  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 |    93.75 |     100 |     100 | 30                
  deepMerge.ts     |     100 |    89.65 |     100 |     100 | 41-43,49          
  ...ScopeUtils.ts |   97.56 |    88.88 |     100 |   97.56 | 67                
  ...arResolver.ts |   94.28 |    88.46 |     100 |   94.28 | 28-29,125-126     
  errors.ts        |   98.27 |       95 |     100 |   98.27 | 44-45             
  events.ts        |     100 |      100 |     100 |     100 |                   
  gitUtils.ts      |   91.91 |    84.61 |     100 |   91.91 | 78-81,124-127     
  ...AutoUpdate.ts |    51.2 |       90 |      50 |    51.2 | 87-152            
  ...lationInfo.ts |     100 |      100 |     100 |     100 |                   
  languageUtils.ts |   97.87 |    96.42 |     100 |   97.87 | 131-132           
  math.ts          |       0 |        0 |       0 |       0 | 1-15              
  ...onfigUtils.ts |     100 |      100 |     100 |     100 |                   
  ...iveHelpers.ts |   96.84 |    93.28 |     100 |   96.84 | ...87-488,586,599 
  package.ts       |   88.88 |       80 |     100 |   88.88 | 33-34             
  processUtils.ts  |     100 |      100 |     100 |     100 |                   
  readStdin.ts     |   79.62 |       90 |      80 |   79.62 | 33-40,52-54       
  relaunch.ts      |   98.07 |    76.92 |     100 |   98.07 | 70                
  resolvePath.ts   |   66.66 |       25 |     100 |   66.66 | 12-13,16,18-19    
  sandbox.ts       |       0 |        0 |       0 |       0 | 1-984             
  settingsUtils.ts |   85.31 |    93.63 |   93.93 |   85.31 | ...94,525,588-600 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  stdioHelpers.ts  |     100 |       60 |     100 |     100 | 23,32             
  systemInfo.ts    |   98.94 |    90.32 |     100 |   98.94 | 168               
  ...InfoFields.ts |   91.11 |    64.51 |     100 |   91.11 | ...,80-81,116-117 
  ...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          |   73.93 |    81.85 |   78.38 |   73.93 |                   
 src               |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |       0 |        0 |       0 |       0 |                   
  promises.ts      |       0 |        0 |       0 |       0 | 1-48              
 src/config        |   73.92 |    77.99 |   55.55 |   73.92 |                   
  config.ts        |   72.74 |    76.47 |   52.63 |   72.74 | ...1729,1732-1733 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  models.ts        |     100 |      100 |     100 |     100 |                   
  storage.ts       |    82.3 |     90.9 |   68.96 |    82.3 | ...37-138,141-142 
 src/core          |   83.97 |    82.06 |    87.2 |   83.97 |                   
  baseLlmClient.ts |     100 |    96.42 |     100 |     100 | 115               
  client.ts        |   82.85 |    78.76 |      75 |   82.85 | ...42,585,611-627 
  ...tGenerator.ts |    72.1 |    61.11 |     100 |    72.1 | ...27,329,336-339 
  ...lScheduler.ts |   78.74 |    80.78 |   89.65 |   78.74 | ...1305,1347-1351 
  geminiChat.ts    |   87.22 |    84.32 |   84.61 |   87.22 | ...98-609,641-644 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   82.25 |    81.81 |     100 |   82.25 | ...57-361,407-421 
  ...olExecutor.ts |   92.59 |       75 |      50 |   92.59 | 41-42             
  prompts.ts       |   89.07 |     87.3 |   77.77 |   89.07 | ...-803,1060-1061 
  tokenLimits.ts   |     100 |    86.66 |     100 |     100 | 41-42             
  turn.ts          |      96 |    88.23 |     100 |      96 | ...37,350-351,399 
 ...ntentGenerator |   93.93 |    72.31 |    90.9 |   93.93 |                   
  ...tGenerator.ts |   96.54 |    71.69 |   86.66 |   96.54 | ...77-278,412,468 
  converter.ts     |   93.47 |    73.33 |     100 |   93.47 | ...86-487,497,557 
  index.ts         |       0 |        0 |       0 |       0 | 1-21              
 ...ntentGenerator |   91.37 |    70.31 |   93.33 |   91.37 |                   
  ...tGenerator.ts |      90 |    70.49 |   92.85 |      90 | ...77-283,301-302 
  index.ts         |     100 |    66.66 |     100 |     100 | 45                
 ...ntentGenerator |   89.92 |    69.07 |      85 |   89.92 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...tGenerator.ts |   89.87 |    69.07 |      85 |   89.87 | ...73-474,502,510 
 ...ntentGenerator |   73.62 |    82.92 |   91.04 |   73.62 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  converter.ts     |   66.81 |     76.6 |      88 |   66.81 | ...1241,1262-1271 
  errorHandler.ts  |     100 |      100 |     100 |     100 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-94              
  ...tGenerator.ts |   48.78 |    91.66 |   77.77 |   48.78 | ...10-163,166-167 
  pipeline.ts      |   97.58 |    89.04 |     100 |   97.58 | ...41,376-377,385 
  ...CallParser.ts |   90.14 |    86.66 |     100 |   90.14 | ...15-319,349-350 
 ...rator/provider |   95.11 |    88.57 |   90.62 |   95.11 |                   
  dashscope.ts     |   96.66 |       90 |   93.75 |   96.66 | ...19-220,296-297 
  deepseek.ts      |   84.37 |    70.58 |      75 |   84.37 | ...41,54-55,82-85 
  default.ts       |   96.66 |      100 |   83.33 |   96.66 | 76-77             
  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/extension     |   57.57 |     84.3 |    76.1 |   57.57 |                   
  ...-converter.ts |   46.75 |    53.24 |      70 |   46.75 | ...20-721,730-762 
  ...ionManager.ts |   43.84 |    86.79 |   64.28 |   43.84 | ...1216,1237-1242 
  ...onSettings.ts |   93.46 |    93.05 |     100 |   93.46 | ...17-221,228-232 
  ...-converter.ts |   59.01 |      100 |      60 |   59.01 | 70-109,143-177    
  github.ts        |   43.83 |    88.88 |      60 |   43.83 | ...40-346,385-438 
  index.ts         |     100 |      100 |     100 |     100 |                   
  marketplace.ts   |   97.19 |    93.47 |     100 |   97.19 | ...63,183-184,266 
  override.ts      |   94.11 |    88.88 |     100 |   94.11 | 63-64,81-82       
  settings.ts      |   66.26 |      100 |      50 |   66.26 | 81-108,143-149    
  storage.ts       |   94.73 |       90 |     100 |   94.73 | 41-42             
  ...ableSchema.ts |     100 |      100 |     100 |     100 |                   
  variables.ts     |   95.91 |    89.47 |     100 |   95.91 | 37-38             
 src/generated     |       0 |        0 |       0 |       0 |                   
  git-commit.ts    |       0 |        0 |       0 |       0 | 1-10              
 src/ide           |   68.55 |    82.47 |   74.07 |   68.55 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  detect-ide.ts    |     100 |      100 |     100 |     100 |                   
  ide-client.ts    |   51.94 |    77.63 |   57.57 |   51.94 | ...10-818,844-852 
  ide-installer.ts |   89.06 |    79.31 |     100 |   89.06 | ...36,143-147,160 
  ideContext.ts    |     100 |      100 |     100 |     100 |                   
  process-utils.ts |   84.84 |    71.79 |     100 |   84.84 | ...37,151,193-194 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/lsp           |   23.15 |    42.97 |   33.91 |   23.15 |                   
  ...nfigLoader.ts |   63.43 |    32.09 |     100 |   63.43 | ...86-488,492-498 
  ...ionFactory.ts |    4.29 |      100 |       0 |    4.29 | ...20-371,377-394 
  ...geDetector.ts |   76.31 |    46.66 |   66.66 |   76.31 | ...10-215,224-225 
  ...Normalizer.ts |    4.03 |      100 |       0 |    4.03 | ...48-856,862-916 
  ...verManager.ts |   10.03 |       75 |      25 |   10.03 | ...64-683,689-719 
  ...eLspClient.ts |   17.89 |      100 |       0 |   17.89 | ...37-244,254-258 
  ...LspService.ts |   19.63 |    76.47 |   39.13 |   19.63 | ...26-880,883-893 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mcp           |   79.01 |    75.71 |   75.92 |   79.01 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...h-provider.ts |   86.95 |      100 |   33.33 |   86.95 | ...,93,97,101-102 
  ...h-provider.ts |   73.59 |    54.16 |     100 |   73.59 | ...15-822,829-831 
  ...en-storage.ts |   98.62 |    97.72 |     100 |   98.62 | 87-88             
  oauth-utils.ts   |   71.49 |    83.87 |    90.9 |   71.49 | ...64-284,309-332 
  ...n-provider.ts |   89.83 |    95.83 |   45.45 |   89.83 | ...43,147,151-152 
 .../token-storage |   79.48 |    86.66 |   86.36 |   79.48 |                   
  ...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 |   68.14 |    82.35 |   64.28 |   68.14 | ...81-295,298-314 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mocks         |       0 |        0 |       0 |       0 |                   
  msw.ts           |       0 |        0 |       0 |       0 | 1-9               
 src/models        |   88.17 |    82.51 |   87.69 |   88.17 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...nfigErrors.ts |   74.22 |       44 |   84.61 |   74.22 | ...,67-74,106-117 
  ...igResolver.ts |    97.5 |    86.44 |     100 |    97.5 | ...95,301,316-317 
  modelRegistry.ts |     100 |    98.21 |     100 |     100 | 175               
  modelsConfig.ts  |   83.41 |    81.37 |   83.78 |   83.41 | ...1147,1176-1177 
  types.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       |   29.09 |      100 |      25 |   29.09 |                   
  mcp-prompts.ts   |   18.18 |      100 |       0 |   18.18 | 11-19             
  ...t-registry.ts |   31.81 |      100 |   28.57 |   31.81 | ...45,51-58,71-76 
 src/qwen          |   85.87 |    79.93 |   97.18 |   85.87 |                   
  ...tGenerator.ts |   98.64 |    98.18 |     100 |   98.64 | 105-106           
  qwenOAuth2.ts    |   84.74 |    75.78 |   93.33 |   84.74 | ...4,963-979,1009 
  ...kenManager.ts |   83.67 |    76.03 |     100 |   83.67 | ...59-764,785-790 
 src/services      |   83.33 |    81.43 |   82.65 |   83.33 |                   
  ...ionService.ts |   93.21 |     90.9 |     100 |   93.21 | ...44,176,178-182 
  ...ingService.ts |   68.94 |       50 |   85.71 |   68.94 | ...17-429,445-446 
  ...eryService.ts |   80.43 |    95.45 |      75 |   80.43 | ...19-134,140-141 
  ...temService.ts |   86.88 |       95 |      80 |   86.88 | 145-152           
  gitService.ts    |   66.29 |     90.9 |   55.55 |   66.29 | ...03-113,116-120 
  ...ionService.ts |   97.68 |     92.4 |     100 |   97.68 | ...82-383,389-390 
  ...ionService.ts |   79.23 |    73.19 |   88.88 |   79.23 | ...53-674,682-706 
  ...ionService.ts |   82.18 |    78.63 |   73.91 |   82.18 | ...43-744,748-753 
 src/skills        |   76.57 |    80.46 |   79.31 |   76.57 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  skill-load.ts    |   90.97 |    78.37 |     100 |   90.97 | ...38,158,170-172 
  skill-manager.ts |    71.2 |    81.11 |      75 |    71.2 | ...30-638,641-650 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/subagents     |   81.52 |    79.06 |      85 |   81.52 |                   
  ...tin-agents.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...ent-events.ts |      92 |      100 |      75 |      92 | 139-140           
  ...gent-hooks.ts |       0 |        0 |       0 |       0 | 1                 
  ...nt-manager.ts |   72.97 |    75.83 |      88 |   72.97 | ...75-897,965-966 
  ...statistics.ts |   98.19 |     81.7 |     100 |   98.19 | 128,152,193,226   
  subagent.ts      |   78.01 |    67.64 |   73.07 |   78.01 | ...36-937,989-990 
  types.ts         |     100 |      100 |     100 |     100 |                   
  validation.ts    |    92.4 |    96.59 |     100 |    92.4 | 54-59,63-68,72-77 
 src/telemetry     |   70.12 |     83.9 |   74.13 |   70.12 |                   
  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       |   55.08 |    62.79 |   51.42 |   55.08 | ...04-919,922-948 
  metrics.ts       |   82.85 |    86.74 |   81.63 |   82.85 | ...24-725,731-749 
  sdk.ts           |   85.13 |    56.25 |     100 |   85.13 | ...78,184-185,191 
  ...etry-utils.ts |     100 |      100 |     100 |     100 |                   
  ...l-decision.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |   80.39 |    84.69 |   84.48 |   80.39 | ...86-797,806-829 
  uiTelemetry.ts   |   94.73 |    96.15 |   91.66 |   94.73 | 136,165-171       
 ...ry/qwen-logger |    72.1 |    78.82 |   69.23 |    72.1 |                   
  event-types.ts   |       0 |        0 |       0 |       0 |                   
  qwen-logger.ts   |    72.1 |    78.57 |   68.62 |    72.1 | ...33-937,975-976 
 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         |    73.8 |    79.22 |   83.22 |    73.8 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |   85.33 |    86.17 |   85.71 |   85.33 | ...77-478,567-607 
  exitPlanMode.ts  |    85.5 |    86.36 |     100 |    85.5 | ...06-111,139-151 
  glob.ts          |   95.77 |    86.53 |    90.9 |   95.77 | ...00,142,227,230 
  grep.ts          |   71.49 |    85.29 |   76.47 |   71.49 | ...25,465,473-480 
  ls.ts            |   96.44 |     88.7 |     100 |   96.44 | 145-150,181,185   
  lsp.ts           |   72.58 |    60.29 |   90.32 |   72.58 | ...1202,1204-1205 
  ...nt-manager.ts |   71.26 |    57.57 |   71.42 |   71.26 | ...97-198,201-238 
  mcp-client.ts    |   29.24 |    69.44 |   46.87 |   29.24 | ...1416,1420-1423 
  mcp-tool.ts      |   91.05 |    88.04 |   95.83 |   91.05 | ...91,424,481-482 
  memoryTool.ts    |   74.55 |    83.87 |   90.47 |   74.55 | ...42-350,452-536 
  ...iable-tool.ts |     100 |    84.61 |     100 |     100 | 102,109           
  read-file.ts     |   96.42 |    86.84 |    87.5 |   96.42 | 66,68,70-71,77-78 
  ripGrep.ts       |   95.65 |    88.67 |     100 |   95.65 | ...26,229,307-308 
  ...-transport.ts |    6.34 |      100 |       0 |    6.34 | 47-145            
  shell.ts         |   87.28 |    82.35 |     100 |   87.28 | ...79-586,591-592 
  skill.ts         |   95.93 |    88.88 |     100 |   95.93 | 61-62,227-230,234 
  task.ts          |   66.84 |     87.5 |     100 |   66.84 | ...07-508,529-536 
  todoWrite.ts     |   78.94 |    80.95 |   71.42 |   78.94 | ...98-423,444-445 
  tool-error.ts    |     100 |      100 |     100 |     100 |                   
  tool-names.ts    |     100 |      100 |     100 |     100 |                   
  tool-registry.ts |   67.79 |    65.38 |   65.51 |   67.79 | ...80-489,496-502 
  tools.ts         |    89.2 |    89.58 |    87.5 |    89.2 | ...74-375,391-397 
  web-fetch.ts     |   85.86 |       64 |    90.9 |   85.86 | ...43-244,246-247 
  write-file.ts    |   83.88 |    84.12 |      75 |   83.88 | ...33-436,448-482 
 ...ols/web-search |   71.89 |    76.59 |   81.25 |   71.89 |                   
  base-provider.ts |    40.9 |    33.33 |     100 |    40.9 | 40-43,48-56       
  index.ts         |   76.19 |    84.61 |   91.66 |   76.19 | ...54-158,264-274 
  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.76 |    88.64 |   87.86 |   84.76 |                   
  LruCache.ts      |       0 |        0 |       0 |       0 | 1-41              
  browser.ts       |    7.69 |      100 |       0 |    7.69 | 17-56             
  ...igResolver.ts |     100 |      100 |     100 |     100 |                   
  debugLogger.ts   |   95.32 |    92.85 |   93.33 |   95.32 | 137-141           
  editHelper.ts    |   92.67 |    82.14 |     100 |   92.67 | ...52-454,463-464 
  editor.ts        |   96.98 |    93.87 |     100 |   96.98 | ...93-194,196-197 
  ...arResolver.ts |   94.28 |    88.88 |     100 |   94.28 | 28-29,125-126     
  ...entContext.ts |     100 |     92.3 |     100 |     100 | 81                
  errorParsing.ts  |     100 |      100 |     100 |     100 |                   
  ...rReporting.ts |   88.46 |       90 |     100 |   88.46 | 69-74             
  errors.ts        |   61.45 |    88.88 |   46.15 |   61.45 | ...08-124,128-134 
  fetch.ts         |   71.97 |    71.42 |   71.42 |   71.97 | ...38,144,157,182 
  fileUtils.ts     |    94.8 |    89.13 |     100 |    94.8 | ...30-432,481-487 
  formatters.ts    |   54.54 |       50 |     100 |   54.54 | 12-16             
  ...eUtilities.ts |   89.21 |    86.66 |     100 |   89.21 | 16-17,49-55,65-66 
  ...rStructure.ts |   94.36 |    94.28 |     100 |   94.36 | ...17-120,330-335 
  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 | 26                
  jsonl-utils.ts   |    8.87 |      100 |       0 |    8.87 | ...51-184,190-196 
  ...-detection.ts |     100 |      100 |     100 |     100 |                   
  ...yDiscovery.ts |   82.97 |    76.08 |     100 |   82.97 | ...75,292-293,296 
  ...tProcessor.ts |   92.57 |    88.46 |     100 |   92.57 | ...96-302,384-385 
  ...Inspectors.ts |   61.53 |      100 |      50 |   61.53 | 18-23             
  ...kerChecker.ts |   84.04 |    78.94 |     100 |   84.04 | 68-69,79-84,92-98 
  openaiLogger.ts  |   86.13 |    81.48 |     100 |   86.13 | ...01-103,126-131 
  partUtils.ts     |     100 |      100 |     100 |     100 |                   
  pathReader.ts    |     100 |      100 |     100 |     100 |                   
  paths.ts         |   95.37 |    95.38 |     100 |   95.37 | ...,70-71,103-104 
  ...ectSummary.ts |    3.75 |      100 |       0 |    3.75 | 27-119            
  ...tIdContext.ts |     100 |      100 |     100 |     100 |                   
  ...rDetection.ts |   60.25 |    75.86 |     100 |   60.25 | ...95-100,125-126 
  ...noreParser.ts |   85.45 |    81.48 |     100 |   85.45 | ...59,65-66,72-73 
  rateLimit.ts     |   88.23 |       80 |     100 |   88.23 | 57,68-70          
  readManyFiles.ts |   85.95 |    85.71 |     100 |   85.95 | ...80-182,198-209 
  retry.ts         |   72.22 |    82.69 |     100 |   72.22 | ...15,233,240-241 
  ripgrepUtils.ts  |   46.53 |    83.33 |   66.66 |   46.53 | ...32-233,245-322 
  ...tchOptions.ts |   55.88 |       50 |      75 |   55.88 | ...29-130,151-152 
  safeJsonParse.ts |   74.07 |    83.33 |     100 |   74.07 | 40-46             
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aConverter.ts |   90.78 |    87.87 |     100 |   90.78 | ...41-42,93,95-96 
  ...aValidator.ts |     100 |    82.85 |     100 |     100 | 16-40,94-95,126   
  ...r-launcher.ts |   76.52 |     87.5 |   66.66 |   76.52 | ...33,135,153-191 
  shell-utils.ts   |   86.82 |    90.98 |     100 |   86.82 | ...61-862,869-873 
  ...nlyChecker.ts |   85.15 |    85.71 |   81.81 |   85.15 | ...07-308,312-313 
  ...tGenerator.ts |     100 |     90.9 |     100 |     100 | 129               
  summarizer.ts    |     100 |    88.88 |     100 |     100 | 94                
  ...emEncoding.ts |   98.14 |    94.59 |     100 |   98.14 | 118-119           
  ...Serializer.ts |   99.06 |    94.54 |     100 |   99.06 | 90,147-149        
  testUtils.ts     |   53.33 |      100 |   33.33 |   53.33 | ...53,59-64,70-72 
  textUtils.ts     |   53.33 |      100 |      50 |   53.33 | 36-55             
  thoughtUtils.ts  |     100 |     92.3 |     100 |     100 | 71                
  ...-converter.ts |   94.59 |    85.71 |     100 |   94.59 | 35-36             
  tool-utils.ts    |    93.6 |       92 |     100 |    93.6 | ...58-159,162-163 
  ...aceContext.ts |   96.87 |       95 |    92.3 |   96.87 | 97-98,112-113     
  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 | ...30-231,233-234 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |     92.3 |     100 |     100 | 46                
 ...uest-tokenizer |   56.63 |    74.52 |   74.19 |   56.63 |                   
  ...eTokenizer.ts |   41.86 |    76.47 |   69.23 |   41.86 | ...70-443,453-507 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...tTokenizer.ts |   68.39 |    69.49 |    90.9 |   68.39 | ...24-325,327-328 
  ...ageFormats.ts |      76 |      100 |   33.33 |      76 | 45-48,55-56       
  textTokenizer.ts |     100 |      100 |     100 |     100 |                   
  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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants