Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request significantly enhances the robustness and flexibility of the Copilot token tracking logic, especially around session file discovery and parsing. The changes add support for new session file formats (notably
.jsonlfiles used by Copilot CLI/agent mode), improve detection of session files across all major VS Code variants and remote environments, and introduce utility methods for recursive scanning and token estimation. These updates ensure more comprehensive and accurate tracking of Copilot usage across diverse setups.Support for new session file formats:
.jsonlsession files (used by Copilot CLI/agent mode), including counting interactions and estimating token usage by parsing each event line and differentiating between user, assistant, and tool messages. [1] [2] [3] [4]Session file discovery improvements:
getVSCodeUserPathsmethod to systematically enumerate all likely VS Code user data directories across platforms and variants (stable, insiders, VSCodium, Cursor, remote/server environments)..jsonand.jsonlfiles, and include Copilot CLI and Copilot Chat extension storage locations.Utility and code structure enhancements:
scanDirectoryForSessionFilesmethod to efficiently locate session files within nested directories, improving coverage of non-standard storage layouts.