@codingame/monaco-vscode-chat-service-override 23.1.0 → 23.2.0
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 -1
- package/package.json +41 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +48 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +101 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +10 -10
- 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/chatEditing/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +52 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +65 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
- 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/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/common/chatProgressTypes/chatToolInvocation.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +53 -53
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
- 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 +21 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +8 -8
- 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 +18 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +10 -10
- 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/monitoring/outputMonitor.js +9 -9
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- 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
|
@@ -17,7 +17,7 @@ class ConfigAgentActionImpl extends Action2 {
|
|
|
17
17
|
const openerService = accessor.get(IOpenerService);
|
|
18
18
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
19
19
|
const placeholder = ( localize(
|
|
20
|
-
|
|
20
|
+
5647,
|
|
21
21
|
"Select the custom agents to open and configure visibility in the agent picker"
|
|
22
22
|
));
|
|
23
23
|
const result = await pickers.selectPromptFile({ placeholder, type: PromptsType.agent, optionEdit: false, optionVisibility: true });
|
|
@@ -31,7 +31,7 @@ class PickerConfigAgentAction extends ConfigAgentActionImpl {
|
|
|
31
31
|
constructor() {
|
|
32
32
|
super({
|
|
33
33
|
id: PICKER_CONFIGURE_AGENTS_ACTION_ID,
|
|
34
|
-
title: ( localize2(
|
|
34
|
+
title: ( localize2(5648, "Configure Custom Agents...")),
|
|
35
35
|
category: CHAT_CATEGORY,
|
|
36
36
|
f1: false,
|
|
37
37
|
menu: {
|
|
@@ -45,8 +45,8 @@ class ManageAgentsAction extends ConfigAgentActionImpl {
|
|
|
45
45
|
constructor() {
|
|
46
46
|
super({
|
|
47
47
|
id: CONFIGURE_AGENTS_ACTION_ID,
|
|
48
|
-
title: ( localize2(
|
|
49
|
-
shortTitle: ( localize(
|
|
48
|
+
title: ( localize2(5649, "Configure Custom Agents...")),
|
|
49
|
+
shortTitle: ( localize(5650, "Custom Agents")),
|
|
50
50
|
icon: Codicon.bookmark,
|
|
51
51
|
f1: true,
|
|
52
52
|
precondition: ChatContextKeys.enabled,
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js
CHANGED
|
@@ -27,11 +27,11 @@ let PromptCodingAgentActionOverlayWidget = class PromptCodingAgentActionOverlayW
|
|
|
27
27
|
this._domNode = $('.prompt-coding-agent-action-overlay');
|
|
28
28
|
this._button = this._register(( new Button(this._domNode, {
|
|
29
29
|
supportIcons: true,
|
|
30
|
-
title: ( localize(
|
|
30
|
+
title: ( localize(5705, "Run prompt file in a remote coding agent"))
|
|
31
31
|
})));
|
|
32
32
|
this._button.element.style.background = 'var(--vscode-button-background)';
|
|
33
33
|
this._button.element.style.color = 'var(--vscode-button-foreground)';
|
|
34
|
-
this._button.label = ( localize(
|
|
34
|
+
this._button.label = ( localize(5706, "{0} Delegate to Copilot coding agent", '$(cloud-upload)'));
|
|
35
35
|
this._register(this._button.onDidClick(async () => {
|
|
36
36
|
await this._execute();
|
|
37
37
|
}));
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js
CHANGED
|
@@ -56,7 +56,7 @@ let PromptToolsCodeLensProvider = class PromptToolsCodeLensProvider extends Disp
|
|
|
56
56
|
const codeLens = {
|
|
57
57
|
range: toolsAttr.range.collapseToStart(),
|
|
58
58
|
command: {
|
|
59
|
-
title: ( localize(
|
|
59
|
+
title: ( localize(5707, "Configure Tools...")),
|
|
60
60
|
id: this.cmdId,
|
|
61
61
|
arguments: [model, toolsAttr.value.range, selectedTools, header.target]
|
|
62
62
|
}
|
|
@@ -65,7 +65,7 @@ let PromptToolsCodeLensProvider = class PromptToolsCodeLensProvider extends Disp
|
|
|
65
65
|
}
|
|
66
66
|
async updateTools(model, range, selectedTools, target) {
|
|
67
67
|
const selectedToolsNow = () => this.languageModelToolsService.toToolAndToolSetEnablementMap(selectedTools, target);
|
|
68
|
-
const newSelectedAfter = await this.instantiationService.invokeFunction(showToolsPicker, ( localize(
|
|
68
|
+
const newSelectedAfter = await this.instantiationService.invokeFunction(showToolsPicker, ( localize(5708, "Select tools")), undefined, selectedToolsNow);
|
|
69
69
|
if (!newSelectedAfter) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -70,7 +70,7 @@ let PromptUrlHandler = class PromptUrlHandler extends Disposable {
|
|
|
70
70
|
const result = await this.requestService.request({ type: 'GET', url: urlString }, CancellationToken.None);
|
|
71
71
|
if (result.res.statusCode !== 200) {
|
|
72
72
|
this.logService.error(`[PromptUrlHandler] Failed to fetch URL: ${urlString}`);
|
|
73
|
-
this.notificationService.error(( localize(
|
|
73
|
+
this.notificationService.error(( localize(5709, 'Failed to fetch URL: {0}', urlString)));
|
|
74
74
|
return true;
|
|
75
75
|
}
|
|
76
76
|
const responseData = ( (await streamToBuffer(result.stream)).toString());
|
|
@@ -99,36 +99,36 @@ let PromptUrlHandler = class PromptUrlHandler extends Disposable {
|
|
|
99
99
|
uriLabel = `${uriLabel.substring(0, 35)}...${uriLabel.substring(uriLabel.length - 15)}`;
|
|
100
100
|
}
|
|
101
101
|
const detail = ( new MarkdownString('', { supportHtml: true }));
|
|
102
|
-
detail.appendMarkdown(( localize(
|
|
102
|
+
detail.appendMarkdown(( localize(5710, "This will access {0}.\n\n", `[${uriLabel}](${( url.toString())})`)));
|
|
103
103
|
detail.appendMarkdown(( localize(
|
|
104
|
-
|
|
104
|
+
5711,
|
|
105
105
|
"If you did not initiate this request, it may represent an attempted attack on your system. Unless you took an explicit action to initiate this request, you should press 'No'"
|
|
106
106
|
)));
|
|
107
107
|
let message;
|
|
108
108
|
switch (promptType) {
|
|
109
109
|
case PromptsType.prompt:
|
|
110
110
|
message = ( localize(
|
|
111
|
-
|
|
111
|
+
5712,
|
|
112
112
|
"An external application wants to create a prompt file with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
113
113
|
));
|
|
114
114
|
break;
|
|
115
115
|
case PromptsType.instructions:
|
|
116
116
|
message = ( localize(
|
|
117
|
-
|
|
117
|
+
5713,
|
|
118
118
|
"An external application wants to create an instructions file with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
119
119
|
));
|
|
120
120
|
break;
|
|
121
121
|
default:
|
|
122
122
|
message = ( localize(
|
|
123
|
-
|
|
123
|
+
5714,
|
|
124
124
|
"An external application wants to create a custom agent with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
125
125
|
));
|
|
126
126
|
break;
|
|
127
127
|
}
|
|
128
128
|
const { confirmed } = await this.dialogService.confirm({
|
|
129
129
|
type: 'warning',
|
|
130
|
-
primaryButton: ( localize(
|
|
131
|
-
cancelButton: ( localize(
|
|
130
|
+
primaryButton: ( localize(5715, "&&Yes")),
|
|
131
|
+
cancelButton: ( localize(5716, "No")),
|
|
132
132
|
message,
|
|
133
133
|
custom: {
|
|
134
134
|
markdownDetails: [{
|
|
@@ -71,7 +71,7 @@ class RunPromptBaseAction extends Action2 {
|
|
|
71
71
|
return widget;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
const RUN_CURRENT_PROMPT_ACTION_TITLE = ( localize2(
|
|
74
|
+
const RUN_CURRENT_PROMPT_ACTION_TITLE = ( localize2(5717, "Run Prompt in Current Chat"));
|
|
75
75
|
const RUN_CURRENT_PROMPT_ACTION_ICON = Codicon.playCircle;
|
|
76
76
|
class RunCurrentPromptAction extends RunPromptBaseAction {
|
|
77
77
|
constructor() {
|
|
@@ -90,7 +90,7 @@ class RunSelectedPromptAction extends Action2 {
|
|
|
90
90
|
constructor() {
|
|
91
91
|
super({
|
|
92
92
|
id: RUN_SELECTED_PROMPT_ACTION_ID,
|
|
93
|
-
title: ( localize2(
|
|
93
|
+
title: ( localize2(5718, "Run Prompt...")),
|
|
94
94
|
icon: Codicon.bookmark,
|
|
95
95
|
f1: true,
|
|
96
96
|
precondition: ChatContextKeys.enabled,
|
|
@@ -110,7 +110,7 @@ class RunSelectedPromptAction extends Action2 {
|
|
|
110
110
|
const layoutService = accessor.get(IWorkbenchLayoutService);
|
|
111
111
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
112
112
|
const placeholder = ( localize(
|
|
113
|
-
|
|
113
|
+
5719,
|
|
114
114
|
'Select the prompt file to run (hold {0}-key to use in new chat)',
|
|
115
115
|
UILabelProvider.modifierLabels[OS].ctrlKey
|
|
116
116
|
));
|
|
@@ -134,8 +134,8 @@ class ManagePromptFilesAction extends Action2 {
|
|
|
134
134
|
constructor() {
|
|
135
135
|
super({
|
|
136
136
|
id: CONFIGURE_PROMPTS_ACTION_ID,
|
|
137
|
-
title: ( localize2(
|
|
138
|
-
shortTitle: ( localize2(
|
|
137
|
+
title: ( localize2(5720, "Configure Prompt Files...")),
|
|
138
|
+
shortTitle: ( localize2(5721, "Prompt Files")),
|
|
139
139
|
icon: Codicon.bookmark,
|
|
140
140
|
f1: true,
|
|
141
141
|
precondition: ChatContextKeys.enabled,
|
|
@@ -152,7 +152,7 @@ class ManagePromptFilesAction extends Action2 {
|
|
|
152
152
|
const openerService = accessor.get(IOpenerService);
|
|
153
153
|
const instaService = accessor.get(IInstantiationService);
|
|
154
154
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
155
|
-
const placeholder = ( localize(
|
|
155
|
+
const placeholder = ( localize(5722, 'Select the prompt file to open'));
|
|
156
156
|
const result = await pickers.selectPromptFile({ placeholder, type: PromptsType.prompt, optionEdit: false });
|
|
157
157
|
if (result !== undefined) {
|
|
158
158
|
await openerService.open(result.promptFile);
|
|
@@ -168,7 +168,7 @@ function getActivePromptFileUri(accessor) {
|
|
|
168
168
|
return undefined;
|
|
169
169
|
}
|
|
170
170
|
const RUN_CURRENT_PROMPT_IN_NEW_CHAT_ACTION_ID = 'workbench.action.chat.run-in-new-chat.prompt.current';
|
|
171
|
-
const RUN_IN_NEW_CHAT_ACTION_TITLE = ( localize2(
|
|
171
|
+
const RUN_IN_NEW_CHAT_ACTION_TITLE = ( localize2(5723, "Run Prompt In New Chat"));
|
|
172
172
|
const RUN_IN_NEW_CHAT_ACTION_ICON = Codicon.play;
|
|
173
173
|
class RunCurrentPromptInNewChatAction extends RunPromptBaseAction {
|
|
174
174
|
constructor() {
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js
CHANGED
|
@@ -70,19 +70,19 @@ function createOptions(id, title, description, languageId) {
|
|
|
70
70
|
const SAVE_AS_PROMPT_FILE_ACTION_ID = 'workbench.action.chat.save-as-prompt';
|
|
71
71
|
class SaveAsPromptFileAction extends BaseSaveAsPromptFileAction {
|
|
72
72
|
constructor() {
|
|
73
|
-
super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(
|
|
73
|
+
super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(5724, "Save As Prompt File")), ( localize2(5725, "Save as prompt file")), PROMPT_LANGUAGE_ID), PromptsType.prompt);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
const SAVE_AS_AGENT_FILE_ACTION_ID = 'workbench.action.chat.save-as-agent';
|
|
77
77
|
class SaveAsAgentFileAction extends BaseSaveAsPromptFileAction {
|
|
78
78
|
constructor() {
|
|
79
|
-
super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(
|
|
79
|
+
super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(5726, "Save As Agent File")), ( localize2(5727, "Save as agent file")), AGENT_LANGUAGE_ID), PromptsType.agent);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
const SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID = 'workbench.action.chat.save-as-instructions';
|
|
83
83
|
class SaveAsInstructionsFileAction extends BaseSaveAsPromptFileAction {
|
|
84
84
|
constructor() {
|
|
85
|
-
super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(
|
|
85
|
+
super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(5728, "Save As Instructions File")), ( localize2(5729, "Save as instructions file")), INSTRUCTIONS_LANGUAGE_ID), PromptsType.instructions);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -44,11 +44,11 @@ const toolSetsSchema = {
|
|
|
44
44
|
allowComments: true,
|
|
45
45
|
allowTrailingCommas: true,
|
|
46
46
|
defaultSnippets: [{
|
|
47
|
-
label: ( localize(
|
|
47
|
+
label: ( localize(5730, "Empty tool set")),
|
|
48
48
|
body: { '${1:toolSetName}': { 'tools': ['${2:someTool}', '${3:anotherTool}'], 'description': '${4:description}', 'icon': '${5:tools}' } }
|
|
49
49
|
}],
|
|
50
50
|
type: 'object',
|
|
51
|
-
description: ( localize(
|
|
51
|
+
description: ( localize(5731, 'User tool sets configuration')),
|
|
52
52
|
additionalProperties: {
|
|
53
53
|
type: 'object',
|
|
54
54
|
required: ['tools'],
|
|
@@ -56,7 +56,7 @@ const toolSetsSchema = {
|
|
|
56
56
|
properties: {
|
|
57
57
|
tools: {
|
|
58
58
|
description: ( localize(
|
|
59
|
-
|
|
59
|
+
5732,
|
|
60
60
|
"A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools the way they are referenced in prompts."
|
|
61
61
|
)),
|
|
62
62
|
type: 'array',
|
|
@@ -69,7 +69,7 @@ const toolSetsSchema = {
|
|
|
69
69
|
},
|
|
70
70
|
icon: {
|
|
71
71
|
description: ( localize(
|
|
72
|
-
|
|
72
|
+
5733,
|
|
73
73
|
'Icon to use for this tool set in the UI. Uses the "\\$(name)"-syntax, like "\\$(zap)"'
|
|
74
74
|
)),
|
|
75
75
|
type: 'string',
|
|
@@ -77,7 +77,7 @@ const toolSetsSchema = {
|
|
|
77
77
|
markdownEnumDescriptions: Array.from(getAllCodicons(), icon => `$(${icon.id})`),
|
|
78
78
|
},
|
|
79
79
|
description: {
|
|
80
|
-
description: ( localize(
|
|
80
|
+
description: ( localize(5734, "A short description of this tool set.")),
|
|
81
81
|
type: 'string'
|
|
82
82
|
},
|
|
83
83
|
},
|
|
@@ -164,7 +164,7 @@ let UserToolSetsContributions = class UserToolSetsContributions extends Disposab
|
|
|
164
164
|
});
|
|
165
165
|
for (const item of data) {
|
|
166
166
|
toolEnumValues.push(item.name);
|
|
167
|
-
toolEnumDescriptions.push(( localize(
|
|
167
|
+
toolEnumDescriptions.push(( localize(5735, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
|
|
168
168
|
}
|
|
169
169
|
store.clear();
|
|
170
170
|
reg.registerSchema(toolSetSchemaId, toolSetsSchema, store);
|
|
@@ -257,8 +257,8 @@ class ConfigureToolSets extends Action2 {
|
|
|
257
257
|
constructor() {
|
|
258
258
|
super({
|
|
259
259
|
id: ConfigureToolSets.ID,
|
|
260
|
-
title: ( localize2(
|
|
261
|
-
shortTitle: ( localize(
|
|
260
|
+
title: ( localize2(5736, 'Configure Tool Sets...')),
|
|
261
|
+
shortTitle: ( localize(5737, "Tool Sets")),
|
|
262
262
|
category: CHAT_CATEGORY,
|
|
263
263
|
f1: true,
|
|
264
264
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.Tools.toolsCount.greater(0))),
|
|
@@ -279,7 +279,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
279
279
|
const textFileService = accessor.get(ITextFileService);
|
|
280
280
|
const picks = [];
|
|
281
281
|
picks.push({
|
|
282
|
-
label: ( localize(
|
|
282
|
+
label: ( localize(5738, 'Create new tool sets file...')),
|
|
283
283
|
alwaysShow: true,
|
|
284
284
|
iconClass: ThemeIcon.asClassName(Codicon.plus)
|
|
285
285
|
});
|
|
@@ -296,7 +296,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
296
296
|
}
|
|
297
297
|
const pick = await quickInputService.pick(picks, {
|
|
298
298
|
canPickMany: false,
|
|
299
|
-
placeHolder: ( localize(
|
|
299
|
+
placeHolder: ( localize(5739, 'Select a tool set to configure')),
|
|
300
300
|
});
|
|
301
301
|
if (!pick) {
|
|
302
302
|
return;
|
|
@@ -304,13 +304,13 @@ class ConfigureToolSets extends Action2 {
|
|
|
304
304
|
let resource;
|
|
305
305
|
if (!pick.toolset) {
|
|
306
306
|
const name = await quickInputService.input({
|
|
307
|
-
placeHolder: ( localize(
|
|
307
|
+
placeHolder: ( localize(5740, "Type tool sets file name")),
|
|
308
308
|
validateInput: async (input) => {
|
|
309
309
|
if (!input) {
|
|
310
|
-
return localize(
|
|
310
|
+
return localize(5741, "Invalid file name");
|
|
311
311
|
}
|
|
312
312
|
if (!isValidBasename(input)) {
|
|
313
|
-
return localize(
|
|
313
|
+
return localize(5742, "'{0}' is not a valid file name", input);
|
|
314
314
|
}
|
|
315
315
|
return undefined;
|
|
316
316
|
}
|
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(5748, 'The icon for the welcome message.')),
|
|
21
21
|
},
|
|
22
22
|
title: {
|
|
23
23
|
type: 'string',
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(5749, 'The title of the welcome message.')),
|
|
25
25
|
},
|
|
26
26
|
content: {
|
|
27
27
|
type: 'string',
|
|
28
28
|
description: ( localize(
|
|
29
|
-
|
|
29
|
+
5750,
|
|
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(5751, '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(5752, 'Contributes a welcome message to a chat view')),
|
|
43
43
|
type: 'array',
|
|
44
44
|
items: chatViewsWelcomeJsonSchema,
|
|
45
45
|
},
|
|
@@ -14,7 +14,7 @@ class ChatToolInvocation {
|
|
|
14
14
|
this.toolCallId = toolCallId;
|
|
15
15
|
this.kind = 'toolInvocation';
|
|
16
16
|
this._progress = observableValue(this, { progress: 0 });
|
|
17
|
-
const defaultMessage = ( localize(
|
|
17
|
+
const defaultMessage = ( localize(5825, "Using {0}", `"${toolData.displayName}"`));
|
|
18
18
|
const invocationMessage = preparedInvocation?.invocationMessage ?? defaultMessage;
|
|
19
19
|
this.invocationMessage = invocationMessage;
|
|
20
20
|
this.pastTenseMessage = preparedInvocation?.pastTenseMessage;
|
|
@@ -299,7 +299,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
299
299
|
const liveSessionItems = ( Array.from(( this._sessionModels.values()))
|
|
300
300
|
.filter(session => this.shouldBeInHistory(session))
|
|
301
301
|
.map((session) => {
|
|
302
|
-
const title = session.title || ( localize(
|
|
302
|
+
const title = session.title || ( localize(5826, "New Chat"));
|
|
303
303
|
return {
|
|
304
304
|
sessionResource: session.sessionResource,
|
|
305
305
|
title,
|
|
@@ -816,7 +816,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
816
816
|
else {
|
|
817
817
|
if (!rawResult) {
|
|
818
818
|
this.trace('sendRequest', `Provider returned no response for session ${model.sessionId}`);
|
|
819
|
-
rawResult = { errorDetails: { message: ( localize(
|
|
819
|
+
rawResult = { errorDetails: { message: ( localize(5827, "Provider returned null response")) } };
|
|
820
820
|
}
|
|
821
821
|
const result = rawResult.errorDetails?.responseIsFiltered ? 'filtered' :
|
|
822
822
|
rawResult.errorDetails && gotProgress ? 'errorWithOutput' :
|
|
@@ -51,7 +51,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
51
51
|
}
|
|
52
52
|
e.join(this.storeTask, {
|
|
53
53
|
id: 'join.chatSessionStore',
|
|
54
|
-
label: ( localize(
|
|
54
|
+
label: ( localize(5828, "Saving chat history"))
|
|
55
55
|
});
|
|
56
56
|
}));
|
|
57
57
|
}
|
|
@@ -326,7 +326,7 @@ function getSessionMetadata(session) {
|
|
|
326
326
|
const title = session.customTitle || (session instanceof ChatModel ? session.title : undefined);
|
|
327
327
|
return {
|
|
328
328
|
sessionId: session.sessionId,
|
|
329
|
-
title: title || ( localize(
|
|
329
|
+
title: title || ( localize(5829, "New Chat")),
|
|
330
330
|
lastMessageDate: session.lastMessageDate,
|
|
331
331
|
isImported: session.isImported,
|
|
332
332
|
initialLocation: session.initialLocation,
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js
CHANGED
|
@@ -11,7 +11,7 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
11
11
|
return ExtensionsRegistry.registerExtensionPoint({
|
|
12
12
|
extensionPoint: point,
|
|
13
13
|
jsonSchema: {
|
|
14
|
-
description: ( localize(
|
|
14
|
+
description: ( localize(5847, 'Contributes {0} for chat prompts.', point)),
|
|
15
15
|
type: 'array',
|
|
16
16
|
items: {
|
|
17
17
|
additionalProperties: false,
|
|
@@ -27,18 +27,18 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
27
27
|
properties: {
|
|
28
28
|
name: {
|
|
29
29
|
description: ( localize(
|
|
30
|
-
|
|
30
|
+
5848,
|
|
31
31
|
'Identifier for this file. Must be unique within this extension for this contribution point.'
|
|
32
32
|
)),
|
|
33
33
|
type: 'string',
|
|
34
34
|
pattern: '^[\\w.-]+$'
|
|
35
35
|
},
|
|
36
36
|
path: {
|
|
37
|
-
description: ( localize(
|
|
37
|
+
description: ( localize(5849, 'Path to the file relative to the extension root.')),
|
|
38
38
|
type: 'string'
|
|
39
39
|
},
|
|
40
40
|
description: {
|
|
41
|
-
description: ( localize(
|
|
41
|
+
description: ( localize(5850, '(Optional) Description of the file.')),
|
|
42
42
|
type: 'string'
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -75,7 +75,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
75
75
|
for (const raw of ext.value) {
|
|
76
76
|
if (!raw.name || !raw.name.match(/^[\w.-]+$/)) {
|
|
77
77
|
ext.collector.error(( localize(
|
|
78
|
-
|
|
78
|
+
5851,
|
|
79
79
|
"Extension '{0}' cannot register {1} entry with invalid name '{2}'.",
|
|
80
80
|
ext.description.identifier.value,
|
|
81
81
|
contributionPoint,
|
|
@@ -85,7 +85,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
85
85
|
}
|
|
86
86
|
if (!raw.path) {
|
|
87
87
|
ext.collector.error(( localize(
|
|
88
|
-
|
|
88
|
+
5852,
|
|
89
89
|
"Extension '{0}' cannot register {1} entry '{2}' without path.",
|
|
90
90
|
ext.description.identifier.value,
|
|
91
91
|
contributionPoint,
|
|
@@ -95,7 +95,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
95
95
|
}
|
|
96
96
|
if (!raw.description) {
|
|
97
97
|
ext.collector.error(( localize(
|
|
98
|
-
|
|
98
|
+
5853,
|
|
99
99
|
"Extension '{0}' cannot register {1} entry '{2}' without description.",
|
|
100
100
|
ext.description.identifier.value,
|
|
101
101
|
contributionPoint,
|
|
@@ -106,7 +106,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
106
106
|
const fileUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
107
107
|
if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
|
|
108
108
|
ext.collector.error(( localize(
|
|
109
|
-
|
|
109
|
+
5854,
|
|
110
110
|
"Extension '{0}' {1} entry '{2}' path resolves outside the extension.",
|
|
111
111
|
ext.description.identifier.value,
|
|
112
112
|
contributionPoint,
|
|
@@ -121,7 +121,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
121
121
|
catch (e) {
|
|
122
122
|
const msg = e instanceof Error ? e.message : String(e);
|
|
123
123
|
ext.collector.error(( localize(
|
|
124
|
-
|
|
124
|
+
5855,
|
|
125
125
|
"Failed to register {0} entry '{1}': {2}",
|
|
126
126
|
contributionPoint,
|
|
127
127
|
raw.name,
|
|
@@ -55,7 +55,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
55
55
|
modeAttr.range.startColumn + modeAttr.key.length
|
|
56
56
|
));
|
|
57
57
|
result.push({
|
|
58
|
-
title: ( localize(
|
|
58
|
+
title: ( localize(5863, "Rename to 'agent'")),
|
|
59
59
|
edit: {
|
|
60
60
|
edits: [asWorkspaceTextEdit(model, { range: keyRange, text: 'agent' })]
|
|
61
61
|
}
|
|
@@ -67,7 +67,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
67
67
|
if (location && (await this.fileService.canMove(uri, location))) {
|
|
68
68
|
const edit = { oldResource: uri, newResource: location, options: { overwrite: false, copy: false } };
|
|
69
69
|
result.push({
|
|
70
|
-
title: ( localize(
|
|
70
|
+
title: ( localize(5864, "Migrate to custom agent file")),
|
|
71
71
|
edit: {
|
|
72
72
|
edits: [edit]
|
|
73
73
|
}
|
|
@@ -103,7 +103,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
103
103
|
edits.push(edit);
|
|
104
104
|
if (item.range.containsRange(range)) {
|
|
105
105
|
result.push({
|
|
106
|
-
title: ( localize(
|
|
106
|
+
title: ( localize(5865, "Update to '{0}'", newName)),
|
|
107
107
|
edit: {
|
|
108
108
|
edits: [asWorkspaceTextEdit(model, edit)]
|
|
109
109
|
}
|
|
@@ -113,7 +113,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
113
113
|
}
|
|
114
114
|
if (edits.length && result.length === 0 || edits.length > 1) {
|
|
115
115
|
result.push({
|
|
116
|
-
title: ( localize(
|
|
116
|
+
title: ( localize(5866, "Update all tool names")),
|
|
117
117
|
edit: {
|
|
118
118
|
edits: ( edits.map(edit => asWorkspaceTextEdit(model, edit)))
|
|
119
119
|
}
|
|
@@ -128,7 +128,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
128
128
|
' send: true'
|
|
129
129
|
].join('\n');
|
|
130
130
|
const item = {
|
|
131
|
-
label: ( localize(
|
|
131
|
+
label: ( localize(5867, "Handoff Example")),
|
|
132
132
|
kind: CompletionItemKind.Value,
|
|
133
133
|
insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
|
|
134
134
|
range: ( new Range(
|