-
Notifications
You must be signed in to change notification settings - Fork 3
feat: Add VS Code Language Model API integration and Biome linting #43
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
Changes from 10 commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
87e0b20
feat: Add VS Code Language Model API integration
Hi7cl4w 307c4c1
refactor: Fix singleton patterns and code formatting in services
Hi7cl4w 774cbf2
fix: Update type definitions for better type safety
Hi7cl4w d255e8e
refactor: Modernize test files with node: protocol and formatting
Hi7cl4w 4aa09f3
style: Format configuration files with consistent style
Hi7cl4w de45e2e
docs: Update README with VS Code Language Model integration
Hi7cl4w 68d841e
chore: Bump version to 1.1.0
Hi7cl4w b3b7b20
docs: Update CHANGELOG for version 1.1.0
Hi7cl4w 3555c97
chore: Replace Prettier with Biome as default formatter
Hi7cl4w 4af1f48
style: Apply Biome formatting to all files
Hi7cl4w e300c46
security: Limit GITHUB_TOKEN permissions in CI workflow
Hi7cl4w 7a47650
fix: Properly handle promises to prevent unhandled rejections
Hi7cl4w c44a740
fix: Update VS Code API usage for compatibility with v1.90.0
Hi7cl4w f8f42b5
refactor: Replace all 'any' types with proper type definitions
Hi7cl4w 6ae9a54
refactor: Fix singleton pattern in service constructors
Hi7cl4w c5addb0
fix: Resolve TypeScript issues in test suite
Hi7cl4w 4ff48ac
refactor(types): reorder imports in git.d.ts for consistency
Hi7cl4w f3677ff
refactor: Replace any type with proper Mocha import syntax
Hi7cl4w dc48f8a
fix: Ensure Promise rejection reasons are Error objects
Hi7cl4w f65ea2b
refactor: Remove unnecessary async/await from command handlers
Hi7cl4w 5a32cf6
refactor: remove unnecessary async/await from command handler
Hi7cl4w b2f2393
feat: add intelligent code indexing for AI commit generation
Hi7cl4w 5ac67c0
feat: Add custom commit message template support with placeholders
Hi7cl4w 3073da9
Potential fix for code scanning alert no. 2: Incomplete string escapi…
Hi7cl4w dbfafb7
feat: Add automated GitHub release workflow with comprehensive docume…
Hi7cl4w File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,18 +1,18 @@ | ||
| # Build output | ||
| out/ | ||
| dist/ | ||
|
|
||
| # Dependencies | ||
| node_modules/ | ||
|
|
||
| # Type definitions | ||
| **/*.d.ts | ||
|
|
||
| # Config files | ||
| webpack.config.js | ||
|
|
||
| # VSCode settings | ||
| .vscode/ | ||
|
|
||
| # Large files | ||
| src/encoder.json | ||
| # Build output | ||
| out/ | ||
| dist/ | ||
| # Dependencies | ||
| node_modules/ | ||
| # Type definitions | ||
| **/*.d.ts | ||
| # Config files | ||
| webpack.config.js | ||
| # VSCode settings | ||
| .vscode/ | ||
| # Large files | ||
| src/encoder.json |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,28 +1,28 @@ | ||
| name: Node.js CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: ["main"] | ||
| pull_request: | ||
| branches: ["main"] | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| strategy: | ||
| matrix: | ||
| node-version: [16.x, 18.x] | ||
| # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - name: Use Node.js ${{ matrix.node-version }} | ||
| uses: actions/setup-node@v3 | ||
| with: | ||
| node-version: ${{ matrix.node-version }} | ||
| cache: "npm" | ||
| - run: npm install | ||
| - run: npm run type-check | ||
| - run: npm run lint | ||
| - run: npm run compile | ||
| name: Node.js CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: ["main"] | ||
| pull_request: | ||
| branches: ["main"] | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| strategy: | ||
| matrix: | ||
| node-version: [16.x, 18.x] | ||
| # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - name: Use Node.js ${{ matrix.node-version }} | ||
| uses: actions/setup-node@v3 | ||
| with: | ||
| node-version: ${{ matrix.node-version }} | ||
| cache: "npm" | ||
| - run: npm install | ||
| - run: npm run type-check | ||
| - run: npm run lint | ||
| - run: npm run compile | ||
This file was deleted.
Oops, something went wrong.
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,40 +1,37 @@ | ||
| // See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
| // for the documentation about the tasks.json format | ||
| { | ||
| "version": "2.0.0", | ||
| "tasks": [ | ||
| { | ||
| "type": "npm", | ||
| "script": "watch", | ||
| "problemMatcher": "$ts-webpack-watch", | ||
| "isBackground": true, | ||
| "presentation": { | ||
| "reveal": "never", | ||
| "group": "watchers" | ||
| }, | ||
| "group": { | ||
| "kind": "build", | ||
| "isDefault": true | ||
| } | ||
| }, | ||
| { | ||
| "type": "npm", | ||
| "script": "watch-tests", | ||
| "problemMatcher": "$tsc-watch", | ||
| "isBackground": true, | ||
| "presentation": { | ||
| "reveal": "never", | ||
| "group": "watchers" | ||
| }, | ||
| "group": "build" | ||
| }, | ||
| { | ||
| "label": "tasks: watch-tests", | ||
| "dependsOn": [ | ||
| "npm: watch", | ||
| "npm: watch-tests" | ||
| ], | ||
| "problemMatcher": [] | ||
| } | ||
| ] | ||
| "version": "2.0.0", | ||
| "tasks": [ | ||
| { | ||
| "type": "npm", | ||
| "script": "watch", | ||
| "problemMatcher": "$ts-webpack-watch", | ||
| "isBackground": true, | ||
| "presentation": { | ||
| "reveal": "never", | ||
| "group": "watchers" | ||
| }, | ||
| "group": { | ||
| "kind": "build", | ||
| "isDefault": true | ||
| } | ||
| }, | ||
| { | ||
| "type": "npm", | ||
| "script": "watch-tests", | ||
| "problemMatcher": "$tsc-watch", | ||
| "isBackground": true, | ||
| "presentation": { | ||
| "reveal": "never", | ||
| "group": "watchers" | ||
| }, | ||
| "group": "build" | ||
| }, | ||
| { | ||
| "label": "tasks: watch-tests", | ||
| "dependsOn": ["npm: watch", "npm: watch-tests"], | ||
| "problemMatcher": [] | ||
| } | ||
| ] | ||
| } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,43 +1,70 @@ | ||
| # Change Log | ||
|
|
||
| All notable changes to the "diffy-explain-ai" extension will be documented in this file. | ||
|
|
||
| Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. | ||
|
|
||
| ## [Unreleased] | ||
|
|
||
| - Initial release | ||
|
|
||
| ## [0.0.6] - 2022-12-24 | ||
|
|
||
| ### Added | ||
|
|
||
| - Generate Commit Message. | ||
| - Explain Changes in Natural Language. | ||
| - Directly Generate Commit Message to VScode git commit input box. Copy to Clipboard | ||
|
|
||
| ## [0.0.7] - 2022-12-24 | ||
|
|
||
| ### Fixed | ||
|
|
||
| - Commit Message Generation Improved | ||
|
|
||
| ## [0.0.8] - 2022-12-24 | ||
|
|
||
| ### Changes | ||
|
|
||
| - Suggested Message as Newline Instead of Space | ||
|
|
||
| ## [0.0.9] - 2022-12-24 | ||
|
|
||
| ### Added | ||
|
|
||
| - Explain and Preview Changes of Staged Files | ||
| ### Changes | ||
|
|
||
| - Bug Fixes | ||
|
|
||
| ## [0.0.10] - 2022-12-24 | ||
| ### Changes | ||
|
|
||
| # Change Log | ||
|
|
||
| All notable changes to the "diffy-explain-ai" extension will be documented in this file. | ||
|
|
||
| Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. | ||
|
|
||
| ## [1.1.0] - 2025-11-03 | ||
|
|
||
| ### Added | ||
|
|
||
| - **VS Code Language Model API Integration**: Support for GitHub Copilot as an AI service provider | ||
| - New configuration option `aiServiceProvider` to choose between OpenAI and VS Code LM | ||
| - New configuration option `vscodeLmModel` to select between `copilot-gpt-4o` and `copilot-gpt-3.5-turbo` | ||
| - Dual AI provider architecture allowing users to switch between OpenAI API and GitHub Copilot | ||
|
|
||
| ### Changed | ||
|
|
||
| - Updated VS Code engine requirement to ^1.90.0 for Language Model API support | ||
| - Improved singleton pattern implementation in service classes | ||
| - Modernized imports with `node:` protocol for Node.js built-in modules | ||
| - Enhanced type safety with better TypeScript type definitions | ||
|
|
||
| ### Fixed | ||
|
|
||
| - Fixed singleton constructor patterns in OpenAiService, WorkspaceService, and VsCodeLlmService | ||
| - Fixed confusing void type in EventEmitter type definitions | ||
| - Removed unused variables and parameters warnings | ||
|
|
||
| ### Documentation | ||
|
|
||
| - Updated README with instructions for both OpenAI and GitHub Copilot setup | ||
| - Added comprehensive configuration guide for dual AI provider support | ||
|
|
||
| ## [Unreleased] | ||
|
|
||
| - Initial release | ||
|
|
||
| ## [0.0.6] - 2022-12-24 | ||
|
|
||
| ### Added | ||
|
|
||
| - Generate Commit Message. | ||
| - Explain Changes in Natural Language. | ||
| - Directly Generate Commit Message to VScode git commit input box. Copy to Clipboard | ||
|
|
||
| ## [0.0.7] - 2022-12-24 | ||
|
|
||
| ### Fixed | ||
|
|
||
| - Commit Message Generation Improved | ||
|
|
||
| ## [0.0.8] - 2022-12-24 | ||
|
|
||
| ### Changes | ||
|
|
||
| - Suggested Message as Newline Instead of Space | ||
|
|
||
| ## [0.0.9] - 2022-12-24 | ||
|
|
||
| ### Added | ||
|
|
||
| - Explain and Preview Changes of Staged Files | ||
| ### Changes | ||
|
|
||
| - Bug Fixes | ||
|
|
||
| ## [0.0.10] - 2022-12-24 | ||
| ### Changes | ||
|
|
||
| - Bug Fixes |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.