@codingame/monaco-vscode-katex-common 32.0.2 → 33.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.js +8 -0
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +56 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +114 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +87 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +502 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +188 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +153 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +52 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +23 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +40 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +217 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +36 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +8 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +24 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +7 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +25 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +41 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +31 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +89 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +203 -107
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +32 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +4 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +27 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +17 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -69
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +9 -14
|
@@ -82,7 +82,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
|
|
|
82
82
|
constructor() {
|
|
83
83
|
super({
|
|
84
84
|
id: "chatEditing.openFileInDiff",
|
|
85
|
-
title: ( localize2(
|
|
85
|
+
title: ( localize2(6362, "Open Changes in Diff Editor")),
|
|
86
86
|
icon: Codicon.diffSingle,
|
|
87
87
|
menu: [{
|
|
88
88
|
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
|
@@ -113,7 +113,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
|
|
|
113
113
|
constructor() {
|
|
114
114
|
super({
|
|
115
115
|
id: "chatEditing.acceptFile",
|
|
116
|
-
title: ( localize2(
|
|
116
|
+
title: ( localize2(6363, "Keep")),
|
|
117
117
|
icon: Codicon.check,
|
|
118
118
|
menu: [{
|
|
119
119
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -139,7 +139,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
|
|
|
139
139
|
constructor() {
|
|
140
140
|
super({
|
|
141
141
|
id: "chatEditing.discardFile",
|
|
142
|
-
title: ( localize2(
|
|
142
|
+
title: ( localize2(6364, "Undo")),
|
|
143
143
|
icon: Codicon.discard,
|
|
144
144
|
menu: [{
|
|
145
145
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -165,9 +165,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
|
|
|
165
165
|
constructor() {
|
|
166
166
|
super({
|
|
167
167
|
id: "chatEditing.acceptAllFiles",
|
|
168
|
-
title: ( localize(
|
|
168
|
+
title: ( localize(6365, "Keep")),
|
|
169
169
|
icon: Codicon.check,
|
|
170
|
-
tooltip: ( localize(
|
|
170
|
+
tooltip: ( localize(6366, "Keep All Edits")),
|
|
171
171
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
172
172
|
keybinding: {
|
|
173
173
|
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
@@ -191,9 +191,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
|
|
|
191
191
|
constructor() {
|
|
192
192
|
super({
|
|
193
193
|
id: "chatEditing.discardAllFiles",
|
|
194
|
-
title: ( localize(
|
|
194
|
+
title: ( localize(6367, "Undo")),
|
|
195
195
|
icon: Codicon.discard,
|
|
196
|
-
tooltip: ( localize(
|
|
196
|
+
tooltip: ( localize(6368, "Undo All Edits")),
|
|
197
197
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
198
198
|
menu: [{
|
|
199
199
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -224,8 +224,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
|
|
|
224
224
|
constructor() {
|
|
225
225
|
super({
|
|
226
226
|
id: ToggleExplanationWidgetAction.ID,
|
|
227
|
-
title: ( localize(
|
|
228
|
-
tooltip: ( localize(
|
|
227
|
+
title: ( localize(6369, "Explain")),
|
|
228
|
+
tooltip: ( localize(6370, "Toggle Change Explanations")),
|
|
229
229
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
230
230
|
menu: [{
|
|
231
231
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -249,17 +249,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
|
|
|
249
249
|
const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
|
|
250
250
|
if (entries.length > 0) {
|
|
251
251
|
const confirmation = await dialogService.confirm({
|
|
252
|
-
title: ( localize(
|
|
252
|
+
title: ( localize(6371, "Undo all edits?")),
|
|
253
253
|
message: entries.length === 1 ? ( localize(
|
|
254
|
-
|
|
254
|
+
6372,
|
|
255
255
|
"This will undo changes made in {0}. Do you want to proceed?",
|
|
256
256
|
basename(entries[0].modifiedURI)
|
|
257
257
|
)) : ( localize(
|
|
258
|
-
|
|
258
|
+
6373,
|
|
259
259
|
"This will undo changes made in {0} files. Do you want to proceed?",
|
|
260
260
|
entries.length
|
|
261
261
|
)),
|
|
262
|
-
primaryButton: ( localize(
|
|
262
|
+
primaryButton: ( localize(6374, "Yes")),
|
|
263
263
|
type: "info"
|
|
264
264
|
});
|
|
265
265
|
if (!confirmation.confirmed) {
|
|
@@ -274,7 +274,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
|
|
|
274
274
|
this.ID = "chatEditing.viewChanges";
|
|
275
275
|
}
|
|
276
276
|
static {
|
|
277
|
-
this.LABEL = ( localize(
|
|
277
|
+
this.LABEL = ( localize(6375, "View All Edits"));
|
|
278
278
|
}
|
|
279
279
|
constructor() {
|
|
280
280
|
super({
|
|
@@ -336,13 +336,13 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
336
336
|
if (editsToUndo === 1) {
|
|
337
337
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
338
338
|
message = ( localize(
|
|
339
|
-
|
|
339
|
+
6376,
|
|
340
340
|
"This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
|
|
341
341
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
342
342
|
));
|
|
343
343
|
} else {
|
|
344
344
|
message = ( localize(
|
|
345
|
-
|
|
345
|
+
6377,
|
|
346
346
|
"This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
347
347
|
entriesModifiedInRequestsToRemove.length
|
|
348
348
|
));
|
|
@@ -350,24 +350,24 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
350
350
|
} else {
|
|
351
351
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
352
352
|
message = ( localize(
|
|
353
|
-
|
|
353
|
+
6378,
|
|
354
354
|
"This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
|
|
355
355
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
356
356
|
));
|
|
357
357
|
} else {
|
|
358
358
|
message = ( localize(
|
|
359
|
-
|
|
359
|
+
6379,
|
|
360
360
|
"This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
361
361
|
entriesModifiedInRequestsToRemove.length
|
|
362
362
|
));
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
const confirmation = shouldPrompt ? await dialogService.confirm({
|
|
366
|
-
title: editsToUndo === 1 ? ( localize(
|
|
366
|
+
title: editsToUndo === 1 ? ( localize(6380, "Do you want to undo your last edit?")) : ( localize(6381, "Do you want to undo {0} edits?", editsToUndo)),
|
|
367
367
|
message: message,
|
|
368
|
-
primaryButton: ( localize(
|
|
368
|
+
primaryButton: ( localize(6382, "Yes")),
|
|
369
369
|
checkbox: {
|
|
370
|
-
label: ( localize(
|
|
370
|
+
label: ( localize(6383, "Don't ask again")),
|
|
371
371
|
checked: false
|
|
372
372
|
},
|
|
373
373
|
type: "info"
|
|
@@ -397,7 +397,7 @@ registerAction2(class RemoveAction extends Action2 {
|
|
|
397
397
|
constructor() {
|
|
398
398
|
super({
|
|
399
399
|
id: "workbench.action.chat.undoEdits",
|
|
400
|
-
title: ( localize2(
|
|
400
|
+
title: ( localize2(6384, "Undo Requests")),
|
|
401
401
|
f1: false,
|
|
402
402
|
category: CHAT_CATEGORY,
|
|
403
403
|
icon: Codicon.discard,
|
|
@@ -443,8 +443,8 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
443
443
|
constructor() {
|
|
444
444
|
super({
|
|
445
445
|
id: "workbench.action.chat.restoreCheckpoint",
|
|
446
|
-
title: ( localize2(
|
|
447
|
-
tooltip: ( localize2(
|
|
446
|
+
title: ( localize2(6385, "Restore Checkpoint")),
|
|
447
|
+
tooltip: ( localize2(6386, "Restores workspace and chat to this point")),
|
|
448
448
|
f1: false,
|
|
449
449
|
category: CHAT_CATEGORY,
|
|
450
450
|
keybinding: {
|
|
@@ -489,8 +489,8 @@ registerAction2(class StartOverAction extends Action2 {
|
|
|
489
489
|
constructor() {
|
|
490
490
|
super({
|
|
491
491
|
id: "workbench.action.chat.startOver",
|
|
492
|
-
title: ( localize2(
|
|
493
|
-
tooltip: ( localize2(
|
|
492
|
+
title: ( localize2(6387, "Start Over")),
|
|
493
|
+
tooltip: ( localize2(6388, "Clears the chat and undoes all changes")),
|
|
494
494
|
f1: false,
|
|
495
495
|
category: CHAT_CATEGORY,
|
|
496
496
|
menu: [{
|
|
@@ -519,7 +519,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
519
519
|
constructor() {
|
|
520
520
|
super({
|
|
521
521
|
id: "workbench.action.chat.restoreLastCheckpoint",
|
|
522
|
-
title: ( localize2(
|
|
522
|
+
title: ( localize2(6389, "Restore to Last Checkpoint")),
|
|
523
523
|
f1: true,
|
|
524
524
|
category: CHAT_CATEGORY,
|
|
525
525
|
icon: Codicon.discard,
|
|
@@ -544,7 +544,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
544
544
|
}
|
|
545
545
|
const checkpointRequest = chatModel.checkpoint;
|
|
546
546
|
if (!checkpointRequest) {
|
|
547
|
-
alert(( localize(
|
|
547
|
+
alert(( localize(6390, "There is no checkpoint to restore.")));
|
|
548
548
|
return;
|
|
549
549
|
}
|
|
550
550
|
widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
|
|
@@ -557,7 +557,7 @@ registerAction2(class EditAction extends Action2 {
|
|
|
557
557
|
constructor() {
|
|
558
558
|
super({
|
|
559
559
|
id: "workbench.action.chat.editRequests",
|
|
560
|
-
title: ( localize2(
|
|
560
|
+
title: ( localize2(6391, "Edit Request")),
|
|
561
561
|
f1: false,
|
|
562
562
|
category: CHAT_CATEGORY,
|
|
563
563
|
icon: Codicon.edit,
|
|
@@ -596,7 +596,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
596
596
|
constructor() {
|
|
597
597
|
super({
|
|
598
598
|
id: OpenWorkingSetHistoryAction.id,
|
|
599
|
-
title: ( localize(
|
|
599
|
+
title: ( localize(6392, "Open File")),
|
|
600
600
|
menu: [{
|
|
601
601
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
602
602
|
group: "navigation",
|
|
@@ -622,7 +622,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
622
622
|
constructor() {
|
|
623
623
|
super({
|
|
624
624
|
id: OpenWorkingSetHistoryAction.id,
|
|
625
|
-
title: ( localize(
|
|
625
|
+
title: ( localize(6393, "Open File Snapshot")),
|
|
626
626
|
menu: [{
|
|
627
627
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
628
628
|
group: "navigation",
|
|
@@ -646,7 +646,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
646
646
|
if (snapshot) {
|
|
647
647
|
const editor = await editorService.openEditor({
|
|
648
648
|
resource: snapshot,
|
|
649
|
-
label: ( localize(
|
|
649
|
+
label: ( localize(6394, "{0} (Snapshot)", basename(context.uri))),
|
|
650
650
|
options: {
|
|
651
651
|
activation: EditorActivation.ACTIVATE
|
|
652
652
|
}
|
|
@@ -663,7 +663,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
|
|
|
663
663
|
constructor() {
|
|
664
664
|
super({
|
|
665
665
|
id: "workbench.action.edits.addFilesFromReferences",
|
|
666
|
-
title: ( localize2(
|
|
666
|
+
title: ( localize2(6395, "Add Files From References")),
|
|
667
667
|
f1: false,
|
|
668
668
|
category: CHAT_CATEGORY,
|
|
669
669
|
menu: {
|
|
@@ -731,7 +731,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
|
|
|
731
731
|
this.Id = "chatEditing.viewPreviousEdits";
|
|
732
732
|
}
|
|
733
733
|
static {
|
|
734
|
-
this.Label = ( localize(
|
|
734
|
+
this.Label = ( localize(6396, "View Previous Edits"));
|
|
735
735
|
}
|
|
736
736
|
constructor() {
|
|
737
737
|
super({
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js
CHANGED
|
@@ -151,7 +151,7 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
|
|
|
151
151
|
domChildren.push($(
|
|
152
152
|
"span.chat-session-option-label",
|
|
153
153
|
undefined,
|
|
154
|
-
this.currentOption?.name ?? group?.description ?? ( localize(
|
|
154
|
+
this.currentOption?.name ?? group?.description ?? ( localize(6562, "Pick Option"))
|
|
155
155
|
));
|
|
156
156
|
}
|
|
157
157
|
domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));
|
|
@@ -66,7 +66,7 @@ let ChatToolRiskAssessmentService = class ChatToolRiskAssessmentService {
|
|
|
66
66
|
return tool.id + "::" + stableStringify(normalizeRiskCacheParameters(tool, parameters));
|
|
67
67
|
}
|
|
68
68
|
async _invokeModel(tool, parameters, token) {
|
|
69
|
-
const modelId = this._configurationService.getValue(ChatConfiguration.ToolRiskAssessmentModel) || "copilot-
|
|
69
|
+
const modelId = this._configurationService.getValue(ChatConfiguration.ToolRiskAssessmentModel) || "copilot-utility-small";
|
|
70
70
|
const models = await this._languageModelsService.selectLanguageModels({
|
|
71
71
|
vendor: "copilot",
|
|
72
72
|
id: modelId
|
|
@@ -235,15 +235,15 @@ function truncate(s, max) {
|
|
|
235
235
|
function defaultExplanationFor(risk, tool) {
|
|
236
236
|
switch (risk) {
|
|
237
237
|
case ToolRiskLevel.Green:
|
|
238
|
-
return localize(
|
|
238
|
+
return localize(7025, "{0} appears to have no observable side effects.", tool.displayName);
|
|
239
239
|
case ToolRiskLevel.Orange:
|
|
240
240
|
return localize(
|
|
241
|
-
|
|
241
|
+
7026,
|
|
242
242
|
"{0} may modify your workspace or send data over the network.",
|
|
243
243
|
tool.displayName
|
|
244
244
|
);
|
|
245
245
|
case ToolRiskLevel.Red:
|
|
246
|
-
return localize(
|
|
246
|
+
return localize(7027, "{0} performs an action that is hard to undo.", tool.displayName);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -44,7 +44,7 @@ const toolSetsSchema = {
|
|
|
44
44
|
allowComments: true,
|
|
45
45
|
allowTrailingCommas: true,
|
|
46
46
|
defaultSnippets: [{
|
|
47
|
-
label: ( localize(
|
|
47
|
+
label: ( localize(7094, "Empty tool set")),
|
|
48
48
|
body: {
|
|
49
49
|
"${1:toolSetName}": {
|
|
50
50
|
"tools": ["${2:someTool}", "${3:anotherTool}"],
|
|
@@ -54,7 +54,7 @@ const toolSetsSchema = {
|
|
|
54
54
|
}
|
|
55
55
|
}],
|
|
56
56
|
type: "object",
|
|
57
|
-
description: ( localize(
|
|
57
|
+
description: ( localize(7095, "User tool sets configuration")),
|
|
58
58
|
additionalProperties: {
|
|
59
59
|
type: "object",
|
|
60
60
|
required: ["tools"],
|
|
@@ -62,7 +62,7 @@ const toolSetsSchema = {
|
|
|
62
62
|
properties: {
|
|
63
63
|
tools: {
|
|
64
64
|
description: ( localize(
|
|
65
|
-
|
|
65
|
+
7096,
|
|
66
66
|
"A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools the way they are referenced in prompts."
|
|
67
67
|
)),
|
|
68
68
|
type: "array",
|
|
@@ -75,7 +75,7 @@ const toolSetsSchema = {
|
|
|
75
75
|
},
|
|
76
76
|
icon: {
|
|
77
77
|
description: ( localize(
|
|
78
|
-
|
|
78
|
+
7097,
|
|
79
79
|
"Icon to use for this tool set in the UI. Uses the \"\\$(name)\"-syntax, like \"\\$(zap)\""
|
|
80
80
|
)),
|
|
81
81
|
type: "string",
|
|
@@ -83,7 +83,7 @@ const toolSetsSchema = {
|
|
|
83
83
|
markdownEnumDescriptions: Array.from(getAllCodicons(), icon => `$(${icon.id})`)
|
|
84
84
|
},
|
|
85
85
|
description: {
|
|
86
|
-
description: ( localize(
|
|
86
|
+
description: ( localize(7098, "A short description of this tool set.")),
|
|
87
87
|
type: "string"
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -184,7 +184,7 @@ let UserToolSetsContributions = class UserToolSetsContributions extends Disposab
|
|
|
184
184
|
});
|
|
185
185
|
for (const item of data) {
|
|
186
186
|
toolEnumValues.push(item.name);
|
|
187
|
-
toolEnumDescriptions.push(( localize(
|
|
187
|
+
toolEnumDescriptions.push(( localize(7099, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
|
|
188
188
|
}
|
|
189
189
|
store.clear();
|
|
190
190
|
reg.registerSchema(toolSetSchemaId, toolSetsSchema, store);
|
|
@@ -281,8 +281,8 @@ class ConfigureToolSets extends Action2 {
|
|
|
281
281
|
constructor() {
|
|
282
282
|
super({
|
|
283
283
|
id: ConfigureToolSets.ID,
|
|
284
|
-
title: ( localize2(
|
|
285
|
-
shortTitle: ( localize(
|
|
284
|
+
title: ( localize2(7100, "Configure Tool Sets...")),
|
|
285
|
+
shortTitle: ( localize(7101, "Tool Sets")),
|
|
286
286
|
category: CHAT_CATEGORY,
|
|
287
287
|
f1: true,
|
|
288
288
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.Tools.toolsCount.greater(0))),
|
|
@@ -308,7 +308,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
308
308
|
const textFileService = accessor.get(ITextFileService);
|
|
309
309
|
const picks = [];
|
|
310
310
|
picks.push({
|
|
311
|
-
label: ( localize(
|
|
311
|
+
label: ( localize(7102, "Create new tool sets file...")),
|
|
312
312
|
alwaysShow: true,
|
|
313
313
|
iconClass: ThemeIcon.asClassName(Codicon.plus)
|
|
314
314
|
});
|
|
@@ -325,7 +325,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
325
325
|
}
|
|
326
326
|
const pick = await quickInputService.pick(picks, {
|
|
327
327
|
canPickMany: false,
|
|
328
|
-
placeHolder: ( localize(
|
|
328
|
+
placeHolder: ( localize(7103, "Select a tool set to configure"))
|
|
329
329
|
});
|
|
330
330
|
if (!pick) {
|
|
331
331
|
return;
|
|
@@ -333,13 +333,13 @@ class ConfigureToolSets extends Action2 {
|
|
|
333
333
|
let resource;
|
|
334
334
|
if (!pick.toolset) {
|
|
335
335
|
const name = await quickInputService.input({
|
|
336
|
-
placeHolder: ( localize(
|
|
336
|
+
placeHolder: ( localize(7104, "Type tool sets file name")),
|
|
337
337
|
validateInput: async input => {
|
|
338
338
|
if (!input) {
|
|
339
|
-
return localize(
|
|
339
|
+
return localize(7105, "Invalid file name");
|
|
340
340
|
}
|
|
341
341
|
if (!isValidBasename(input)) {
|
|
342
|
-
return localize(
|
|
342
|
+
return localize(7106, "'{0}' is not a valid file name", input);
|
|
343
343
|
}
|
|
344
344
|
return undefined;
|
|
345
345
|
}
|
|
@@ -49,7 +49,7 @@ let ChatAgentHover = class ChatAgentHover extends Disposable {
|
|
|
49
49
|
this.publisherName = $("span.chat-agent-hover-publisher-name");
|
|
50
50
|
append(hoverElement.publisher, verifiedBadge, this.publisherName);
|
|
51
51
|
hoverElement.warning.appendChild(renderIcon(Codicon.warning));
|
|
52
|
-
hoverElement.warning.appendChild($("span", undefined, ( localize(
|
|
52
|
+
hoverElement.warning.appendChild($("span", undefined, ( localize(7120, "This chat extension is using a reserved name."))));
|
|
53
53
|
}
|
|
54
54
|
setAgent(id) {
|
|
55
55
|
const agent = this.chatAgentService.getAgent(id);
|
|
@@ -94,7 +94,7 @@ ChatAgentHover = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IE
|
|
|
94
94
|
function getChatAgentHoverOptions(getAgent, commandService) {
|
|
95
95
|
const viewExtensionAction = {
|
|
96
96
|
commandId: showExtensionsWithIdsCommandId,
|
|
97
|
-
label: ( localize(
|
|
97
|
+
label: ( localize(7121, "View Extension")),
|
|
98
98
|
run: () => {
|
|
99
99
|
const agent = getAgent();
|
|
100
100
|
if (agent) {
|
|
@@ -152,7 +152,7 @@ let ChatArtifactsWidget = class ChatArtifactsWidget extends Disposable {
|
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
154
|
this.domNode.style.display = "";
|
|
155
|
-
titleElement.textContent = data.totalCount === 1 ? ( localize(
|
|
155
|
+
titleElement.textContent = data.totalCount === 1 ? ( localize(7122, "1 Artifact")) : ( localize(7123, "{0} Artifacts", data.totalCount));
|
|
156
156
|
tree.layout(data.treeHeight);
|
|
157
157
|
tree.getHTMLElement().style.height = `${data.treeHeight}px`;
|
|
158
158
|
tree.setChildren(null, data.treeElements);
|
|
@@ -233,7 +233,7 @@ let ChatArtifactsWidget = class ChatArtifactsWidget extends Disposable {
|
|
|
233
233
|
const defaultUri = URI.joinPath(defaultPath, defaultFileName);
|
|
234
234
|
const targetUri = await this._fileDialogService.showSaveDialog({
|
|
235
235
|
defaultUri,
|
|
236
|
-
title: ( localize(
|
|
236
|
+
title: ( localize(7124, "Save Artifact"))
|
|
237
237
|
});
|
|
238
238
|
if (targetUri) {
|
|
239
239
|
const content = await this._fileService.readFile(sourceUri);
|
|
@@ -245,11 +245,11 @@ ChatArtifactsWidget = ChatArtifactsWidget_1 = ( __decorate([( __param(0, IChatAr
|
|
|
245
245
|
function sourceDisplayName(source) {
|
|
246
246
|
switch (source.kind) {
|
|
247
247
|
case "rules":
|
|
248
|
-
return localize(
|
|
248
|
+
return localize(7125, "Rules");
|
|
249
249
|
case "agent":
|
|
250
|
-
return localize(
|
|
250
|
+
return localize(7126, "Agent");
|
|
251
251
|
case "subagent":
|
|
252
|
-
return source.name ?? ( localize(
|
|
252
|
+
return source.name ?? ( localize(7127, "Subagent"));
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
function buildTreeElementsFromGroups(sourceGroups, multiSource, onClearSource) {
|
|
@@ -383,12 +383,12 @@ class ChatArtifactsTreeDelegate {
|
|
|
383
383
|
class ChatArtifactsAccessibilityProvider {
|
|
384
384
|
getAriaLabel(element) {
|
|
385
385
|
if (isGroupNode(element)) {
|
|
386
|
-
return localize(
|
|
386
|
+
return localize(7128, "{0} ({1} items)", element.groupName, element.artifacts.length);
|
|
387
387
|
}
|
|
388
388
|
return element.artifact.label;
|
|
389
389
|
}
|
|
390
390
|
getWidgetAriaLabel() {
|
|
391
|
-
return localize(
|
|
391
|
+
return localize(7129, "Chat Artifacts");
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
394
|
class ChatArtifactGroupRenderer {
|
|
@@ -429,7 +429,7 @@ class ChatArtifactGroupRenderer {
|
|
|
429
429
|
const clearFn = group.onClear;
|
|
430
430
|
templateData.actionBar.push(toAction({
|
|
431
431
|
id: "chatArtifacts.clearSource",
|
|
432
|
-
label: ( localize(
|
|
432
|
+
label: ( localize(7130, "Clear")),
|
|
433
433
|
class: ThemeIcon.asClassName(Codicon.close),
|
|
434
434
|
run: () => clearFn()
|
|
435
435
|
}), {
|
|
@@ -493,14 +493,14 @@ class ChatArtifactLeafRenderer {
|
|
|
493
493
|
const clearFn = onClear;
|
|
494
494
|
actions.push(toAction({
|
|
495
495
|
id: "chatArtifacts.clearSource",
|
|
496
|
-
label: ( localize(
|
|
496
|
+
label: ( localize(7130, "Clear")),
|
|
497
497
|
class: ThemeIcon.asClassName(Codicon.close),
|
|
498
498
|
run: () => clearFn()
|
|
499
499
|
}));
|
|
500
500
|
}
|
|
501
501
|
actions.push(toAction({
|
|
502
502
|
id: "chatArtifacts.save",
|
|
503
|
-
label: ( localize(
|
|
503
|
+
label: ( localize(7131, "Save artifact")),
|
|
504
504
|
class: ThemeIcon.asClassName(Codicon.save),
|
|
505
505
|
run: () => this._onSave(artifact)
|
|
506
506
|
}));
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
7
7
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
8
8
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
9
9
|
export declare const allowedChatMarkdownHtmlTags: readonly string[];
|
|
10
|
+
export declare function getChatMarkdownRenderOptions(options?: MarkdownRenderOptions): MarkdownRenderOptions;
|
|
10
11
|
/**
|
|
11
12
|
* This wraps the MarkdownRenderer and applies sanitizer options needed for chat content.
|
|
12
13
|
*/
|
|
@@ -50,6 +50,27 @@ const allowedChatMarkdownHtmlTags = ( Object.freeze([
|
|
|
50
50
|
"div",
|
|
51
51
|
"input"
|
|
52
52
|
]));
|
|
53
|
+
function getChatMarkdownRenderOptions(options) {
|
|
54
|
+
return {
|
|
55
|
+
...options,
|
|
56
|
+
sanitizerConfig: {
|
|
57
|
+
replaceWithPlaintext: true,
|
|
58
|
+
allowedTags: {
|
|
59
|
+
override: allowedChatMarkdownHtmlTags
|
|
60
|
+
},
|
|
61
|
+
...options?.sanitizerConfig,
|
|
62
|
+
allowedLinkSchemes: {
|
|
63
|
+
augment: [
|
|
64
|
+
product.urlProtocol,
|
|
65
|
+
"copilot-skill",
|
|
66
|
+
Schemas.vscodeBrowser,
|
|
67
|
+
AGENT_HOST_SCHEME
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
remoteImageIsAllowed: _remoteImageDisallowed
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
53
74
|
let ChatContentMarkdownRenderer = class ChatContentMarkdownRenderer {
|
|
54
75
|
constructor(
|
|
55
76
|
languageService,
|
|
@@ -62,25 +83,7 @@ let ChatContentMarkdownRenderer = class ChatContentMarkdownRenderer {
|
|
|
62
83
|
this.markdownRendererService = markdownRendererService;
|
|
63
84
|
}
|
|
64
85
|
render(markdown, options, outElement) {
|
|
65
|
-
options =
|
|
66
|
-
...options,
|
|
67
|
-
sanitizerConfig: {
|
|
68
|
-
replaceWithPlaintext: true,
|
|
69
|
-
allowedTags: {
|
|
70
|
-
override: allowedChatMarkdownHtmlTags
|
|
71
|
-
},
|
|
72
|
-
...options?.sanitizerConfig,
|
|
73
|
-
allowedLinkSchemes: {
|
|
74
|
-
augment: [
|
|
75
|
-
product.urlProtocol,
|
|
76
|
-
"copilot-skill",
|
|
77
|
-
Schemas.vscodeBrowser,
|
|
78
|
-
AGENT_HOST_SCHEME
|
|
79
|
-
]
|
|
80
|
-
},
|
|
81
|
-
remoteImageIsAllowed: _remoteImageDisallowed
|
|
82
|
-
}
|
|
83
|
-
};
|
|
86
|
+
options = getChatMarkdownRenderOptions(options);
|
|
84
87
|
const mdWithBody = (markdown && markdown.supportHtml) ? {
|
|
85
88
|
...markdown,
|
|
86
89
|
value: `<body>\n\n${markdown.value}\n\n</body>`
|
|
@@ -116,4 +119,4 @@ let ChatContentMarkdownRenderer = class ChatContentMarkdownRenderer {
|
|
|
116
119
|
};
|
|
117
120
|
ChatContentMarkdownRenderer = ( __decorate([( __param(0, ILanguageService)), ( __param(1, IOpenerService)), ( __param(2, IConfigurationService)), ( __param(3, IHoverService)), ( __param(4, IMarkdownRendererService))], ChatContentMarkdownRenderer));
|
|
118
121
|
|
|
119
|
-
export { ChatContentMarkdownRenderer, allowedChatMarkdownHtmlTags };
|
|
122
|
+
export { ChatContentMarkdownRenderer, allowedChatMarkdownHtmlTags, getChatMarkdownRenderOptions };
|
|
@@ -28,7 +28,7 @@ let ChatAgentCommandContentPart = class ChatAgentCommandContentPart extends Disp
|
|
|
28
28
|
}, {
|
|
29
29
|
groupId
|
|
30
30
|
}));
|
|
31
|
-
const rerun = ( localize(
|
|
31
|
+
const rerun = ( localize(7132, "Rerun without {0}{1}", chatSubcommandLeader, cmd.name));
|
|
32
32
|
const btn = ( new Button(this.domNode, {
|
|
33
33
|
ariaLabel: rerun
|
|
34
34
|
}));
|
|
@@ -21,14 +21,14 @@ let ChatAnonymousRateLimitedPart = class ChatAnonymousRateLimitedPart extends Di
|
|
|
21
21
|
const messageContainer = append(this.domNode, $(".chat-rate-limited-message"));
|
|
22
22
|
const message = append(messageContainer, $("div"));
|
|
23
23
|
message.textContent = ( localize(
|
|
24
|
-
|
|
24
|
+
7133,
|
|
25
25
|
"Continue the conversation by signing in. Your free account gets 50 premium requests a month plus access to more models and AI features."
|
|
26
26
|
));
|
|
27
27
|
const signInButton = this._register(( new Button(messageContainer, {
|
|
28
28
|
...defaultButtonStyles,
|
|
29
29
|
supportIcons: true
|
|
30
30
|
})));
|
|
31
|
-
signInButton.label = ( localize(
|
|
31
|
+
signInButton.label = ( localize(7134, "Enable more AI features"));
|
|
32
32
|
signInButton.element.classList.add("chat-rate-limited-button");
|
|
33
33
|
this._register(signInButton.onDidClick(async () => {
|
|
34
34
|
const commandId = "workbench.action.chat.triggerSetup";
|
|
@@ -93,7 +93,7 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
93
93
|
renderViewAllFileChangesButton(container) {
|
|
94
94
|
const button = container.appendChild($(".chat-view-changes-icon"));
|
|
95
95
|
const hoverDisposable = this.hoverService.setupDelayedHover(button, () => ({
|
|
96
|
-
content: ( localize2(
|
|
96
|
+
content: ( localize2(7135, "View All File Changes"))
|
|
97
97
|
}));
|
|
98
98
|
button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
|
|
99
99
|
button.setAttribute("role", "button");
|
|
@@ -29,7 +29,7 @@ let ChatCodeCitationContentPart = class ChatCodeCitationContentPart extends Disp
|
|
|
29
29
|
buttonSecondaryHoverBackground: undefined,
|
|
30
30
|
buttonSeparator: undefined
|
|
31
31
|
})));
|
|
32
|
-
button.label = ( localize(
|
|
32
|
+
button.label = ( localize(7136, "View matches"));
|
|
33
33
|
this._register(button.onDidClick(() => {
|
|
34
34
|
const citationText = `# Code Citations\n\n` + ( citations.citations.map(c => `## License: ${c.license}\n${( c.value.toString())}\n\n\`\`\`\n${c.snippet}\n\`\`\`\n\n`)).join("\n");
|
|
35
35
|
this.editorService.openEditor({
|
|
@@ -23,7 +23,7 @@ let ChatCommandButtonContentPart = class ChatCommandButtonContentPart extends Di
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
renderButton(container, command, enabled, secondary) {
|
|
26
|
-
const tooltip = enabled ? command.tooltip : ( localize(
|
|
26
|
+
const tooltip = enabled ? command.tooltip : ( localize(7137, "Button not available in restored chat"));
|
|
27
27
|
const button = this._register(( new Button(container, {
|
|
28
28
|
...defaultButtonStyles,
|
|
29
29
|
supportIcons: true,
|
|
@@ -26,10 +26,10 @@ let ChatConfirmationContentPart = class ChatConfirmationContentPart extends Disp
|
|
|
26
26
|
data: confirmation.data,
|
|
27
27
|
isSecondary: button !== confirmation.buttons?.[0]
|
|
28
28
|
}))) : [{
|
|
29
|
-
label: ( localize(
|
|
29
|
+
label: ( localize(7138, "Accept")),
|
|
30
30
|
data: confirmation.data
|
|
31
31
|
}, {
|
|
32
|
-
label: ( localize(
|
|
32
|
+
label: ( localize(7139, "Dismiss")),
|
|
33
33
|
data: confirmation.data,
|
|
34
34
|
isSecondary: true
|
|
35
35
|
}];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MarkdownRenderOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer";
|
|
1
2
|
import { Separator } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
|
|
2
3
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
4
|
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
@@ -38,17 +39,28 @@ export interface IChatConfirmationWidgetOptions<T> {
|
|
|
38
39
|
partSource?: string;
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
export interface IChatQueryTitlePartOptions {
|
|
43
|
+
readonly markdownRenderOptions?: MarkdownRenderOptions;
|
|
44
|
+
readonly renderFileWidgets?: boolean;
|
|
45
|
+
}
|
|
41
46
|
export declare class ChatQueryTitlePart extends Disposable {
|
|
42
47
|
private readonly element;
|
|
43
48
|
private _title;
|
|
44
49
|
private readonly _renderer;
|
|
50
|
+
private readonly _instantiationService;
|
|
51
|
+
private readonly _chatMarkdownAnchorService;
|
|
45
52
|
private readonly _onDidChangeHeight;
|
|
46
53
|
readonly onDidChangeHeight: Event<void>;
|
|
47
54
|
private readonly _renderedTitle;
|
|
55
|
+
private readonly _fileWidgetStore;
|
|
56
|
+
private options;
|
|
48
57
|
get title(): string | IMarkdownString;
|
|
49
58
|
set title(value: string | IMarkdownString);
|
|
50
|
-
constructor(element: HTMLElement, _title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, _renderer: IMarkdownRendererService);
|
|
59
|
+
constructor(element: HTMLElement, _title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, _renderer: IMarkdownRendererService, _instantiationService: IInstantiationService, _chatMarkdownAnchorService: IChatMarkdownAnchorService);
|
|
51
60
|
private toMdString;
|
|
61
|
+
setOptions(options: IChatQueryTitlePartOptions): void;
|
|
62
|
+
private renderTitle;
|
|
63
|
+
private getRenderOptions;
|
|
52
64
|
}
|
|
53
65
|
declare abstract class BaseSimpleChatConfirmationWidget<T> extends Disposable {
|
|
54
66
|
protected readonly context: IChatContentPartRenderContext;
|