@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
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js
CHANGED
|
@@ -41,7 +41,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
41
41
|
this.contextKeyService = contextKeyService;
|
|
42
42
|
this._altKeyPressed = false;
|
|
43
43
|
const isSteerDefault = this._isSteerDefault();
|
|
44
|
-
this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(
|
|
44
|
+
this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(7506, "Steer with Message")) : ( localize(7507, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
|
|
45
45
|
this._primaryAction = this._register(( new ActionViewItem(undefined, this._primaryActionAction, {
|
|
46
46
|
icon: true,
|
|
47
47
|
label: false
|
|
@@ -49,7 +49,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
49
49
|
this._register(this.contextKeyService.onDidChangeContext(e => {
|
|
50
50
|
this._primaryActionAction.enabled = !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key);
|
|
51
51
|
}));
|
|
52
|
-
const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(
|
|
52
|
+
const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(7508, "More Actions...")))));
|
|
53
53
|
this._dropdown = this._register(( new ChevronActionWidgetDropdown(dropdownAction, {
|
|
54
54
|
actionProvider: {
|
|
55
55
|
getActions: () => this._getDropdownActions()
|
|
@@ -77,7 +77,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
77
77
|
}
|
|
78
78
|
_updatePrimaryAction() {
|
|
79
79
|
const isSteer = this._isEffectiveSteer();
|
|
80
|
-
this._primaryActionAction.label = isSteer ? ( localize(
|
|
80
|
+
this._primaryActionAction.label = isSteer ? ( localize(7506, "Steer with Message")) : ( localize(7507, "Add to Queue"));
|
|
81
81
|
this._primaryActionAction.class = ThemeIcon.asClassName(isSteer ? Codicon.arrowUp : Codicon.add);
|
|
82
82
|
}
|
|
83
83
|
_runDefaultAction() {
|
|
@@ -134,7 +134,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
134
134
|
const steerKeybinding = this.keybindingService.lookupKeybinding(ChatSteerWithMessageAction.ID, lookupContext, true);
|
|
135
135
|
const queueAction = {
|
|
136
136
|
id: ChatQueueMessageAction.ID,
|
|
137
|
-
label: ( localize(
|
|
137
|
+
label: ( localize(7507, "Add to Queue")),
|
|
138
138
|
tooltip: "",
|
|
139
139
|
enabled: true,
|
|
140
140
|
checked: !isSteerDefault,
|
|
@@ -143,7 +143,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
143
143
|
keybinding: queueKeybinding,
|
|
144
144
|
hover: {
|
|
145
145
|
content: ( localize(
|
|
146
|
-
|
|
146
|
+
7509,
|
|
147
147
|
"Queue this message to send after the current request completes. The current response will finish uninterrupted before the queued message is sent."
|
|
148
148
|
))
|
|
149
149
|
},
|
|
@@ -153,7 +153,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
153
153
|
};
|
|
154
154
|
const steerAction = {
|
|
155
155
|
id: ChatSteerWithMessageAction.ID,
|
|
156
|
-
label: ( localize(
|
|
156
|
+
label: ( localize(7506, "Steer with Message")),
|
|
157
157
|
tooltip: "",
|
|
158
158
|
enabled: true,
|
|
159
159
|
checked: isSteerDefault,
|
|
@@ -162,7 +162,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
162
162
|
keybinding: steerKeybinding,
|
|
163
163
|
hover: {
|
|
164
164
|
content: ( localize(
|
|
165
|
-
|
|
165
|
+
7510,
|
|
166
166
|
"Send this message at the next opportunity, signaling the current request to yield. The current response will stop and the new message will be sent immediately."
|
|
167
167
|
))
|
|
168
168
|
},
|
|
@@ -172,13 +172,13 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
|
|
|
172
172
|
};
|
|
173
173
|
const sendAction = {
|
|
174
174
|
id: "_" + ChatSubmitAction.ID,
|
|
175
|
-
label: ( localize(
|
|
175
|
+
label: ( localize(7511, "Stop and Send")),
|
|
176
176
|
tooltip: "",
|
|
177
177
|
enabled: true,
|
|
178
178
|
icon: Codicon.arrowRight,
|
|
179
179
|
class: undefined,
|
|
180
180
|
hover: {
|
|
181
|
-
content: ( localize(
|
|
181
|
+
content: ( localize(7512, "Cancel the current request and send this message immediately."))
|
|
182
182
|
},
|
|
183
183
|
run: () => {
|
|
184
184
|
this.commandService.executeCommand(ChatSubmitAction.ID);
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js
CHANGED
|
@@ -561,7 +561,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
561
561
|
if (!isEmptyUpToCompletionWord(model, range)) {
|
|
562
562
|
return;
|
|
563
563
|
}
|
|
564
|
-
const label = ( localize(
|
|
564
|
+
const label = ( localize(7518, "Install Chat Extensions..."));
|
|
565
565
|
const item = {
|
|
566
566
|
label,
|
|
567
567
|
insertText: "",
|
|
@@ -709,7 +709,7 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
709
709
|
messages = await prompt.resolve(args, cts.token);
|
|
710
710
|
} catch (e) {
|
|
711
711
|
if (!cts.token.isCancellationRequested) {
|
|
712
|
-
notificationService.error(( localize(
|
|
712
|
+
notificationService.error(( localize(7519, "Error resolving prompt: {0}", String(e))));
|
|
713
713
|
}
|
|
714
714
|
replaceTextWith("");
|
|
715
715
|
return;
|
|
@@ -737,15 +737,15 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
737
737
|
id: generateUuid(),
|
|
738
738
|
kind: "generic",
|
|
739
739
|
value: contents,
|
|
740
|
-
name: ( localize(
|
|
740
|
+
name: ( localize(7520, "Prompt Resource"))
|
|
741
741
|
});
|
|
742
742
|
}
|
|
743
743
|
} else if (mimeType && getAttachableImageExtension(mimeType)) {
|
|
744
744
|
const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
|
|
745
745
|
chatWidget.attachmentModel.addContext({
|
|
746
746
|
id: generateUuid(),
|
|
747
|
-
name: ( localize(
|
|
748
|
-
fullName: ( localize(
|
|
747
|
+
name: ( localize(7521, "Prompt Image")),
|
|
748
|
+
fullName: ( localize(7521, "Prompt Image")),
|
|
749
749
|
value: resized,
|
|
750
750
|
kind: "image",
|
|
751
751
|
references: validURI && [{
|
|
@@ -1042,7 +1042,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1042
1042
|
result.suggestions.push({
|
|
1043
1043
|
label: {
|
|
1044
1044
|
label: sessionPrefix,
|
|
1045
|
-
description: ( localize(
|
|
1045
|
+
description: ( localize(7522, "Attach a chat session"))
|
|
1046
1046
|
},
|
|
1047
1047
|
filterText: sessionPrefix,
|
|
1048
1048
|
insertText: `${sessionPrefix}:`,
|
|
@@ -1128,7 +1128,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1128
1128
|
const uriLabel = this.labelService.getUriLabel(resource, {
|
|
1129
1129
|
relative: true
|
|
1130
1130
|
});
|
|
1131
|
-
const labelDescription = description ? ( localize(
|
|
1131
|
+
const labelDescription = description ? ( localize(7523, "{0} ({1})", uriLabel, description)) : uriLabel;
|
|
1132
1132
|
const sortText = boostPriority ? " " : "!";
|
|
1133
1133
|
return {
|
|
1134
1134
|
label: {
|
|
@@ -1180,7 +1180,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1180
1180
|
}
|
|
1181
1181
|
}
|
|
1182
1182
|
seen.add(resource);
|
|
1183
|
-
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(
|
|
1183
|
+
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7524, "Active file")) : undefined, i === 0));
|
|
1184
1184
|
if (newLen - len >= 5) {
|
|
1185
1185
|
break;
|
|
1186
1186
|
}
|
|
@@ -1369,7 +1369,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1369
1369
|
name = item.referenceName;
|
|
1370
1370
|
} else {
|
|
1371
1371
|
const source = item.source;
|
|
1372
|
-
detail = ( localize(
|
|
1372
|
+
detail = ( localize(7525, "{0}: {1}", source.label, item.displayName));
|
|
1373
1373
|
name = item.toolReferenceName ?? item.displayName;
|
|
1374
1374
|
documentation = item.userDescription ?? item.modelDescription;
|
|
1375
1375
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js
CHANGED
|
@@ -366,7 +366,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
|
|
|
366
366
|
promptHoverMessage.appendText("\n");
|
|
367
367
|
}
|
|
368
368
|
promptHoverMessage.appendText(( localize(
|
|
369
|
-
|
|
369
|
+
7526,
|
|
370
370
|
"Click to open {0}",
|
|
371
371
|
this.labelService.getUriLabel(promptSlashCommand.uri, {
|
|
372
372
|
relative: true
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js
CHANGED
|
@@ -62,7 +62,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
|
62
62
|
return ( new RenderedHoverParts([renderedHoverPart]));
|
|
63
63
|
}
|
|
64
64
|
getAccessibleContent(hoverPart) {
|
|
65
|
-
return localize(
|
|
65
|
+
return localize(7527, "There is a chat agent hover part here.");
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
ChatAgentHoverParticipant = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IChatWidgetService)), ( __param(3, ICommandService))], ChatAgentHoverParticipant));
|
|
@@ -253,7 +253,7 @@ let QuickChat = class QuickChat extends Disposable {
|
|
|
253
253
|
disclaimerElement.classList.toggle("hidden", !showDisclaimer);
|
|
254
254
|
if (showDisclaimer) {
|
|
255
255
|
const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
|
|
256
|
-
|
|
256
|
+
7568,
|
|
257
257
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
258
258
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
259
259
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
@@ -182,7 +182,7 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
|
|
|
182
182
|
let isContributedChatSession = false;
|
|
183
183
|
const chatSessionType = input.getSessionType();
|
|
184
184
|
if (chatSessionType !== localChatSessionType) {
|
|
185
|
-
const loadingMessage = ( localize(
|
|
185
|
+
const loadingMessage = ( localize(7569, "Loading..."));
|
|
186
186
|
this.showLoadingInChatWidget(loadingMessage);
|
|
187
187
|
}
|
|
188
188
|
await super.setInput(input, options, context, token);
|
|
@@ -338,7 +338,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
338
338
|
const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
|
|
339
339
|
const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
|
|
340
340
|
const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
|
|
341
|
-
sessionsTitle.textContent = ( localize(
|
|
341
|
+
sessionsTitle.textContent = ( localize(7588, "Sessions"));
|
|
342
342
|
this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
|
|
343
343
|
this.sessionsControl?.scrollToTop();
|
|
344
344
|
this.sessionsControl?.focus();
|
|
@@ -366,7 +366,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
366
366
|
...defaultButtonStyles,
|
|
367
367
|
secondary: true
|
|
368
368
|
})));
|
|
369
|
-
newSessionButton.label = ( localize(
|
|
369
|
+
newSessionButton.label = ( localize(7589, "New Session"));
|
|
370
370
|
this._register(
|
|
371
371
|
newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
|
|
372
372
|
);
|
|
@@ -608,7 +608,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
608
608
|
progressBadgeDisposables.value.add(autorun(reader => {
|
|
609
609
|
if (model.requestInProgress.read(reader)) {
|
|
610
610
|
this.activityBadge.value = this.activityService.showViewActivity(this.id, {
|
|
611
|
-
badge: ( new ProgressBadge(() => ( localize(
|
|
611
|
+
badge: ( new ProgressBadge(() => ( localize(7590, "Agent Session in Progress"))))
|
|
612
612
|
});
|
|
613
613
|
} else {
|
|
614
614
|
this.activityBadge.clear();
|
|
@@ -772,7 +772,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
772
772
|
return undefined;
|
|
773
773
|
}
|
|
774
774
|
this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
|
|
775
|
-
this.notificationService.error(( localize(
|
|
775
|
+
this.notificationService.error(( localize(7591, "Failed to open chat session: {0}", toErrorMessage(err))));
|
|
776
776
|
const result = await this.showModel(token, undefined);
|
|
777
777
|
this.logService.trace(
|
|
778
778
|
`[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())} error=true`
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js
CHANGED
|
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
|
|
|
23
23
|
ChatViewTitleControl_1 = this;
|
|
24
24
|
}
|
|
25
25
|
static {
|
|
26
|
-
this.DEFAULT_TITLE = ( localize(
|
|
26
|
+
this.DEFAULT_TITLE = ( localize(7592, "Chat"));
|
|
27
27
|
}
|
|
28
28
|
static {
|
|
29
29
|
this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
|
|
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
|
|
|
48
48
|
constructor() {
|
|
49
49
|
super({
|
|
50
50
|
id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
|
|
51
|
-
title: ( localize(
|
|
51
|
+
title: ( localize(7593, "Pick Agent Session")),
|
|
52
52
|
f1: false,
|
|
53
53
|
menu: [{
|
|
54
54
|
id: MenuId.ChatViewSessionTitleNavigationToolbar,
|
|
@@ -1041,7 +1041,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1041
1041
|
model.acceptResponseProgress(request, {
|
|
1042
1042
|
kind: "markdownContent",
|
|
1043
1043
|
content: ( new MarkdownString(( localize(
|
|
1044
|
-
|
|
1044
|
+
7699,
|
|
1045
1045
|
"The `{0}` skill requires `{1}` to be enabled. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
|
|
1046
1046
|
TROUBLESHOOT_COMMAND_NAME,
|
|
1047
1047
|
AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING,
|
|
@@ -1343,7 +1343,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1343
1343
|
);
|
|
1344
1344
|
rawResult = {
|
|
1345
1345
|
errorDetails: {
|
|
1346
|
-
message: ( localize(
|
|
1346
|
+
message: ( localize(7700, "Provider returned null response"))
|
|
1347
1347
|
}
|
|
1348
1348
|
};
|
|
1349
1349
|
}
|
|
@@ -1827,7 +1827,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1827
1827
|
};
|
|
1828
1828
|
ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, ITelemetryService)), ( __param(3, IExtensionService)), ( __param(4, IInstantiationService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IChatSlashCommandService)), ( __param(7, IChatAgentService)), ( __param(8, IConfigurationService)), ( __param(9, IChatTransferService)), ( __param(10, IChatSessionsService)), ( __param(11, IMcpService)), ( __param(12, IPromptsService)), ( __param(13, IChatEntitlementService)), ( __param(14, ILanguageModelsService)), ( __param(15, IChatDebugService))], ChatService));
|
|
1829
1829
|
async function chatModelToChatDetail(model) {
|
|
1830
|
-
const title = model.title || ( localize(
|
|
1830
|
+
const title = model.title || ( localize(7701, "New Chat"));
|
|
1831
1831
|
return {
|
|
1832
1832
|
sessionResource: model.sessionResource,
|
|
1833
1833
|
title,
|
|
@@ -98,7 +98,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
98
98
|
}
|
|
99
99
|
e.join(this.storeTask, {
|
|
100
100
|
id: "join.chatSessionStore",
|
|
101
|
-
label: ( localize(
|
|
101
|
+
label: ( localize(7738, "Saving chat history"))
|
|
102
102
|
});
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
@@ -356,14 +356,14 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
356
356
|
this._didReportIssue = true;
|
|
357
357
|
this.dialogService.prompt({
|
|
358
358
|
custom: true,
|
|
359
|
-
title: ( localize(
|
|
359
|
+
title: ( localize(7739, "Error saving chat session")),
|
|
360
360
|
message: ( localize(
|
|
361
|
-
|
|
361
|
+
7740,
|
|
362
362
|
"Error serializing chat session for storage. The session will be lost if the window is closed. Please report this issue to the VS Code team:\n\n{0}",
|
|
363
363
|
e.stack || toErrorMessage(e)
|
|
364
364
|
)),
|
|
365
365
|
buttons: [{
|
|
366
|
-
label: ( localize(
|
|
366
|
+
label: ( localize(7741, "Report Issue")),
|
|
367
367
|
run: () => this.openerService.open("https://github.com/microsoft/vscode/issues/new?template=bug_report.md")
|
|
368
368
|
}]
|
|
369
369
|
});
|
|
@@ -724,7 +724,7 @@ function getSessionMetadataSync(session) {
|
|
|
724
724
|
} : undefined;
|
|
725
725
|
return {
|
|
726
726
|
sessionId: session.sessionId,
|
|
727
|
-
title: title || ( localize(
|
|
727
|
+
title: title || ( localize(7742, "New Chat")),
|
|
728
728
|
lastMessageDate: session.lastMessageDate,
|
|
729
729
|
timing: session.timing,
|
|
730
730
|
initialLocation: session.initialLocation,
|
|
@@ -746,7 +746,7 @@ async function getSessionMetadata(session) {
|
|
|
746
746
|
const lastMessageDate = session.requests.at(-1)?.timestamp ?? session.creationDate;
|
|
747
747
|
return {
|
|
748
748
|
sessionId: session.sessionId,
|
|
749
|
-
title: session.customTitle || ( localize(
|
|
749
|
+
title: session.customTitle || ( localize(7742, "New Chat")),
|
|
750
750
|
lastMessageDate,
|
|
751
751
|
timing: {
|
|
752
752
|
created: session.creationDate,
|
|
@@ -634,13 +634,13 @@ let CopilotCliAgentPluginDiscovery = class CopilotCliAgentPluginDiscovery extend
|
|
|
634
634
|
const {
|
|
635
635
|
confirmed
|
|
636
636
|
} = await this._dialogService.confirm({
|
|
637
|
-
message: ( localize(
|
|
637
|
+
message: ( localize(7743, "This plugin was installed by the Copilot CLI. Remove it from disk?")),
|
|
638
638
|
detail: ( localize(
|
|
639
|
-
|
|
639
|
+
7744,
|
|
640
640
|
"The plugin directory '{0}' will be moved to the trash. You can reinstall it later via the Copilot CLI.",
|
|
641
641
|
resource.fsPath
|
|
642
642
|
)),
|
|
643
|
-
primaryButton: ( localize(
|
|
643
|
+
primaryButton: ( localize(7745, "Remove"))
|
|
644
644
|
});
|
|
645
645
|
if (!confirmed) {
|
|
646
646
|
return;
|
|
@@ -660,7 +660,7 @@ CopilotCliAgentPluginDiscovery = ( __decorate([( __param(0, IFileService)), ( __
|
|
|
660
660
|
const epPlugins = ExtensionsRegistry.registerExtensionPoint({
|
|
661
661
|
extensionPoint: "chatPlugins",
|
|
662
662
|
jsonSchema: {
|
|
663
|
-
description: ( localize(
|
|
663
|
+
description: ( localize(7746, "Contributes agent plugins for chat.")),
|
|
664
664
|
type: "array",
|
|
665
665
|
items: {
|
|
666
666
|
additionalProperties: false,
|
|
@@ -674,13 +674,13 @@ const epPlugins = ExtensionsRegistry.registerExtensionPoint({
|
|
|
674
674
|
properties: {
|
|
675
675
|
path: {
|
|
676
676
|
description: ( localize(
|
|
677
|
-
|
|
677
|
+
7747,
|
|
678
678
|
"Path to the agent plugin root directory relative to the extension root."
|
|
679
679
|
)),
|
|
680
680
|
type: "string"
|
|
681
681
|
},
|
|
682
682
|
when: {
|
|
683
|
-
description: ( localize(
|
|
683
|
+
description: ( localize(7748, "(Optional) A condition which must be true to enable this plugin.")),
|
|
684
684
|
type: "string"
|
|
685
685
|
}
|
|
686
686
|
}
|
|
@@ -717,7 +717,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
|
|
|
717
717
|
for (const raw of ext.value) {
|
|
718
718
|
if (!raw.path) {
|
|
719
719
|
ext.collector.error(( localize(
|
|
720
|
-
|
|
720
|
+
7749,
|
|
721
721
|
"Extension '{0}' cannot register a chatPlugins entry without a path.",
|
|
722
722
|
ext.description.identifier.value
|
|
723
723
|
)));
|
|
@@ -726,7 +726,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
|
|
|
726
726
|
const pluginUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
727
727
|
if (!isEqualOrParent(pluginUri, ext.description.extensionLocation)) {
|
|
728
728
|
ext.collector.error(( localize(
|
|
729
|
-
|
|
729
|
+
7750,
|
|
730
730
|
"Extension '{0}' chatPlugins entry '{1}' resolves outside the extension.",
|
|
731
731
|
ext.description.identifier.value,
|
|
732
732
|
raw.path
|
|
@@ -738,7 +738,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
|
|
|
738
738
|
whenExpr = ContextKeyExpr.deserialize(raw.when);
|
|
739
739
|
if (!whenExpr) {
|
|
740
740
|
ext.collector.error(( localize(
|
|
741
|
-
|
|
741
|
+
7751,
|
|
742
742
|
"Extension '{0}' chatPlugins entry '{1}' has an invalid when clause: '{2}'.",
|
|
743
743
|
ext.description.identifier.value,
|
|
744
744
|
raw.path,
|
|
@@ -809,7 +809,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
|
|
|
809
809
|
confirmed
|
|
810
810
|
} = await this._dialogService.confirm({
|
|
811
811
|
message: ( localize(
|
|
812
|
-
|
|
812
|
+
7752,
|
|
813
813
|
"This plugin is provided by the extension '{0}'. Do you want to uninstall the extension?",
|
|
814
814
|
extensionId
|
|
815
815
|
))
|
|
@@ -842,7 +842,7 @@ class ChatPluginsDataRenderer extends Disposable {
|
|
|
842
842
|
dispose: () => {}
|
|
843
843
|
};
|
|
844
844
|
}
|
|
845
|
-
const headers = [( localize(
|
|
845
|
+
const headers = [( localize(7753, "Path")), ( localize(7754, "When"))];
|
|
846
846
|
const rows = ( contributions.map(d => [d.path, d.when ?? "-"]));
|
|
847
847
|
return {
|
|
848
848
|
data: {
|
|
@@ -855,7 +855,7 @@ class ChatPluginsDataRenderer extends Disposable {
|
|
|
855
855
|
}
|
|
856
856
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
857
857
|
id: "chatPlugins",
|
|
858
|
-
label: ( localize(
|
|
858
|
+
label: ( localize(7755, "Chat Plugins")),
|
|
859
859
|
access: {
|
|
860
860
|
canToggle: false
|
|
861
861
|
},
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js
CHANGED
|
@@ -25,7 +25,7 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
25
25
|
return ExtensionsRegistry.registerExtensionPoint({
|
|
26
26
|
extensionPoint: point,
|
|
27
27
|
jsonSchema: {
|
|
28
|
-
description: ( localize(
|
|
28
|
+
description: ( localize(7756, "Contributes {0} for chat prompts.", point)),
|
|
29
29
|
type: "array",
|
|
30
30
|
items: {
|
|
31
31
|
additionalProperties: false,
|
|
@@ -39,28 +39,28 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
39
39
|
properties: {
|
|
40
40
|
path: {
|
|
41
41
|
description: point === ChatContributionPoint.chatSkills ? ( localize(
|
|
42
|
-
|
|
42
|
+
7757,
|
|
43
43
|
"Path to the SKILL.md file relative to the extension root. The folder name must match the \"name\" property in SKILL.md."
|
|
44
|
-
)) : ( localize(
|
|
44
|
+
)) : ( localize(7758, "Path to the file relative to the extension root.")),
|
|
45
45
|
type: "string"
|
|
46
46
|
},
|
|
47
47
|
name: {
|
|
48
|
-
description: ( localize(
|
|
49
|
-
deprecationMessage: ( localize(
|
|
48
|
+
description: ( localize(7759, "(Optional) Name for this entry.")),
|
|
49
|
+
deprecationMessage: ( localize(7760, "Specify \"name\" in the prompt file itself instead.")),
|
|
50
50
|
type: "string"
|
|
51
51
|
},
|
|
52
52
|
description: {
|
|
53
|
-
description: ( localize(
|
|
54
|
-
deprecationMessage: ( localize(
|
|
53
|
+
description: ( localize(7761, "(Optional) Description of the entry.")),
|
|
54
|
+
deprecationMessage: ( localize(7762, "Specify \"description\" in the prompt file itself instead.")),
|
|
55
55
|
type: "string"
|
|
56
56
|
},
|
|
57
57
|
when: {
|
|
58
|
-
description: ( localize(
|
|
58
|
+
description: ( localize(7763, "(Optional) A condition which must be true to enable this entry.")),
|
|
59
59
|
type: "string"
|
|
60
60
|
},
|
|
61
61
|
sessionTypes: {
|
|
62
62
|
description: ( localize(
|
|
63
|
-
|
|
63
|
+
7764,
|
|
64
64
|
"(Optional) The chat session types where this entry should be offered."
|
|
65
65
|
)),
|
|
66
66
|
type: "array",
|
|
@@ -116,7 +116,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
116
116
|
for (const raw of ext.value) {
|
|
117
117
|
if (!raw.path) {
|
|
118
118
|
ext.collector.error(( localize(
|
|
119
|
-
|
|
119
|
+
7765,
|
|
120
120
|
"Extension '{0}' cannot register {1} entry without path.",
|
|
121
121
|
ext.description.identifier.value,
|
|
122
122
|
contributionPoint
|
|
@@ -126,7 +126,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
126
126
|
const fileUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
127
127
|
if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
|
|
128
128
|
ext.collector.error(( localize(
|
|
129
|
-
|
|
129
|
+
7766,
|
|
130
130
|
"Extension '{0}' {1} entry '{2}' resolves outside the extension.",
|
|
131
131
|
ext.description.identifier.value,
|
|
132
132
|
contributionPoint,
|
|
@@ -136,7 +136,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
136
136
|
}
|
|
137
137
|
if (raw.when && !ContextKeyExpr.deserialize(raw.when)) {
|
|
138
138
|
ext.collector.error(( localize(
|
|
139
|
-
|
|
139
|
+
7767,
|
|
140
140
|
"Extension '{0}' {1} entry '{2}' has an invalid when clause: '{3}'.",
|
|
141
141
|
ext.description.identifier.value,
|
|
142
142
|
contributionPoint,
|
|
@@ -159,7 +159,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
159
159
|
} catch (e) {
|
|
160
160
|
const msg = e instanceof Error ? e.message : String(e);
|
|
161
161
|
ext.collector.error(( localize(
|
|
162
|
-
|
|
162
|
+
7768,
|
|
163
163
|
"Extension '{0}' {1}. Failed to register {2}: {3}",
|
|
164
164
|
ext.description.identifier.value,
|
|
165
165
|
contributionPoint,
|
|
@@ -220,7 +220,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
220
220
|
dispose: () => {}
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
|
-
const headers = [( localize(
|
|
223
|
+
const headers = [( localize(7769, "Name")), ( localize(7770, "Description")), ( localize(7771, "Path"))];
|
|
224
224
|
const rows = ( contributions.map(d => {
|
|
225
225
|
return [d.name ?? "-", d.description ?? "-", d.path];
|
|
226
226
|
}));
|
|
@@ -235,7 +235,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
235
235
|
}
|
|
236
236
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
237
237
|
id: ChatContributionPoint.chatPromptFiles,
|
|
238
|
-
label: ( localize(
|
|
238
|
+
label: ( localize(7772, "Chat Prompt Files")),
|
|
239
239
|
access: {
|
|
240
240
|
canToggle: false
|
|
241
241
|
},
|
|
@@ -243,7 +243,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
243
243
|
});
|
|
244
244
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
245
245
|
id: ChatContributionPoint.chatInstructions,
|
|
246
|
-
label: ( localize(
|
|
246
|
+
label: ( localize(7773, "Chat Instructions")),
|
|
247
247
|
access: {
|
|
248
248
|
canToggle: false
|
|
249
249
|
},
|
|
@@ -251,7 +251,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
251
251
|
});
|
|
252
252
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
253
253
|
id: ChatContributionPoint.chatAgents,
|
|
254
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(7774, "Chat Agents")),
|
|
255
255
|
access: {
|
|
256
256
|
canToggle: false
|
|
257
257
|
},
|
|
@@ -259,7 +259,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
259
259
|
});
|
|
260
260
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
261
261
|
id: ChatContributionPoint.chatSkills,
|
|
262
|
-
label: ( localize(
|
|
262
|
+
label: ( localize(7775, "Chat Skills")),
|
|
263
263
|
access: {
|
|
264
264
|
canToggle: false
|
|
265
265
|
},
|
|
@@ -76,7 +76,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
76
76
|
modeAttr.range.startLineNumber,
|
|
77
77
|
modeAttr.range.startColumn + modeAttr.key.length
|
|
78
78
|
));
|
|
79
|
-
result.push(this.createCodeAction(model, keyRange, ( localize(
|
|
79
|
+
result.push(this.createCodeAction(model, keyRange, ( localize(7828, "Rename to 'agent'")), [asWorkspaceTextEdit(model, {
|
|
80
80
|
range: keyRange,
|
|
81
81
|
text: "agent"
|
|
82
82
|
})]));
|
|
@@ -93,7 +93,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
93
93
|
copy: false
|
|
94
94
|
}
|
|
95
95
|
};
|
|
96
|
-
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(
|
|
96
|
+
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(7829, "Migrate to custom agent file")), [edit]));
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -140,7 +140,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
140
140
|
};
|
|
141
141
|
edits.push(edit);
|
|
142
142
|
if (item.range.containsRange(range)) {
|
|
143
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
143
|
+
result.push(this.createCodeAction(model, item.range, ( localize(7830, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
|
|
144
144
|
}
|
|
145
145
|
} else {
|
|
146
146
|
const newNamesArray = Array.from(newNames).sort((a, b) => a.localeCompare(b));
|
|
@@ -159,13 +159,13 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
159
159
|
};
|
|
160
160
|
edits.push(edit);
|
|
161
161
|
if (item.range.containsRange(range)) {
|
|
162
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
162
|
+
result.push(this.createCodeAction(model, item.range, ( localize(7831, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
if (edits.length && result.length === 0 || edits.length > 1) {
|
|
168
|
-
result.push(this.createCodeAction(model, value.range, ( localize(
|
|
168
|
+
result.push(this.createCodeAction(model, value.range, ( localize(7832, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
};
|
|
@@ -45,7 +45,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
45
45
|
if (/^\s*$/.test(model.getValue())) {
|
|
46
46
|
return {
|
|
47
47
|
suggestions: [{
|
|
48
|
-
label: ( localize(
|
|
48
|
+
label: ( localize(7911, "Add Prompt Header")),
|
|
49
49
|
kind: CompletionItemKind.Snippet,
|
|
50
50
|
insertText: [`---`, `description: $1`, `---`, `$0`].join("\n"),
|
|
51
51
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -235,7 +235,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
235
235
|
" send: true"
|
|
236
236
|
].join("\n");
|
|
237
237
|
const item = {
|
|
238
|
-
label: ( localize(
|
|
238
|
+
label: ( localize(7912, "Handoff Example")),
|
|
239
239
|
kind: CompletionItemKind.Value,
|
|
240
240
|
insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
|
|
241
241
|
range: ( new Range(
|
|
@@ -250,7 +250,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
250
250
|
if (attribute.key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent) {
|
|
251
251
|
const hookSnippet = ["", " ${1|" + ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined])).join(",") + "|}:", " - type: command", " command: \"$2\""].join("\n");
|
|
252
252
|
const item = {
|
|
253
|
-
label: ( localize(
|
|
253
|
+
label: ( localize(7913, "New Hook")),
|
|
254
254
|
kind: CompletionItemKind.Snippet,
|
|
255
255
|
insertText: whilespaceAfterColon === 0 ? ` ${hookSnippet}` : hookSnippet,
|
|
256
256
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -277,8 +277,8 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
277
277
|
const commandSnippet = ["", " - type: command", " command: \"$1\""].join("\n");
|
|
278
278
|
return {
|
|
279
279
|
suggestions: [{
|
|
280
|
-
label: ( localize(
|
|
281
|
-
documentation: ( localize(
|
|
280
|
+
label: ( localize(7914, "New Command")),
|
|
281
|
+
documentation: ( localize(7915, "Add a new command entry to this hook.")),
|
|
282
282
|
kind: CompletionItemKind.Snippet,
|
|
283
283
|
insertText: whilespaceAfterColon === 0 ? ` ${commandSnippet}` : commandSnippet,
|
|
284
284
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|