@codingame/monaco-vscode-chat-service-override 32.0.0 → 32.0.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/index.js +1 -0
- package/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +637 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- 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 +53 -53
- 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 +4 -4
- 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 +22 -22
- 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/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +97 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +43 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +51 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +229 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.view.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.view.contribution.js +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- 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/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +43 -43
- 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/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +57 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- 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/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- 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/terminal.chatAgentTools.contribution.js +3 -3
- 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/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- 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
|
@@ -119,25 +119,25 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
119
119
|
}
|
|
120
120
|
const parts = [];
|
|
121
121
|
if (collectionEvent.applyingInstructionsCount > 0) {
|
|
122
|
-
parts.push(( localize(
|
|
122
|
+
parts.push(( localize(6931, "{0} applying", collectionEvent.applyingInstructionsCount)));
|
|
123
123
|
}
|
|
124
124
|
if (collectionEvent.referencedInstructionsCount > 0) {
|
|
125
|
-
parts.push(( localize(
|
|
125
|
+
parts.push(( localize(6932, "{0} referenced", collectionEvent.referencedInstructionsCount)));
|
|
126
126
|
}
|
|
127
127
|
if (collectionEvent.agentInstructionsCount > 0) {
|
|
128
|
-
parts.push(( localize(
|
|
128
|
+
parts.push(( localize(6933, "{0} agent", collectionEvent.agentInstructionsCount)));
|
|
129
129
|
}
|
|
130
130
|
if (collectionEvent.listedInstructionsCount > 0) {
|
|
131
|
-
parts.push(( localize(
|
|
131
|
+
parts.push(( localize(6934, "{0} listed", collectionEvent.listedInstructionsCount)));
|
|
132
132
|
}
|
|
133
133
|
const durationStr = debugInfo.durationInMillis.toFixed(1);
|
|
134
134
|
const summary = parts.length > 0 ? ( localize(
|
|
135
|
-
|
|
135
|
+
6935,
|
|
136
136
|
"Resolved {0} customizations ({1}) in {2}ms",
|
|
137
137
|
collectionEvent.totalInstructionsCount,
|
|
138
138
|
parts.join(", "),
|
|
139
139
|
durationStr
|
|
140
|
-
)) : ( localize(
|
|
140
|
+
)) : ( localize(6936, "No customizations resolved"));
|
|
141
141
|
const detailSummaries = ( debugInfo.debugDetails.map(e => {
|
|
142
142
|
const detail = e.reason ? `${e.name} — ${e.reason}` : e.name;
|
|
143
143
|
return `[${e.category}] ${detail}`;
|
|
@@ -154,7 +154,7 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
154
154
|
this._customizationEventDetails.delete(first);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
-
chatDebugService.log(sessionResource, ( localize(
|
|
157
|
+
chatDebugService.log(sessionResource, ( localize(6937, "Resolve Customizations")), details, undefined, {
|
|
158
158
|
id: customizationEventId,
|
|
159
159
|
category: "customization"
|
|
160
160
|
});
|
|
@@ -174,9 +174,9 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
174
174
|
switch (discoveryInfo.type) {
|
|
175
175
|
case PromptsType.prompt:
|
|
176
176
|
return {
|
|
177
|
-
name: ( localize(
|
|
178
|
-
details: loadedCount === 1 ? ( localize(
|
|
179
|
-
|
|
177
|
+
name: ( localize(6938, "Slash Commands Discovery")),
|
|
178
|
+
details: loadedCount === 1 ? ( localize(6939, "Resolved {0} slash command in {1}ms", loadedCount, durationInMillis)) : ( localize(
|
|
179
|
+
6940,
|
|
180
180
|
"Resolved {0} slash commands in {1}ms",
|
|
181
181
|
loadedCount,
|
|
182
182
|
durationInMillis
|
|
@@ -184,33 +184,33 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
184
184
|
};
|
|
185
185
|
case PromptsType.agent:
|
|
186
186
|
return {
|
|
187
|
-
name: ( localize(
|
|
188
|
-
details: loadedCount === 1 ? ( localize(
|
|
187
|
+
name: ( localize(6941, "Agent Discovery")),
|
|
188
|
+
details: loadedCount === 1 ? ( localize(6942, "Resolved {0} agent in {1}ms", loadedCount, durationInMillis)) : ( localize(6943, "Resolved {0} agents in {1}ms", loadedCount, durationInMillis))
|
|
189
189
|
};
|
|
190
190
|
case PromptsType.skill:
|
|
191
191
|
return {
|
|
192
|
-
name: ( localize(
|
|
193
|
-
details: loadedCount === 1 ? ( localize(
|
|
192
|
+
name: ( localize(6944, "Skill Discovery")),
|
|
193
|
+
details: loadedCount === 1 ? ( localize(6945, "Resolved {0} skill in {1}ms", loadedCount, durationInMillis)) : ( localize(6946, "Resolved {0} skills in {1}ms", loadedCount, durationInMillis))
|
|
194
194
|
};
|
|
195
195
|
case PromptsType.instructions:
|
|
196
196
|
return {
|
|
197
|
-
name: ( localize(
|
|
198
|
-
details: loadedCount === 1 ? ( localize(
|
|
197
|
+
name: ( localize(6947, "Instructions Discovery")),
|
|
198
|
+
details: loadedCount === 1 ? ( localize(6948, "Resolved {0} instruction in {1}ms", loadedCount, durationInMillis)) : ( localize(6949, "Resolved {0} instructions in {1}ms", loadedCount, durationInMillis))
|
|
199
199
|
};
|
|
200
200
|
case PromptsType.hook:
|
|
201
201
|
{
|
|
202
202
|
const hookDiscoveryInfo = discoveryInfo;
|
|
203
203
|
const hookCount = hookDiscoveryInfo.hooksInfo ? ( Object.values(hookDiscoveryInfo.hooksInfo.hooks)).reduce((total, hooks) => total + hooks.length, 0) : loadedCount;
|
|
204
204
|
const details = skippedCount > 0 ? ( localize(
|
|
205
|
-
|
|
205
|
+
6950,
|
|
206
206
|
"Resolved {0} hooks from {1} files in {2}ms, skipped {3}",
|
|
207
207
|
hookCount,
|
|
208
208
|
loadedCount,
|
|
209
209
|
durationInMillis,
|
|
210
210
|
skippedCount
|
|
211
|
-
)) : hookCount === 1 ? ( localize(
|
|
211
|
+
)) : hookCount === 1 ? ( localize(6951, "Resolved {0} hook in {1}ms", hookCount, durationInMillis)) : ( localize(6952, "Resolved {0} hooks in {1}ms", hookCount, durationInMillis));
|
|
212
212
|
return {
|
|
213
|
-
name: ( localize(
|
|
213
|
+
name: ( localize(6953, "Hook Discovery")),
|
|
214
214
|
details
|
|
215
215
|
};
|
|
216
216
|
}
|
|
@@ -238,7 +238,7 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
238
238
|
const commands = hooks[hookType];
|
|
239
239
|
if (commands && commands.length > 0) {
|
|
240
240
|
for (const cmd of commands) {
|
|
241
|
-
const commandLabel = formatHookCommandLabel(cmd, OS) || ( localize(
|
|
241
|
+
const commandLabel = formatHookCommandLabel(cmd, OS) || ( localize(6954, "(unknown command)"));
|
|
242
242
|
logs.push({
|
|
243
243
|
category: "hook",
|
|
244
244
|
name: commandLabel,
|
package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js
CHANGED
|
@@ -15,8 +15,8 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
15
15
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
16
16
|
import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
17
17
|
|
|
18
|
-
const RUN_WITHOUT_APPROVAL = ( localize(
|
|
19
|
-
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(
|
|
18
|
+
const RUN_WITHOUT_APPROVAL = ( localize(6958, "without approval"));
|
|
19
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6959, "without reviewing result"));
|
|
20
20
|
class GenericConfirmStore extends Disposable {
|
|
21
21
|
constructor(_storageKey, _instantiationService) {
|
|
22
22
|
super();
|
|
@@ -275,9 +275,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
275
275
|
arguments: combinationArgs
|
|
276
276
|
} = ref.combination;
|
|
277
277
|
actions.push({
|
|
278
|
-
label: ( localize(
|
|
278
|
+
label: ( localize(6960, "{0} in this Session", combinationLabel)),
|
|
279
279
|
detail: ( localize(
|
|
280
|
-
|
|
280
|
+
6961,
|
|
281
281
|
"Allow this particular combination of tool and arguments in this session without confirmation."
|
|
282
282
|
)),
|
|
283
283
|
divider: !!actions.length,
|
|
@@ -287,9 +287,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
287
287
|
return true;
|
|
288
288
|
}
|
|
289
289
|
}, {
|
|
290
|
-
label: ( localize(
|
|
290
|
+
label: ( localize(6962, "{0} in this Workspace", combinationLabel)),
|
|
291
291
|
detail: ( localize(
|
|
292
|
-
|
|
292
|
+
6963,
|
|
293
293
|
"Allow this particular combination of tool and arguments in this workspace without confirmation."
|
|
294
294
|
)),
|
|
295
295
|
scope: "workspace",
|
|
@@ -298,9 +298,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
298
298
|
return true;
|
|
299
299
|
}
|
|
300
300
|
}, {
|
|
301
|
-
label: ( localize(
|
|
301
|
+
label: ( localize(6964, "Always {0}", combinationLabel)),
|
|
302
302
|
detail: ( localize(
|
|
303
|
-
|
|
303
|
+
6965,
|
|
304
304
|
"Always allow this particular combination of tool and arguments without confirmation."
|
|
305
305
|
)),
|
|
306
306
|
scope: "profile",
|
|
@@ -311,8 +311,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
313
|
actions.push({
|
|
314
|
-
label: ( localize(
|
|
315
|
-
detail: ( localize(
|
|
314
|
+
label: ( localize(6966, "Allow in this Session")),
|
|
315
|
+
detail: ( localize(6967, "Allow this tool to run in this session without confirmation.")),
|
|
316
316
|
divider: !!actions.length,
|
|
317
317
|
scope: "session",
|
|
318
318
|
select: async () => {
|
|
@@ -320,16 +320,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
320
320
|
return true;
|
|
321
321
|
}
|
|
322
322
|
}, {
|
|
323
|
-
label: ( localize(
|
|
324
|
-
detail: ( localize(
|
|
323
|
+
label: ( localize(6968, "Allow in this Workspace")),
|
|
324
|
+
detail: ( localize(6969, "Allow this tool to run in this workspace without confirmation.")),
|
|
325
325
|
scope: "workspace",
|
|
326
326
|
select: async () => {
|
|
327
327
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
|
|
328
328
|
return true;
|
|
329
329
|
}
|
|
330
330
|
}, {
|
|
331
|
-
label: ( localize(
|
|
332
|
-
detail: ( localize(
|
|
331
|
+
label: ( localize(6970, "Always Allow")),
|
|
332
|
+
detail: ( localize(6971, "Always allow this tool to run without confirmation.")),
|
|
333
333
|
scope: "profile",
|
|
334
334
|
select: async () => {
|
|
335
335
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
|
|
@@ -342,9 +342,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
342
342
|
definitionId
|
|
343
343
|
} = ref.source;
|
|
344
344
|
actions.push({
|
|
345
|
-
label: ( localize(
|
|
345
|
+
label: ( localize(6972, "Allow Tools from {0} in this Session", serverLabel)),
|
|
346
346
|
detail: ( localize(
|
|
347
|
-
|
|
347
|
+
6973,
|
|
348
348
|
"Allow all tools from this server to run in this session without confirmation."
|
|
349
349
|
)),
|
|
350
350
|
divider: true,
|
|
@@ -354,9 +354,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
354
354
|
return true;
|
|
355
355
|
}
|
|
356
356
|
}, {
|
|
357
|
-
label: ( localize(
|
|
357
|
+
label: ( localize(6974, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
358
358
|
detail: ( localize(
|
|
359
|
-
|
|
359
|
+
6975,
|
|
360
360
|
"Allow all tools from this server to run in this workspace without confirmation."
|
|
361
361
|
)),
|
|
362
362
|
scope: "workspace",
|
|
@@ -365,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
365
365
|
return true;
|
|
366
366
|
}
|
|
367
367
|
}, {
|
|
368
|
-
label: ( localize(
|
|
368
|
+
label: ( localize(6976, "Always Allow Tools from {0}", serverLabel)),
|
|
369
369
|
detail: ( localize(
|
|
370
|
-
|
|
370
|
+
6977,
|
|
371
371
|
"Always allow all tools from this server to run without confirmation."
|
|
372
372
|
)),
|
|
373
373
|
scope: "profile",
|
|
@@ -389,9 +389,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
389
389
|
return actions;
|
|
390
390
|
}
|
|
391
391
|
actions.push({
|
|
392
|
-
label: ( localize(
|
|
392
|
+
label: ( localize(6978, "Allow Without Review in this Session")),
|
|
393
393
|
detail: ( localize(
|
|
394
|
-
|
|
394
|
+
6979,
|
|
395
395
|
"Allow results from this tool to be sent without confirmation in this session."
|
|
396
396
|
)),
|
|
397
397
|
divider: !!actions.length,
|
|
@@ -401,9 +401,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
401
401
|
return true;
|
|
402
402
|
}
|
|
403
403
|
}, {
|
|
404
|
-
label: ( localize(
|
|
404
|
+
label: ( localize(6980, "Allow Without Review in this Workspace")),
|
|
405
405
|
detail: ( localize(
|
|
406
|
-
|
|
406
|
+
6981,
|
|
407
407
|
"Allow results from this tool to be sent without confirmation in this workspace."
|
|
408
408
|
)),
|
|
409
409
|
scope: "workspace",
|
|
@@ -412,9 +412,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
412
412
|
return true;
|
|
413
413
|
}
|
|
414
414
|
}, {
|
|
415
|
-
label: ( localize(
|
|
415
|
+
label: ( localize(6982, "Always Allow Without Review")),
|
|
416
416
|
detail: ( localize(
|
|
417
|
-
|
|
417
|
+
6983,
|
|
418
418
|
"Always allow results from this tool to be sent without confirmation."
|
|
419
419
|
)),
|
|
420
420
|
scope: "profile",
|
|
@@ -429,9 +429,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
429
429
|
definitionId
|
|
430
430
|
} = ref.source;
|
|
431
431
|
actions.push({
|
|
432
|
-
label: ( localize(
|
|
432
|
+
label: ( localize(6984, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
433
433
|
detail: ( localize(
|
|
434
|
-
|
|
434
|
+
6985,
|
|
435
435
|
"Allow results from all tools from this server to be sent without confirmation in this session."
|
|
436
436
|
)),
|
|
437
437
|
divider: true,
|
|
@@ -441,9 +441,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
441
441
|
return true;
|
|
442
442
|
}
|
|
443
443
|
}, {
|
|
444
|
-
label: ( localize(
|
|
444
|
+
label: ( localize(6986, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
445
445
|
detail: ( localize(
|
|
446
|
-
|
|
446
|
+
6987,
|
|
447
447
|
"Allow results from all tools from this server to be sent without confirmation in this workspace."
|
|
448
448
|
)),
|
|
449
449
|
scope: "workspace",
|
|
@@ -452,9 +452,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
452
452
|
return true;
|
|
453
453
|
}
|
|
454
454
|
}, {
|
|
455
|
-
label: ( localize(
|
|
455
|
+
label: ( localize(6988, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
456
456
|
detail: ( localize(
|
|
457
|
-
|
|
457
|
+
6989,
|
|
458
458
|
"Always allow results from all tools from this server to be sent without confirmation."
|
|
459
459
|
)),
|
|
460
460
|
scope: "profile",
|
|
@@ -505,7 +505,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
505
505
|
manageConfirmationPreferences(tools, options) {
|
|
506
506
|
const viewArgsButton = {
|
|
507
507
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
508
|
-
tooltip: ( localize(
|
|
508
|
+
tooltip: ( localize(6990, "View Arguments"))
|
|
509
509
|
};
|
|
510
510
|
const trackServerTool = (serverId, label, toolId, serversWithTools) => {
|
|
511
511
|
if (!( serversWithTools.has(serverId))) {
|
|
@@ -652,7 +652,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
652
652
|
type: "server-post",
|
|
653
653
|
serverId,
|
|
654
654
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
655
|
-
label: ( localize(
|
|
655
|
+
label: ( localize(6991, "Continue without reviewing any tool results")),
|
|
656
656
|
checked: serverPostConfirmed
|
|
657
657
|
});
|
|
658
658
|
}
|
|
@@ -661,7 +661,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
661
661
|
type: "server-pre",
|
|
662
662
|
serverId,
|
|
663
663
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
664
|
-
label: ( localize(
|
|
664
|
+
label: ( localize(6992, "Run any tool without approval")),
|
|
665
665
|
checked: serverPreConfirmed
|
|
666
666
|
});
|
|
667
667
|
}
|
|
@@ -779,7 +779,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
779
779
|
if (currentScope !== "session") {
|
|
780
780
|
const scopeButton = {
|
|
781
781
|
iconClass: ThemeIcon.asClassName(Codicon.folder),
|
|
782
|
-
tooltip: ( localize(
|
|
782
|
+
tooltip: ( localize(6993, "Configure for this workspace only")),
|
|
783
783
|
toggle: {
|
|
784
784
|
checked: currentScope === "workspace"
|
|
785
785
|
},
|
|
@@ -796,9 +796,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
796
796
|
}
|
|
797
797
|
const updatePlaceholder = () => {
|
|
798
798
|
if (currentScope === "session") {
|
|
799
|
-
quickTree.placeholder = ( localize(
|
|
799
|
+
quickTree.placeholder = ( localize(6994, "Configure session tool approvals"));
|
|
800
800
|
} else {
|
|
801
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
801
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(6995, "Configure workspace tool approvals")) : ( localize(6996, "Configure global tool approvals"));
|
|
802
802
|
}
|
|
803
803
|
};
|
|
804
804
|
updatePlaceholder();
|
|
@@ -849,7 +849,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
849
849
|
i.item.onDidTriggerItemButton?.(i.button);
|
|
850
850
|
} else if (i.item.type === "combination" && i.button === viewArgsButton && i.item.combinationArgs) {
|
|
851
851
|
this._dialogService.prompt({
|
|
852
|
-
message: ( localize(
|
|
852
|
+
message: ( localize(6997, "Arguments")),
|
|
853
853
|
buttons: [],
|
|
854
854
|
custom: {
|
|
855
855
|
markdownDetails: [{
|
|
@@ -68,7 +68,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
|
|
|
68
68
|
"vscode_get_modified_files_confirmation"
|
|
69
69
|
]));
|
|
70
70
|
const globalAutoApproveDescription = ( localize2(
|
|
71
|
-
|
|
71
|
+
6998,
|
|
72
72
|
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the [`chat.autoReply`](command:workbench.action.openSettings?%5B%22chat.autoReply%22%5D) setting."
|
|
73
73
|
));
|
|
74
74
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
@@ -173,25 +173,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
173
173
|
this.vscodeToolSet = this._register(
|
|
174
174
|
this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
|
|
175
175
|
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
176
|
-
description: ( localize(
|
|
176
|
+
description: ( localize(6999, "Use VS Code features"))
|
|
177
177
|
})
|
|
178
178
|
);
|
|
179
179
|
this.executeToolSet = this._register(
|
|
180
180
|
this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
|
|
181
181
|
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
182
|
-
description: ( localize(
|
|
182
|
+
description: ( localize(7000, "Execute code and applications on your machine"))
|
|
183
183
|
})
|
|
184
184
|
);
|
|
185
185
|
this.readToolSet = this._register(
|
|
186
186
|
this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
|
|
187
187
|
icon: ThemeIcon.fromId(Codicon.book.id),
|
|
188
|
-
description: ( localize(
|
|
188
|
+
description: ( localize(7001, "Read files in your workspace"))
|
|
189
189
|
})
|
|
190
190
|
);
|
|
191
191
|
this.agentToolSet = this._register(
|
|
192
192
|
this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
|
|
193
193
|
icon: ThemeIcon.fromId(Codicon.agent.id),
|
|
194
|
-
description: ( localize(
|
|
194
|
+
description: ( localize(7002, "Delegate tasks to other agents"))
|
|
195
195
|
})
|
|
196
196
|
);
|
|
197
197
|
}
|
|
@@ -345,8 +345,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
345
345
|
return undefined;
|
|
346
346
|
}
|
|
347
347
|
_handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
|
|
348
|
-
const hookReason = hookResult.permissionDecisionReason ?? ( localize(
|
|
349
|
-
const reason = ( localize(
|
|
348
|
+
const hookReason = hookResult.permissionDecisionReason ?? ( localize(7003, "Hook denied tool execution"));
|
|
349
|
+
const reason = ( localize(7004, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
|
|
350
350
|
this._logService.debug(
|
|
351
351
|
`[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
|
|
352
352
|
);
|
|
@@ -684,7 +684,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
684
684
|
async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
|
|
685
685
|
let forceConfirmationReason;
|
|
686
686
|
if (hookResult?.permissionDecision === "ask") {
|
|
687
|
-
const hookMessage = ( localize(
|
|
687
|
+
const hookMessage = ( localize(7005, "{0} required confirmation", HookType.PreToolUse));
|
|
688
688
|
forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
|
|
689
689
|
}
|
|
690
690
|
return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
|
|
@@ -727,7 +727,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
727
727
|
return {
|
|
728
728
|
autoConfirmed: {
|
|
729
729
|
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
730
|
-
reason: ( localize(
|
|
730
|
+
reason: ( localize(7006, "Allowed by hook"))
|
|
731
731
|
},
|
|
732
732
|
preparedInvocation
|
|
733
733
|
};
|
|
@@ -743,14 +743,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
743
743
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
744
744
|
const hookReason = hookResult.permissionDecisionReason;
|
|
745
745
|
const hookNote = hookReason ? ( localize(
|
|
746
|
-
|
|
746
|
+
7007,
|
|
747
747
|
"{0} hook required confirmation: {1}",
|
|
748
748
|
HookType.PreToolUse,
|
|
749
749
|
hookReason
|
|
750
|
-
)) : ( localize(
|
|
750
|
+
)) : ( localize(7008, "{0} hook required confirmation", HookType.PreToolUse));
|
|
751
751
|
preparedInvocation.confirmationMessages = {
|
|
752
752
|
...preparedInvocation.confirmationMessages,
|
|
753
|
-
title: ( localize(
|
|
753
|
+
title: ( localize(7009, "Use the '{0}' tool?", fullReferenceName)),
|
|
754
754
|
message: ( new MarkdownString(`_${hookNote}_`)),
|
|
755
755
|
allowAutoConfirm: false
|
|
756
756
|
};
|
|
@@ -761,11 +761,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
761
761
|
} else {
|
|
762
762
|
const hookReason = hookResult.permissionDecisionReason;
|
|
763
763
|
const hookNote = hookReason ? ( localize(
|
|
764
|
-
|
|
764
|
+
7010,
|
|
765
765
|
"{0} hook required confirmation: {1}",
|
|
766
766
|
HookType.PreToolUse,
|
|
767
767
|
hookReason
|
|
768
|
-
)) : ( localize(
|
|
768
|
+
)) : ( localize(7011, "{0} hook required confirmation", HookType.PreToolUse));
|
|
769
769
|
const existing = preparedInvocation.confirmationMessages;
|
|
770
770
|
if (preparedInvocation.toolSpecificData?.kind === "terminal") {
|
|
771
771
|
const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
|
|
@@ -842,17 +842,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
842
842
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
843
843
|
prepared.confirmationMessages = {
|
|
844
844
|
...prepared.confirmationMessages,
|
|
845
|
-
title: ( localize(
|
|
846
|
-
message: ( localize(
|
|
845
|
+
title: ( localize(7012, "Confirm tool execution")),
|
|
846
|
+
message: ( localize(7013, "Run the '{0}' tool?", fullReferenceName)),
|
|
847
847
|
disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
848
|
-
|
|
848
|
+
7014,
|
|
849
849
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
850
850
|
getToolFullReferenceName(tool.data),
|
|
851
851
|
createMarkdownCommandLink({
|
|
852
852
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
853
853
|
id: "workbench.action.openSettings",
|
|
854
854
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
855
|
-
tooltip: ( localize(
|
|
855
|
+
tooltip: ( localize(7015, "Open settings to configure auto-approval"))
|
|
856
856
|
}, false)
|
|
857
857
|
)), {
|
|
858
858
|
isTrusted: true
|
|
@@ -862,14 +862,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
862
862
|
}
|
|
863
863
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
864
864
|
prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
865
|
-
|
|
865
|
+
7014,
|
|
866
866
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
867
867
|
getToolFullReferenceName(tool.data),
|
|
868
868
|
createMarkdownCommandLink({
|
|
869
869
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
870
870
|
id: "workbench.action.openSettings",
|
|
871
871
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
872
|
-
tooltip: ( localize(
|
|
872
|
+
tooltip: ( localize(7015, "Open settings to configure auto-approval"))
|
|
873
873
|
}, false)
|
|
874
874
|
)), {
|
|
875
875
|
isTrusted: true
|
|
@@ -1221,12 +1221,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1221
1221
|
}));
|
|
1222
1222
|
const promptResult = await this._dialogService.prompt({
|
|
1223
1223
|
type: Severity.Warning,
|
|
1224
|
-
message: ( localize(
|
|
1224
|
+
message: ( localize(7016, "Enable global auto approve?")),
|
|
1225
1225
|
buttons: [{
|
|
1226
|
-
label: ( localize(
|
|
1226
|
+
label: ( localize(7017, "Enable")),
|
|
1227
1227
|
run: () => true
|
|
1228
1228
|
}, {
|
|
1229
|
-
label: ( localize(
|
|
1229
|
+
label: ( localize(7018, "Disable")),
|
|
1230
1230
|
run: () => false
|
|
1231
1231
|
}],
|
|
1232
1232
|
custom: {
|
|
@@ -53,7 +53,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
53
53
|
this._bulkEditService = _bulkEditService;
|
|
54
54
|
}
|
|
55
55
|
getToolData() {
|
|
56
|
-
return this._buildToolData(StaticModelDescription, ( localize(
|
|
56
|
+
return this._buildToolData(StaticModelDescription, ( localize(7019, "Rename a symbol across the workspace")));
|
|
57
57
|
}
|
|
58
58
|
_buildToolData(modelDescription, userDescription) {
|
|
59
59
|
return {
|
|
@@ -61,7 +61,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
61
61
|
toolReferenceName: "rename",
|
|
62
62
|
canBeReferencedInPrompt: false,
|
|
63
63
|
icon: ThemeIcon.fromId(Codicon.rename.id),
|
|
64
|
-
displayName: ( localize(
|
|
64
|
+
displayName: ( localize(7020, "Rename Symbol")),
|
|
65
65
|
userDescription,
|
|
66
66
|
modelDescription,
|
|
67
67
|
source: ToolDataSource.Internal,
|
|
@@ -97,7 +97,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
97
97
|
async prepareToolInvocation(context, _token) {
|
|
98
98
|
const input = context.parameters;
|
|
99
99
|
return {
|
|
100
|
-
invocationMessage: ( localize(
|
|
100
|
+
invocationMessage: ( localize(7021, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -185,13 +185,13 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
185
185
|
}
|
|
186
186
|
_successResult(input, fileCount, editCount) {
|
|
187
187
|
const text = editCount === 1 ? ( localize(
|
|
188
|
-
|
|
188
|
+
7022,
|
|
189
189
|
"Renamed `{0}` to `{1}` - 1 edit in {2} file.",
|
|
190
190
|
input.symbol,
|
|
191
191
|
input.newName,
|
|
192
192
|
fileCount
|
|
193
193
|
)) : ( localize(
|
|
194
|
-
|
|
194
|
+
7023,
|
|
195
195
|
"Renamed `{0}` to `{1}` - {2} edits across {3} files.",
|
|
196
196
|
input.symbol,
|
|
197
197
|
input.newName,
|
|
@@ -55,7 +55,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
55
55
|
this._workspaceContextService = _workspaceContextService;
|
|
56
56
|
}
|
|
57
57
|
getToolData() {
|
|
58
|
-
return this._buildToolData(StaticModelDescription, ( localize(
|
|
58
|
+
return this._buildToolData(StaticModelDescription, ( localize(7037, "Find references, definitions, and implementations of a symbol")));
|
|
59
59
|
}
|
|
60
60
|
_buildToolData(modelDescription, userDescription) {
|
|
61
61
|
return {
|
|
@@ -63,7 +63,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
63
63
|
toolReferenceName: "usages",
|
|
64
64
|
canBeReferencedInPrompt: false,
|
|
65
65
|
icon: ThemeIcon.fromId(Codicon.references.id),
|
|
66
|
-
displayName: ( localize(
|
|
66
|
+
displayName: ( localize(7038, "List Code Usages")),
|
|
67
67
|
userDescription,
|
|
68
68
|
modelDescription,
|
|
69
69
|
source: ToolDataSource.Internal,
|
|
@@ -95,7 +95,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
95
95
|
async prepareToolInvocation(context, _token) {
|
|
96
96
|
const input = context.parameters;
|
|
97
97
|
return {
|
|
98
|
-
invocationMessage: ( localize(
|
|
98
|
+
invocationMessage: ( localize(7039, "Analyzing usages of `{0}`", input.symbol))
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -148,7 +148,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
148
148
|
)]);
|
|
149
149
|
if (references.length === 0) {
|
|
150
150
|
const result = createToolSimpleTextResult(`No usages found for \`${input.symbol}\`.`);
|
|
151
|
-
result.toolResultMessage = ( new MarkdownString(( localize(
|
|
151
|
+
result.toolResultMessage = ( new MarkdownString(( localize(7040, "Analyzed usages of `{0}`, no results", input.symbol))));
|
|
152
152
|
return result;
|
|
153
153
|
}
|
|
154
154
|
const previews = await this._getLinePreviews(input.symbol, references, token);
|
|
@@ -169,8 +169,8 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
169
169
|
}
|
|
170
170
|
const text = lines.join("\n");
|
|
171
171
|
const result = createToolSimpleTextResult(text);
|
|
172
|
-
result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(
|
|
173
|
-
|
|
172
|
+
result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7041, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
|
|
173
|
+
7042,
|
|
174
174
|
"Analyzed usages of `{0}`, {1} results",
|
|
175
175
|
input.symbol,
|
|
176
176
|
references.length
|
package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js
CHANGED
|
@@ -17,29 +17,29 @@ const chatViewsWelcomeJsonSchema = {
|
|
|
17
17
|
properties: {
|
|
18
18
|
icon: {
|
|
19
19
|
type: "string",
|
|
20
|
-
description: ( localize(
|
|
20
|
+
description: ( localize(7043, "The icon for the welcome message."))
|
|
21
21
|
},
|
|
22
22
|
title: {
|
|
23
23
|
type: "string",
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(7044, "The title of the welcome message."))
|
|
25
25
|
},
|
|
26
26
|
content: {
|
|
27
27
|
type: "string",
|
|
28
28
|
description: ( localize(
|
|
29
|
-
|
|
29
|
+
7045,
|
|
30
30
|
"The content of the welcome message. The first command link will be rendered as a button."
|
|
31
31
|
))
|
|
32
32
|
},
|
|
33
33
|
when: {
|
|
34
34
|
type: "string",
|
|
35
|
-
description: ( localize(
|
|
35
|
+
description: ( localize(7046, "Condition when the welcome message is shown."))
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
40
40
|
extensionPoint: "chatViewsWelcome",
|
|
41
41
|
jsonSchema: {
|
|
42
|
-
description: ( localize(
|
|
42
|
+
description: ( localize(7047, "Contributes a welcome message to a chat view")),
|
|
43
43
|
type: "array",
|
|
44
44
|
items: chatViewsWelcomeJsonSchema
|
|
45
45
|
}
|