@codingame/monaco-vscode-chat-service-override 17.2.1 → 18.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.js +7 -4
- package/package.json +36 -30
- package/vscode/src/vs/base/common/objectCache.d.ts +2 -2
- package/vscode/src/vs/base/common/objectCache.js +3 -3
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +10 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +40 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +256 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +234 -572
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +29 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +107 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +344 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +84 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +137 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +54 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +40 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +15 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +171 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +176 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +15 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +35 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +80 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +11 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +15 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +18 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +118 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +46 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +379 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +31 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +382 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +99 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +9 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +18 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +95 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +92 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/media/github.svg +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google.svg +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +10 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +111 -111
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +36 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +91 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +348 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +46 -36
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +21 -11
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptPathAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +21 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +111 -124
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +22 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +159 -97
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +15 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +2 -14
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +198 -33
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +28 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +0 -73
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +0 -74
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +0 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +0 -68
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +0 -121
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.js +0 -13
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
3
|
import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
4
4
|
import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
|
|
5
|
-
import { CHAT_CATEGORY, stringifyItem } from '@codingame/monaco-vscode-
|
|
5
|
+
import { CHAT_CATEGORY, stringifyItem } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
6
6
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
7
7
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
8
|
-
import { isRequestVM, isResponseVM } from '@codingame/monaco-vscode-
|
|
8
|
+
import { isRequestVM, isResponseVM } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
|
|
9
9
|
|
|
10
10
|
function registerChatCopyActions() {
|
|
11
11
|
registerAction2(class CopyAllAction extends Action2 {
|
|
12
12
|
constructor() {
|
|
13
13
|
super({
|
|
14
14
|
id: 'workbench.action.chat.copyAll',
|
|
15
|
-
title: ( localize2(
|
|
15
|
+
title: ( localize2(4449, "Copy All")),
|
|
16
16
|
f1: false,
|
|
17
17
|
category: CHAT_CATEGORY,
|
|
18
18
|
menu: {
|
|
@@ -42,7 +42,7 @@ function registerChatCopyActions() {
|
|
|
42
42
|
constructor() {
|
|
43
43
|
super({
|
|
44
44
|
id: 'workbench.action.chat.copyItem',
|
|
45
|
-
title: ( localize2(
|
|
45
|
+
title: ( localize2(4450, "Copy")),
|
|
46
46
|
f1: false,
|
|
47
47
|
category: CHAT_CATEGORY,
|
|
48
48
|
menu: {
|
|
@@ -16,7 +16,7 @@ class LogChatInputHistoryAction extends Action2 {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
super({
|
|
18
18
|
id: LogChatInputHistoryAction.ID,
|
|
19
|
-
title: ( localize2(
|
|
19
|
+
title: ( localize2(4451, "Log Chat Input History")),
|
|
20
20
|
icon: Codicon.attach,
|
|
21
21
|
category: Categories.Developer,
|
|
22
22
|
f1: true,
|
|
@@ -33,10 +33,11 @@ class LogChatIndexAction extends Action2 {
|
|
|
33
33
|
constructor() {
|
|
34
34
|
super({
|
|
35
35
|
id: LogChatIndexAction.ID,
|
|
36
|
-
title: ( localize2(
|
|
36
|
+
title: ( localize2(4452, "Log Chat Index")),
|
|
37
37
|
icon: Codicon.attach,
|
|
38
38
|
category: Categories.Developer,
|
|
39
|
-
f1: true
|
|
39
|
+
f1: true,
|
|
40
|
+
precondition: ChatContextKeys.enabled
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
43
|
async run(accessor, ...args) {
|
|
@@ -3,17 +3,17 @@ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
3
3
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
4
|
import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
5
5
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
6
|
-
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
6
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
7
7
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
8
8
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
9
|
-
import { isResponseVM } from '@codingame/monaco-vscode-
|
|
9
|
+
import { isResponseVM } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
|
|
10
10
|
|
|
11
11
|
function registerChatFileTreeActions() {
|
|
12
12
|
registerAction2(class NextFileTreeAction extends Action2 {
|
|
13
13
|
constructor() {
|
|
14
14
|
super({
|
|
15
15
|
id: 'workbench.action.chat.nextFileTree',
|
|
16
|
-
title: ( localize2(
|
|
16
|
+
title: ( localize2(4467, "Next File Tree")),
|
|
17
17
|
keybinding: {
|
|
18
18
|
primary: KeyMod.CtrlCmd | KeyCode.F9,
|
|
19
19
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -32,7 +32,7 @@ function registerChatFileTreeActions() {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: 'workbench.action.chat.previousFileTree',
|
|
35
|
-
title: ( localize2(
|
|
35
|
+
title: ( localize2(4468, "Previous File Tree")),
|
|
36
36
|
keybinding: {
|
|
37
37
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F9,
|
|
38
38
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -9,7 +9,7 @@ import { IExtensionManagementService } from '@codingame/monaco-vscode-api/vscode
|
|
|
9
9
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
10
10
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
11
11
|
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
12
|
-
import { showCopilotView } from '@codingame/monaco-vscode-
|
|
12
|
+
import { showCopilotView } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
13
13
|
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
14
14
|
|
|
15
15
|
var ChatGettingStartedContribution_1;
|
|
@@ -5,23 +5,23 @@ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls'
|
|
|
5
5
|
import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
6
|
import { IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
7
7
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
8
|
-
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
8
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
9
9
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
10
|
-
import { ChatEditorInput } from '@codingame/monaco-vscode-
|
|
10
|
+
import { ChatEditorInput } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
11
11
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
12
12
|
import { isExportableSessionData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
13
13
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
14
14
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
15
15
|
|
|
16
16
|
const defaultFileName = 'chat.json';
|
|
17
|
-
const filters = [{ name: ( localize(
|
|
17
|
+
const filters = [{ name: ( localize(4469, "Chat Session")), extensions: ['json'] }];
|
|
18
18
|
function registerChatExportActions() {
|
|
19
19
|
registerAction2(class ExportChatAction extends Action2 {
|
|
20
20
|
constructor() {
|
|
21
21
|
super({
|
|
22
22
|
id: 'workbench.action.chat.export',
|
|
23
23
|
category: CHAT_CATEGORY,
|
|
24
|
-
title: ( localize2(
|
|
24
|
+
title: ( localize2(4470, "Export Chat...")),
|
|
25
25
|
precondition: ChatContextKeys.enabled,
|
|
26
26
|
f1: true,
|
|
27
27
|
});
|
|
@@ -55,7 +55,7 @@ function registerChatExportActions() {
|
|
|
55
55
|
constructor() {
|
|
56
56
|
super({
|
|
57
57
|
id: 'workbench.action.chat.import',
|
|
58
|
-
title: ( localize2(
|
|
58
|
+
title: ( localize2(4471, "Import Chat...")),
|
|
59
59
|
category: CHAT_CATEGORY,
|
|
60
60
|
precondition: ChatContextKeys.enabled,
|
|
61
61
|
f1: true,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
|
+
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { registerAction2, Action2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
4
5
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
5
6
|
import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
7
|
+
import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
|
|
6
8
|
import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
|
|
7
9
|
import { AUX_WINDOW_GROUP, ACTIVE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
8
10
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
@@ -10,11 +12,11 @@ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
|
|
|
10
12
|
import { isChatViewTitleActionContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatActions';
|
|
11
13
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
12
14
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
13
|
-
import { ChatViewId } from '@codingame/monaco-vscode-
|
|
15
|
+
import { ChatViewId } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
14
16
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
15
17
|
import { ChatEditor } from '../chatEditor.js';
|
|
16
|
-
import { ChatEditorInput } from '@codingame/monaco-vscode-
|
|
17
|
-
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
18
|
+
import { ChatEditorInput } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
19
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
18
20
|
|
|
19
21
|
var MoveToNewLocation;
|
|
20
22
|
(function (MoveToNewLocation) {
|
|
@@ -25,8 +27,8 @@ function registerMoveActions() {
|
|
|
25
27
|
registerAction2(class GlobalMoveToEditorAction extends Action2 {
|
|
26
28
|
constructor() {
|
|
27
29
|
super({
|
|
28
|
-
id:
|
|
29
|
-
title: ( localize2(
|
|
30
|
+
id: 'workbench.action.chat.openInEditor',
|
|
31
|
+
title: ( localize2(4472, "Open Chat in Editor")),
|
|
30
32
|
category: CHAT_CATEGORY,
|
|
31
33
|
precondition: ChatContextKeys.enabled,
|
|
32
34
|
f1: true,
|
|
@@ -46,8 +48,8 @@ function registerMoveActions() {
|
|
|
46
48
|
registerAction2(class GlobalMoveToNewWindowAction extends Action2 {
|
|
47
49
|
constructor() {
|
|
48
50
|
super({
|
|
49
|
-
id:
|
|
50
|
-
title: ( localize2(
|
|
51
|
+
id: 'workbench.action.chat.openInNewWindow',
|
|
52
|
+
title: ( localize2(4473, "Open Chat in New Window")),
|
|
51
53
|
category: CHAT_CATEGORY,
|
|
52
54
|
precondition: ChatContextKeys.enabled,
|
|
53
55
|
f1: true,
|
|
@@ -67,22 +69,30 @@ function registerMoveActions() {
|
|
|
67
69
|
registerAction2(class GlobalMoveToSidebarAction extends Action2 {
|
|
68
70
|
constructor() {
|
|
69
71
|
super({
|
|
70
|
-
id:
|
|
71
|
-
title: ( localize2(
|
|
72
|
+
id: 'workbench.action.chat.openInSidebar',
|
|
73
|
+
title: ( localize2(4474, "Open Chat in Side Bar")),
|
|
72
74
|
category: CHAT_CATEGORY,
|
|
73
75
|
precondition: ChatContextKeys.enabled,
|
|
74
|
-
f1: true
|
|
75
|
-
menu: [{
|
|
76
|
-
id: MenuId.EditorTitle,
|
|
77
|
-
order: 0,
|
|
78
|
-
when: ( ActiveEditorContext.isEqualTo(ChatEditorInput.EditorID)),
|
|
79
|
-
}]
|
|
76
|
+
f1: true
|
|
80
77
|
});
|
|
81
78
|
}
|
|
82
79
|
async run(accessor, ...args) {
|
|
83
80
|
return moveToSidebar(accessor);
|
|
84
81
|
}
|
|
85
82
|
});
|
|
83
|
+
function appendOpenChatInViewMenuItem(menuId, title, icon, locationContextKey) {
|
|
84
|
+
MenuRegistry.appendMenuItem(menuId, {
|
|
85
|
+
command: { id: 'workbench.action.chat.openInSidebar', title, icon },
|
|
86
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(ChatEditorInput.EditorID)), locationContextKey)),
|
|
87
|
+
group: menuId === MenuId.CompactWindowEditorTitle ? 'navigation' : undefined,
|
|
88
|
+
order: 0
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
|
|
92
|
+
appendOpenChatInViewMenuItem(id, ( localize(4475, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
|
|
93
|
+
appendOpenChatInViewMenuItem(id, ( localize(4476, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
|
|
94
|
+
appendOpenChatInViewMenuItem(id, ( localize(4477, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
|
|
95
|
+
});
|
|
86
96
|
}
|
|
87
97
|
async function executeMoveToAction(accessor, moveTo, _sessionId) {
|
|
88
98
|
const widgetService = accessor.get(IChatWidgetService);
|
|
@@ -90,14 +100,14 @@ async function executeMoveToAction(accessor, moveTo, _sessionId) {
|
|
|
90
100
|
const widget = (_sessionId ? widgetService.getWidgetBySessionId(_sessionId) : undefined)
|
|
91
101
|
?? widgetService.lastFocusedWidget;
|
|
92
102
|
if (!widget || !widget.viewModel || widget.location !== ChatAgentLocation.Panel) {
|
|
93
|
-
await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: { pinned: true, compact:
|
|
103
|
+
await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: { pinned: true, auxiliary: { compact: true, bounds: { width: 640, height: 640 } } } }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP);
|
|
94
104
|
return;
|
|
95
105
|
}
|
|
96
106
|
const sessionId = widget.viewModel.sessionId;
|
|
97
107
|
const viewState = widget.getViewState();
|
|
98
108
|
widget.clear();
|
|
99
109
|
await widget.waitForReady();
|
|
100
|
-
const options = { target: { sessionId }, pinned: true, viewState, compact:
|
|
110
|
+
const options = { target: { sessionId }, pinned: true, viewState, auxiliary: { compact: true, bounds: { width: 640, height: 640 } } };
|
|
101
111
|
await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP);
|
|
102
112
|
}
|
|
103
113
|
async function moveToSidebar(accessor) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-
|
|
1
|
+
export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants";
|
|
2
2
|
export declare function registerQuickChatActions(): void;
|
|
@@ -5,11 +5,11 @@ import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/
|
|
|
5
5
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
6
|
import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
7
7
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
8
|
-
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
8
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
9
9
|
import { IQuickChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
10
10
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
11
|
-
import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-
|
|
12
|
-
export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-
|
|
11
|
+
import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
12
|
+
export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
13
13
|
|
|
14
14
|
function registerQuickChatActions() {
|
|
15
15
|
registerAction2(QuickChatGlobalAction);
|
|
@@ -18,7 +18,7 @@ function registerQuickChatActions() {
|
|
|
18
18
|
constructor() {
|
|
19
19
|
super({
|
|
20
20
|
id: 'workbench.action.quickchat.openInChatView',
|
|
21
|
-
title: ( localize2(
|
|
21
|
+
title: ( localize2(4478, "Open in Chat View")),
|
|
22
22
|
f1: false,
|
|
23
23
|
category: CHAT_CATEGORY,
|
|
24
24
|
icon: Codicon.commentDiscussion,
|
|
@@ -38,7 +38,7 @@ function registerQuickChatActions() {
|
|
|
38
38
|
constructor() {
|
|
39
39
|
super({
|
|
40
40
|
id: 'workbench.action.quickchat.close',
|
|
41
|
-
title: ( localize2(
|
|
41
|
+
title: ( localize2(4479, "Close Quick Chat")),
|
|
42
42
|
f1: false,
|
|
43
43
|
category: CHAT_CATEGORY,
|
|
44
44
|
icon: Codicon.close,
|
|
@@ -59,7 +59,7 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
59
59
|
constructor() {
|
|
60
60
|
super({
|
|
61
61
|
id: ASK_QUICK_QUESTION_ACTION_ID,
|
|
62
|
-
title: ( localize2(
|
|
62
|
+
title: ( localize2(4480, 'Quick Chat')),
|
|
63
63
|
precondition: ChatContextKeys.enabled,
|
|
64
64
|
icon: Codicon.commentDiscussion,
|
|
65
65
|
f1: false,
|
|
@@ -74,7 +74,7 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
74
74
|
order: 4
|
|
75
75
|
},
|
|
76
76
|
metadata: {
|
|
77
|
-
description: ( localize(
|
|
77
|
+
description: ( localize(4481, 'Toggle the quick chat')),
|
|
78
78
|
args: [{
|
|
79
79
|
name: 'args',
|
|
80
80
|
schema: {
|
|
@@ -84,18 +84,18 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
84
84
|
required: ['query'],
|
|
85
85
|
properties: {
|
|
86
86
|
query: {
|
|
87
|
-
description: ( localize(
|
|
87
|
+
description: ( localize(4482, "The query to open the quick chat with")),
|
|
88
88
|
type: 'string'
|
|
89
89
|
},
|
|
90
90
|
isPartialQuery: {
|
|
91
|
-
description: ( localize(
|
|
91
|
+
description: ( localize(4483, "Whether the query is partial; it will wait for more user input")),
|
|
92
92
|
type: 'boolean'
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
type: 'string',
|
|
98
|
-
description: ( localize(
|
|
98
|
+
description: ( localize(4482, "The query to open the quick chat with"))
|
|
99
99
|
}
|
|
100
100
|
]
|
|
101
101
|
}
|
|
@@ -125,7 +125,7 @@ class AskQuickChatAction extends Action2 {
|
|
|
125
125
|
super({
|
|
126
126
|
id: `workbench.action.openQuickChat`,
|
|
127
127
|
category: CHAT_CATEGORY,
|
|
128
|
-
title: ( localize2(
|
|
128
|
+
title: ( localize2(4484, "Open Quick Chat")),
|
|
129
129
|
precondition: ChatContextKeys.enabled,
|
|
130
130
|
f1: true
|
|
131
131
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerChatToolActions(): void;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
|
|
2
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
|
+
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
4
|
+
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
+
import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
7
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
9
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
10
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
11
|
+
import { isResponseVM } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
|
|
12
|
+
import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
13
|
+
import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
14
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
15
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
16
|
+
import { AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
17
|
+
import { showToolsPicker } from './chatToolPicker.js';
|
|
18
|
+
|
|
19
|
+
class AcceptToolConfirmation extends Action2 {
|
|
20
|
+
constructor() {
|
|
21
|
+
super({
|
|
22
|
+
id: AcceptToolConfirmationActionId,
|
|
23
|
+
title: ( localize2(4495, "Accept")),
|
|
24
|
+
f1: false,
|
|
25
|
+
category: CHAT_CATEGORY,
|
|
26
|
+
keybinding: {
|
|
27
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ChatContextKeys.Editing.hasToolConfirmation)),
|
|
28
|
+
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
29
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
run(accessor, ...args) {
|
|
34
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
35
|
+
const widget = chatWidgetService.lastFocusedWidget;
|
|
36
|
+
const lastItem = widget?.viewModel?.getItems().at(-1);
|
|
37
|
+
if (!isResponseVM(lastItem)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const unconfirmedToolInvocation = lastItem.model.response.value.find((item) => item.kind === 'toolInvocation' && !item.isConfirmed);
|
|
41
|
+
if (unconfirmedToolInvocation) {
|
|
42
|
+
unconfirmedToolInvocation.confirmed.complete(true);
|
|
43
|
+
}
|
|
44
|
+
widget?.focusInput();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class ConfigureToolsAction extends Action2 {
|
|
48
|
+
constructor() {
|
|
49
|
+
super({
|
|
50
|
+
id: 'workbench.action.chat.configureTools',
|
|
51
|
+
title: ( localize(4496, "Configure Tools...")),
|
|
52
|
+
icon: Codicon.tools,
|
|
53
|
+
f1: false,
|
|
54
|
+
category: CHAT_CATEGORY,
|
|
55
|
+
precondition: ( ChatContextKeys.chatMode.isEqualTo(ChatMode.Agent)),
|
|
56
|
+
menu: {
|
|
57
|
+
when: ( ChatContextKeys.chatMode.isEqualTo(ChatMode.Agent)),
|
|
58
|
+
id: MenuId.ChatExecute,
|
|
59
|
+
group: 'navigation',
|
|
60
|
+
order: 1,
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async run(accessor, ...args) {
|
|
65
|
+
const instaService = accessor.get(IInstantiationService);
|
|
66
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
67
|
+
const telemetryService = accessor.get(ITelemetryService);
|
|
68
|
+
let widget = chatWidgetService.lastFocusedWidget;
|
|
69
|
+
if (!widget) {
|
|
70
|
+
function isChatActionContext(obj) {
|
|
71
|
+
return obj && typeof obj === 'object' && obj.widget;
|
|
72
|
+
}
|
|
73
|
+
const context = args[0];
|
|
74
|
+
if (isChatActionContext(context)) {
|
|
75
|
+
widget = context.widget;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (!widget) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
await instaService.invokeFunction(showToolsPicker, ( localize(4497, "Select tools that are available to chat")), widget.input.selectedToolsModel.entriesMap, newEntriesMap => {
|
|
82
|
+
const disableToolSets = [];
|
|
83
|
+
const disableTools = [];
|
|
84
|
+
for (const [item, enabled] of newEntriesMap) {
|
|
85
|
+
if (!enabled) {
|
|
86
|
+
if (item instanceof ToolSet) {
|
|
87
|
+
disableToolSets.push(item);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
disableTools.push(item);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
widget.input.selectedToolsModel.disable(disableToolSets, disableTools, false);
|
|
95
|
+
});
|
|
96
|
+
telemetryService.publicLog2('chat/selectedTools', {
|
|
97
|
+
total: widget.input.selectedToolsModel.entriesMap.size,
|
|
98
|
+
enabled: widget.input.selectedToolsModel.entries.get().size,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function registerChatToolActions() {
|
|
103
|
+
registerAction2(AcceptToolConfirmation);
|
|
104
|
+
registerAction2(ConfigureToolsAction);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { registerChatToolActions };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
2
|
+
import { IToolData, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
|
|
3
|
+
export declare function showToolsPicker(accessor: ServicesAccessor, placeHolder: string, toolsEntries?: ReadonlyMap<ToolSet | IToolData, boolean>, onUpdate?: (toolsEntries: ReadonlyMap<ToolSet | IToolData, boolean>) => void): Promise<ReadonlyMap<ToolSet | IToolData, boolean> | undefined>;
|