๐ Release v1.5.0 (#66)
* [Bug]: GPT-5.3-codex Tool Calling Failure
Fixes #54
* [chore] update agent and skills
* fix: Add token counting functionality and update agent tools
This commit introduces the ability to count tokens using LiteLLM's API and updates the tools available to the investigative agent.
โจ Features
- Implement token counting functionality using the LiteLLM API. This allows for more accurate token estimation by leveraging the LiteLLM proxy's capabilities.
๐งน Chores
- Update the investigative agent's tool list to include new capabilities like `vscode/memory`, `browser/openBrowserPage`, `web/githubRepo`, and various `github.vscode-pull-request-github` tools. This enhances the agent's ability to gather information and interact with GitHub.
- Increment the package version from `1.4.3-dev5` to `1.4.3-dev6`.
- Update `llm-response.json` with a comprehensive list of new and updated model configurations, including various Anthropic, OpenAI, and Vertex AI models with their respective parameters and costs. This ensures the system is aware of and can utilize a wider range of LLM providers.
* feat: Enhance diff handling and token counting
### โจ Features
- Introduce `compactDiff` to reduce the size of Git diffs by removing context lines, making them more suitable for token limits.
- Optimize token counting by introducing a local count and a background refinement process using LiteLLM, with caching for improved responsiveness.
- Add support for `gpt-5-mini` model by correctly stripping unsupported parameters like temperature and top_p.
- Enhance `convertMessages` to properly handle `application/json`, `text/`, and `cache_control` mime types within message parts.
### ๐ Fixes
- Prevent potential issues with diff truncation by first attempting to compact the diff before hard truncation.
### ๐งน Chores
- Update version to `1.4.3-dev9`.
- Improve model detail display to show context and output token counts more clearly.
- Refine the token count cache with a TTL of 1 minute and a cleanup mechanism for large caches.
- Adjust `DEBOUNCE_MS` for background token count refinement to 300ms.
* feat: Improve model discovery and refresh behavior ๐
- **โจ Features**
- Implement `onDidChangeLanguageModelChatInformation` emitter in `LiteLLMProviderBase` to signal changes in model information.
- Trigger `refreshModelInformation` when the model list changes or when the cache is cleared, ensuring the UI reflects the latest available models.
- Add relevant keywords to `package.json` for better discoverability of the extension.
- **๐งน Chores**
- Update the VS Code engine version in `package.json` to `^1.110.0`.
- Consolidate the `refreshModelInformation` logic within `LiteLLMProviderBase` and remove the deprecated method from `LiteLLMChatProvider`.
- Expand the tool list for the investigative agent to include a comprehensive set of GitHub-related commands.
* Invstigate/context window usage (#58)
* saving changes, non-functional
* feat: add experimental V2 Chat Provider and V2 message pipeline โจ
**โจ Features**
- Add LiteLLMChatProviderV2 implementing proposed VS Code V2 chat APIs and streaming handling so the extension can use LanguageModelChatMessage2 and Thinking parts.
- Introduce V2 types (v2Types) and a suite of conversion/normalization utilities to map between V2 messages, transport messages, provider messages, and OpenAI payloads.
- Implement V2-aware token utilities (counting and trimming) and emit usage via LanguageModelDataPart fallback when the stream lacks usage metadata.
- Wire an experimental config key (litellm-connector.experimental.v2ApiEnabled) and dynamic provider registration to select V1 or V2 at activation.
**๐งช Tests**
- Add unit tests for the V2 chat provider, stream interpreter, and commit provider behavior, and update existing tests to include requestInitiator metadata for more robust assertions.
- Add tests covering Gemini native format parsing, V2 thinking/data handling, and commit message markdown-stripping behavior.
**๐งน Chores**
- Add stripMarkdownCodeBlocks util and apply it to commit message generation and live input to sanitize code fences for a cleaner UI and outputs.
- Bump package version to 1.4.3-dev18, add enabledApiProposals and update VS Code settings/scripts to include tsc and adjusted dts handling.
- Rename/export emitV2PartsToVSCode (keeping a backward alias) and adjust logging levels (trace/info) across providers for improved diagnostics.
**๐ Fixes**
- Ensure inline completion logging reflects informational state and sanitize streamed commit messages by stripping markdown code blocks to prevent backticks in final messages.
* fixing ignores...
* chore: tighten .gitignore globs for VS Code type files ๐งน
- **๐งน Chores**
- Replace **/*vscode.d.ts and **/*vscode.proposed.* with **/vscode.d.ts and **/vscode.proposed.* to avoid over-matching. Only files named exactly vscode.d.ts or vscode.proposed.* will be ignored.
* chore: update CI workflows, actions, and dev dependencies ๐ง
**๐งน Chores**
- Update Dependabot to ignore major updates for @types/node beyond v22 to avoid major-version PRs.
- Use ${{ github.workspace }}/... paths for Codecov uploads and point test results to ${{ github.workspace }}/test-results/test-results.xml so CI reliably finds coverage and test artifacts.
- Bump actions/upload-artifact to v7 in CI and actions/download-artifact to v8 in release to use newer action releases.
- Bump devDependencies: upgrade @eslint/js and eslint to ^10.0.0, update @types/mocha and @types/node to patch versions, and remove all-contributors-cli.
* fix: include original errors as cause when rethrowing ๐
**๐ Fixes**
- Include original error as the cause when rethrowing in LiteLLMClient and LiteLLMChatProvider so cancellation and API errors preserve context and stack traces.
- Attach retryErr as the cause when throwing retryErrorMessage to retain the original retry failure details.
- Include the original error as cause when emitting the final error to improve diagnostics and logging.
**๐งน Chores**
- Bump package.json version to 1.4.3-dev20.
- Add a comment in convertMessages catch to document the fallback behavior when JSON.stringify fails.
* ver bump in prep for release. [skip ci]
* chore: ๐ Finalize project structure and improve streaming/observability
**๐งน Chores**
- Update `.devcontainer/devcontainer.json` to include additional VS Code extensions for better development tooling.
- Refresh agent definitions (`Project Planner`, `Changelog Manager`, `Investigative Agent`) and add new skills (`generate-github-bug-report`, `plan-creation-and-refinement`, `ts-no-any`) to improve automation standards.
- Update CI/CD workflows and `package.json` with new versions and setting deprecations.
- Implement comprehensive observability layer (`AuditTrail`, `HookSystem`, `StructuredLogger`) to improve debugging for the v2 provider.
- Update `CHANGELOG.md` and repository `README.md` to reflect current project features and standards.
**๐ Fixes**
- Refactor `decodeSSE` in `src/adapters/sse/sseDecoder.ts` to correctly handle multiline SSE payloads and improve stream stability.
- Fix `liteLLMStreamInterpreter` to properly deduplicate tool calls and prevent corruption of JSON arguments.
- Resolve tool call normalization issues (ensure IDs are โค 40 chars) for compatibility with strict providers.
- Add regression tests in `src/adapters/sse/test/sseDecoder.test.ts` and `src/adapters/streaming/test/liteLLMStreamInterpreter.test.ts`.
**โจ Features**
- Add `litellm-connector.setLogLevel` command to allow runtime adjustments to logging verbosity.
- Add `sendDefaultParameters` config setting for greater control over model hyperparameters.
- Introduce `in-flight deduplication` for model discovery to prevent excessive API lookups.
* refactor: ๐ ๏ธ improve logging architecture and cleanup
- **โจ Features**
- Rename structured logger output channel to "LiteLLM Structured" to prevent collision with legacy logs.
- **๐งน Chores**
- Remove unused `setLogLevel` command and registration logic.
- Bump project version to `1.5.0-dev2` and apply minor formatting to `package.json`.
- **๐งช Tests**
- Add unit test verifying that the structured logger initializes with the correct, distinct output channel name.
* feat: release version 1.5.0 and improve provider registration ๐
- **๐ Features**
- Improve model discovery, refresh behavior, and token counting functionality.
- Enhance agent tools and diff handling for better model interaction.
- **๐ ๏ธ Bug Fixes**
- Resolve tool calling failures for GPT-5.3-codex and fix 400 errors for Gemini and o1-series models.
- **๐ Internal**
- Refactor logging architecture and rename "LiteLLM V2" output channel to "LiteLLM Structured".
- Implement explicit `LanguageModelChatProvider` registration in the extension activation flow.
- **๐ Docs**
- Update README and marketplace documentation with improved quick-start instructions and pro-tips for V2 Chat features.
- **๐งน Chores**
- Bump package version to 1.5.0. A
amwdrizz committed
38fdeae6bce5091a625cad00d1b4cd0205c03653
Parent: c131d30
Committed by GitHub <noreply@github.com>
on 3/20/2026, 8:42:14 PM