Skip to content

Fix ACP model selection to handle all configured authentication types - #1555

Merged
tanzhenxin merged 6 commits into
mainfrom
mingholy/fix/acp-model-list
Feb 5, 2026
Merged

tanzhenxin merged 6 commits into
mainfrom
mingholy/fix/acp-model-list

Conversation

@Mingholy

@Mingholy Mingholy commented Jan 20, 2026 •

Copy link
Copy Markdown
Collaborator

TLDR

This pull request updates the model selection system to properly handle authentication types (authType) when configuring and displaying available models. It introduces new utility functions to format and parse model IDs with their associated authentication types, and modifies the model selection process to work with these combined identifiers.

Note:
Switching model/authType via ACP won't modify settings.json.
However, a failure of authentication when initializing ACP connection between IDE client and qwen-code agent server will clear settings.security.auth.selectedType, making a new qwen session fall back to auth dialog.

Dive Deeper

The changes address how models are stored, retrieved, and displayed in the application, particularly in relation to their authentication types. Key modifications include:

  1. Added new utility functions (formatAcpModelId, parseAcpBaseModelId, parseAcpModelOption) in packages/cli/src/utils/acpModelUtils.ts to properly format model IDs with their authentication types in the format ${modelId}(${authType}).

  2. Updated the acpAgent.ts to use these new utilities when building available models, ensuring that model IDs include their authentication type information.

  3. Modified the Session class to use the new switchModel method instead of setModel, properly parsing the model ID and authentication type from the request.

  4. Updated the ModelDialog component to use getAllConfiguredModels() instead of the previous approach, which groups models by authentication type and orders them consistently.

  5. Enhanced the core ModelsConfig class with a new getAllConfiguredModels() method that retrieves all configured models across authentication types, with qwen-oauth models prioritized first.

  6. Updated tests across multiple files to reflect the new model identification and selection approach, ensuring proper handling of authentication types.

Reviewer Test Plan

  1. Pull the branch and run npm install to ensure all dependencies are up to date.
  2. Run the test suite with npm test to verify all tests pass: vitest --run
  3. Specifically run the affected test files:
    • vitest --run --src cli/src/acp-integration/session/Session.test.ts
    • vitest --run --src cli/src/ui/components/ModelDialog.test.tsx
    • vitest --run --src cli/src/utils/acpModelUtils.test.ts
    • vitest --run --src core/src/models/modelsConfig.test.ts
  4. Test the model selection UI to ensure models are properly grouped by authentication type and display correctly.
  5. Verify that switching between models with different authentication types works as expected.
  6. Check that the ACP integration properly handles model IDs with authentication type information.

Testing Matrix

Tested with Zed.

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

Linked issues / bugs

@github-actions

Copy link
Copy Markdown
Contributor

📋 Review Summary

This PR addresses model selection to properly handle authentication types when configuring and displaying available models. The changes introduce new utility functions to format and parse model IDs with their associated authentication types, and modify the model selection process to work with these combined identifiers. Overall, the changes improve the consistency of how models are handled across different authentication types.

🔍 General Feedback

  • The introduction of acpModelUtils.ts with functions like formatAcpModelId, parseAcpBaseModelId, and parseAcpModelOption provides a clean way to handle model IDs with authentication types.
  • The change from using setModel to switchModel in the Session class is a good improvement for handling authType changes properly.
  • Tests have been appropriately updated to reflect the new model identification and selection approach.
  • The ordering of models with qwen-oauth prioritized first is a thoughtful addition for user experience.

🎯 Specific Feedback

🟡 High

  • File: packages/cli/src/acp-integration/session/Session.ts:378 - The logic for determining selectedAuthType could potentially lead to unexpected behavior if getAuthType() returns undefined and no authType is provided in the parsed model option. Consider adding more explicit error handling or default behavior in this case.
  • File: packages/cli/src/acp-integration/acpAgent.ts:397 - The conditional logic for formatting the current model ID could be simplified by extracting it to a helper function for better readability and maintainability.

🟢 Medium

  • File: packages/cli/src/utils/acpModelUtils.ts:33 - The parseAcpModelOption function uses zod for validation but falls back to returning just the modelId if the authType is invalid. Consider if it would be better to throw an error in this case to prevent silent failures.
  • File: packages/core/src/models/modelsConfig.ts:221 - The logic to ensure qwen-oauth models appear first is well implemented, but consider adding a comment explaining why this ordering is important for user experience.

🔵 Low

  • File: packages/cli/src/acp-integration/acpAgent.ts:422 - Using baseCurrentModelId for token limit calculation is correct, but consider adding a comment explaining why the base model ID is used instead of the formatted one.
  • File: packages/cli/src/utils/acpModelUtils.ts:1 - The new utility file is well-structured, but consider adding JSDoc comments to explain the expected format of model IDs with authentication types for better developer experience.

✅ Highlights

  • Great addition of comprehensive tests for the new utility functions in acpModelUtils.test.ts.
  • The change to use getAllConfiguredModels() in the ModelDialog component improves how models are grouped and displayed by authentication type.
  • The consistent ordering of models with qwen-oauth prioritized enhances user experience by putting the most commonly used models first.

@github-actions

github-actions Bot commented Jan 20, 2026 •

Copy link
Copy Markdown
Contributor

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 61.36% 61.36% 69.98% 80.3%
Core 73.71% 73.71% 78.05% 81.81%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   61.36 |     80.3 |   69.98 |   61.36 |                   
 src               |   76.27 |    66.06 |   68.42 |   76.27 |                   
  gemini.tsx       |   63.43 |    61.81 |      75 |   63.43 | ...78,483-491,499 
  ...ractiveCli.ts |   82.77 |    62.74 |   33.33 |   82.77 | ...23,332-337,356 
  ...liCommands.ts |   83.18 |    69.04 |     100 |   83.18 | ...07,242,244,367 
  ...ActiveAuth.ts |   94.02 |    82.35 |     100 |   94.02 | 26-29             
 ...cp-integration |   43.38 |       50 |   18.75 |   43.38 |                   
  acp.ts           |   12.57 |       60 |   27.27 |   12.57 | ...05-414,417-424 
  acpAgent.ts      |    3.37 |        0 |       0 |    3.37 | 38-57,60-459      
  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 |   75.34 |    78.57 |      60 |   75.34 |                   
  filesystem.ts    |   75.34 |    78.57 |      60 |   75.34 | 39,54,58-74,97-98 
 ...ration/session |   47.12 |    60.74 |   68.29 |   47.12 |                   
  ...ryReplayer.ts |   73.91 |    79.41 |      90 |   73.91 | ...03-204,212-213 
  Session.ts       |   33.17 |    42.37 |      50 |   33.17 | ...1065,1086-1154 
  ...entTracker.ts |   81.34 |       75 |    90.9 |   81.34 | ...68-375,378-379 
  index.ts         |       0 |        0 |       0 |       0 | 1-40              
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 ...ssion/emitters |   97.11 |    94.84 |   91.66 |   97.11 |                   
  BaseEmitter.ts   |   84.61 |      100 |      75 |   84.61 | 35-36             
  ...ageEmitter.ts |     100 |      100 |     100 |     100 |                   
  PlanEmitter.ts   |     100 |      100 |     100 |     100 |                   
  ...allEmitter.ts |   98.94 |    92.98 |     100 |   98.94 | 308,316           
  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.16 |    91.27 |   81.81 |   85.16 |                   
  consent.ts       |    71.5 |    89.28 |   42.85 |    71.5 | ...84-140,155-161 
  disable.ts       |     100 |      100 |     100 |     100 |                   
  enable.ts        |     100 |      100 |     100 |     100 |                   
  install.ts       |   81.55 |    83.33 |   66.66 |   81.55 | ...16-119,122-129 
  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 | 150               
  uninstall.ts     |   36.36 |      100 |   33.33 |   36.36 | 22-44,56-63,66-69 
  update.ts        |   96.24 |      100 |     100 |   96.24 | 98-102            
  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.19 |     86.2 |    90.9 |   97.19 |                   
  add.ts           |     100 |    96.15 |     100 |     100 | 210               
  list.ts          |   91.15 |    80.76 |      80 |   91.15 | ...18-120,145-146 
  remove.ts        |     100 |    66.66 |     100 |     100 | 19-23             
 src/config        |   89.59 |    80.68 |   81.69 |   89.59 |                   
  auth.ts          |   86.92 |    78.84 |     100 |   86.92 | ...98-199,215-216 
  config.ts        |   90.32 |     85.3 |      70 |   90.32 | ...-937,1057-1058 
  keyBindings.ts   |     100 |      100 |     100 |     100 |                   
  ...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      |    80.9 |    78.28 |   78.57 |    80.9 | ...1158,1161-1184 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...tedFolders.ts |   96.87 |       94 |     100 |   96.87 | ...87-188,203-204 
  webSearch.ts     |    40.9 |    11.11 |     100 |    40.9 | ...95-102,105-121 
 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          |   42.91 |    71.42 |   38.88 |   42.91 |                   
  index.ts         |   25.27 |    69.23 |   26.66 |   25.27 | ...38-239,249-260 
  languages.ts     |   98.27 |       75 |     100 |   98.27 | 88                
 src/i18n/locales  |       0 |        0 |       0 |       0 |                   
  de.js            |       0 |        0 |       0 |       0 | 1-1378            
  en.js            |       0 |        0 |       0 |       0 | 1-1369            
  ja.js            |       0 |        0 |       0 |       0 | 1-888             
  pt.js            |       0 |        0 |       0 |       0 | 1-1392            
  ru.js            |       0 |        0 |       0 |       0 | 1-1382            
  zh.js            |       0 |        0 |       0 |       0 | 1-1205            
 ...nonInteractive |   63.42 |     65.6 |   68.88 |   63.42 |                   
  session.ts       |   66.87 |    63.24 |   81.81 |   66.87 | ...43-644,658-668 
  types.ts         |    42.5 |      100 |   33.33 |    42.5 | ...63-564,567-568 
 ...active/control |   75.65 |    87.03 |   78.94 |   75.65 |                   
  ...rolContext.ts |    7.69 |        0 |       0 |    7.69 | 47-79             
  ...Dispatcher.ts |   89.32 |    90.38 |   88.23 |   89.32 | ...50-370,385,388 
  ...rolService.ts |       8 |        0 |       0 |       8 | 46-179            
 ...ol/controllers |    6.59 |       80 |   13.79 |    6.59 |                   
  ...Controller.ts |   16.66 |      100 |      60 |   16.66 | 77-114,123-210    
  ...Controller.ts |       0 |        0 |       0 |       0 | 1-56              
  ...Controller.ts |    3.92 |      100 |   11.11 |    3.92 | ...63-381,391-498 
  ...Controller.ts |   13.23 |      100 |       0 |   13.23 | ...82-121,134-137 
  ...Controller.ts |    4.95 |      100 |       0 |    4.95 | ...94-406,415-442 
 .../control/types |       0 |        0 |       0 |       0 |                   
  serviceAPIs.ts   |       0 |        0 |       0 |       0 | 1                 
 ...Interactive/io |   97.13 |    91.88 |   95.94 |   97.13 |                   
  ...putAdapter.ts |    97.3 |    91.52 |     100 |    97.3 | ...1246,1271-1272 
  ...putAdapter.ts |   96.15 |    91.66 |   85.71 |   96.15 | 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      |   87.78 |       85 |   95.83 |   87.78 |                   
  ...mandLoader.ts |     100 |    77.77 |     100 |     100 | 84                
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |   87.44 |    81.48 |     100 |   87.44 | ...16-321,326-331 
  ...omptLoader.ts |    75.1 |    80.64 |   83.33 |    75.1 | ...03-204,270-271 
  ...nd-factory.ts |   91.01 |    93.33 |     100 |   91.01 | 116-123           
  ...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 |                   
 ...mpt-processors |   97.25 |    92.59 |     100 |   97.25 |                   
  ...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.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            |   66.51 |    74.35 |   55.26 |   66.51 |                   
  App.tsx          |     100 |      100 |     100 |     100 |                   
  AppContainer.tsx |    71.4 |    64.86 |      50 |    71.4 | ...1168,1182-1243 
  ...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        |   63.63 |      100 |   41.17 |   63.63 | ...52,54-55,60-61 
  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       |   29.13 |    72.72 |   42.85 |   29.13 |                   
  AuthDialog.tsx   |   86.66 |    76.19 |      60 |   86.66 | ...01-102,147-153 
  ...nProgress.tsx |       0 |        0 |       0 |       0 | 1-64              
  useAuth.ts       |    3.21 |      100 |       0 |    3.21 | 30-324            
 src/ui/commands   |   66.32 |    80.98 |   51.94 |   66.32 |                   
  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 |   64.13 |    57.89 |      50 |   64.13 | ...34-138,153-156 
  copyCommand.ts   |   96.22 |      100 |      50 |   96.22 | 15-16             
  ...ryCommand.tsx |   67.53 |    73.07 |      50 |   67.53 | ...75-176,184-192 
  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.45 |    82.89 |   47.82 |   75.45 | ...51-652,661-662 
  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 
  ...ageCommand.ts |   89.16 |    82.35 |   76.92 |   89.16 | ...17-320,342-343 
  mcpCommand.ts    |   37.54 |    80.95 |   22.22 |   37.54 | ...12-352,358-361 
  memoryCommand.ts |   70.47 |    77.14 |   33.33 |   70.47 | ...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 |    82.8 |    66.66 |      75 |    82.8 | ...57-160,163-166 
  skillsCommand.ts |    10.9 |      100 |       0 |    10.9 | ...86-102,105-132 
  statsCommand.ts  |   76.92 |       75 |      50 |   76.92 | ...36,50-51,65-66 
  ...aryCommand.ts |    4.74 |      100 |       0 |    4.74 | 21-24,27-314      
  ...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 |   70.22 |    74.81 |   67.74 |   70.22 |                   
  AboutBox.tsx     |     100 |      100 |     100 |     100 |                   
  AnsiOutput.tsx   |     100 |      100 |     100 |     100 |                   
  AppHeader.tsx    |     100 |       50 |     100 |     100 | 26,38             
  ...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     |   95.09 |    58.33 |     100 |   95.09 | 40,46,69,120,129  
  ...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 |   90.47 |       75 |     100 |   90.47 | 20-21             
  ...gProfiler.tsx |       0 |        0 |       0 |       0 | 1-36              
  ...esDisplay.tsx |   10.34 |      100 |       0 |   10.34 | 24-83             
  ...ogManager.tsx |   12.23 |      100 |       0 |   12.23 | 48-334            
  ...ngsDialog.tsx |    7.84 |      100 |       0 |    7.84 | 32-190            
  ExitWarning.tsx  |     100 |      100 |     100 |     100 |                   
  ...ustDialog.tsx |     100 |      100 |     100 |     100 |                   
  Footer.tsx       |   75.89 |    31.57 |     100 |   75.89 | ...,87-91,107-111 
  ...ngSpinner.tsx |   54.28 |       50 |      50 |   54.28 | 31-48,61          
  Header.tsx       |    82.3 |       60 |   66.66 |    82.3 | ...19,121,126-129 
  Help.tsx         |    98.7 |    68.75 |     100 |    98.7 | 74,129            
  ...emDisplay.tsx |   79.38 |    48.14 |     100 |   79.38 | ...67-171,174,177 
  ...ngeDialog.tsx |     100 |      100 |     100 |     100 |                   
  InputPrompt.tsx  |    88.1 |    82.46 |     100 |    88.1 | ...84,744-745,860 
  ...Shortcuts.tsx |   22.09 |      100 |       0 |   22.09 | ...1,44-46,62-120 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...firmation.tsx |   91.42 |      100 |      50 |   91.42 | 26-31             
  MainContent.tsx  |   16.39 |      100 |       0 |   16.39 | 22-76             
  ...geDisplay.tsx |       0 |        0 |       0 |       0 | 1-41              
  ModelDialog.tsx  |   75.66 |    44.59 |     100 |   75.66 | ...46-462,475-479 
  ...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             
  ...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.78 |    95.55 |     100 |   90.78 | 247-273           
  ...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.71 |    72.66 |     100 |   66.71 | ...70-778,784-785 
  ...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 |    6.97 |      100 |       0 |    6.97 | 20-128            
  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         |   56.66 |        0 |       0 |   56.66 | 21,26-39          
  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 |   78.16 |    80.25 |    60.6 |   78.16 |                   
  ...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             
  ...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  |   80.54 |       70 |      80 |   80.54 | ...77-382,456-458 
  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.19 |   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 |    81.96 |   88.88 |   81.62 | ...07-508,613-614 
  ...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.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 |    8.01 |      100 |       0 |    8.01 |                   
  ...ctionStep.tsx |   10.25 |      100 |       0 |   10.25 | 21-103            
  ...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 |    2.29 |      100 |       0 |    2.29 | 28-449            
  ...iewerStep.tsx |   15.21 |      100 |       0 |   15.21 | 18-66             
  ...gerDialog.tsx |    6.03 |      100 |       0 |    6.03 | 32-338            
 ...agents/runtime |    7.83 |      100 |       0 |    7.83 |                   
  ...onDisplay.tsx |    7.83 |      100 |       0 |    7.83 | ...72-502,511-549 
 ...mponents/views |   84.97 |    69.23 |      75 |   84.97 |                   
  ...sionsList.tsx |    87.3 |    73.68 |     100 |    87.3 | 62-69             
  McpStatus.tsx    |   87.34 |    60.52 |     100 |   87.34 | ...79,182-184,269 
  SkillsList.tsx   |   27.27 |      100 |       0 |   27.27 | 18-35             
  ToolsList.tsx    |     100 |      100 |     100 |     100 |                   
 src/ui/contexts   |   77.47 |    79.32 |    86.2 |   77.47 |                   
  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.88 |       50 |     100 |   88.88 | 83-84             
  ...teContext.tsx |   83.33 |       50 |     100 |   83.33 | 141-142           
  ...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.3 |    81.88 |   84.93 |    81.3 |                   
  ...dProcessor.ts |    79.3 |    73.07 |     100 |    79.3 | ...83,686,697-700 
  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 |   80.14 |    65.59 |      80 |   80.14 | ...29,584,603-609 
  ...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 |   93.87 |    66.66 |     100 |   93.87 | 44-46             
  ...ketedPaste.ts |    23.8 |      100 |       0 |    23.8 | 19-37             
  ...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 
  ...leMessages.ts |   98.68 |       95 |     100 |   98.68 | 55                
  ...ialogClose.ts |      25 |      100 |     100 |      25 | 57-94             
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  ...ionUpdates.ts |   93.45 |     92.3 |     100 |   93.45 | ...83-287,300-306 
  ...backDialog.ts |      50 |    77.77 |   33.33 |      50 | ...56-172,193-194 
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |     100 |      100 |     100 |     100 |                   
  ...miniStream.ts |   75.04 |    75.24 |      75 |   75.04 | ...1199,1232-1333 
  ...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 | 66                
  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.06 |    94.73 |     100 |   85.06 | ...00-203,291-301 
  ...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.18 |    93.67 |     100 |   96.18 | ...58-159,205-208 
  ...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.66 |    79.41 |     100 |   91.66 | ...69,117-118,128 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-76              
  ...Completion.ts |   80.88 |     84.4 |   91.66 |   80.88 | ...66-468,476-484 
  ...tateAndRef.ts |   13.63 |      100 |       0 |   13.63 | 16-36             
  ...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 |                   
  ...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 
  vim.ts           |   83.57 |     79.5 |     100 |   83.57 | ...38,742-750,759 
 src/ui/layouts    |   89.65 |       80 |     100 |   89.65 |                   
  ...AppLayout.tsx |     100 |      100 |     100 |     100 |                   
  ...AppLayout.tsx |   79.31 |       50 |     100 |   79.31 | 28-33             
 src/ui/models     |   73.58 |       92 |      70 |   73.58 |                   
  ...ableModels.ts |   73.58 |       92 |      70 |   73.58 | ...24-125,142-144 
 ...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     |   99.09 |    59.06 |     100 |   99.09 |                   
  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 |    29.41 |     100 |     100 | 270-458           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |   69.43 |    83.16 |   79.01 |   69.43 |                   
  ...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 |   77.88 |    76.19 |     100 |   77.88 | 54-82             
  ...boardUtils.ts |   29.29 |     37.5 |     100 |   29.29 | ...59-120,135-151 
  commandUtils.ts  |   93.16 |    88.37 |     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.58 |    70.96 |     100 |   85.58 | ...28,236-241,289 
  ...ickerUtils.ts |     100 |      100 |     100 |     100 |                   
  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             
 ...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 |    6.06 |      100 |       0 |    6.06 |                   
  html.ts          |    9.61 |      100 |       0 |    9.61 | ...28,34-75,81-83 
  htmlTemplate.ts  |     100 |      100 |     100 |     100 |                   
  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.06 |    90.97 |   93.89 |   68.06 |                   
  acpModelUtils.ts |     100 |      100 |     100 |     100 |                   
  ...tification.ts |      92 |    71.42 |     100 |      92 | 34-35             
  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 |   94.28 |    88.46 |     100 |   94.28 | 28-29,125-126     
  errors.ts        |   98.27 |    95.12 |     100 |   98.27 | 40-41             
  events.ts        |     100 |      100 |     100 |     100 |                   
  gitUtils.ts      |   91.75 |    84.61 |     100 |   91.75 | 75-78,121-124     
  ...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.17 |       93 |     100 |   96.17 | ...45-446,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-989             
  settingsUtils.ts |   88.23 |    93.57 |   96.87 |   88.23 | ...95,460-493,524 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  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.71 |    81.81 |   78.05 |   73.71 |                   
 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/config        |    73.5 |    77.72 |   55.27 |    73.5 |                   
  config.ts        |   72.45 |    75.91 |   52.63 |   72.45 | ...1709,1712-1713 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  models.ts        |     100 |      100 |     100 |     100 |                   
  storage.ts       |   81.13 |       95 |   67.85 |   81.13 | ...30-131,134-135 
 src/core          |   83.69 |    81.63 |    87.8 |   83.69 |                   
  baseLlmClient.ts |     100 |    96.42 |     100 |     100 | 115               
  client.ts        |   82.16 |    77.77 |      75 |   82.16 | ...43,586,612-628 
  ...tGenerator.ts |    72.1 |    61.11 |     100 |    72.1 | ...27,329,336-339 
  ...lScheduler.ts |   78.72 |    80.41 |   89.65 |   78.72 | ...1288,1330-1334 
  geminiChat.ts    |   86.12 |       84 |      84 |   86.12 | ...47-558,590-593 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   82.99 |    81.81 |     100 |   82.99 | ...52-356,396-407 
  ...olExecutor.ts |   92.59 |       75 |      50 |   92.59 | 41-42             
  prompts.ts       |   88.44 |    86.15 |    87.5 |   88.44 | ...99-800,803-804 
  tokenLimits.ts   |     100 |    86.66 |     100 |     100 | 41-42             
  turn.ts          |   95.93 |    88.23 |     100 |   95.93 | ...32,345-346,394 
 ...ntentGenerator |   93.92 |    72.31 |    90.9 |   93.92 |                   
  ...tGenerator.ts |   96.52 |    71.69 |   86.66 |   96.52 | ...74-275,409,465 
  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.38 |    82.95 |    90.9 |   73.38 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  converter.ts     |   66.81 |    76.71 |      88 |   66.81 | ...1241,1262-1271 
  errorHandler.ts  |     100 |      100 |     100 |     100 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-94              
  ...tGenerator.ts |   47.93 |    91.66 |   77.77 |   47.93 | ...07-160,163-164 
  pipeline.ts      |   97.81 |    89.55 |     100 |   97.81 | ...11,346-347,355 
  ...CallParser.ts |   90.14 |    86.66 |     100 |   90.14 | ...15-319,349-350 
 ...rator/provider |      95 |    88.67 |   90.62 |      95 |                   
  dashscope.ts     |   96.53 |    90.14 |   93.75 |   96.53 | ...19-220,284-285 
  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.42 |    84.26 |    76.1 |   57.42 |                   
  ...-converter.ts |   46.52 |    53.24 |      70 |   46.52 | ...17-718,727-759 
  ...ionManager.ts |   43.55 |    86.79 |   64.28 |   43.55 | ...1217,1238-1243 
  ...onSettings.ts |   94.97 |    93.05 |     100 |   94.97 | ...14-216,223-225 
  ...-converter.ts |   58.33 |      100 |      60 |   58.33 | 67-106,140-174    
  github.ts        |   43.76 |    89.09 |      60 |   43.76 | ...35-341,380-433 
  index.ts         |     100 |      100 |     100 |     100 |                   
  marketplace.ts   |   97.15 |    93.18 |     100 |   97.15 | ...63,183-184,247 
  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.79 |    82.65 |      75 |   68.79 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  detect-ide.ts    |     100 |      100 |     100 |     100 |                   
  ide-client.ts    |   52.32 |     78.2 |      60 |   52.32 | ...11-819,845-853 
  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.04 |    42.97 |   33.91 |   23.04 |                   
  ...nfigLoader.ts |   63.88 |    32.09 |     100 |   63.88 | ...79-481,485-491 
  ...ionFactory.ts |    3.65 |      100 |       0 |    3.65 | ...17-368,374-391 
  ...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 |    9.71 |       75 |      25 |    9.71 | ...61-680,686-716 
  ...eLspClient.ts |   17.89 |      100 |       0 |   17.89 | ...37-244,254-258 
  ...LspService.ts |   19.59 |    76.47 |   39.13 |   19.59 | ...06-860,863-873 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mcp           |    78.5 |    75.24 |   75.92 |    78.5 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...h-provider.ts |   86.56 |      100 |   33.33 |   86.56 | ...86,90,94,98-99 
  ...h-provider.ts |   73.19 |    54.16 |     100 |   73.19 | ...11-818,825-827 
  ...en-storage.ts |    98.6 |    97.72 |     100 |    98.6 | 84-85             
  oauth-utils.ts   |   70.33 |    81.48 |    90.9 |   70.33 | ...62-283,308-331 
  ...n-provider.ts |   89.47 |    95.83 |   45.45 |   89.47 | ...40,144,148-149 
 .../token-storage |   79.76 |    86.66 |   86.36 |   79.76 |                   
  ...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.57 |    82.35 |   64.28 |   68.57 | ...77-291,294-310 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/mocks         |       0 |        0 |       0 |       0 |                   
  msw.ts           |       0 |        0 |       0 |       0 | 1-9               
 src/models        |   87.72 |    81.68 |    87.3 |   87.72 |                   
  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.94 |    87.93 |     100 |   97.94 | 135,295,311-312   
  modelRegistry.ts |     100 |    97.77 |     100 |     100 | 164               
  modelsConfig.ts  |   83.25 |    80.68 |   83.33 |   83.25 | ...1191,1220-1221 
  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       |   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          |   85.95 |    79.93 |   97.18 |   85.95 |                   
  ...tGenerator.ts |   98.63 |    98.18 |     100 |   98.63 | 103-104           
  qwenOAuth2.ts    |   84.42 |    75.78 |   93.33 |   84.42 | ...8,959-975,1002 
  ...kenManager.ts |   84.24 |    76.03 |     100 |   84.24 | ...52-757,778-783 
 src/services      |   83.27 |    81.39 |   82.47 |   83.27 |                   
  ...ionService.ts |   93.21 |     90.9 |     100 |   93.21 | ...44,176,178-182 
  ...ingService.ts |   67.42 |       50 |   84.61 |   67.42 | ...77-389,395-407 
  ...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.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 |   82.18 |    78.63 |   73.91 |   82.18 | ...43-744,748-753 
 src/skills        |   77.22 |    84.48 |   79.31 |   77.22 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  skill-load.ts    |   89.74 |    80.55 |     100 |   89.74 | ...19,138,150-152 
  skill-manager.ts |   71.93 |    86.07 |      75 |   71.93 | ...46-554,557-566 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/subagents     |   81.48 |     79.4 |      85 |   81.48 |                   
  ...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.88 |    75.83 |      88 |   72.88 | ...72-894,962-963 
  ...statistics.ts |   98.19 |     81.7 |     100 |   98.19 | 128,152,193,226   
  subagent.ts      |   77.93 |    68.65 |   73.07 |   77.93 | ...20-921,973-974 
  types.ts         |     100 |      100 |     100 |     100 |                   
  validation.ts    |    92.4 |    96.59 |     100 |    92.4 | 54-59,63-68,72-77 
 src/telemetry     |   69.98 |    82.76 |   74.13 |   69.98 |                   
  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           |   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         |   80.39 |    82.65 |   84.48 |   80.39 | ...86-797,806-829 
  uiTelemetry.ts   |   94.73 |    96.15 |   91.66 |   94.73 | 136,165-171       
 ...ry/qwen-logger |   69.18 |    83.95 |   68.62 |   69.18 |                   
  event-types.ts   |       0 |        0 |       0 |       0 |                   
  qwen-logger.ts   |   69.18 |    83.75 |      68 |   69.18 | ...08-912,955-956 
 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.72 |    79.37 |   82.71 |   73.72 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |   85.26 |    86.17 |   85.71 |   85.26 | ...74-475,564-604 
  exitPlanMode.ts  |   85.29 |    86.36 |     100 |   85.29 | ...03-108,136-148 
  glob.ts          |   95.73 |    86.53 |    90.9 |   95.73 | 91-97,139,224,227 
  grep.ts          |   71.35 |    85.29 |   76.47 |   71.35 | ...22,462,470-477 
  ls.ts            |   96.41 |     88.7 |     100 |   96.41 | 142-147,178,182   
  lsp.ts           |   72.58 |    60.29 |   90.32 |   72.58 | ...1202,1204-1205 
  ...nt-manager.ts |   70.93 |    57.57 |   71.42 |   70.93 | ...94-195,198-235 
  mcp-client.ts    |   28.54 |    70.42 |   46.87 |   28.54 | ...1387,1391-1394 
  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.34 |    86.48 |    87.5 |   96.34 | 65,67,69-70,76-77 
  ...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         |   87.22 |    82.35 |     100 |   87.22 | ...75-582,587-588 
  skill.ts         |   94.57 |    85.29 |    90.9 |   94.57 | ...77,220-223,227 
  task.ts          |   66.66 |     87.5 |     100 |   66.66 | ...04-505,526-533 
  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 |      68 |    65.38 |   65.51 |      68 | ...75-484,491-497 
  tools.ts         |    89.2 |    89.58 |    87.5 |    89.2 | ...74-375,391-397 
  web-fetch.ts     |   85.47 |     62.5 |      90 |   85.47 | ...37-238,240-241 
  write-file.ts    |   83.75 |    84.12 |      75 |   83.75 | ...28-431,443-477 
 ...ols/web-search |   71.69 |    76.59 |   81.25 |   71.69 |                   
  base-provider.ts |    40.9 |    33.33 |     100 |    40.9 | 40-43,48-56       
  index.ts         |   75.98 |    84.61 |   91.66 |   75.98 | ...51-155,261-271 
  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.37 |    88.61 |   86.25 |   84.37 |                   
  LruCache.ts      |       0 |        0 |       0 |       0 | 1-41              
  browser.ts       |    7.69 |      100 |       0 |    7.69 | 17-56             
  ...igResolver.ts |     100 |      100 |     100 |     100 |                   
  editHelper.ts    |   92.67 |    82.14 |     100 |   92.67 | ...52-454,463-464 
  editor.ts        |   96.95 |    93.87 |     100 |   96.95 | ...90-191,193-194 
  ...arResolver.ts |   94.28 |    88.88 |     100 |   94.28 | 28-29,125-126     
  ...entContext.ts |     100 |    94.73 |     100 |     100 | 120               
  errorParsing.ts  |     100 |      100 |     100 |     100 |                   
  ...rReporting.ts |   83.72 |    84.61 |     100 |   83.72 | 82-86,107-115     
  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.78 |       90 |     100 |   94.78 | ...27-429,478-484 
  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   |    7.37 |      100 |       0 |    7.37 | ...48-181,187-193 
  ...-detection.ts |     100 |      100 |     100 |     100 |                   
  ...yDiscovery.ts |    78.5 |       65 |   66.66 |    78.5 | ...83-384,387-388 
  ...tProcessor.ts |   92.46 |    88.75 |   92.85 |   92.46 | ...09-315,398-399 
  ...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         |   95.32 |    95.23 |     100 |   95.32 | ...,70-71,103-104 
  ...ectSummary.ts |    3.75 |      100 |       0 |    3.75 | 27-119            
  ...tIdContext.ts |     100 |      100 |     100 |     100 |                   
  ...rDetection.ts |   60.25 |    74.07 |     100 |   60.25 | ...95-100,125-126 
  ...noreParser.ts |   85.45 |    78.26 |     100 |   85.45 | ...59,65-66,72-73 
  retry.ts         |   71.83 |    82.69 |     100 |   71.83 | ...12,230,237-238 
  ripgrepUtils.ts  |      46 |    83.33 |   66.66 |      46 | ...29-230,242-319 
  ...tchOptions.ts |   55.88 |       50 |      75 |   55.88 | ...29-130,151-152 
  safeJsonParse.ts |      72 |    83.33 |     100 |      72 | 37-43             
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aConverter.ts |   90.78 |    87.87 |     100 |   90.78 | ...41-42,93,95-96 
  ...aValidator.ts |     100 |    88.88 |     100 |     100 | 11-25,69          
  ...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 | 91                
  ...emEncoding.ts |   98.11 |    94.59 |     100 |   98.11 | 115-116           
  ...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.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 | ...30-231,233-234 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |     92.3 |     100 |     100 | 46                
 ...uest-tokenizer |   56.33 |    74.52 |   74.19 |   56.33 |                   
  ...eTokenizer.ts |   41.47 |    76.47 |   69.23 |   41.47 | ...67-440,450-504 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...tTokenizer.ts |   68.12 |    69.49 |    90.9 |   68.12 | ...21-322,324-325 
  ...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.

@Mingholy Mingholy changed the title Fix model selection to handle all configured authentication types Fix ACP model selection to handle all configured authentication types Jan 21, 2026
@Mingholy
Mingholy marked this pull request as ready for review January 21, 2026 03:02
@Mingholy
Mingholy force-pushed the mingholy/fix/acp-model-list branch from 14826dd to 0137b31 Compare February 2, 2026 10:47

@tanzhenxin tanzhenxin left a comment

Copy link
Copy Markdown
Collaborator

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 f262db9 into main Feb 5, 2026
13 of 14 checks passed
xaelistic pushed a commit to xaelistic/qwen-code that referenced this pull request Jun 7, 2026
xaelistic pushed a commit to xaelistic/qwen-code that referenced this pull request Jun 7, 2026
Fix ACP model selection to handle all configured authentication types
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