@codingame/monaco-vscode-chat-service-override 11.1.2 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +2 -1
- package/index.js +64 -1
- package/package.json +32 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +73 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +73 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +73 -112
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +253 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +16 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +30 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +22 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +23 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +50 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +124 -95
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.d.ts +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.js +203 -182
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +458 -165
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatParticipantContributions.js → chatParticipant.contribution.js} +101 -92
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +164 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +10 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +941 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +32 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.js +108 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/editorHoverWrapper.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/editorHoverWrapper.js +3 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/media/editorHoverWrapper.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +70 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewSetup.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/{chatViewsWelcomeContributions.js → chatViewsWelcomeHandler.js} +13 -13
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +80 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +152 -104
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +23 -21
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +20 -19
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.service.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +30 -33
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +6 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +9 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +247 -83
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +5 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +35 -35
- package/chat.js +0 -59
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.js +0 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +0 -326
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorActions.js +0 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorController.js +0 -287
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +0 -130
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +0 -172
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
3
|
+
import { Disposable, IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { IProgress } from "vscode/vscode/vs/platform/progress/common/progress";
|
|
5
|
+
import { IChatMessage } from "vscode/vscode/vs/workbench/contrib/chat/common/languageModels";
|
|
6
|
+
import { IChatFollowup, IChatProgress, IChatResponseProgressFileTreeData } from "vscode/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
7
|
+
import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
8
|
+
import { ChatAgentLocation } from "vscode/vscode/vs/workbench/contrib/chat/common/chatAgents";
|
|
9
|
+
import { IChatSlashCommandService } from "vscode/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service";
|
|
10
|
+
export interface IChatSlashData {
|
|
11
|
+
command: string;
|
|
12
|
+
detail: string;
|
|
13
|
+
sortText?: string;
|
|
14
|
+
executeImmediately?: boolean;
|
|
15
|
+
locations: ChatAgentLocation[];
|
|
16
|
+
}
|
|
17
|
+
export interface IChatSlashFragment {
|
|
18
|
+
content: string | {
|
|
19
|
+
treeData: IChatResponseProgressFileTreeData;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export type IChatSlashCallback = {
|
|
23
|
+
(prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, token: CancellationToken): Promise<{
|
|
24
|
+
followUp: IChatFollowup[];
|
|
25
|
+
} | void>;
|
|
26
|
+
};
|
|
27
|
+
export declare class ChatSlashCommandService extends Disposable implements IChatSlashCommandService {
|
|
28
|
+
private readonly _extensionService;
|
|
29
|
+
_serviceBrand: undefined;
|
|
30
|
+
private readonly _commands;
|
|
31
|
+
private readonly _onDidChangeCommands;
|
|
32
|
+
readonly onDidChangeCommands: Event<void>;
|
|
33
|
+
constructor(_extensionService: IExtensionService);
|
|
34
|
+
dispose(): void;
|
|
35
|
+
registerSlashCommand(data: IChatSlashData, command: IChatSlashCallback): IDisposable;
|
|
36
|
+
getCommands(location: ChatAgentLocation): Array<IChatSlashData>;
|
|
37
|
+
hasCommand(id: string): boolean;
|
|
38
|
+
executeCommand(id: string, prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, token: CancellationToken): Promise<{
|
|
39
|
+
followUp: IChatFollowup[];
|
|
40
|
+
} | void>;
|
|
41
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
3
4
|
import { Disposable, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
4
5
|
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
2
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
3
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
4
|
+
import { ChatAgentLocation } from "vscode/vscode/vs/workbench/contrib/chat/common/chatAgents";
|
|
5
|
+
import { WorkingSetEntryState } from "vscode/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
6
|
+
import { IChatRequestVariableEntry } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
7
|
+
import { IChatWidgetHistoryService } from "vscode/vscode/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service";
|
|
8
|
+
export interface IChatHistoryEntry {
|
|
9
|
+
text: string;
|
|
10
|
+
state?: IChatInputState;
|
|
11
|
+
}
|
|
12
|
+
export interface IChatInputState {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
chatContextAttachments?: ReadonlyArray<IChatRequestVariableEntry>;
|
|
15
|
+
chatWorkingSet?: ReadonlyArray<{
|
|
16
|
+
uri: URI;
|
|
17
|
+
state: WorkingSetEntryState;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export declare class ChatWidgetHistoryService implements IChatWidgetHistoryService {
|
|
21
|
+
_serviceBrand: undefined;
|
|
22
|
+
private memento;
|
|
23
|
+
private viewState;
|
|
24
|
+
private readonly _onDidClearHistory;
|
|
25
|
+
readonly onDidClearHistory: Event<void>;
|
|
26
|
+
constructor(storageService: IStorageService);
|
|
27
|
+
getHistory(location: ChatAgentLocation): IChatHistoryEntry[];
|
|
28
|
+
private getKey;
|
|
29
|
+
saveHistory(location: ChatAgentLocation, history: IChatHistoryEntry[]): void;
|
|
30
|
+
clearHistory(): void;
|
|
31
|
+
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
4
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
3
5
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
4
|
-
import { Memento } from 'vscode/vscode/vs/workbench/common/memento';
|
|
6
|
+
import { Memento } from '@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/common/memento';
|
|
5
7
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
6
|
-
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-
|
|
8
|
+
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
|
|
7
9
|
|
|
8
10
|
let ChatWidgetHistoryService = class ChatWidgetHistoryService {
|
|
9
11
|
constructor(storageService) {
|
|
10
12
|
this._onDidClearHistory = ( new Emitter());
|
|
11
13
|
this.onDidClearHistory = this._onDidClearHistory.event;
|
|
12
14
|
this.memento = ( new Memento('interactive-session', storageService));
|
|
13
|
-
const loadedState = this.memento.getMemento(
|
|
15
|
+
const loadedState = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
14
16
|
for (const provider in loadedState.history) {
|
|
15
17
|
loadedState.history[provider] = ( loadedState.history[provider].map(entry => typeof entry === 'string' ? { text: entry } : entry));
|
|
16
18
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
4
|
+
import { ILanguageModelIgnoredFilesService } from "vscode/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service";
|
|
5
|
+
export interface ILanguageModelIgnoredFileProvider {
|
|
6
|
+
isFileIgnored(uri: URI, token: CancellationToken): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export declare class LanguageModelIgnoredFilesService implements ILanguageModelIgnoredFilesService {
|
|
9
|
+
_serviceBrand: undefined;
|
|
10
|
+
private readonly _providers;
|
|
11
|
+
fileIsIgnored(uri: URI, token: CancellationToken): Promise<boolean>;
|
|
12
|
+
registerIgnoredFileProvider(provider: ILanguageModelIgnoredFileProvider): IDisposable;
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IJSONSchema } from "vscode/vscode/vs/base/common/jsonSchema";
|
|
2
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
3
|
+
import { IWorkbenchContribution } from "vscode/vscode/vs/workbench/common/contributions";
|
|
4
|
+
import { ILanguageModelToolsService } from "vscode/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
|
|
5
|
+
export interface IRawToolContribution {
|
|
6
|
+
name: string;
|
|
7
|
+
displayName: string;
|
|
8
|
+
modelDescription: string;
|
|
9
|
+
toolReferenceName?: string;
|
|
10
|
+
icon?: string | {
|
|
11
|
+
light: string;
|
|
12
|
+
dark: string;
|
|
13
|
+
};
|
|
14
|
+
when?: string;
|
|
15
|
+
tags?: string[];
|
|
16
|
+
userDescription?: string;
|
|
17
|
+
inputSchema?: IJSONSchema;
|
|
18
|
+
canBeReferencedInPrompt?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class LanguageModelToolsExtensionPointHandler implements IWorkbenchContribution {
|
|
21
|
+
static readonly ID = "workbench.contrib.toolsExtensionPointHandler";
|
|
22
|
+
private _registrationDisposables;
|
|
23
|
+
constructor(languageModelToolsService: ILanguageModelToolsService, logService: ILogService);
|
|
24
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { DisposableMap } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
4
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
4
5
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
@@ -18,7 +19,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
18
19
|
},
|
|
19
20
|
jsonSchema: {
|
|
20
21
|
description: ( localize(
|
|
21
|
-
|
|
22
|
+
4628,
|
|
22
23
|
'Contributes a tool that can be invoked by a language model in a chat session, or from a standalone command. Registered tools can be used by all extensions.'
|
|
23
24
|
)),
|
|
24
25
|
type: 'array',
|
|
@@ -44,7 +45,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
44
45
|
properties: {
|
|
45
46
|
name: {
|
|
46
47
|
description: ( localize(
|
|
47
|
-
|
|
48
|
+
4629,
|
|
48
49
|
"A unique name for this tool. This name must be a globally unique identifier, and is also used as a name when presenting this tool to a language model."
|
|
49
50
|
)),
|
|
50
51
|
type: 'string',
|
|
@@ -52,7 +53,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
52
53
|
},
|
|
53
54
|
toolReferenceName: {
|
|
54
55
|
markdownDescription: ( localize(
|
|
55
|
-
|
|
56
|
+
4630,
|
|
56
57
|
"If {0} is enabled for this tool, the user may use '#' with this name to invoke the tool in a query. Otherwise, the name is not required. Name must not contain whitespace.",
|
|
57
58
|
'`canBeReferencedInPrompt`'
|
|
58
59
|
)),
|
|
@@ -61,32 +62,32 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
61
62
|
},
|
|
62
63
|
displayName: {
|
|
63
64
|
description: ( localize(
|
|
64
|
-
|
|
65
|
+
4631,
|
|
65
66
|
"A human-readable name for this tool that may be used to describe it in the UI."
|
|
66
67
|
)),
|
|
67
68
|
type: 'string'
|
|
68
69
|
},
|
|
69
70
|
userDescription: {
|
|
70
|
-
description: ( localize(
|
|
71
|
+
description: ( localize(4632, "A description of this tool that may be shown to the user.")),
|
|
71
72
|
type: 'string'
|
|
72
73
|
},
|
|
73
74
|
modelDescription: {
|
|
74
75
|
description: ( localize(
|
|
75
|
-
|
|
76
|
+
4633,
|
|
76
77
|
"A description of this tool that may be used by a language model to select it."
|
|
77
78
|
)),
|
|
78
79
|
type: 'string'
|
|
79
80
|
},
|
|
80
81
|
inputSchema: {
|
|
81
82
|
description: ( localize(
|
|
82
|
-
|
|
83
|
+
4634,
|
|
83
84
|
"A JSON schema for the input this tool accepts. The input must be an object at the top level. A particular language model may not support all JSON schema features. See the documentation for the language model family you are using for more information."
|
|
84
85
|
)),
|
|
85
|
-
$ref: toolsParametersSchemaSchemaId
|
|
86
|
+
$ref: toolsParametersSchemaSchemaId
|
|
86
87
|
},
|
|
87
88
|
canBeReferencedInPrompt: {
|
|
88
89
|
markdownDescription: ( localize(
|
|
89
|
-
|
|
90
|
+
4635,
|
|
90
91
|
"If true, this tool shows up as an attachment that the user can add manually to their request. Chat participants will receive the tool in {0}.",
|
|
91
92
|
'`ChatRequest#toolReferences`'
|
|
92
93
|
)),
|
|
@@ -94,7 +95,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
94
95
|
},
|
|
95
96
|
icon: {
|
|
96
97
|
markdownDescription: ( localize(
|
|
97
|
-
|
|
98
|
+
4636,
|
|
98
99
|
"An icon that represents this tool. Either a file path, an object with file paths for dark and light themes, or a theme icon reference, like `$(zap)`"
|
|
99
100
|
)),
|
|
100
101
|
anyOf: [{
|
|
@@ -104,11 +105,11 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
104
105
|
type: 'object',
|
|
105
106
|
properties: {
|
|
106
107
|
light: {
|
|
107
|
-
description: ( localize(
|
|
108
|
+
description: ( localize(4637, 'Icon path when a light theme is used')),
|
|
108
109
|
type: 'string'
|
|
109
110
|
},
|
|
110
111
|
dark: {
|
|
111
|
-
description: ( localize(
|
|
112
|
+
description: ( localize(4638, 'Icon path when a dark theme is used')),
|
|
112
113
|
type: 'string'
|
|
113
114
|
}
|
|
114
115
|
}
|
|
@@ -116,14 +117,14 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
116
117
|
},
|
|
117
118
|
when: {
|
|
118
119
|
markdownDescription: ( localize(
|
|
119
|
-
|
|
120
|
+
4639,
|
|
120
121
|
"Condition which must be true for this tool to be enabled. Note that a tool may still be invoked by another extension even when its `when` condition is false."
|
|
121
122
|
)),
|
|
122
123
|
type: 'string'
|
|
123
124
|
},
|
|
124
125
|
tags: {
|
|
125
126
|
description: ( localize(
|
|
126
|
-
|
|
127
|
+
4640,
|
|
127
128
|
"A set of tags that roughly describe the tool's capabilities. A tool user may use these to filter the set of tools to just ones that are relevant for the task at hand, or they may want to pick a tag that can be used to identify just the tools contributed by this extension."
|
|
128
129
|
)),
|
|
129
130
|
type: 'array',
|
|
@@ -141,7 +142,7 @@ function toToolKey(extensionIdentifier, toolName) {
|
|
|
141
142
|
let LanguageModelToolsExtensionPointHandler = class LanguageModelToolsExtensionPointHandler {
|
|
142
143
|
static { this.ID = 'workbench.contrib.toolsExtensionPointHandler'; }
|
|
143
144
|
constructor(languageModelToolsService, logService) {
|
|
144
|
-
this._registrationDisposables = (
|
|
145
|
+
this._registrationDisposables = ( new DisposableMap());
|
|
145
146
|
languageModelToolsExtensionPoint.setHandler((extensions, delta) => {
|
|
146
147
|
for (const extension of delta.added) {
|
|
147
148
|
for (const rawTool of extension.value) {
|
|
@@ -173,7 +174,8 @@ let LanguageModelToolsExtensionPointHandler = class LanguageModelToolsExtensionP
|
|
|
173
174
|
}
|
|
174
175
|
const tool = {
|
|
175
176
|
...rawTool,
|
|
176
|
-
|
|
177
|
+
extensionId: extension.description.identifier,
|
|
178
|
+
inputSchema: rawTool.inputSchema,
|
|
177
179
|
id: rawTool.name,
|
|
178
180
|
icon,
|
|
179
181
|
when: rawTool.when ? ContextKeyExpr.deserialize(rawTool.when) : undefined,
|
|
@@ -190,9 +192,9 @@ let LanguageModelToolsExtensionPointHandler = class LanguageModelToolsExtensionP
|
|
|
190
192
|
});
|
|
191
193
|
}
|
|
192
194
|
};
|
|
193
|
-
LanguageModelToolsExtensionPointHandler = (
|
|
194
|
-
(
|
|
195
|
-
(
|
|
196
|
-
], LanguageModelToolsExtensionPointHandler))
|
|
195
|
+
LanguageModelToolsExtensionPointHandler = ( __decorate([
|
|
196
|
+
( __param(0, ILanguageModelToolsService)),
|
|
197
|
+
( __param(1, ILogService))
|
|
198
|
+
], LanguageModelToolsExtensionPointHandler));
|
|
197
199
|
|
|
198
200
|
export { LanguageModelToolsExtensionPointHandler };
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toolsParametersSchemaSchemaId = "vscode://schemas/toolsParameters";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
3
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { RawContextKey } from "vscode/vscode/vs/platform/contextkey/common/contextkey";
|
|
5
|
+
import { IContextKeyService } from "vscode/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
6
|
+
import { IChatAgentService } from "vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
7
|
+
import { IChatModel } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
8
|
+
import { ISpeechToTextEvent } from "vscode/vscode/vs/workbench/contrib/speech/common/speechService";
|
|
9
|
+
import { ISpeechService } from "vscode/vscode/vs/workbench/contrib/speech/common/speechService.service";
|
|
10
|
+
import { IVoiceChatService } from "./voiceChatService.service.js";
|
|
11
|
+
export interface IVoiceChatSessionOptions {
|
|
12
|
+
readonly usesAgents?: boolean;
|
|
13
|
+
readonly model?: IChatModel;
|
|
14
|
+
}
|
|
15
|
+
export interface IVoiceChatTextEvent extends ISpeechToTextEvent {
|
|
16
|
+
readonly waitingForInput?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface IVoiceChatSession {
|
|
19
|
+
readonly onDidChange: Event<IVoiceChatTextEvent>;
|
|
20
|
+
}
|
|
21
|
+
export declare const VoiceChatInProgress: RawContextKey<boolean>;
|
|
22
|
+
export declare class VoiceChatService extends Disposable implements IVoiceChatService {
|
|
23
|
+
private readonly speechService;
|
|
24
|
+
private readonly chatAgentService;
|
|
25
|
+
private readonly contextKeyService;
|
|
26
|
+
readonly _serviceBrand: undefined;
|
|
27
|
+
private static readonly AGENT_PREFIX;
|
|
28
|
+
private static readonly COMMAND_PREFIX;
|
|
29
|
+
private static readonly PHRASES_LOWER;
|
|
30
|
+
private static readonly PHRASES_UPPER;
|
|
31
|
+
private static readonly CHAT_AGENT_ALIAS;
|
|
32
|
+
private readonly voiceChatInProgress;
|
|
33
|
+
private activeVoiceChatSessions;
|
|
34
|
+
constructor(speechService: ISpeechService, chatAgentService: IChatAgentService, contextKeyService: IContextKeyService);
|
|
35
|
+
private createPhrases;
|
|
36
|
+
private toText;
|
|
37
|
+
createVoiceChatSession(token: CancellationToken, options: IVoiceChatSessionOptions): Promise<IVoiceChatSession>;
|
|
38
|
+
private normalizeWord;
|
|
39
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
3
4
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
4
5
|
import { Disposable, DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
@@ -6,22 +7,22 @@ import { rtrim } from 'vscode/vscode/vs/base/common/strings';
|
|
|
6
7
|
import { RawContextKey } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
7
8
|
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
8
9
|
import { IChatAgentService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
9
|
-
import { chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-
|
|
10
|
+
import { chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
10
11
|
import { SpeechToTextStatus } from 'vscode/vscode/vs/workbench/contrib/speech/common/speechService';
|
|
11
12
|
import { ISpeechService } from 'vscode/vscode/vs/workbench/contrib/speech/common/speechService.service';
|
|
12
13
|
|
|
13
14
|
var VoiceChatService_1;
|
|
14
15
|
var PhraseTextType;
|
|
15
|
-
( (
|
|
16
|
+
(function (PhraseTextType) {
|
|
16
17
|
PhraseTextType[PhraseTextType["AGENT"] = 1] = "AGENT";
|
|
17
18
|
PhraseTextType[PhraseTextType["COMMAND"] = 2] = "COMMAND";
|
|
18
19
|
PhraseTextType[PhraseTextType["AGENT_AND_COMMAND"] = 3] = "AGENT_AND_COMMAND";
|
|
19
|
-
})(PhraseTextType || (PhraseTextType = {}))
|
|
20
|
-
const VoiceChatInProgress = (
|
|
20
|
+
})(PhraseTextType || (PhraseTextType = {}));
|
|
21
|
+
const VoiceChatInProgress = ( new RawContextKey(
|
|
21
22
|
'voiceChatInProgress',
|
|
22
23
|
false,
|
|
23
|
-
{ type: 'boolean', description: ( localize(
|
|
24
|
-
))
|
|
24
|
+
{ type: 'boolean', description: ( localize(4641, "A speech-to-text session is in progress for chat.")) }
|
|
25
|
+
));
|
|
25
26
|
let VoiceChatService = class VoiceChatService extends Disposable {
|
|
26
27
|
static { VoiceChatService_1 = this; }
|
|
27
28
|
static { this.AGENT_PREFIX = chatAgentLeader; }
|
|
@@ -34,7 +35,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
34
35
|
[this.AGENT_PREFIX]: 'At',
|
|
35
36
|
[this.COMMAND_PREFIX]: 'Slash'
|
|
36
37
|
}; }
|
|
37
|
-
static { this.CHAT_AGENT_ALIAS = (
|
|
38
|
+
static { this.CHAT_AGENT_ALIAS = ( new Map([['vscode', 'code']])); }
|
|
38
39
|
constructor(speechService, chatAgentService, contextKeyService) {
|
|
39
40
|
super();
|
|
40
41
|
this.speechService = speechService;
|
|
@@ -44,7 +45,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
44
45
|
this.activeVoiceChatSessions = 0;
|
|
45
46
|
}
|
|
46
47
|
createPhrases(model) {
|
|
47
|
-
const phrases = (
|
|
48
|
+
const phrases = ( new Map());
|
|
48
49
|
for (const agent of this.chatAgentService.getActivatedAgents()) {
|
|
49
50
|
const agentPhrase = `${VoiceChatService_1.PHRASES_LOWER[VoiceChatService_1.AGENT_PREFIX]} ${VoiceChatService_1.CHAT_AGENT_ALIAS.get(agent.name) ?? agent.name}`.toLowerCase();
|
|
50
51
|
phrases.set(agentPhrase, { agent: agent.name });
|
|
@@ -68,7 +69,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
async createVoiceChatSession(token, options) {
|
|
71
|
-
const disposables = (
|
|
72
|
+
const disposables = ( new DisposableStore());
|
|
72
73
|
const onSessionStoppedOrCanceled = (dispose) => {
|
|
73
74
|
this.activeVoiceChatSessions = Math.max(0, this.activeVoiceChatSessions - 1);
|
|
74
75
|
if (this.activeVoiceChatSessions === 0) {
|
|
@@ -81,7 +82,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
81
82
|
disposables.add(token.onCancellationRequested(() => onSessionStoppedOrCanceled(true)));
|
|
82
83
|
let detectedAgent = false;
|
|
83
84
|
let detectedSlashCommand = false;
|
|
84
|
-
const emitter = disposables.add((
|
|
85
|
+
const emitter = disposables.add(( new Emitter()));
|
|
85
86
|
const session = await this.speechService.createSpeechToTextSession(token, 'chat');
|
|
86
87
|
if (token.isCancellationRequested) {
|
|
87
88
|
onSessionStoppedOrCanceled(true);
|
|
@@ -100,7 +101,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
100
101
|
let transformedWords;
|
|
101
102
|
let waitingForInput = false;
|
|
102
103
|
if (options.usesAgents && startsWithAgent && !detectedAgent && !detectedSlashCommand && originalWords.length >= 4) {
|
|
103
|
-
const phrase = phrases.get((
|
|
104
|
+
const phrase = phrases.get(( originalWords.slice(0, 4).map(word => this.normalizeWord(word))).join(' '));
|
|
104
105
|
if (phrase) {
|
|
105
106
|
transformedWords = [this.toText(phrase, PhraseTextType.AGENT_AND_COMMAND), ...originalWords.slice(4)];
|
|
106
107
|
waitingForInput = originalWords.length === 4;
|
|
@@ -111,7 +112,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
if (options.usesAgents && startsWithAgent && !detectedAgent && !transformedWords && originalWords.length >= 2) {
|
|
114
|
-
const phrase = phrases.get((
|
|
115
|
+
const phrase = phrases.get(( originalWords.slice(0, 2).map(word => this.normalizeWord(word))).join(' '));
|
|
115
116
|
if (phrase) {
|
|
116
117
|
transformedWords = [this.toText(phrase, PhraseTextType.AGENT), ...originalWords.slice(2)];
|
|
117
118
|
waitingForInput = originalWords.length === 2;
|
|
@@ -121,7 +122,7 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
if (startsWithSlashCommand && !detectedSlashCommand && !transformedWords && originalWords.length >= 2) {
|
|
124
|
-
const phrase = phrases.get((
|
|
125
|
+
const phrase = phrases.get(( originalWords.slice(0, 2).map(word => this.normalizeWord(word))).join(' '));
|
|
125
126
|
if (phrase) {
|
|
126
127
|
transformedWords = [this.toText(phrase, options.usesAgents && !detectedAgent ?
|
|
127
128
|
PhraseTextType.AGENT_AND_COMMAND :
|
|
@@ -168,10 +169,10 @@ let VoiceChatService = class VoiceChatService extends Disposable {
|
|
|
168
169
|
return word.toLowerCase();
|
|
169
170
|
}
|
|
170
171
|
};
|
|
171
|
-
VoiceChatService = VoiceChatService_1 = (
|
|
172
|
-
(
|
|
173
|
-
(
|
|
174
|
-
(
|
|
175
|
-
], VoiceChatService))
|
|
172
|
+
VoiceChatService = VoiceChatService_1 = ( __decorate([
|
|
173
|
+
( __param(0, ISpeechService)),
|
|
174
|
+
( __param(1, IChatAgentService)),
|
|
175
|
+
( __param(2, IContextKeyService))
|
|
176
|
+
], VoiceChatService));
|
|
176
177
|
|
|
177
178
|
export { VoiceChatInProgress, VoiceChatService };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { IVoiceChatSessionOptions, IVoiceChatSession } from "./voiceChatService.js";
|
|
3
|
+
export declare const IVoiceChatService: import("vscode/vscode/vs/platform/instantiation/common/instantiation").ServiceIdentifier<IVoiceChatService>;
|
|
4
|
+
export interface IVoiceChatService {
|
|
5
|
+
readonly _serviceBrand: undefined;
|
|
6
|
+
createVoiceChatSession(token: CancellationToken, options: IVoiceChatSessionOptions): Promise<IVoiceChatSession>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,51 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { registerEditorContribution, EditorContributionInstantiation } from 'vscode/vscode/vs/editor/browser/editorExtensions';
|
|
2
3
|
import { registerAction2, MenuRegistry } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
3
|
-
import { InlineChatController } from '@codingame/monaco-vscode-
|
|
4
|
-
import { StartSessionAction, CloseAction, ConfigureInlineChatAction, UnstashSessionAction, DiscardHunkAction, RerunAction, MoveToNextHunk, MoveToPreviousHunk, ArrowOutUpAction, ArrowOutDownAction, FocusInlineChat, ViewInChatAction, ToggleDiffForChange, AcceptChanges } from '@codingame/monaco-vscode-
|
|
5
|
-
import { INLINE_CHAT_ID, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_EDITING, MENU_INLINE_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-
|
|
4
|
+
import { InlineChatController } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
5
|
+
import { StartSessionAction, CloseAction, ConfigureInlineChatAction, UnstashSessionAction, DiscardHunkAction, RerunAction, MoveToNextHunk, MoveToPreviousHunk, ArrowOutUpAction, ArrowOutDownAction, FocusInlineChat, ViewInChatAction, ToggleDiffForChange, AcceptChanges } from '@codingame/monaco-vscode-4a36e358-d94d-55e0-86ee-3bcd543d9d3f-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatActions';
|
|
6
|
+
import { INLINE_CHAT_ID, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_EDITING, MENU_INLINE_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
7
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
6
8
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
9
|
+
import { LifecyclePhase } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
7
10
|
import { InlineChatNotebookContribution } from './inlineChatNotebook.js';
|
|
8
|
-
import { Extensions, registerWorkbenchContribution2 } from 'vscode/vscode/vs/workbench/common/contributions';
|
|
11
|
+
import { Extensions, registerWorkbenchContribution2, WorkbenchPhase } from 'vscode/vscode/vs/workbench/common/contributions';
|
|
9
12
|
import './inlineChatSavingServiceImpl.js';
|
|
10
13
|
import { InlineChatAccessibleView } from './inlineChatAccessibleView.js';
|
|
11
14
|
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
|
-
import { InlineChatEnabler } from '@codingame/monaco-vscode-
|
|
15
|
+
import { InlineChatEnabler } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl';
|
|
13
16
|
import { AccessibleViewRegistry } from 'vscode/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
14
|
-
import {
|
|
17
|
+
import { ChatSubmitAction, CancelAction } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
|
|
15
18
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
16
|
-
import {
|
|
19
|
+
import { ChatContextKeys } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
17
20
|
import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
18
21
|
import { InlineChatAccessibilityHelp } from './inlineChatAccessibilityHelp.js';
|
|
19
|
-
import {
|
|
22
|
+
import { InlineChatExpandLineAction, ShowInlineChatHintAction, HideInlineChatHintAction, InlineChatHintsController } from './inlineChatCurrentLine.js';
|
|
20
23
|
|
|
21
|
-
registerEditorContribution(INLINE_CHAT_ID, InlineChatController,
|
|
22
|
-
registerEditorContribution(InlineChatExansionContextKey.Id, InlineChatExansionContextKey, 2 );
|
|
24
|
+
registerEditorContribution(INLINE_CHAT_ID, InlineChatController, EditorContributionInstantiation.Eager);
|
|
23
25
|
registerAction2(InlineChatExpandLineAction);
|
|
26
|
+
registerAction2(ShowInlineChatHintAction);
|
|
27
|
+
registerAction2(HideInlineChatHintAction);
|
|
28
|
+
registerEditorContribution(InlineChatHintsController.ID, InlineChatHintsController, EditorContributionInstantiation.Eventually);
|
|
24
29
|
const editActionMenuItem = {
|
|
25
30
|
group: '0_main',
|
|
26
31
|
order: 0,
|
|
27
32
|
command: {
|
|
28
|
-
id:
|
|
29
|
-
title: ( localize(
|
|
33
|
+
id: ChatSubmitAction.ID,
|
|
34
|
+
title: ( localize(6740, "Edit Code")),
|
|
30
35
|
},
|
|
31
|
-
when: (
|
|
32
|
-
CONTEXT_CHAT_INPUT_HAS_TEXT,
|
|
33
|
-
(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()),
|
|
34
|
-
CTX_INLINE_CHAT_EDITING
|
|
35
|
-
))),
|
|
36
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), CTX_INLINE_CHAT_EDITING)),
|
|
36
37
|
};
|
|
37
38
|
const generateActionMenuItem = {
|
|
38
39
|
group: '0_main',
|
|
39
40
|
order: 0,
|
|
40
41
|
command: {
|
|
41
|
-
id:
|
|
42
|
-
title: ( localize(
|
|
42
|
+
id: ChatSubmitAction.ID,
|
|
43
|
+
title: ( localize(6741, "Generate")),
|
|
43
44
|
},
|
|
44
|
-
when: (
|
|
45
|
-
CONTEXT_CHAT_INPUT_HAS_TEXT,
|
|
46
|
-
(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()),
|
|
47
|
-
(CTX_INLINE_CHAT_EDITING.toNegated())
|
|
48
|
-
))),
|
|
45
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), ( CTX_INLINE_CHAT_EDITING.toNegated()))),
|
|
49
46
|
};
|
|
50
47
|
MenuRegistry.appendMenuItem(MENU_INLINE_CHAT_WIDGET_STATUS, editActionMenuItem);
|
|
51
48
|
MenuRegistry.appendMenuItem(MENU_INLINE_CHAT_WIDGET_STATUS, generateActionMenuItem);
|
|
@@ -54,10 +51,10 @@ const cancelActionMenuItem = {
|
|
|
54
51
|
order: 0,
|
|
55
52
|
command: {
|
|
56
53
|
id: CancelAction.ID,
|
|
57
|
-
title: ( localize(
|
|
58
|
-
shortTitle: ( localize(
|
|
54
|
+
title: ( localize(6742, "Cancel Request")),
|
|
55
|
+
shortTitle: ( localize(6743, "Cancel")),
|
|
59
56
|
},
|
|
60
|
-
when: (
|
|
57
|
+
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS)),
|
|
61
58
|
};
|
|
62
59
|
MenuRegistry.appendMenuItem(MENU_INLINE_CHAT_WIDGET_STATUS, cancelActionMenuItem);
|
|
63
60
|
registerAction2(StartSessionAction);
|
|
@@ -74,8 +71,8 @@ registerAction2(FocusInlineChat);
|
|
|
74
71
|
registerAction2(ViewInChatAction);
|
|
75
72
|
registerAction2(ToggleDiffForChange);
|
|
76
73
|
registerAction2(AcceptChanges);
|
|
77
|
-
const workbenchContributionsRegistry = (
|
|
78
|
-
workbenchContributionsRegistry.registerWorkbenchContribution(InlineChatNotebookContribution,
|
|
79
|
-
registerWorkbenchContribution2(InlineChatEnabler.Id, InlineChatEnabler,
|
|
80
|
-
AccessibleViewRegistry.register((
|
|
81
|
-
AccessibleViewRegistry.register((
|
|
74
|
+
const workbenchContributionsRegistry = ( Registry.as(Extensions.Workbench));
|
|
75
|
+
workbenchContributionsRegistry.registerWorkbenchContribution(InlineChatNotebookContribution, LifecyclePhase.Restored);
|
|
76
|
+
registerWorkbenchContribution2(InlineChatEnabler.Id, InlineChatEnabler, WorkbenchPhase.AfterRestored);
|
|
77
|
+
AccessibleViewRegistry.register(( new InlineChatAccessibleView()));
|
|
78
|
+
AccessibleViewRegistry.register(( new InlineChatAccessibilityHelp()));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ServicesAccessor } from "vscode/vscode/vs/editor/browser/editorExtensions";
|
|
2
|
+
import { AccessibleViewType } from "vscode/vscode/vs/platform/accessibility/browser/accessibleView";
|
|
3
|
+
import { IAccessibleViewImplentation } from "vscode/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
|
|
4
|
+
export declare class InlineChatAccessibilityHelp implements IAccessibleViewImplentation {
|
|
5
|
+
readonly priority = 106;
|
|
6
|
+
readonly name = "inlineChat";
|
|
7
|
+
readonly type = AccessibleViewType.Help;
|
|
8
|
+
readonly when: import("vscode/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression | undefined;
|
|
9
|
+
getProvider(accessor: ServicesAccessor): import("vscode/vscode/vs/platform/accessibility/browser/accessibleView").AccessibleContentProvider | undefined;
|
|
10
|
+
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
|
|
1
2
|
import { ICodeEditorService } from 'vscode/vscode/vs/editor/browser/services/codeEditorService';
|
|
3
|
+
import { AccessibleViewType } from 'vscode/vscode/vs/platform/accessibility/browser/accessibleView';
|
|
2
4
|
import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
3
5
|
import { getChatAccessibilityHelpProvider } from '../../chat/browser/actions/chatAccessibilityHelp.js';
|
|
4
|
-
import {
|
|
5
|
-
import { CTX_INLINE_CHAT_RESPONSE_FOCUSED } from '@codingame/monaco-vscode-
|
|
6
|
+
import { ChatContextKeys } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
7
|
+
import { CTX_INLINE_CHAT_RESPONSE_FOCUSED } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
6
8
|
|
|
7
9
|
class InlineChatAccessibilityHelp {
|
|
8
10
|
constructor() {
|
|
9
11
|
this.priority = 106;
|
|
10
12
|
this.name = 'inlineChat';
|
|
11
|
-
this.type =
|
|
12
|
-
this.when = ( ContextKeyExpr.or(CTX_INLINE_CHAT_RESPONSE_FOCUSED,
|
|
13
|
+
this.type = AccessibleViewType.Help;
|
|
14
|
+
this.when = ( ContextKeyExpr.or(CTX_INLINE_CHAT_RESPONSE_FOCUSED, ChatContextKeys.inputHasFocus));
|
|
13
15
|
}
|
|
14
16
|
getProvider(accessor) {
|
|
15
17
|
const codeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor() || accessor.get(ICodeEditorService).getFocusedCodeEditor();
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AccessibleViewType, AccessibleContentProvider } from "vscode/vscode/vs/platform/accessibility/browser/accessibleView";
|
|
2
|
+
import { ServicesAccessor } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
|
+
import { IAccessibleViewImplentation } from "vscode/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
|
|
4
|
+
export declare class InlineChatAccessibleView implements IAccessibleViewImplentation {
|
|
5
|
+
readonly priority = 100;
|
|
6
|
+
readonly name = "inlineChat";
|
|
7
|
+
readonly when: import("vscode/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression | undefined;
|
|
8
|
+
readonly type = AccessibleViewType.View;
|
|
9
|
+
getProvider(accessor: ServicesAccessor): AccessibleContentProvider | undefined;
|
|
10
|
+
}
|