Skip to content

Commit c17ba76

Browse files
committed
Reactors AI providers to simplify provider APIs
- Splits code into separate folders, e.g. models, utils - Adds structured prompt template handling - Simplifies provider APIs and request handling
1 parent f18c6b6 commit c17ba76

25 files changed

+973
-1367
lines changed

src/ai/openAICompatibleProvider.ts

Lines changed: 0 additions & 419 deletions
This file was deleted.

src/ai/vscodeProvider.ts

Lines changed: 0 additions & 416 deletions
This file was deleted.

src/commands/git/stash.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { QuickInputButton, QuickPickItem, Uri } from 'vscode';
22
import { InputBoxValidationSeverity, QuickInputButtons, ThemeIcon, window } from 'vscode';
3-
import type { AIModel } from '../../ai/aiProviderService';
43
import { GlyphChars } from '../../constants';
54
import type { Container } from '../../container';
65
import { reveal, showDetailsView } from '../../git/actions/stash';
@@ -11,6 +10,7 @@ import type { Repository } from '../../git/models/repository';
1110
import { uncommitted, uncommittedStaged } from '../../git/models/revision';
1211
import { getReferenceLabel } from '../../git/utils/reference.utils';
1312
import { showGenericErrorMessage } from '../../messages';
13+
import type { AIModel } from '../../plus/ai/models/model';
1414
import type { QuickPickItemOfT } from '../../quickpicks/items/common';
1515
import type { FlagsQuickPickItem } from '../../quickpicks/items/flags';
1616
import { createFlagsQuickPickItem } from '../../quickpicks/items/flags';

src/container.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
getSupportedRepositoryLocationProvider,
77
getSupportedWorkspacesStorageProvider,
88
} from '@env/providers';
9-
import { AIProviderService } from './ai/aiProviderService';
109
import { FileAnnotationController } from './annotations/fileAnnotationController';
1110
import { LineAnnotationController } from './annotations/lineAnnotationController';
1211
import { ActionRunners } from './api/actionRunners';
@@ -24,6 +23,7 @@ import { GitFileSystemProvider } from './git/fsProvider';
2423
import { GitProviderService } from './git/gitProviderService';
2524
import type { RepositoryLocationProvider } from './git/location/repositorylocationProvider';
2625
import { LineHoverController } from './hovers/lineHoverController';
26+
import { AIProviderService } from './plus/ai/aiProviderService';
2727
import { DraftService } from './plus/drafts/draftsService';
2828
import { AccountAuthenticationProvider } from './plus/gk/authenticationProvider';
2929
import { OrganizationService } from './plus/gk/organizationService';
@@ -349,7 +349,7 @@ export class Container {
349349
private _ai: AIProviderService | undefined;
350350
get ai(): AIProviderService {
351351
if (this._ai == null) {
352-
this._disposables.push((this._ai = new AIProviderService(this)));
352+
this._disposables.push((this._ai = new AIProviderService(this, this._connection)));
353353
}
354354
return this._ai;
355355
}

src/git/utils/-webview/log.utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import type { AIGenerateChangelogChange } from '../../../ai/aiProviderService';
21
import type { Autolink } from '../../../autolinks/models/autolinks';
32
import type { Container } from '../../../container';
3+
import type { AIGenerateChangelogChange } from '../../../plus/ai/aiProviderService';
44
import { filterMap, map } from '../../../system/iterable';
55
import { getSettledValue } from '../../../system/promise';
66
import type { IssueOrPullRequest } from '../../models/issueOrPullRequest';

0 commit comments

Comments
 (0)