@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
|
@@ -89,7 +89,7 @@ var AICustomizationManagementEditor_1;
|
|
|
89
89
|
registerCss(aiCustomizationManagement);
|
|
90
90
|
const $ = $$1;
|
|
91
91
|
const aiCustomizationManagementSashBorder = registerColor("aiCustomizationManagement.sashBorder", PANEL_BORDER, ( localize(
|
|
92
|
-
|
|
92
|
+
5501,
|
|
93
93
|
"The color of the Agent Customizations editor splitview sash border."
|
|
94
94
|
)));
|
|
95
95
|
class SectionItemDelegate {
|
|
@@ -233,62 +233,62 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
233
233
|
this._register(toDisposable(() => this.disposeBuiltinEditingSessions()));
|
|
234
234
|
const sectionInfo = {
|
|
235
235
|
[AICustomizationManagementSection.Agents]: {
|
|
236
|
-
label: ( localize(
|
|
236
|
+
label: ( localize(5502, "Agents")),
|
|
237
237
|
icon: agentIcon,
|
|
238
238
|
description: ( localize(
|
|
239
|
-
|
|
239
|
+
5503,
|
|
240
240
|
"Define custom agents with specialized personas, tool access, and instructions for specific tasks."
|
|
241
241
|
))
|
|
242
242
|
},
|
|
243
243
|
[AICustomizationManagementSection.Skills]: {
|
|
244
|
-
label: ( localize(
|
|
244
|
+
label: ( localize(5504, "Skills")),
|
|
245
245
|
icon: skillIcon,
|
|
246
246
|
description: ( localize(
|
|
247
|
-
|
|
247
|
+
5505,
|
|
248
248
|
"Create reusable skill files that provide domain-specific knowledge and workflows."
|
|
249
249
|
))
|
|
250
250
|
},
|
|
251
251
|
[AICustomizationManagementSection.Instructions]: {
|
|
252
|
-
label: ( localize(
|
|
252
|
+
label: ( localize(5506, "Instructions")),
|
|
253
253
|
icon: instructionsIcon,
|
|
254
254
|
description: ( localize(
|
|
255
|
-
|
|
255
|
+
5507,
|
|
256
256
|
"Set always-on instructions that guide AI behavior across your workspace or user profile."
|
|
257
257
|
))
|
|
258
258
|
},
|
|
259
259
|
[AICustomizationManagementSection.Prompts]: {
|
|
260
|
-
label: ( localize(
|
|
260
|
+
label: ( localize(5508, "Prompts")),
|
|
261
261
|
icon: promptIcon,
|
|
262
|
-
description: ( localize(
|
|
262
|
+
description: ( localize(5509, "Reusable prompt templates that can be invoked as slash commands."))
|
|
263
263
|
},
|
|
264
264
|
[AICustomizationManagementSection.Hooks]: {
|
|
265
|
-
label: ( localize(
|
|
265
|
+
label: ( localize(5510, "Hooks")),
|
|
266
266
|
icon: hookIcon,
|
|
267
267
|
description: ( localize(
|
|
268
|
-
|
|
268
|
+
5511,
|
|
269
269
|
"Configure automated actions triggered by events like saving files or running tasks."
|
|
270
270
|
))
|
|
271
271
|
},
|
|
272
272
|
[AICustomizationManagementSection.McpServers]: {
|
|
273
|
-
label: ( localize(
|
|
273
|
+
label: ( localize(5512, "MCP Servers")),
|
|
274
274
|
icon: Codicon.server,
|
|
275
275
|
description: ( localize(
|
|
276
|
-
|
|
276
|
+
5513,
|
|
277
277
|
"Connect external tool servers that extend AI capabilities with custom tools and data sources."
|
|
278
278
|
))
|
|
279
279
|
},
|
|
280
280
|
[AICustomizationManagementSection.Plugins]: {
|
|
281
|
-
label: ( localize(
|
|
281
|
+
label: ( localize(5514, "Plugins")),
|
|
282
282
|
icon: pluginIcon,
|
|
283
283
|
description: ( localize(
|
|
284
|
-
|
|
284
|
+
5515,
|
|
285
285
|
"Install and manage agent plugins that add additional tools, skills, and integrations."
|
|
286
286
|
))
|
|
287
287
|
},
|
|
288
288
|
[AICustomizationManagementSection.Models]: {
|
|
289
|
-
label: ( localize(
|
|
289
|
+
label: ( localize(5516, "Models")),
|
|
290
290
|
icon: Codicon.vm,
|
|
291
|
-
description: ( localize(
|
|
291
|
+
description: ( localize(5517, "Configure and manage language models available for use."))
|
|
292
292
|
}
|
|
293
293
|
};
|
|
294
294
|
for (const id of this.workspaceService.managementSections) {
|
|
@@ -425,8 +425,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
425
425
|
setRowLineHeight: false,
|
|
426
426
|
horizontalScrolling: false,
|
|
427
427
|
accessibilityProvider: {
|
|
428
|
-
getAriaLabel: item => item.count > 0 ? ( localize(
|
|
429
|
-
getWidgetAriaLabel: () => ( localize(
|
|
428
|
+
getAriaLabel: item => item.count > 0 ? ( localize(5518, "{0}, {1} items", item.label, item.count)) : item.label,
|
|
429
|
+
getWidgetAriaLabel: () => ( localize(5519, "Agent Customization Sections"))
|
|
430
430
|
},
|
|
431
431
|
openOnSingleClick: true,
|
|
432
432
|
identityProvider: {
|
|
@@ -480,15 +480,15 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
480
480
|
createSidebarHeader(sidebarContent) {
|
|
481
481
|
const headerRow = this.sidebarHeaderContainer = append(sidebarContent, $(".sidebar-header-row"));
|
|
482
482
|
const homeButton = this.homeButton = append(headerRow, $("button.sidebar-home-button"));
|
|
483
|
-
homeButton.setAttribute("aria-label", ( localize(
|
|
483
|
+
homeButton.setAttribute("aria-label", ( localize(5520, "Overview")));
|
|
484
484
|
this.editorDisposables.add(
|
|
485
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), homeButton, ( localize(
|
|
485
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), homeButton, ( localize(5521, "Back to overview")))
|
|
486
486
|
);
|
|
487
487
|
const homeIcon = append(homeButton, $("span.sidebar-home-icon"));
|
|
488
488
|
homeIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.home));
|
|
489
489
|
homeIcon.setAttribute("aria-hidden", "true");
|
|
490
490
|
const homeLabel = this.homeButtonLabel = append(homeButton, $("span.sidebar-home-label"));
|
|
491
|
-
homeLabel.textContent = ( localize(
|
|
491
|
+
homeLabel.textContent = ( localize(5522, "Overview"));
|
|
492
492
|
this.editorDisposables.add(addDisposableListener(homeButton, "click", () => {
|
|
493
493
|
this.showWelcomePage();
|
|
494
494
|
}));
|
|
@@ -501,7 +501,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
501
501
|
}
|
|
502
502
|
const container = this.harnessDropdownContainer = append(parent, $(".sidebar-harness-dropdown"));
|
|
503
503
|
this.harnessDropdownButton = append(container, $("button.harness-dropdown-button"));
|
|
504
|
-
this.harnessDropdownButton.setAttribute("aria-label", ( localize(
|
|
504
|
+
this.harnessDropdownButton.setAttribute("aria-label", ( localize(5523, "Select customization target")));
|
|
505
505
|
this.harnessDropdownButton.setAttribute("aria-haspopup", "listbox");
|
|
506
506
|
this.editorDisposables.add(
|
|
507
507
|
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.harnessDropdownButton, () => {
|
|
@@ -619,9 +619,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
619
619
|
createBackArrowButton(onClick) {
|
|
620
620
|
const button = $("button.section-back-arrow-button");
|
|
621
621
|
button.type = "button";
|
|
622
|
-
button.setAttribute("aria-label", ( localize(
|
|
622
|
+
button.setAttribute("aria-label", ( localize(5524, "Back to overview")));
|
|
623
623
|
this.editorDisposables.add(
|
|
624
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), button, ( localize(
|
|
624
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), button, ( localize(5525, "Back to overview")))
|
|
625
625
|
);
|
|
626
626
|
const icon = append(button, $("span.section-back-arrow-icon"));
|
|
627
627
|
icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.arrowLeft));
|
|
@@ -685,11 +685,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
685
685
|
this.modelsFooterElement = append(this.modelsContentContainer, $(".section-footer"));
|
|
686
686
|
const modelsDescription = append(this.modelsFooterElement, $("p.section-footer-description"));
|
|
687
687
|
modelsDescription.textContent = ( localize(
|
|
688
|
-
|
|
688
|
+
5526,
|
|
689
689
|
"Browse and manage language models from different providers. Select models for use in chat, code completion, and other AI features."
|
|
690
690
|
));
|
|
691
691
|
const modelsLink = append(this.modelsFooterElement, $("a.section-footer-link"));
|
|
692
|
-
modelsLink.textContent = ( localize(
|
|
692
|
+
modelsLink.textContent = ( localize(5527, "Learn more about language models"));
|
|
693
693
|
modelsLink.href = "https://code.visualstudio.com/docs/copilot/customization/language-models";
|
|
694
694
|
this.editorDisposables.add(addDisposableListener(modelsLink, "click", e => {
|
|
695
695
|
e.preventDefault();
|
|
@@ -1054,7 +1054,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1054
1054
|
uri: folder.uri
|
|
1055
1055
|
})));
|
|
1056
1056
|
const picked = await this.quickInputService.pick(items, {
|
|
1057
|
-
placeHolder: ( localize(
|
|
1057
|
+
placeHolder: ( localize(5528, "Select a directory for the new customization file"))
|
|
1058
1058
|
});
|
|
1059
1059
|
return picked?.uri ?? null;
|
|
1060
1060
|
}
|
|
@@ -1188,11 +1188,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1188
1188
|
}
|
|
1189
1189
|
const editorHeader = append(this.editorContentContainer, $(".editor-header"));
|
|
1190
1190
|
this.editorActionButton = append(editorHeader, $("button.editor-back-button"));
|
|
1191
|
-
this.editorActionButton.setAttribute("aria-label", ( localize(
|
|
1191
|
+
this.editorActionButton.setAttribute("aria-label", ( localize(5529, "Back to list")));
|
|
1192
1192
|
this.editorDisposables.add(this.hoverService.setupManagedHover(
|
|
1193
1193
|
getDefaultHoverDelegate("element"),
|
|
1194
1194
|
this.editorActionButton,
|
|
1195
|
-
( localize(
|
|
1195
|
+
( localize(5530, "Back to list"))
|
|
1196
1196
|
));
|
|
1197
1197
|
this.editorActionButtonIcon = append(
|
|
1198
1198
|
this.editorActionButton,
|
|
@@ -1202,7 +1202,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1202
1202
|
this.editorDisposables.add(addDisposableListener(this.editorActionButton, "click", () => {
|
|
1203
1203
|
void this.handleEditorActionButton().catch(error => {
|
|
1204
1204
|
console.error("Failed to handle editor back action:", error);
|
|
1205
|
-
this.notificationService.error(( localize(
|
|
1205
|
+
this.notificationService.error(( localize(5531, "Failed to finish the prompt action.")));
|
|
1206
1206
|
});
|
|
1207
1207
|
}));
|
|
1208
1208
|
const itemInfo = append(editorHeader, $(".editor-item-info"));
|
|
@@ -1223,7 +1223,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1223
1223
|
this.editorPreviewContainer = append(this.editorContentContainer, $(".editor-preview-container"));
|
|
1224
1224
|
this.editorPreviewScrollContainer = append(this.editorPreviewContainer, $(".editor-preview-scroll-container"));
|
|
1225
1225
|
this.editorPreviewScrollContainer.setAttribute("role", "region");
|
|
1226
|
-
this.editorPreviewScrollContainer.setAttribute("aria-label", ( localize(
|
|
1226
|
+
this.editorPreviewScrollContainer.setAttribute("aria-label", ( localize(5532, "Customization preview")));
|
|
1227
1227
|
this.editorPreviewIssuesContainer = append(this.editorPreviewScrollContainer, $(".editor-preview-issues"));
|
|
1228
1228
|
const frontMatterSection = append(
|
|
1229
1229
|
this.editorPreviewScrollContainer,
|
|
@@ -1350,9 +1350,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1350
1350
|
this._editorContentChanged = this.workingCopyService.isDirty(uri);
|
|
1351
1351
|
this.editorSaveIndicator.className = "editor-save-indicator visible saved";
|
|
1352
1352
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.check));
|
|
1353
|
-
this.editorSaveIndicator.title = ( localize(
|
|
1354
|
-
this.editorSaveIndicator.setAttribute("aria-label", ( localize(
|
|
1355
|
-
status(( localize(
|
|
1353
|
+
this.editorSaveIndicator.title = ( localize(5533, "Saved"));
|
|
1354
|
+
this.editorSaveIndicator.setAttribute("aria-label", ( localize(5533, "Saved")));
|
|
1355
|
+
status(( localize(5533, "Saved")));
|
|
1356
1356
|
}
|
|
1357
1357
|
}));
|
|
1358
1358
|
} catch (error) {
|
|
@@ -1402,7 +1402,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1402
1402
|
const saveRequest = backgroundSaveRequest;
|
|
1403
1403
|
void this.saveExistingCustomization(saveRequest).catch(error => {
|
|
1404
1404
|
console.error("Failed to save customization changes on exit:", error);
|
|
1405
|
-
this.notificationService.warn(( localize(
|
|
1405
|
+
this.notificationService.warn(( localize(5534, "Could not save changes to {0}.", basename(saveRequest.fileUri))));
|
|
1406
1406
|
});
|
|
1407
1407
|
}
|
|
1408
1408
|
}
|
|
@@ -1495,7 +1495,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1495
1495
|
const workspaceFolder = resolveWorkspaceTargetDirectory(this.workspaceService, promptType);
|
|
1496
1496
|
if (workspaceFolder) {
|
|
1497
1497
|
items.push({
|
|
1498
|
-
label: ( localize(
|
|
1498
|
+
label: ( localize(5535, "Workspace")),
|
|
1499
1499
|
description: workspaceFolder.fsPath,
|
|
1500
1500
|
target: "workspace",
|
|
1501
1501
|
folder: workspaceFolder
|
|
@@ -1504,19 +1504,19 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1504
1504
|
const userFolder = await resolveUserTargetDirectory(this.promptsService, promptType);
|
|
1505
1505
|
if (userFolder) {
|
|
1506
1506
|
items.push({
|
|
1507
|
-
label: ( localize(
|
|
1507
|
+
label: ( localize(5536, "User")),
|
|
1508
1508
|
description: userFolder.fsPath,
|
|
1509
1509
|
target: "user",
|
|
1510
1510
|
folder: userFolder
|
|
1511
1511
|
});
|
|
1512
1512
|
}
|
|
1513
1513
|
items.push({
|
|
1514
|
-
label: ( localize(
|
|
1514
|
+
label: ( localize(5537, "Cancel")),
|
|
1515
1515
|
target: "cancel"
|
|
1516
1516
|
});
|
|
1517
1517
|
return this.quickInputService.pick(items, {
|
|
1518
1518
|
canPickMany: false,
|
|
1519
|
-
placeHolder: ( localize(
|
|
1519
|
+
placeHolder: ( localize(5538, "Select Workspace, User, or Cancel")),
|
|
1520
1520
|
matchOnDescription: true
|
|
1521
1521
|
});
|
|
1522
1522
|
}
|
|
@@ -1549,7 +1549,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1549
1549
|
void this.listWidget?.refresh();
|
|
1550
1550
|
}, error => {
|
|
1551
1551
|
console.error("Failed to save built-in override:", error);
|
|
1552
|
-
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(
|
|
1552
|
+
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(5539, "Could not save the override to the workspace.")) : ( localize(5540, "Could not save the override to your user folder.")));
|
|
1553
1553
|
});
|
|
1554
1554
|
}
|
|
1555
1555
|
} finally {
|
|
@@ -1565,8 +1565,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1565
1565
|
const shouldShowBuiltinSaveAction = this.shouldShowBuiltinSaveAction();
|
|
1566
1566
|
this.editorActionButtonIcon.className = `codicon codicon-${shouldShowBuiltinSaveAction ? Codicon.save.id : Codicon.arrowLeft.id} editor-action-button-icon`;
|
|
1567
1567
|
this.editorActionButton.disabled = this.editorActionButtonInProgress;
|
|
1568
|
-
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(
|
|
1569
|
-
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(
|
|
1568
|
+
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(5541, "Save override")) : ( localize(5529, "Back to list")));
|
|
1569
|
+
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(5542, "Save override (choose Workspace, User, or Cancel)")) : ( localize(5529, "Back to list"));
|
|
1570
1570
|
}
|
|
1571
1571
|
shouldShowBuiltinSaveAction() {
|
|
1572
1572
|
return this._editorContentChanged && this.currentEditingStorage === BUILTIN_STORAGE && (this.currentEditingPromptType === PromptsType.prompt || this.currentEditingPromptType === PromptsType.skill);
|
|
@@ -1601,7 +1601,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1601
1601
|
return true;
|
|
1602
1602
|
} catch (error) {
|
|
1603
1603
|
console.error("Failed to save built-in override:", error);
|
|
1604
|
-
this.notificationService.warn(target.target === "workspace" ? ( localize(
|
|
1604
|
+
this.notificationService.warn(target.target === "workspace" ? ( localize(5539, "Could not save the override to the workspace.")) : ( localize(5540, "Could not save the override to your user folder.")));
|
|
1605
1605
|
return false;
|
|
1606
1606
|
}
|
|
1607
1607
|
}
|
|
@@ -1683,18 +1683,18 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1683
1683
|
return "";
|
|
1684
1684
|
}
|
|
1685
1685
|
if (this.editorDisplayMode === "raw") {
|
|
1686
|
-
return localize(
|
|
1686
|
+
return localize(5543, "Preview");
|
|
1687
1687
|
}
|
|
1688
|
-
return this.canEditCurrentRaw() ? ( localize(
|
|
1688
|
+
return this.canEditCurrentRaw() ? ( localize(5544, "Edit")) : ( localize(5545, "View Raw"));
|
|
1689
1689
|
}
|
|
1690
1690
|
getEditorModeButtonTooltip() {
|
|
1691
1691
|
if (!this.isStructuredPreviewSupported(this.currentEditingPromptType)) {
|
|
1692
1692
|
return "";
|
|
1693
1693
|
}
|
|
1694
1694
|
if (this.editorDisplayMode === "raw") {
|
|
1695
|
-
return localize(
|
|
1695
|
+
return localize(5546, "Show structured preview");
|
|
1696
1696
|
}
|
|
1697
|
-
return this.canEditCurrentRaw() ? ( localize(
|
|
1697
|
+
return this.canEditCurrentRaw() ? ( localize(5547, "Edit the raw markdown file")) : ( localize(5548, "Show the raw markdown file"));
|
|
1698
1698
|
}
|
|
1699
1699
|
canEditCurrentRaw() {
|
|
1700
1700
|
const promptType = this.currentEditingPromptType;
|
|
@@ -1737,8 +1737,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1737
1737
|
return;
|
|
1738
1738
|
}
|
|
1739
1739
|
const issuesContainer = append(this.editorPreviewIssuesContainer, $(".editor-preview-issues-box"));
|
|
1740
|
-
append(issuesContainer, $("div.editor-preview-issues-title")).textContent = ( localize(
|
|
1741
|
-
append(issuesContainer, $("div.editor-preview-issues-description")).textContent = ( localize(
|
|
1740
|
+
append(issuesContainer, $("div.editor-preview-issues-title")).textContent = ( localize(5549, "Header issues detected"));
|
|
1741
|
+
append(issuesContainer, $("div.editor-preview-issues-description")).textContent = ( localize(5550, "Switch to raw view to fix invalid or unsupported metadata entries."));
|
|
1742
1742
|
const list = append(issuesContainer, $("ul.editor-preview-issues-list"));
|
|
1743
1743
|
for (const error of parsedPromptFile.header.errors) {
|
|
1744
1744
|
append(list, $("li.editor-preview-issues-item")).textContent = error.message;
|
|
@@ -1753,7 +1753,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1753
1753
|
append(
|
|
1754
1754
|
this.editorPreviewFrontMatterContainer,
|
|
1755
1755
|
$("div.editor-preview-empty-state")
|
|
1756
|
-
).textContent = ( localize(
|
|
1756
|
+
).textContent = ( localize(5551, "No metadata found in this file."));
|
|
1757
1757
|
return;
|
|
1758
1758
|
}
|
|
1759
1759
|
for (const attribute of attributes) {
|
|
@@ -1769,11 +1769,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1769
1769
|
append(header, $("div.editor-preview-row-key")).textContent = attribute.key;
|
|
1770
1770
|
const helpButton = append(header, $("button.editor-preview-row-help"));
|
|
1771
1771
|
helpButton.type = "button";
|
|
1772
|
-
helpButton.setAttribute("aria-label", ( localize(
|
|
1772
|
+
helpButton.setAttribute("aria-label", ( localize(5552, "Show help for '{0}'", attribute.key)));
|
|
1773
1773
|
const helpIcon = append(helpButton, $("span.editor-preview-row-help-icon"));
|
|
1774
1774
|
helpIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
1775
1775
|
helpIcon.setAttribute("aria-hidden", "true");
|
|
1776
|
-
const description = getAttributeDefinition(attribute.key, promptType, target)?.description ?? ( localize(
|
|
1776
|
+
const description = getAttributeDefinition(attribute.key, promptType, target)?.description ?? ( localize(5553, "Custom metadata field `{0}`.", attribute.key));
|
|
1777
1777
|
const helpHover = this.editorPreviewDisposables.add(
|
|
1778
1778
|
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), helpButton, {
|
|
1779
1779
|
markdown: ( new MarkdownString(description)),
|
|
@@ -1796,7 +1796,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1796
1796
|
}
|
|
1797
1797
|
const bodyContent = parsedPromptFile.body?.getContent() ?? "";
|
|
1798
1798
|
if (!bodyContent.trim()) {
|
|
1799
|
-
append(this.editorPreviewBodyContainer, $("div.editor-preview-empty-state")).textContent = ( localize(
|
|
1799
|
+
append(this.editorPreviewBodyContainer, $("div.editor-preview-empty-state")).textContent = ( localize(5554, "No markdown body found in this file."));
|
|
1800
1800
|
return;
|
|
1801
1801
|
}
|
|
1802
1802
|
const markdown = ( new MarkdownString(bodyContent, {
|
|
@@ -1869,9 +1869,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1869
1869
|
}
|
|
1870
1870
|
const detailHeader = append(this.mcpDetailContainer, $(".editor-header"));
|
|
1871
1871
|
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
1872
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1872
|
+
backButton.setAttribute("aria-label", ( localize(5555, "Back to MCP servers")));
|
|
1873
1873
|
this.editorDisposables.add(
|
|
1874
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(
|
|
1874
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(5556, "Back to MCP servers")))
|
|
1875
1875
|
);
|
|
1876
1876
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1877
1877
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
@@ -1911,9 +1911,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1911
1911
|
}
|
|
1912
1912
|
const detailHeader = append(this.pluginDetailContainer, $(".editor-header"));
|
|
1913
1913
|
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
1914
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1914
|
+
backButton.setAttribute("aria-label", ( localize(5557, "Back to plugins")));
|
|
1915
1915
|
this.editorDisposables.add(
|
|
1916
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(
|
|
1916
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(5558, "Back to plugins")))
|
|
1917
1917
|
);
|
|
1918
1918
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1919
1919
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
@@ -30,7 +30,7 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
30
30
|
return AICustomizationManagementEditorInput.ID;
|
|
31
31
|
}
|
|
32
32
|
getName() {
|
|
33
|
-
return localize(
|
|
33
|
+
return localize(5559, "Agent Customizations");
|
|
34
34
|
}
|
|
35
35
|
getIcon() {
|
|
36
36
|
return Codicon.settingsGear;
|
|
@@ -33,54 +33,54 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
33
33
|
this.cardDisposables = this._register(( new DisposableStore()));
|
|
34
34
|
this.categoryDescriptions = [{
|
|
35
35
|
id: AICustomizationManagementSection.Agents,
|
|
36
|
-
label: ( localize(
|
|
36
|
+
label: ( localize(5560, "Agents")),
|
|
37
37
|
icon: agentIcon,
|
|
38
38
|
description: ( localize(
|
|
39
|
-
|
|
39
|
+
5561,
|
|
40
40
|
"Define custom agents with specialized personas, tool access, and instructions for specific tasks."
|
|
41
41
|
)),
|
|
42
42
|
promptType: PromptsType.agent
|
|
43
43
|
}, {
|
|
44
44
|
id: AICustomizationManagementSection.Skills,
|
|
45
|
-
label: ( localize(
|
|
45
|
+
label: ( localize(5562, "Skills")),
|
|
46
46
|
icon: skillIcon,
|
|
47
47
|
description: ( localize(
|
|
48
|
-
|
|
48
|
+
5563,
|
|
49
49
|
"Create reusable skill files that provide domain-specific knowledge and workflows."
|
|
50
50
|
)),
|
|
51
51
|
promptType: PromptsType.skill
|
|
52
52
|
}, {
|
|
53
53
|
id: AICustomizationManagementSection.Instructions,
|
|
54
|
-
label: ( localize(
|
|
54
|
+
label: ( localize(5564, "Instructions")),
|
|
55
55
|
icon: instructionsIcon,
|
|
56
56
|
description: ( localize(
|
|
57
|
-
|
|
57
|
+
5565,
|
|
58
58
|
"Set always-on instructions that guide AI behavior across your workspace or user profile."
|
|
59
59
|
)),
|
|
60
60
|
promptType: PromptsType.instructions
|
|
61
61
|
}, {
|
|
62
62
|
id: AICustomizationManagementSection.Hooks,
|
|
63
|
-
label: ( localize(
|
|
63
|
+
label: ( localize(5566, "Hooks")),
|
|
64
64
|
icon: hookIcon,
|
|
65
65
|
description: ( localize(
|
|
66
|
-
|
|
66
|
+
5567,
|
|
67
67
|
"Configure automated actions triggered by events like saving files or running tasks."
|
|
68
68
|
)),
|
|
69
69
|
promptType: PromptsType.hook
|
|
70
70
|
}, {
|
|
71
71
|
id: AICustomizationManagementSection.McpServers,
|
|
72
|
-
label: ( localize(
|
|
72
|
+
label: ( localize(5568, "MCP Servers")),
|
|
73
73
|
icon: Codicon.server,
|
|
74
74
|
description: ( localize(
|
|
75
|
-
|
|
75
|
+
5569,
|
|
76
76
|
"Connect external tool servers that extend AI capabilities with custom tools and data sources."
|
|
77
77
|
))
|
|
78
78
|
}, {
|
|
79
79
|
id: AICustomizationManagementSection.Plugins,
|
|
80
|
-
label: ( localize(
|
|
80
|
+
label: ( localize(5570, "Plugins")),
|
|
81
81
|
icon: pluginIcon,
|
|
82
82
|
description: ( localize(
|
|
83
|
-
|
|
83
|
+
5571,
|
|
84
84
|
"Install and manage agent plugins that add additional tools, skills, and integrations."
|
|
85
85
|
))
|
|
86
86
|
}];
|
|
@@ -100,10 +100,10 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
100
100
|
this._register(resizeObserver.observe(scrollableNode));
|
|
101
101
|
const welcomeInner = append(this.container, $(".welcome-prompts-inner"));
|
|
102
102
|
const heading = append(welcomeInner, $("h2.welcome-prompts-heading"));
|
|
103
|
-
heading.textContent = ( localize(
|
|
103
|
+
heading.textContent = ( localize(5572, "Agent Customizations"));
|
|
104
104
|
const subtitle = append(welcomeInner, $("p.welcome-prompts-subtitle"));
|
|
105
105
|
subtitle.textContent = ( localize(
|
|
106
|
-
|
|
106
|
+
5573,
|
|
107
107
|
"Tailor how agents work in your projects. Configure workspace customizations for the entire team, or create personal ones that follow you across projects."
|
|
108
108
|
));
|
|
109
109
|
if (this.welcomePageFeatures?.showGettingStartedBanner !== false) {
|
|
@@ -115,23 +115,23 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
115
115
|
);
|
|
116
116
|
icon.setAttribute("aria-hidden", "true");
|
|
117
117
|
const title = append(header, $("span"));
|
|
118
|
-
title.textContent = ( localize(
|
|
118
|
+
title.textContent = ( localize(5574, "Customize Your Agent"));
|
|
119
119
|
const description = append(gettingStarted, $("p.welcome-prompts-input-helper"));
|
|
120
120
|
description.textContent = ( localize(
|
|
121
|
-
|
|
121
|
+
5575,
|
|
122
122
|
"Describe your preferences and conventions to draft agents, skills, and instructions."
|
|
123
123
|
));
|
|
124
124
|
const inputRow = append(gettingStarted, $(".welcome-prompts-input-row"));
|
|
125
125
|
this.inputRow = inputRow;
|
|
126
126
|
this.inputElement = append(inputRow, $("input.welcome-prompts-input"));
|
|
127
127
|
this.inputElement.type = "text";
|
|
128
|
-
this.inputElement.placeholder = ( localize(
|
|
129
|
-
this.inputElement.setAttribute("aria-label", ( localize(
|
|
128
|
+
this.inputElement.placeholder = ( localize(5576, "Prefer concise commits, thorough reviews, and tested code..."));
|
|
129
|
+
this.inputElement.setAttribute("aria-label", ( localize(5577, "Describe your preferences to customize your agent")));
|
|
130
130
|
const submitBtn = append(inputRow, $("button.welcome-prompts-input-submit"));
|
|
131
131
|
this.submitBtn = submitBtn;
|
|
132
|
-
submitBtn.setAttribute("aria-label", ( localize(
|
|
132
|
+
submitBtn.setAttribute("aria-label", ( localize(5578, "Customize agent")));
|
|
133
133
|
this._register(
|
|
134
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), submitBtn, ( localize(
|
|
134
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), submitBtn, ( localize(5579, "Open in Chat")))
|
|
135
135
|
);
|
|
136
136
|
const chevron = append(submitBtn, $("span.codicon.codicon-arrow-up"));
|
|
137
137
|
chevron.setAttribute("aria-hidden", "true");
|
|
@@ -161,7 +161,7 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
161
161
|
this.sentLabel.remove();
|
|
162
162
|
}
|
|
163
163
|
this.sentLabel = append(inputRow, $("span.welcome-prompts-sent-label"));
|
|
164
|
-
this.sentLabel.textContent = ( localize(
|
|
164
|
+
this.sentLabel.textContent = ( localize(5580, "Sent to chat ✓"));
|
|
165
165
|
this.callbacks.prefillChat(query, {
|
|
166
166
|
isPartialQuery: false,
|
|
167
167
|
newChat: true
|
|
@@ -227,8 +227,8 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
227
227
|
const footer = append(card, $(".welcome-prompts-card-footer"));
|
|
228
228
|
if (category.promptType) {
|
|
229
229
|
const generateBtn = append(footer, $("button.welcome-prompts-card-action"));
|
|
230
|
-
generateBtn.textContent = ( localize(
|
|
231
|
-
generateBtn.setAttribute("aria-label", ( localize(
|
|
230
|
+
generateBtn.textContent = ( localize(5581, "New..."));
|
|
231
|
+
generateBtn.setAttribute("aria-label", ( localize(5582, "New {0}...", category.label)));
|
|
232
232
|
this.cardDisposables.add(addDisposableListener(generateBtn, "click", e => {
|
|
233
233
|
e.stopPropagation();
|
|
234
234
|
this.callbacks.closeEditor();
|
|
@@ -244,8 +244,8 @@ class PromptLaunchersAICustomizationWelcomePage extends Disposable {
|
|
|
244
244
|
}));
|
|
245
245
|
} else {
|
|
246
246
|
const browseBtn = append(footer, $("button.welcome-prompts-card-action"));
|
|
247
|
-
browseBtn.textContent = ( localize(
|
|
248
|
-
browseBtn.setAttribute("aria-label", ( localize(
|
|
247
|
+
browseBtn.textContent = ( localize(5583, "Browse..."));
|
|
248
|
+
browseBtn.setAttribute("aria-label", ( localize(5584, "Browse {0}...", category.label)));
|
|
249
249
|
this.cardDisposables.add(addDisposableListener(browseBtn, "click", e => {
|
|
250
250
|
e.stopPropagation();
|
|
251
251
|
this.callbacks.selectSectionWithMarketplace(category.id);
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js
CHANGED
|
@@ -18,7 +18,7 @@ class EmbeddedAgentPluginDetail extends Disposable {
|
|
|
18
18
|
this.sourceEl = append(headerText, $(".embedded-detail-scope"));
|
|
19
19
|
this.descriptionEl = append(this.root, $(".embedded-detail-description"));
|
|
20
20
|
this.emptyEl = append(this.root, $(".embedded-detail-empty"));
|
|
21
|
-
this.emptyEl.textContent = ( localize(
|
|
21
|
+
this.emptyEl.textContent = ( localize(5585, "No plugin selected."));
|
|
22
22
|
this.renderItem();
|
|
23
23
|
}
|
|
24
24
|
get element() {
|
|
@@ -48,7 +48,7 @@ class EmbeddedAgentPluginDetail extends Disposable {
|
|
|
48
48
|
const isMarketplace = item.kind === AgentPluginItemKind.Marketplace;
|
|
49
49
|
const iconId = isMarketplace ? extensionIcon.id : pluginIcon.id;
|
|
50
50
|
this.iconEl.className = `embedded-detail-icon codicon codicon-${iconId}`;
|
|
51
|
-
const sourceLabel = item.marketplace ? (isMarketplace ? ( localize(
|
|
51
|
+
const sourceLabel = item.marketplace ? (isMarketplace ? ( localize(5586, "From {0}", item.marketplace)) : ( localize(5587, "Installed from {0}", item.marketplace))) : (isMarketplace ? ( localize(5588, "Marketplace plugin")) : ( localize(5589, "Installed plugin")));
|
|
52
52
|
const iconSpan = $(`span.codicon.codicon-${iconId}`);
|
|
53
53
|
this.sourceEl.replaceChildren(iconSpan, createTextNode(" " + sourceLabel));
|
|
54
54
|
const description = (item.description || "").trim();
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js
CHANGED
|
@@ -22,7 +22,7 @@ let EmbeddedMcpServerDetail = class EmbeddedMcpServerDetail extends Disposable {
|
|
|
22
22
|
this.scopeEl = append(headerText, $(".embedded-detail-scope"));
|
|
23
23
|
this.descriptionEl = append(this.root, $(".embedded-detail-description"));
|
|
24
24
|
this.emptyEl = append(this.root, $(".embedded-detail-empty"));
|
|
25
|
-
this.emptyEl.textContent = ( localize(
|
|
25
|
+
this.emptyEl.textContent = ( localize(5590, "No MCP server selected."));
|
|
26
26
|
this._register(this.mcpWorkbenchService.onChange(server => {
|
|
27
27
|
if (this.current && server && server.id === this.current.id) {
|
|
28
28
|
this.current = server;
|
|
@@ -76,13 +76,13 @@ function describeMcpScope(scope) {
|
|
|
76
76
|
switch (scope) {
|
|
77
77
|
case LocalMcpServerScope.Workspace:
|
|
78
78
|
return {
|
|
79
|
-
label: ( localize(
|
|
79
|
+
label: ( localize(5591, "Workspace")),
|
|
80
80
|
icon: workspaceIcon
|
|
81
81
|
};
|
|
82
82
|
case LocalMcpServerScope.User:
|
|
83
83
|
case LocalMcpServerScope.RemoteUser:
|
|
84
84
|
return {
|
|
85
|
-
label: ( localize(
|
|
85
|
+
label: ( localize(5592, "User")),
|
|
86
86
|
icon: userIcon
|
|
87
87
|
};
|
|
88
88
|
default:
|