@codingame/monaco-vscode-chat-service-override 26.1.0 → 26.1.2
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/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +19 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +209 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +255 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +51 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +329 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +51 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +58 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +591 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +162 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +251 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +191 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +13 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +203 -25
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +50 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +23 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +76 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +22 -11
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +135 -54
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +64 -43
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +24 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +341 -24
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +12 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +95 -26
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +14 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +0 -955
|
@@ -21,7 +21,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super({
|
|
23
23
|
id: ManageLanguageModelAuthenticationAction.ID,
|
|
24
|
-
title: ( localize2(
|
|
24
|
+
title: ( localize2(4813, "Manage Language Model Access...")),
|
|
25
25
|
category: CHAT_CATEGORY,
|
|
26
26
|
precondition: ChatContextKeys.enabled,
|
|
27
27
|
menu: [{
|
|
@@ -91,9 +91,9 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
91
91
|
if (extensionAuth.size === 0) {
|
|
92
92
|
dialogService.prompt({
|
|
93
93
|
type: "info",
|
|
94
|
-
message: ( localize(
|
|
94
|
+
message: ( localize(4814, "No language models requiring authentication found.")),
|
|
95
95
|
detail: ( localize(
|
|
96
|
-
|
|
96
|
+
4815,
|
|
97
97
|
"There are currently no language models that require authentication."
|
|
98
98
|
))
|
|
99
99
|
});
|
|
@@ -108,10 +108,10 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
108
108
|
items.push({
|
|
109
109
|
type: "separator",
|
|
110
110
|
id: ownerId,
|
|
111
|
-
label: ( localize(
|
|
111
|
+
label: ( localize(4816, "{0}", extension.displayName || extension.name)),
|
|
112
112
|
buttons: [{
|
|
113
113
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
114
|
-
tooltip: ( localize(
|
|
114
|
+
tooltip: ( localize(4817, "Open Extension"))
|
|
115
115
|
}]
|
|
116
116
|
});
|
|
117
117
|
let addedTrustedSeparator = false;
|
|
@@ -120,7 +120,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
120
120
|
if (allowedExt.trusted && !addedTrustedSeparator) {
|
|
121
121
|
items.push({
|
|
122
122
|
type: "separator",
|
|
123
|
-
label: ( localize(
|
|
123
|
+
label: ( localize(4818, "Trusted by Microsoft"))
|
|
124
124
|
});
|
|
125
125
|
addedTrustedSeparator = true;
|
|
126
126
|
}
|
|
@@ -133,15 +133,15 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
133
133
|
disabled: allowedExt.trusted,
|
|
134
134
|
buttons: [{
|
|
135
135
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
136
|
-
tooltip: ( localize(
|
|
136
|
+
tooltip: ( localize(4817, "Open Extension"))
|
|
137
137
|
}]
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
} else {
|
|
141
141
|
items.push({
|
|
142
|
-
label: ( localize(
|
|
142
|
+
label: ( localize(4819, "No extensions have access")),
|
|
143
143
|
description: ( localize(
|
|
144
|
-
|
|
144
|
+
4820,
|
|
145
145
|
"No extensions are currently allowed to use models from {0}",
|
|
146
146
|
ownerId
|
|
147
147
|
)),
|
|
@@ -164,8 +164,8 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
164
164
|
void extensionsWorkbenchService.open(extId);
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
|
-
title: ( localize(
|
|
168
|
-
placeHolder: ( localize(
|
|
167
|
+
title: ( localize(4821, "Manage Language Model Access")),
|
|
168
|
+
placeHolder: ( localize(4822, "Choose which extensions can access language models"))
|
|
169
169
|
});
|
|
170
170
|
if (!result) {
|
|
171
171
|
return;
|
|
@@ -188,7 +188,7 @@ class ConfigureLanguageModelsGroupAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: "lm.addLanguageModelsProviderGroup",
|
|
191
|
-
title: ( localize(
|
|
191
|
+
title: ( localize(4823, "Add Language Models Group"))
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
async run(accessor, languageModelsProviderGroup) {
|
|
@@ -208,7 +208,7 @@ class MigrateLanguageModelsGroupAction extends Action2 {
|
|
|
208
208
|
constructor() {
|
|
209
209
|
super({
|
|
210
210
|
id: "lm.migrateLanguageModelsProviderGroup",
|
|
211
|
-
title: ( localize(
|
|
211
|
+
title: ( localize(4824, "Migrate Language Models Group"))
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
async run(accessor, languageModelsProviderGroup) {
|
|
@@ -28,7 +28,7 @@ function registerMoveActions() {
|
|
|
28
28
|
constructor() {
|
|
29
29
|
super({
|
|
30
30
|
id: "workbench.action.chat.openInEditor",
|
|
31
|
-
title: ( localize2(
|
|
31
|
+
title: ( localize2(4825, "Move Chat into Editor Area")),
|
|
32
32
|
category: CHAT_CATEGORY,
|
|
33
33
|
precondition: ChatContextKeys.enabled,
|
|
34
34
|
f1: true,
|
|
@@ -53,7 +53,7 @@ function registerMoveActions() {
|
|
|
53
53
|
constructor() {
|
|
54
54
|
super({
|
|
55
55
|
id: "workbench.action.chat.openInNewWindow",
|
|
56
|
-
title: ( localize2(
|
|
56
|
+
title: ( localize2(4826, "Move Chat into New Window")),
|
|
57
57
|
category: CHAT_CATEGORY,
|
|
58
58
|
precondition: ChatContextKeys.enabled,
|
|
59
59
|
f1: true,
|
|
@@ -78,7 +78,7 @@ function registerMoveActions() {
|
|
|
78
78
|
constructor() {
|
|
79
79
|
super({
|
|
80
80
|
id: "workbench.action.chat.openInSidebar",
|
|
81
|
-
title: ( localize2(
|
|
81
|
+
title: ( localize2(4827, "Move Chat into Side Bar")),
|
|
82
82
|
category: CHAT_CATEGORY,
|
|
83
83
|
precondition: ChatContextKeys.enabled,
|
|
84
84
|
f1: true
|
|
@@ -101,9 +101,9 @@ function registerMoveActions() {
|
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
|
|
104
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
105
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
106
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
104
|
+
appendOpenChatInViewMenuItem(id, ( localize(4828, "Move Chat into Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
|
|
105
|
+
appendOpenChatInViewMenuItem(id, ( localize(4829, "Move Chat into Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
|
|
106
|
+
appendOpenChatInViewMenuItem(id, ( localize(4830, "Move Chat into Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
async function executeMoveToAction(accessor, moveTo, sessionResource) {
|
|
@@ -45,7 +45,7 @@ function isNewEditSessionActionContext(arg) {
|
|
|
45
45
|
function registerNewChatActions() {
|
|
46
46
|
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
|
|
47
47
|
submenu: MenuId.ChatNewMenu,
|
|
48
|
-
title: ( localize2(
|
|
48
|
+
title: ( localize2(4831, "New Chat")),
|
|
49
49
|
icon: Codicon.plus,
|
|
50
50
|
when: ( ContextKeyExpr.equals("view", ChatViewId)),
|
|
51
51
|
group: "navigation",
|
|
@@ -56,7 +56,7 @@ function registerNewChatActions() {
|
|
|
56
56
|
constructor() {
|
|
57
57
|
super({
|
|
58
58
|
id: "workbench.action.chatEditor.newChat",
|
|
59
|
-
title: ( localize2(
|
|
59
|
+
title: ( localize2(4832, "New Chat")),
|
|
60
60
|
icon: Codicon.plus,
|
|
61
61
|
f1: false,
|
|
62
62
|
precondition: ChatContextKeys.enabled
|
|
@@ -70,7 +70,7 @@ function registerNewChatActions() {
|
|
|
70
70
|
constructor() {
|
|
71
71
|
super({
|
|
72
72
|
id: ACTION_ID_NEW_CHAT,
|
|
73
|
-
title: ( localize2(
|
|
73
|
+
title: ( localize2(4831, "New Chat")),
|
|
74
74
|
category: CHAT_CATEGORY,
|
|
75
75
|
icon: Codicon.plus,
|
|
76
76
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)))),
|
|
@@ -111,7 +111,7 @@ function registerNewChatActions() {
|
|
|
111
111
|
constructor() {
|
|
112
112
|
super({
|
|
113
113
|
id: "workbench.action.chat.newLocalChat",
|
|
114
|
-
title: ( localize2(
|
|
114
|
+
title: ( localize2(4833, "New Local Chat")),
|
|
115
115
|
category: CHAT_CATEGORY,
|
|
116
116
|
icon: Codicon.plus,
|
|
117
117
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)))),
|
|
@@ -127,7 +127,7 @@ function registerNewChatActions() {
|
|
|
127
127
|
MenuRegistry.appendMenuItem(MenuId.ChatViewSessionTitleNavigationToolbar, {
|
|
128
128
|
command: {
|
|
129
129
|
id: ACTION_ID_NEW_CHAT,
|
|
130
|
-
title: ( localize2(
|
|
130
|
+
title: ( localize2(4834, "Go Back")),
|
|
131
131
|
icon: Codicon.arrowLeft
|
|
132
132
|
},
|
|
133
133
|
when: ( ChatContextKeys.agentSessionsViewerOrientation.notEqualsTo(AgentSessionsViewerOrientation.SideBySide)),
|
|
@@ -138,7 +138,7 @@ function registerNewChatActions() {
|
|
|
138
138
|
constructor() {
|
|
139
139
|
super({
|
|
140
140
|
id: "workbench.action.chat.undoEdit",
|
|
141
|
-
title: ( localize2(
|
|
141
|
+
title: ( localize2(4835, "Undo Last Edit")),
|
|
142
142
|
category: CHAT_CATEGORY,
|
|
143
143
|
icon: Codicon.discard,
|
|
144
144
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanUndo, ChatContextKeys.enabled)),
|
|
@@ -160,7 +160,7 @@ function registerNewChatActions() {
|
|
|
160
160
|
constructor() {
|
|
161
161
|
super({
|
|
162
162
|
id: "workbench.action.chat.redoEdit",
|
|
163
|
-
title: ( localize2(
|
|
163
|
+
title: ( localize2(4836, "Redo Last Edit")),
|
|
164
164
|
category: CHAT_CATEGORY,
|
|
165
165
|
icon: Codicon.redo,
|
|
166
166
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanRedo, ChatContextKeys.enabled)),
|
|
@@ -184,8 +184,8 @@ function registerNewChatActions() {
|
|
|
184
184
|
constructor() {
|
|
185
185
|
super({
|
|
186
186
|
id: "workbench.action.chat.redoEdit2",
|
|
187
|
-
title: ( localize2(
|
|
188
|
-
tooltip: ( localize2(
|
|
187
|
+
title: ( localize2(4837, "Redo")),
|
|
188
|
+
tooltip: ( localize2(4838, "Reapply discarded workspace changes and chat")),
|
|
189
189
|
category: CHAT_CATEGORY,
|
|
190
190
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanRedo, ChatContextKeys.enabled)),
|
|
191
191
|
f1: true,
|
|
@@ -250,7 +250,7 @@ async function runNewChatAction(accessor, context, executeCommandContext, sessio
|
|
|
250
250
|
}
|
|
251
251
|
widget.attachmentModel.clear(true);
|
|
252
252
|
widget.focusInput();
|
|
253
|
-
accessibilityService.alert(( localize(
|
|
253
|
+
accessibilityService.alert(( localize(4839, "New chat")));
|
|
254
254
|
if (!executeCommandContext) {
|
|
255
255
|
return;
|
|
256
256
|
}
|
|
@@ -13,7 +13,7 @@ function registerChatPromptNavigationActions() {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
super({
|
|
15
15
|
id: "workbench.action.chat.nextUserPrompt",
|
|
16
|
-
title: ( localize2(
|
|
16
|
+
title: ( localize2(4840, "Next User Prompt")),
|
|
17
17
|
keybinding: {
|
|
18
18
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.DownArrow,
|
|
19
19
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -32,7 +32,7 @@ function registerChatPromptNavigationActions() {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: "workbench.action.chat.previousUserPrompt",
|
|
35
|
-
title: ( localize2(
|
|
35
|
+
title: ( localize2(4841, "Previous User Prompt")),
|
|
36
36
|
keybinding: {
|
|
37
37
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.UpArrow,
|
|
38
38
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
|
|
3
|
+
import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
|
|
4
|
+
export interface IChatRemovePendingRequestContext {
|
|
5
|
+
sessionResource: URI;
|
|
6
|
+
pendingRequestId: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ChatQueueMessageAction extends Action2 {
|
|
9
|
+
static readonly ID = "workbench.action.chat.queueMessage";
|
|
10
|
+
constructor();
|
|
11
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class ChatSteerWithMessageAction extends Action2 {
|
|
14
|
+
static readonly ID = "workbench.action.chat.steerWithMessage";
|
|
15
|
+
constructor();
|
|
16
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): void;
|
|
17
|
+
}
|
|
18
|
+
export declare class ChatRemovePendingRequestAction extends Action2 {
|
|
19
|
+
static readonly ID = "workbench.action.chat.removePendingRequest";
|
|
20
|
+
constructor();
|
|
21
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class ChatSendPendingImmediatelyAction extends Action2 {
|
|
24
|
+
static readonly ID = "workbench.action.chat.sendPendingImmediately";
|
|
25
|
+
constructor();
|
|
26
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class ChatRemoveAllPendingRequestsAction extends Action2 {
|
|
29
|
+
static readonly ID = "workbench.action.chat.removeAllPendingRequests";
|
|
30
|
+
constructor();
|
|
31
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): void;
|
|
32
|
+
}
|
|
33
|
+
export declare function registerChatQueueActions(): void;
|
|
@@ -0,0 +1,255 @@
|
|
|
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 { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
5
|
+
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
+
import { Action2, MenuId, registerAction2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
7
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
8
|
+
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
9
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
10
|
+
import { ChatRequestQueueKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
11
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
12
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
13
|
+
import { isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
14
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
15
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
16
|
+
|
|
17
|
+
const queueingEnabledCondition = ( ContextKeyExpr.equals(`config.${ChatConfiguration.RequestQueueingEnabled}`, true));
|
|
18
|
+
const requestInProgressOrPendingToolCall = ( ContextKeyExpr.or(
|
|
19
|
+
ChatContextKeys.requestInProgress,
|
|
20
|
+
ChatContextKeys.Editing.hasToolConfirmation
|
|
21
|
+
));
|
|
22
|
+
const queuingActionsPresent = ( ContextKeyExpr.and(queueingEnabledCondition, ( ContextKeyExpr.or(requestInProgressOrPendingToolCall, ( ChatContextKeys.editingRequestType.isEqualTo(ChatContextKeys.EditingRequestType.QueueOrSteer)))), ( ChatContextKeys.editingRequestType.notEqualsTo(ChatContextKeys.EditingRequestType.Sent))));
|
|
23
|
+
function isRemovePendingRequestContext(context) {
|
|
24
|
+
return !!context && typeof context === "object" && "sessionResource" in context && "pendingRequestId" in context && URI.isUri(context.sessionResource) && typeof context.pendingRequestId === "string";
|
|
25
|
+
}
|
|
26
|
+
class ChatQueueMessageAction extends Action2 {
|
|
27
|
+
static {
|
|
28
|
+
this.ID = "workbench.action.chat.queueMessage";
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super({
|
|
32
|
+
id: ChatQueueMessageAction.ID,
|
|
33
|
+
title: ( localize2(4842, "Add to Queue")),
|
|
34
|
+
tooltip: ( localize(4843, "Queue this message to send after the current request completes")),
|
|
35
|
+
icon: Codicon.add,
|
|
36
|
+
f1: false,
|
|
37
|
+
category: CHAT_CATEGORY,
|
|
38
|
+
precondition: ( ContextKeyExpr.and(queuingActionsPresent, ChatContextKeys.inputHasText)),
|
|
39
|
+
keybinding: {
|
|
40
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, queuingActionsPresent)),
|
|
41
|
+
primary: KeyMod.Alt | KeyCode.Enter,
|
|
42
|
+
weight: KeybindingWeight.EditorContrib + 1
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
run(accessor, ...args) {
|
|
47
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
48
|
+
const widget = widgetService.lastFocusedWidget;
|
|
49
|
+
if (!widget?.viewModel) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const inputValue = widget.getInput();
|
|
53
|
+
if (!inputValue.trim()) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
widget.acceptInput(undefined, {
|
|
57
|
+
queue: ChatRequestQueueKind.Queued
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
class ChatSteerWithMessageAction extends Action2 {
|
|
62
|
+
static {
|
|
63
|
+
this.ID = "workbench.action.chat.steerWithMessage";
|
|
64
|
+
}
|
|
65
|
+
constructor() {
|
|
66
|
+
super({
|
|
67
|
+
id: ChatSteerWithMessageAction.ID,
|
|
68
|
+
title: ( localize2(4844, "Steer with Message")),
|
|
69
|
+
tooltip: ( localize(
|
|
70
|
+
4845,
|
|
71
|
+
"Send this message at the next opportunity, signaling the current request to yield"
|
|
72
|
+
)),
|
|
73
|
+
icon: Codicon.arrowRight,
|
|
74
|
+
f1: false,
|
|
75
|
+
category: CHAT_CATEGORY,
|
|
76
|
+
precondition: ( ContextKeyExpr.and(queuingActionsPresent, ChatContextKeys.inputHasText)),
|
|
77
|
+
keybinding: {
|
|
78
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, queuingActionsPresent)),
|
|
79
|
+
primary: KeyCode.Enter,
|
|
80
|
+
weight: KeybindingWeight.EditorContrib + 1
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
run(accessor, ...args) {
|
|
85
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
86
|
+
const widget = widgetService.lastFocusedWidget;
|
|
87
|
+
if (!widget?.viewModel) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const inputValue = widget.getInput();
|
|
91
|
+
if (!inputValue.trim()) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
widget.acceptInput(undefined, {
|
|
95
|
+
queue: ChatRequestQueueKind.Steering
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
class ChatRemovePendingRequestAction extends Action2 {
|
|
100
|
+
static {
|
|
101
|
+
this.ID = "workbench.action.chat.removePendingRequest";
|
|
102
|
+
}
|
|
103
|
+
constructor() {
|
|
104
|
+
super({
|
|
105
|
+
id: ChatRemovePendingRequestAction.ID,
|
|
106
|
+
title: ( localize2(4846, "Remove from Queue")),
|
|
107
|
+
icon: Codicon.close,
|
|
108
|
+
f1: false,
|
|
109
|
+
category: CHAT_CATEGORY,
|
|
110
|
+
menu: [{
|
|
111
|
+
id: MenuId.ChatMessageTitle,
|
|
112
|
+
group: "navigation",
|
|
113
|
+
order: 4,
|
|
114
|
+
when: ( ContextKeyExpr.and(
|
|
115
|
+
queueingEnabledCondition,
|
|
116
|
+
ChatContextKeys.isRequest,
|
|
117
|
+
ChatContextKeys.isPendingRequest
|
|
118
|
+
))
|
|
119
|
+
}]
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
run(accessor, ...args) {
|
|
123
|
+
const chatService = accessor.get(IChatService);
|
|
124
|
+
const [context] = args;
|
|
125
|
+
if (isRequestVM(context) && context.pendingKind) {
|
|
126
|
+
chatService.removePendingRequest(context.sessionResource, context.id);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (isRemovePendingRequestContext(context)) {
|
|
130
|
+
chatService.removePendingRequest(context.sessionResource, context.pendingRequestId);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
class ChatSendPendingImmediatelyAction extends Action2 {
|
|
136
|
+
static {
|
|
137
|
+
this.ID = "workbench.action.chat.sendPendingImmediately";
|
|
138
|
+
}
|
|
139
|
+
constructor() {
|
|
140
|
+
super({
|
|
141
|
+
id: ChatSendPendingImmediatelyAction.ID,
|
|
142
|
+
title: ( localize2(4847, "Send Immediately")),
|
|
143
|
+
icon: Codicon.arrowUp,
|
|
144
|
+
f1: false,
|
|
145
|
+
category: CHAT_CATEGORY,
|
|
146
|
+
menu: [{
|
|
147
|
+
id: MenuId.ChatMessageTitle,
|
|
148
|
+
group: "navigation",
|
|
149
|
+
order: 3,
|
|
150
|
+
when: ( ContextKeyExpr.and(
|
|
151
|
+
queueingEnabledCondition,
|
|
152
|
+
ChatContextKeys.isRequest,
|
|
153
|
+
ChatContextKeys.isPendingRequest
|
|
154
|
+
))
|
|
155
|
+
}]
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
run(accessor, ...args) {
|
|
159
|
+
const chatService = accessor.get(IChatService);
|
|
160
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
161
|
+
const [context] = args;
|
|
162
|
+
if (!isRequestVM(context) || !context.pendingKind) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const widget = widgetService.getWidgetBySessionResource(context.sessionResource);
|
|
166
|
+
const model = widget?.viewModel?.model;
|
|
167
|
+
if (!model) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const pendingRequests = model.getPendingRequests();
|
|
171
|
+
const targetIndex = pendingRequests.findIndex(r => r.request.id === context.id);
|
|
172
|
+
if (targetIndex === -1) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const targetRequest = pendingRequests[targetIndex];
|
|
176
|
+
const reordered = [{
|
|
177
|
+
requestId: targetRequest.request.id,
|
|
178
|
+
kind: targetRequest.kind
|
|
179
|
+
}, ...( pendingRequests.filter((_, i) => i !== targetIndex).map(r => ({
|
|
180
|
+
requestId: r.request.id,
|
|
181
|
+
kind: r.kind
|
|
182
|
+
})))];
|
|
183
|
+
chatService.setPendingRequests(context.sessionResource, reordered);
|
|
184
|
+
chatService.cancelCurrentRequestForSession(context.sessionResource);
|
|
185
|
+
chatService.processPendingRequests(context.sessionResource);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
class ChatRemoveAllPendingRequestsAction extends Action2 {
|
|
189
|
+
static {
|
|
190
|
+
this.ID = "workbench.action.chat.removeAllPendingRequests";
|
|
191
|
+
}
|
|
192
|
+
constructor() {
|
|
193
|
+
super({
|
|
194
|
+
id: ChatRemoveAllPendingRequestsAction.ID,
|
|
195
|
+
title: ( localize2(4848, "Remove All Queued")),
|
|
196
|
+
icon: Codicon.clearAll,
|
|
197
|
+
f1: false,
|
|
198
|
+
category: CHAT_CATEGORY,
|
|
199
|
+
menu: [{
|
|
200
|
+
id: MenuId.ChatContext,
|
|
201
|
+
group: "navigation",
|
|
202
|
+
order: 3,
|
|
203
|
+
when: ( ContextKeyExpr.and(queueingEnabledCondition, ChatContextKeys.hasPendingRequests))
|
|
204
|
+
}]
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
run(accessor, ...args) {
|
|
208
|
+
const chatService = accessor.get(IChatService);
|
|
209
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
210
|
+
const [context] = args;
|
|
211
|
+
const widget = (isRequestVM(context) && widgetService.getWidgetBySessionResource(context.sessionResource)) || widgetService.lastFocusedWidget;
|
|
212
|
+
const model = widget?.viewModel?.model;
|
|
213
|
+
if (!model) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
for (const pendingRequest of [...model.getPendingRequests()]) {
|
|
217
|
+
chatService.removePendingRequest(model.sessionResource, pendingRequest.request.id);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function registerChatQueueActions() {
|
|
222
|
+
registerAction2(ChatQueueMessageAction);
|
|
223
|
+
registerAction2(ChatSteerWithMessageAction);
|
|
224
|
+
registerAction2(ChatRemovePendingRequestAction);
|
|
225
|
+
registerAction2(ChatSendPendingImmediatelyAction);
|
|
226
|
+
registerAction2(ChatRemoveAllPendingRequestsAction);
|
|
227
|
+
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
228
|
+
command: {
|
|
229
|
+
id: ChatQueueMessageAction.ID,
|
|
230
|
+
title: ( localize2(4842, "Add to Queue")),
|
|
231
|
+
icon: Codicon.add
|
|
232
|
+
},
|
|
233
|
+
group: "navigation",
|
|
234
|
+
order: 1
|
|
235
|
+
});
|
|
236
|
+
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
237
|
+
command: {
|
|
238
|
+
id: ChatSteerWithMessageAction.ID,
|
|
239
|
+
title: ( localize2(4844, "Steer with Message")),
|
|
240
|
+
icon: Codicon.arrowRight
|
|
241
|
+
},
|
|
242
|
+
group: "navigation",
|
|
243
|
+
order: 2
|
|
244
|
+
});
|
|
245
|
+
MenuRegistry.appendMenuItem(MenuId.ChatExecute, {
|
|
246
|
+
submenu: MenuId.ChatExecuteQueue,
|
|
247
|
+
title: ( localize2(4849, "Queue")),
|
|
248
|
+
icon: Codicon.listOrdered,
|
|
249
|
+
when: queuingActionsPresent,
|
|
250
|
+
group: "navigation",
|
|
251
|
+
order: 4
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export { ChatQueueMessageAction, ChatRemoveAllPendingRequestsAction, ChatRemovePendingRequestAction, ChatSendPendingImmediatelyAction, ChatSteerWithMessageAction, registerChatQueueActions };
|
|
@@ -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(4850, "Open in Chat View")),
|
|
22
22
|
f1: false,
|
|
23
23
|
category: CHAT_CATEGORY,
|
|
24
24
|
icon: Codicon.chatSparkle,
|
|
@@ -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(4851, "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(4852, "Open Quick Chat")),
|
|
63
63
|
precondition: ChatContextKeys.enabled,
|
|
64
64
|
icon: Codicon.chatSparkle,
|
|
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(4853, "Toggle the quick chat")),
|
|
78
78
|
args: [{
|
|
79
79
|
name: "args",
|
|
80
80
|
schema: {
|
|
@@ -83,17 +83,17 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
83
83
|
required: ["query"],
|
|
84
84
|
properties: {
|
|
85
85
|
query: {
|
|
86
|
-
description: ( localize(
|
|
86
|
+
description: ( localize(4854, "The query to open the quick chat with")),
|
|
87
87
|
type: "string"
|
|
88
88
|
},
|
|
89
89
|
isPartialQuery: {
|
|
90
|
-
description: ( localize(
|
|
90
|
+
description: ( localize(4855, "Whether the query is partial; it will wait for more user input")),
|
|
91
91
|
type: "boolean"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
}, {
|
|
95
95
|
type: "string",
|
|
96
|
-
description: ( localize(
|
|
96
|
+
description: ( localize(4854, "The query to open the quick chat with"))
|
|
97
97
|
}]
|
|
98
98
|
}
|
|
99
99
|
}]
|
|
@@ -124,7 +124,7 @@ class AskQuickChatAction extends Action2 {
|
|
|
124
124
|
super({
|
|
125
125
|
id: `workbench.action.openQuickChat`,
|
|
126
126
|
category: CHAT_CATEGORY,
|
|
127
|
-
title: ( localize2(
|
|
127
|
+
title: ( localize2(4856, "Open Quick Chat")),
|
|
128
128
|
precondition: ChatContextKeys.enabled,
|
|
129
129
|
f1: true
|
|
130
130
|
});
|
|
@@ -43,7 +43,7 @@ class AcceptToolConfirmation extends ToolConfirmationAction {
|
|
|
43
43
|
constructor() {
|
|
44
44
|
super({
|
|
45
45
|
id: AcceptToolConfirmationActionId,
|
|
46
|
-
title: ( localize2(
|
|
46
|
+
title: ( localize2(4867, "Accept")),
|
|
47
47
|
f1: false,
|
|
48
48
|
category: CHAT_CATEGORY,
|
|
49
49
|
keybinding: {
|
|
@@ -63,7 +63,7 @@ class SkipToolConfirmation extends ToolConfirmationAction {
|
|
|
63
63
|
constructor() {
|
|
64
64
|
super({
|
|
65
65
|
id: SkipToolConfirmationActionId,
|
|
66
|
-
title: ( localize2(
|
|
66
|
+
title: ( localize2(4868, "Skip")),
|
|
67
67
|
f1: false,
|
|
68
68
|
category: CHAT_CATEGORY,
|
|
69
69
|
keybinding: {
|
|
@@ -86,7 +86,7 @@ class ConfigureToolsAction extends Action2 {
|
|
|
86
86
|
constructor() {
|
|
87
87
|
super({
|
|
88
88
|
id: ConfigureToolsAction.ID,
|
|
89
|
-
title: ( localize(
|
|
89
|
+
title: ( localize(4869, "Configure Tools...")),
|
|
90
90
|
icon: Codicon.tools,
|
|
91
91
|
f1: false,
|
|
92
92
|
category: CHAT_CATEGORY,
|
|
@@ -119,29 +119,29 @@ class ConfigureToolsAction extends Action2 {
|
|
|
119
119
|
} = widget.input.selectedToolsModel;
|
|
120
120
|
switch (entriesScope) {
|
|
121
121
|
case ToolsScope.Session:
|
|
122
|
-
placeholder = ( localize(
|
|
123
|
-
description = ( localize(
|
|
122
|
+
placeholder = ( localize(4870, "Select tools for this chat session"));
|
|
123
|
+
description = ( localize(4871, "The selected tools were configured only for this chat session."));
|
|
124
124
|
break;
|
|
125
125
|
case ToolsScope.Agent:
|
|
126
|
-
placeholder = ( localize(
|
|
126
|
+
placeholder = ( localize(4872, "Select tools for this custom agent"));
|
|
127
127
|
description = ( localize(
|
|
128
|
-
|
|
128
|
+
4873,
|
|
129
129
|
"The selected tools are configured by the '{0}' custom agent. Changes to the tools will be applied to the custom agent file as well.",
|
|
130
130
|
widget.input.currentModeObs.get().label.get()
|
|
131
131
|
));
|
|
132
132
|
break;
|
|
133
133
|
case ToolsScope.Agent_ReadOnly:
|
|
134
|
-
placeholder = ( localize(
|
|
134
|
+
placeholder = ( localize(4874, "Select tools for this custom agent"));
|
|
135
135
|
description = ( localize(
|
|
136
|
-
|
|
136
|
+
4875,
|
|
137
137
|
"The selected tools are configured by the '{0}' custom agent. Changes to the tools will only be used for this session and will not change the '{0}' custom agent.",
|
|
138
138
|
widget.input.currentModeObs.get().label.get()
|
|
139
139
|
));
|
|
140
140
|
break;
|
|
141
141
|
case ToolsScope.Global:
|
|
142
|
-
placeholder = ( localize(
|
|
142
|
+
placeholder = ( localize(4876, "Select tools that are available to chat."));
|
|
143
143
|
description = ( localize(
|
|
144
|
-
|
|
144
|
+
4877,
|
|
145
145
|
"The selected tools will be applied globally for all chat sessions that use the default agent."
|
|
146
146
|
));
|
|
147
147
|
break;
|