Skip to content

Set port dynamically in VSCode extension and read from it in gemini-cli and send initial notification #4255

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jul 15, 2025

Conversation

chrstnb
Copy link
Collaborator

@chrstnb chrstnb commented Jul 15, 2025

TLDR

Dynamically generates a port and writes it to IDE terminals. Note that when/if we first install the extension, the user will need to re-start the terminal or create a new one or reload vscode to pick up the changes.

Also sends a notification after spinning up.

Reviewer Test Plan

Run extension locally and verify that when you spin up gemini CLI in IDE mode, it is able to connect to the MCP server.

Testing Matrix

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

Linked issues / bugs

Resolves #3918

@chrstnb chrstnb requested a review from a team as a code owner July 15, 2025 20:03
@chrstnb chrstnb requested a review from skeshive July 15, 2025 20:03
@gemini-cli gemini-cli bot added kind/enhancement New feature or request priority/p2 Important but can be addressed in a future release. sub-area/mcp Issues related to the Model Context Protocol (MCP). labels Jul 15, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello @chrstnb, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the robustness and flexibility of the communication between the VSCode extension and the gemini-cli. It transitions from a static, hardcoded port to a dynamic port allocation system for the IDE companion server, which is then communicated to the CLI via an environment variable. This change addresses potential port conflicts and streamlines the setup for users.

Highlights

  • Dynamic Port Allocation: The VSCode extension's companion server now dynamically allocates an available port using the get-port library, replacing the previously hardcoded port 3000 to prevent potential conflicts.
  • Environment Variable Integration: The dynamically chosen port is now exposed to integrated VSCode terminals via the GEMINI_CLI_IDE_SERVER_PORT environment variable, allowing other processes to discover it.
  • CLI Port Configuration: The gemini-cli has been updated to read the companion server's port from the GEMINI_CLI_IDE_SERVER_PORT environment variable when running in IDE mode, ensuring it connects to the correct, dynamically assigned port.
  • IDE Notification Refinement: The logic for sending ide/activeFileChanged notifications within the VSCode extension has been refactored to ensure reliable and single-time delivery per session initialization, improving communication robustness.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces dynamic port allocation for the VSCode extension's MCP server and corresponding logic in the CLI to read this port from an environment variable. The changes look good and correctly implement the intended feature. I've added a couple of suggestions to improve robustness and error handling: one to validate the port number in the CLI, and another to add more comprehensive error handling and fix a misleading log message in the VSCode extension.

skeshive
skeshive previously approved these changes Jul 15, 2025
Copy link
Collaborator

@skeshive skeshive left a comment

Choose a reason for hiding this comment

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

nit: can you also update the commit message to include the notification changes

@chrstnb chrstnb changed the title Set port dynamically in VSCode extension and read from it in gemini-cli Set port dynamically in VSCode extension and read from it in gemini-cli and send initial notification Jul 15, 2025
Copy link

github-actions bot commented Jul 15, 2025

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 72.09% 72.09% 76.32% 79.22%
Core 73.4% 73.4% 76.85% 79.87%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   72.09 |    79.22 |   76.32 |   72.09 |                   
 src               |    43.1 |    55.55 |    37.5 |    43.1 |                   
  gemini.tsx       |   17.97 |     12.5 |   16.66 |   17.97 | ...48-265,270-344 
  ...ractiveCli.ts |   91.36 |    67.85 |     100 |   91.36 | ...43,146,169-170 
 src/config        |   87.83 |    81.81 |   83.87 |   87.83 |                   
  auth.ts          |     100 |      100 |     100 |     100 |                   
  config.ts        |   97.13 |       90 |    62.5 |   97.13 | ...17,255,404-408 
  extension.ts     |   81.66 |    84.37 |     100 |   81.66 | ...00-104,113-114 
  sandboxConfig.ts |   54.05 |       50 |   66.66 |   54.05 | ...43,53-69,74-91 
  settings.ts      |   86.43 |    76.92 |   92.85 |   86.43 | ...42-343,383-384 
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/services      |     100 |      100 |     100 |     100 |                   
  ...andService.ts |     100 |      100 |     100 |     100 |                   
 src/test-utils    |     100 |      100 |     100 |     100 |                   
  ...andContext.ts |     100 |      100 |     100 |     100 |                   
 src/ui            |   60.41 |    64.13 |   69.56 |   60.41 |                   
  App.tsx          |   58.25 |    58.44 |   66.66 |   58.25 | ...06-917,939-968 
  colors.ts        |   86.04 |      100 |   76.92 |   86.04 | 12-13,18-19,42-43 
  constants.ts     |       0 |        0 |       0 |       0 | 1-15              
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/commands   |   95.67 |    82.85 |    92.3 |   95.67 |                   
  aboutCommand.ts  |     100 |    55.55 |     100 |     100 | 22-29             
  authCommand.ts   |     100 |      100 |     100 |     100 |                   
  clearCommand.ts  |     100 |      100 |     100 |     100 |                   
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  memoryCommand.ts |     100 |      100 |     100 |     100 |                   
  ...acyCommand.ts |     100 |      100 |     100 |     100 |                   
  statsCommand.ts  |   83.33 |       75 |     100 |   83.33 | 19-27             
  themeCommand.ts  |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 src/ui/components |   70.62 |    75.16 |   68.42 |   70.62 |                   
  AboutBox.tsx     |     100 |       50 |     100 |     100 | 102               
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  AuthDialog.tsx   |   89.78 |    96.42 |   66.66 |   89.78 | 68-73,102-109     
  ...nProgress.tsx |   15.78 |      100 |       0 |   15.78 | 17-57             
  ...Indicator.tsx |   15.15 |      100 |       0 |   15.15 | 17-47             
  ...ryDisplay.tsx |   21.05 |      100 |       0 |   21.05 | 17-35             
  ...ryDisplay.tsx |   97.82 |    95.83 |     100 |   97.82 | 59                
  ...esDisplay.tsx |   10.52 |      100 |       0 |   10.52 | 24-82             
  ...ngsDialog.tsx |    6.76 |      100 |       0 |    6.76 | 26-168            
  Footer.tsx       |   66.07 |    26.66 |     100 |   66.07 | ...39-146,149-152 
  ...ngSpinner.tsx |      80 |    33.33 |     100 |      80 | 29,31-32          
  Header.tsx       |   17.07 |      100 |       0 |   17.07 | 22-63             
  Help.tsx         |    3.73 |      100 |       0 |    3.73 | 17-154            
  ...emDisplay.tsx |   68.65 |    57.14 |     100 |   68.65 | ...55-60,79-86,89 
  InputPrompt.tsx  |   81.81 |    71.81 |     100 |   81.81 | ...86,430,458-462 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...geDisplay.tsx |   25.92 |      100 |       0 |   25.92 | 14-36             
  ...tsDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ryDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...Indicator.tsx |   44.44 |      100 |       0 |   44.44 | 12-17             
  ...MoreLines.tsx |      60 |       25 |     100 |      60 | 24-27,33-40       
  StatsDisplay.tsx |   98.39 |    86.66 |     100 |   98.39 | 173-175           
  ...nsDisplay.tsx |   83.05 |    61.53 |     100 |   83.05 | 34-39,42-43,87-89 
  ThemeDialog.tsx  |   84.26 |    31.25 |     100 |   84.26 | ...06-111,211-222 
  Tips.tsx         |      16 |      100 |       0 |      16 | 17-45             
  ...tsDisplay.tsx |     100 |     87.5 |     100 |     100 | 30-31             
  ...ification.tsx |   36.36 |      100 |       0 |   36.36 | 15-22             
 ...nents/messages |   62.67 |     80.9 |   57.89 |   62.67 |                   
  ...onMessage.tsx |   18.51 |      100 |       0 |   18.51 | 22-49             
  DiffRenderer.tsx |   96.31 |    82.66 |     100 |   96.31 | ...01-202,206,271 
  ErrorMessage.tsx |   22.22 |      100 |       0 |   22.22 | 16-31             
  ...niMessage.tsx |   18.51 |      100 |       0 |   18.51 | 20-43             
  ...geContent.tsx |   19.04 |      100 |       0 |   19.04 | 25-43             
  InfoMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...onMessage.tsx |   38.91 |     62.5 |   33.33 |   38.91 | ...32-164,200-225 
  ...upMessage.tsx |     9.3 |      100 |       0 |     9.3 | 26-123            
  ToolMessage.tsx  |   87.76 |       80 |     100 |   87.76 | ...,91-95,169-171 
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
 ...ponents/shared |   74.09 |    70.44 |   91.66 |   74.09 |                   
  MaxSizedBox.tsx  |   78.51 |    79.24 |   88.88 |   78.51 | ...36-438,537-538 
  ...tonSelect.tsx |   74.73 |     62.5 |     100 |   74.73 | ...99,121-122,149 
  text-buffer.ts   |   72.44 |    67.24 |    92.3 |   72.44 | ...1235-1238,1243 
 src/ui/contexts   |   90.57 |    86.36 |     100 |   90.57 |                   
  ...owContext.tsx |   91.07 |    81.81 |     100 |   91.07 | 46-47,59-61       
  ...onContext.tsx |   94.11 |      100 |     100 |   94.11 | 101-104           
  ...ngContext.tsx |   71.42 |       50 |     100 |   71.42 | 17-20             
 src/ui/editors    |   93.87 |    85.71 |   66.66 |   93.87 |                   
  ...ngsManager.ts |   93.87 |    85.71 |   66.66 |   93.87 | 53,67-68          
 src/ui/hooks      |   71.99 |    82.17 |    67.6 |   71.99 |                   
  ...dProcessor.ts |   82.07 |    82.75 |     100 |   82.07 | ...92-395,406-422 
  ...dProcessor.ts |      82 |    74.35 |      80 |      82 | ...15-324,328-329 
  ...dProcessor.ts |   61.78 |    73.04 |   44.44 |   61.78 | ...1160-1165,1168 
  ...uthCommand.ts |    7.81 |      100 |       0 |    7.81 | 18-88             
  ...tIndicator.ts |     100 |      100 |     100 |     100 |                   
  ...ketedPaste.ts |     100 |      100 |     100 |     100 |                   
  useCompletion.ts |   78.17 |    89.68 |      80 |   78.17 | ...14-420,497-500 
  ...leMessages.ts |   96.96 |    88.88 |     100 |   96.96 | 25-26             
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  ...miniStream.ts |   67.53 |    70.22 |     100 |   67.53 | ...55-756,786-876 
  ...BranchName.ts |   91.66 |    84.61 |     100 |   91.66 | 57-63             
  ...oryManager.ts |   98.41 |    93.33 |     100 |   98.41 | 43                
  ...putHistory.ts |    92.5 |    85.71 |     100 |    92.5 | 62-63,71,93-95    
  useKeypress.ts   |     100 |      100 |     100 |     100 |                   
  ...gIndicator.ts |     100 |      100 |     100 |     100 |                   
  useLogger.ts     |      25 |      100 |       0 |      25 | 14-32             
  ...raseCycler.ts |    95.5 |       75 |     100 |    95.5 | ...66-167,185-187 
  ...cySettings.ts |     4.5 |      100 |       0 |     4.5 | 19-135            
  ...lScheduler.ts |   79.01 |    94.87 |     100 |   79.01 | ...00-203,293-303 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  ...ellHistory.ts |   91.95 |    79.16 |   83.33 |   91.95 | 28-30,41-42,87-88 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-75              
  ...tateAndRef.ts |   95.45 |    66.66 |     100 |   95.45 | 25                
  ...rminalSize.ts |   77.27 |      100 |      50 |   77.27 | 19-23             
  ...emeCommand.ts |   64.28 |     87.5 |     100 |   64.28 | ...,92-93,100-106 
  useTimer.ts      |   88.09 |    85.71 |     100 |   88.09 | 44-45,51-53       
 src/ui/privacy    |   13.77 |      100 |       0 |   13.77 |                   
  ...acyNotice.tsx |    9.58 |      100 |       0 |    9.58 | 20-113            
  ...acyNotice.tsx |    12.9 |      100 |       0 |    12.9 | 15-55             
  ...acyNotice.tsx |   10.81 |      100 |       0 |   10.81 | 15-58             
  ...acyNotice.tsx |   30.76 |      100 |       0 |   30.76 | 19-36,39-41       
 src/ui/themes     |   99.42 |    89.47 |     100 |   99.42 |                   
  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 |                   
  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 |                   
  ...-of-purple.ts |     100 |      100 |     100 |     100 |                   
  theme-manager.ts |   89.77 |    84.21 |     100 |   89.77 | 66,98-103,108-109 
  theme.ts         |   98.44 |    94.73 |     100 |   98.44 | 304-307           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |   75.31 |    89.27 |      94 |   75.31 |                   
  ...Colorizer.tsx |    80.5 |       88 |     100 |    80.5 | 88-89,159-183     
  ...olePatcher.ts |   60.97 |      100 |   66.66 |   60.97 | 35-39,49-60       
  ...nRenderer.tsx |   26.51 |       75 |     100 |   26.51 | 32-137            
  ...wnDisplay.tsx |   86.19 |    87.69 |     100 |   86.19 | ...71-279,311-332 
  ...eRenderer.tsx |   78.09 |    76.19 |     100 |   78.09 | 55-83             
  ...boardUtils.ts |   32.25 |     37.5 |     100 |   32.25 | ...55-114,129-145 
  commandUtils.ts  |     100 |      100 |     100 |     100 |                   
  computeStats.ts  |     100 |      100 |     100 |     100 |                   
  displayUtils.ts  |     100 |      100 |     100 |     100 |                   
  errorParsing.ts  |     100 |     92.5 |     100 |     100 | 74,78,84          
  formatters.ts    |   90.47 |       96 |     100 |   90.47 | 57-60             
  ...nUtilities.ts |   69.84 |    85.71 |     100 |   69.84 | 75-91,100-101     
  textUtils.ts     |   81.81 |      100 |      80 |   81.81 | 13-18             
  updateCheck.ts   |     100 |      100 |     100 |     100 |                   
 src/utils         |    9.27 |    78.94 |      60 |    9.27 |                   
  cleanup.ts       |      64 |    66.66 |   66.66 |      64 | 18-26,35          
  package.ts       |   88.88 |    85.71 |     100 |   88.88 | 33-34             
  readStdin.ts     |    3.44 |      100 |       0 |    3.44 | 7-39              
  sandbox.ts       |       0 |        0 |       0 |       0 | 1-871             
  ...upWarnings.ts |   23.07 |      100 |       0 |   23.07 | 14-40             
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  version.ts       |     100 |       50 |     100 |     100 | 11                
-------------------|---------|----------|---------|---------|-------------------
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |    73.4 |    79.87 |   76.85 |    73.4 |                   
 src               |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |     100 |      100 |     100 |     100 |                   
  promises.ts      |     100 |      100 |     100 |     100 |                   
 src/code_assist   |   66.94 |    75.75 |   68.29 |   66.94 |                   
  codeAssist.ts    |    23.8 |      100 |       0 |    23.8 | 13-29             
  converter.ts     |   89.06 |    96.15 |   81.81 |   89.06 | 176-180,199-209   
  oauth2.ts        |   79.34 |    65.11 |      80 |   79.34 | ...38-339,351-357 
  server.ts        |    36.4 |    81.81 |      50 |    36.4 | ...67-291,294-296 
  setup.ts         |   72.41 |     62.5 |     100 |   72.41 | 52-53,64-66,75-85 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/config        |    79.7 |    84.41 |   60.31 |    79.7 |                   
  config.ts        |    79.5 |    84.41 |   60.31 |    79.5 | ...56-563,569-570 
  models.ts        |     100 |      100 |     100 |     100 |                   
 src/core          |   74.81 |    75.48 |   79.56 |   74.81 |                   
  client.ts        |   74.06 |     76.4 |   83.33 |   74.06 | ...52,654-655,658 
  ...tGenerator.ts |   91.76 |    81.81 |     100 |   91.76 | 77-78,129,140-143 
  ...lScheduler.ts |   72.07 |    69.33 |   81.25 |   72.07 | ...51-657,674-683 
  geminiChat.ts    |   62.85 |    71.79 |   64.28 |   62.85 | ...17,632,636-644 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   82.71 |    78.26 |     100 |   82.71 | ...72-276,285-286 
  modelCheck.ts    |   78.26 |       25 |     100 |   78.26 | 26-27,59-63,67-70 
  ...olExecutor.ts |     100 |    66.66 |     100 |     100 | 64,99             
  prompts.ts       |   81.25 |    68.18 |      50 |   81.25 | ...61-266,282-339 
  tokenLimits.ts   |      15 |      100 |       0 |      15 | 15-31             
  turn.ts          |   82.03 |    82.14 |     100 |   82.03 | ...32-235,248-249 
 src/services      |   86.68 |    88.05 |   83.87 |   86.68 |                   
  ...eryService.ts |   77.33 |       75 |   85.71 |   77.33 | ...1-62,84,91-103 
  gitService.ts    |   77.52 |      100 |      60 |   77.52 | ...08-112,115-119 
  ideContext.ts    |     100 |      100 |     100 |     100 |                   
  ...ionService.ts |   96.03 |    88.46 |     100 |   96.03 | 90-91,101-102     
 src/telemetry     |   70.87 |    85.38 |   82.35 |   70.87 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-62              
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-119             
  loggers.ts       |   79.13 |    81.81 |      80 |   79.13 | 186-225,294-311   
  metrics.ts       |   60.36 |    95.65 |    62.5 |   60.36 | ...36-158,161-184 
  sdk.ts           |   82.85 |    28.57 |     100 |   82.85 | ...18,126-127,133 
  types.ts         |   83.54 |    97.77 |   88.23 |   83.54 | 83-92,162-191     
  uiTelemetry.ts   |   99.18 |    95.65 |     100 |   99.18 | 119               
 ...learcut-logger |   81.85 |    79.41 |   73.68 |   81.85 |                   
  ...cut-logger.ts |   81.59 |    78.78 |   77.77 |   81.59 | ...66-478,481-483 
  ...tadata-key.ts |      84 |      100 |       0 |      84 | 163-173           
 src/tools         |   65.45 |    78.61 |   72.05 |   65.45 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |   77.41 |    82.85 |   81.81 |   77.41 | ...30-431,435-470 
  glob.ts          |   85.22 |    80.95 |   83.33 |   85.22 | ...67-268,276-283 
  grep.ts          |   57.25 |     75.8 |   72.72 |   57.25 | ...31-536,541-545 
  ls.ts            |    9.82 |      100 |   14.28 |    9.82 | ...58-163,171-284 
  mcp-client.ts    |   48.24 |    75.75 |   35.71 |   48.24 | ...15-419,423-426 
  mcp-tool.ts      |   91.75 |    85.71 |     100 |   91.75 | ...36,142,147-148 
  memoryTool.ts    |   97.45 |    84.84 |     100 |   97.45 | 94,96,98-99       
  ...iable-tool.ts |     100 |    84.61 |     100 |     100 | 90,97             
  read-file.ts     |   98.29 |    96.15 |     100 |   98.29 | 112-113           
  ...many-files.ts |   80.53 |    70.45 |      80 |   80.53 | ...30-431,438-439 
  shell.ts         |   65.72 |    66.12 |   78.57 |   65.72 | ...54,471,477-489 
  tool-registry.ts |   59.37 |    75.92 |   85.71 |   59.37 | ...88-290,300-305 
  tools.ts         |   76.31 |      100 |      40 |   76.31 | ...44-145,154-159 
  web-fetch.ts     |   30.23 |    72.22 |   66.66 |   30.23 | ...85-186,214-352 
  web-search.ts    |   26.08 |      100 |      40 |   26.08 | ...03-104,107-196 
  write-file.ts    |   80.95 |    83.67 |   77.77 |   80.95 | ...00-305,367-397 
 src/utils         |    80.7 |    81.81 |   88.23 |    80.7 |                   
  LruCache.ts      |   70.96 |     62.5 |     100 |   70.96 | 20-22,28,30-34    
  bfsFileSearch.ts |   92.45 |    86.66 |     100 |   92.45 | 53-54,67-68       
  editCorrector.ts |   77.35 |    61.11 |   91.66 |   77.35 | ...70-682,716,730 
  editor.ts        |   97.33 |    93.75 |     100 |   97.33 | 134,196,199-200   
  ...rReporting.ts |   83.52 |    84.61 |     100 |   83.52 | 81-85,106-114     
  errors.ts        |   41.46 |       60 |      75 |   41.46 | 17-21,37-52,56-62 
  fetch.ts         |   34.04 |      100 |       0 |   34.04 | 22-27,31-57       
  fileUtils.ts     |   94.69 |    91.54 |     100 |   94.69 | ...45-249,318-324 
  ...eUtilities.ts |   96.03 |       96 |     100 |   96.03 | 28-29,57-58       
  ...rStructure.ts |      95 |    93.42 |     100 |      95 | ...66-167,344-346 
  ...noreParser.ts |   96.36 |     90.9 |     100 |   96.36 | 70-71             
  gitUtils.ts      |   46.34 |    66.66 |      50 |   46.34 | 24-25,40-41,50-73 
  ...yDiscovery.ts |    80.7 |    75.43 |      75 |    80.7 | ...12-313,316-317 
  ...tProcessor.ts |   86.86 |    88.46 |     100 |   86.86 | 115-124,131-140   
  ...Inspectors.ts |     100 |      100 |     100 |     100 |                   
  ...kerChecker.ts |   83.51 |    83.33 |     100 |   83.51 | ...95-100,108-114 
  paths.ts         |   63.21 |    73.33 |   57.14 |   63.21 | ...24-134,140-141 
  ...rDetection.ts |   32.83 |    36.36 |      80 |   32.83 | ...00-101,107-112 
  retry.ts         |   62.55 |    73.21 |     100 |   62.55 | ...54-274,319-334 
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aValidator.ts |   86.66 |    73.33 |     100 |   86.66 | 22-23,25-26,43-44 
  session.ts       |     100 |      100 |     100 |     100 |                   
  summarizer.ts    |      92 |       75 |     100 |      92 | 46-47,57-58,74-75 
  testUtils.ts     |   84.44 |    72.72 |   83.33 |   84.44 | 27-28,34-35,70-72 
  user_account.ts  |   97.72 |    97.05 |     100 |   97.72 | 102-103           
  user_id.ts       |   60.97 |    33.33 |      75 |   60.97 | ...33,46-48,52-57 
-------------------|---------|----------|---------|---------|-------------------

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

Copy link
Collaborator

@mattKorwel mattKorwel left a comment

Choose a reason for hiding this comment

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

LGTM

@mattKorwel mattKorwel added this pull request to the merge queue Jul 15, 2025
Merged via the queue into main with commit b61016f Jul 15, 2025
10 checks passed
@mattKorwel mattKorwel deleted the dynamic-port branch July 15, 2025 22:16
thacio added a commit to thacio/auditaria that referenced this pull request Jul 15, 2025
galz10 pushed a commit that referenced this pull request Jul 22, 2025
davenportjw pushed a commit to davenportjw/gemini-cli that referenced this pull request Jul 24, 2025
galz10 pushed a commit that referenced this pull request Jul 30, 2025
JunYang-tes pushed a commit to JunYang-tes/gemini-cli.nvim that referenced this pull request Aug 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request priority/p2 Important but can be addressed in a future release. sub-area/mcp Issues related to the Model Context Protocol (MCP).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generate companion MCP server port dynamically + write to env variable
3 participants