Skip to content

Commit d59ffcc

Browse files
committed
feat: add context bean
1 parent a67b69d commit d59ffcc

4 files changed

Lines changed: 6 additions & 4 deletions

File tree

packages/ai-native/src/browser/contrib/inline-completions/service/ai-completions.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export class AICompletionsService extends Disposable {
7373
const provider = this.intelligentCompletionsRegistry.getProvider();
7474

7575
if (provider) {
76-
return this.intelligentCompletionsHandler.fetchProvider();
76+
return this.intelligentCompletionsHandler.fetchProvider(data);
7777
}
7878

7979
// 兼容旧的 requestCompletion 接口

packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.handler.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
22
import {
33
CancellationTokenSource,
44
Disposable,
5+
IAICompletionOption,
56
IDisposable,
67
IntelligentCompletionsRegistryToken,
78
} from '@opensumi/ide-core-common';
@@ -41,14 +42,14 @@ export class IntelligentCompletionsHandler extends Disposable {
4142
return this.editor.monacoEditor;
4243
}
4344

44-
public async fetchProvider(): Promise<IIntelligentCompletionsResult | undefined> {
45+
public async fetchProvider(bean: IAICompletionOption): Promise<IIntelligentCompletionsResult | undefined> {
4546
const provider = this.intelligentCompletionsRegistry.getProvider();
4647
if (!provider) {
4748
return;
4849
}
4950

5051
const position = this.monacoEditor.getPosition()!;
51-
const intelligentCompletionModel = await provider(this.monacoEditor, position, this.cancelIndicator.token);
52+
const intelligentCompletionModel = await provider(this.monacoEditor, position, bean, this.cancelIndicator.token);
5253

5354
return intelligentCompletionModel;
5455
}

packages/ai-native/src/browser/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ export interface ITerminalProviderRegistry {
203203
export type IIntelligentCompletionProvider = (
204204
editor: ICodeEditor,
205205
position: IPosition,
206+
contextBean: IAICompletionOption,
206207
token: CancellationToken,
207208
) => MaybePromise<IIntelligentCompletionsResult>;
208209
export interface IIntelligentCompletionsRegistry {

packages/startup/entry/sample-modules/ai-native/ai-native.contribution.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ export class AINativeContribution implements AINativeCoreContribution {
407407
}
408408

409409
registerIntelligentCompletionFeature(registry: IIntelligentCompletionsRegistry): void {
410-
registry.registerIntelligentCompletionProvider(async (editor, position, token) => {
410+
registry.registerIntelligentCompletionProvider(async (editor, position, bean, token) => {
411411
const model = editor.getModel()!;
412412
const value = model.getValueInRange({
413413
startLineNumber: position.lineNumber,

0 commit comments

Comments
 (0)