@codingame/monaco-vscode-katex-common 26.1.1 → 26.1.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/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +45 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +33 -33
- 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/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +47 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- 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/chatCollapsibleContentPart.d.ts +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 +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +55 -0
- 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.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +55 -0
- 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.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +96 -53
- 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/chatSubagentContentPart.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +83 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- 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.js +26 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
- 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/chatDisabledClaudeHooksContent.css +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +15 -22
- 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/chatTerminalToolConfirmationSubPart.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +18 -18
- 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/chatToolInvocationPart.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
- 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 +14 -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 +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +206 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.js +148 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +108 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +59 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +1 -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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +13 -5
- 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 +90 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +14 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
- 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/common/inlineChat.js +32 -32
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -11
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +0 -150
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +0 -338
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +0 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +0 -58
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +0 -75
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +0 -364
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +0 -21
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +0 -36
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +0 -110
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +0 -692
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +0 -158
|
@@ -292,7 +292,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
292
292
|
constructor() {
|
|
293
293
|
super({
|
|
294
294
|
id: SaveResourcesAction.ID,
|
|
295
|
-
title: ( localize2(
|
|
295
|
+
title: ( localize2(6013, "Save As...")),
|
|
296
296
|
icon: Codicon.cloudDownload,
|
|
297
297
|
menu: [{
|
|
298
298
|
id: MenuId.ChatToolOutputResourceToolbar,
|
|
@@ -322,14 +322,14 @@ class SaveResourcesAction extends Action2 {
|
|
|
322
322
|
await fileService.writeFile(target, contents.value);
|
|
323
323
|
}
|
|
324
324
|
} catch (e) {
|
|
325
|
-
notificationService.error(( localize(
|
|
325
|
+
notificationService.error(( localize(6014, "Failed to save {0}: {1}", basename(part.uri), e)));
|
|
326
326
|
}
|
|
327
327
|
};
|
|
328
328
|
const withProgress = async (thenReveal, todo) => {
|
|
329
329
|
await progressService.withProgress({
|
|
330
330
|
location: ProgressLocation.Notification,
|
|
331
331
|
delay: 5_000,
|
|
332
|
-
title: ( localize(
|
|
332
|
+
title: ( localize(6015, "Saving resources..."))
|
|
333
333
|
}, async report => {
|
|
334
334
|
for (const task of todo) {
|
|
335
335
|
await task();
|
|
@@ -342,7 +342,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
342
342
|
if (workspaceContextService.isInsideWorkspace(thenReveal)) {
|
|
343
343
|
commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
|
|
344
344
|
} else {
|
|
345
|
-
notificationService.info(( localize(
|
|
345
|
+
notificationService.info(( localize(6016, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
|
|
346
346
|
}
|
|
347
347
|
};
|
|
348
348
|
if (context.parts.length === 1) {
|
|
@@ -354,7 +354,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
354
354
|
await withProgress(uri, [() => savePart(part, false, uri)]);
|
|
355
355
|
} else {
|
|
356
356
|
const uris = await fileDialog.showOpenDialog({
|
|
357
|
-
title: ( localize(
|
|
357
|
+
title: ( localize(6017, "Pick folder to save resources")),
|
|
358
358
|
canSelectFiles: false,
|
|
359
359
|
canSelectFolders: true,
|
|
360
360
|
canSelectMany: false,
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js
CHANGED
|
@@ -83,7 +83,7 @@ let TreePool = class TreePool extends Disposable {
|
|
|
83
83
|
},
|
|
84
84
|
accessibilityProvider: {
|
|
85
85
|
getAriaLabel: element => element.label,
|
|
86
|
-
getWidgetAriaLabel: () => ( localize(
|
|
86
|
+
getWidgetAriaLabel: () => ( localize(6018, "File Tree"))
|
|
87
87
|
},
|
|
88
88
|
alwaysConsumeMouseWheel: false
|
|
89
89
|
}
|
|
@@ -45,15 +45,15 @@ let ChatWorkspaceEditContentPart = class ChatWorkspaceEditContentPart extends Di
|
|
|
45
45
|
for (const edit of workspaceEdit.edits) {
|
|
46
46
|
if (edit.oldResource && !edit.newResource) {
|
|
47
47
|
renderEntry(( localize(
|
|
48
|
-
|
|
48
|
+
6019,
|
|
49
49
|
"Deleted `{0}`",
|
|
50
50
|
this.labelService.getUriBasenameLabel(edit.oldResource)
|
|
51
51
|
)), Codicon.trash);
|
|
52
52
|
} else if (!edit.oldResource && edit.newResource) {
|
|
53
|
-
renderEntry(( localize(
|
|
53
|
+
renderEntry(( localize(6020, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
|
|
54
54
|
} else if (edit.oldResource && edit.newResource) {
|
|
55
55
|
renderEntry(( localize(
|
|
56
|
-
|
|
56
|
+
6021,
|
|
57
57
|
"Renamed {0} to []({1})",
|
|
58
58
|
this.labelService.getUriBasenameLabel(edit.oldResource),
|
|
59
59
|
(edit.newResource.toString())
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js
CHANGED
|
@@ -149,7 +149,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
149
149
|
multipleDefinitions: "goto",
|
|
150
150
|
multipleImplementations: "goto"
|
|
151
151
|
},
|
|
152
|
-
ariaLabel: ( localize(
|
|
152
|
+
ariaLabel: ( localize(6022, "Code block")),
|
|
153
153
|
overflowWidgetsDomNode,
|
|
154
154
|
tabFocusMode: true,
|
|
155
155
|
...this.getEditorOptionsFromConfig()
|
|
@@ -336,11 +336,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
336
336
|
});
|
|
337
337
|
if (!this.editor.getOption(EditorOption.ariaLabel)) {
|
|
338
338
|
this.editor.updateOptions({
|
|
339
|
-
ariaLabel: ( localize(
|
|
339
|
+
ariaLabel: ( localize(6023, "Code block {0}", data.codeBlockIndex + 1))
|
|
340
340
|
});
|
|
341
341
|
}
|
|
342
342
|
this.layout(width);
|
|
343
|
-
this.toolbar.setAriaLabel(( localize(
|
|
343
|
+
this.toolbar.setAriaLabel(( localize(6024, "Code block {0}", data.codeBlockIndex + 1)));
|
|
344
344
|
if (data.renderOptions?.hideToolbar) {
|
|
345
345
|
hide(this.toolbar.getElement());
|
|
346
346
|
} else {
|
|
@@ -395,7 +395,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
395
395
|
if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
|
|
396
396
|
return "";
|
|
397
397
|
}
|
|
398
|
-
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(
|
|
398
|
+
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(6025, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(6026, "{0} vulnerability", 1));
|
|
399
399
|
const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
400
400
|
return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
|
|
401
401
|
}
|
|
@@ -507,7 +507,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
507
507
|
multipleDefinitions: "goto",
|
|
508
508
|
multipleImplementations: "goto"
|
|
509
509
|
},
|
|
510
|
-
ariaLabel: ( localize(
|
|
510
|
+
ariaLabel: ( localize(6022, "Code block")),
|
|
511
511
|
overflowWidgetsDomNode,
|
|
512
512
|
...this.getEditorOptionsFromConfig()
|
|
513
513
|
});
|
|
@@ -591,8 +591,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
591
591
|
stickyScroll: {
|
|
592
592
|
enabled: false
|
|
593
593
|
},
|
|
594
|
-
originalAriaLabel: ( localize(
|
|
595
|
-
modifiedAriaLabel: ( localize(
|
|
594
|
+
originalAriaLabel: ( localize(6027, "Original")),
|
|
595
|
+
modifiedAriaLabel: ( localize(6028, "Modified")),
|
|
596
596
|
diffAlgorithm: "advanced",
|
|
597
597
|
readOnly: false,
|
|
598
598
|
isInEmbeddedEditor: true,
|
|
@@ -633,7 +633,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
633
633
|
const toolbarElt = this.toolbar.getElement();
|
|
634
634
|
if (this.accessibilityService.isScreenReaderOptimized()) {
|
|
635
635
|
toolbarElt.style.display = "block";
|
|
636
|
-
toolbarElt.ariaLabel = ( localize(
|
|
636
|
+
toolbarElt.ariaLabel = ( localize(6029, "Code block toolbar"));
|
|
637
637
|
} else {
|
|
638
638
|
toolbarElt.style.display = "";
|
|
639
639
|
}
|
|
@@ -673,7 +673,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
673
673
|
await this.updateEditor(data, token);
|
|
674
674
|
this.layout(width);
|
|
675
675
|
this.diffEditor.updateOptions({
|
|
676
|
-
ariaLabel: ( localize(
|
|
676
|
+
ariaLabel: ( localize(6030, "Code Edits")),
|
|
677
677
|
readOnly: !!data.isReadOnly
|
|
678
678
|
});
|
|
679
679
|
this.resourceLabel.element.setFile(data.edit.uri, {
|
|
@@ -709,12 +709,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
709
709
|
});
|
|
710
710
|
let template;
|
|
711
711
|
if (data.edit.state.applied === 1) {
|
|
712
|
-
template = ( localize(
|
|
712
|
+
template = ( localize(6031, "Applied 1 change in [[``{0}``]]", uriLabel));
|
|
713
713
|
} else if (data.edit.state.applied < 0) {
|
|
714
|
-
template = ( localize(
|
|
714
|
+
template = ( localize(6032, "Edits in [[``{0}``]] have been rejected", uriLabel));
|
|
715
715
|
} else {
|
|
716
716
|
template = ( localize(
|
|
717
|
-
|
|
717
|
+
6033,
|
|
718
718
|
"Applied {0} changes in [[``{1}``]]",
|
|
719
719
|
data.edit.state.applied,
|
|
720
720
|
uriLabel
|
|
@@ -832,8 +832,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
|
|
|
832
832
|
async _checkSha1(model, item) {
|
|
833
833
|
if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
|
|
834
834
|
const result = await this.dialogService.confirm({
|
|
835
|
-
message: ( localize(
|
|
836
|
-
detail: ( localize(
|
|
835
|
+
message: ( localize(6034, "The original file has been modified.")),
|
|
836
|
+
detail: ( localize(6035, "Do you want to apply the changes anyway?"))
|
|
837
837
|
});
|
|
838
838
|
if (!result.confirmed) {
|
|
839
839
|
return false;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.chat-disabled-claude-hooks-message {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
gap: 8px;
|
|
10
|
+
font-style: italic;
|
|
11
|
+
font-size: 12px;
|
|
12
|
+
color: var(--vscode-descriptionForeground);
|
|
13
|
+
opacity: 0.8;
|
|
14
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.chat-used-context.chat-hook-outcome-blocked .chat-used-context-label .codicon {
|
|
7
|
+
color: var(--vscode-notificationsWarningIcon-foreground) !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.chat-thinking-box .chat-used-context.chat-hook-outcome-blocked,
|
|
11
|
+
.chat-thinking-box .chat-used-context.chat-hook-outcome-warning {
|
|
12
|
+
padding: 4px 12px 4px 22px;
|
|
13
|
+
margin-bottom: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.chat-thinking-box .chat-used-context.chat-hook-outcome-blocked > .chat-used-context-label .codicon,
|
|
17
|
+
.chat-thinking-box .chat-used-context.chat-hook-outcome-warning > .chat-used-context-label .codicon {
|
|
18
|
+
display: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.chat-hook-details {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
gap: 4px;
|
|
25
|
+
padding: 8px 12px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.chat-hook-reason {
|
|
29
|
+
font-size: var(--vscode-chat-font-size-body-s);
|
|
30
|
+
padding: 4px 10px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.chat-hook-message {
|
|
34
|
+
font-size: var(--vscode-chat-font-size-body-s);
|
|
35
|
+
padding: 4px 10px;
|
|
36
|
+
color: var(--vscode-descriptionForeground);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* When both reason and message are shown, add a subtle separator */
|
|
40
|
+
.chat-hook-reason + .chat-hook-message {
|
|
41
|
+
border-top: 1px solid var(--vscode-chat-requestBorder, var(--vscode-editorWidget-border));
|
|
42
|
+
margin-top: 2px;
|
|
43
|
+
padding-top: 6px;
|
|
44
|
+
}
|
|
@@ -62,10 +62,14 @@
|
|
|
62
62
|
.chat-question-header-row {
|
|
63
63
|
display: flex;
|
|
64
64
|
justify-content: space-between;
|
|
65
|
-
align-items:
|
|
65
|
+
align-items: center;
|
|
66
66
|
gap: 8px;
|
|
67
67
|
min-width: 0;
|
|
68
|
-
padding-bottom:
|
|
68
|
+
padding-bottom: 5px;
|
|
69
|
+
margin-left: -16px;
|
|
70
|
+
margin-right: -16px;
|
|
71
|
+
padding-left: 16px;
|
|
72
|
+
padding-right: 16px;
|
|
69
73
|
border-bottom: 1px solid var(--vscode-chat-requestBorder);
|
|
70
74
|
}
|
|
71
75
|
|
|
@@ -100,7 +104,7 @@
|
|
|
100
104
|
display: flex;
|
|
101
105
|
justify-content: space-between;
|
|
102
106
|
align-items: center;
|
|
103
|
-
padding:
|
|
107
|
+
padding: 4px 16px;
|
|
104
108
|
border-top: 1px solid var(--vscode-chat-requestBorder);
|
|
105
109
|
background: var(--vscode-chat-requestBackground);
|
|
106
110
|
}
|
|
@@ -172,7 +176,7 @@
|
|
|
172
176
|
display: flex;
|
|
173
177
|
flex-direction: column;
|
|
174
178
|
background: var(--vscode-chat-requestBackground);
|
|
175
|
-
padding:
|
|
179
|
+
padding: 8px 16px 10px 16px;
|
|
176
180
|
overflow: hidden;
|
|
177
181
|
}
|
|
178
182
|
|
|
@@ -214,7 +218,7 @@
|
|
|
214
218
|
.chat-question-list {
|
|
215
219
|
display: flex;
|
|
216
220
|
flex-direction: column;
|
|
217
|
-
gap:
|
|
221
|
+
gap: 3px;
|
|
218
222
|
outline: none;
|
|
219
223
|
padding: 4px 0;
|
|
220
224
|
}
|
|
@@ -228,7 +232,7 @@
|
|
|
228
232
|
display: flex;
|
|
229
233
|
align-items: center;
|
|
230
234
|
gap: 8px;
|
|
231
|
-
padding:
|
|
235
|
+
padding: 3px 8px;
|
|
232
236
|
cursor: pointer;
|
|
233
237
|
border-radius: 3px;
|
|
234
238
|
user-select: none;
|
|
@@ -238,7 +242,7 @@
|
|
|
238
242
|
background-color: var(--vscode-list-hoverBackground);
|
|
239
243
|
}
|
|
240
244
|
|
|
241
|
-
.interactive-
|
|
245
|
+
.interactive-input-part .chat-question-carousel-widget-container .chat-question-input-container {
|
|
242
246
|
.chat-question-list-item:focus:not(.selected),
|
|
243
247
|
.chat-question-list:focus {
|
|
244
248
|
outline: none;
|
|
@@ -270,7 +274,7 @@
|
|
|
270
274
|
align-items: center;
|
|
271
275
|
justify-content: center;
|
|
272
276
|
min-width: 14px;
|
|
273
|
-
padding:
|
|
277
|
+
padding: 0px 4px;
|
|
274
278
|
border-style: solid;
|
|
275
279
|
border-width: 1px;
|
|
276
280
|
border-radius: 3px;
|
|
@@ -285,7 +289,6 @@
|
|
|
285
289
|
}
|
|
286
290
|
|
|
287
291
|
.chat-question-freeform-number {
|
|
288
|
-
margin-top: 4px;
|
|
289
292
|
height: fit-content;
|
|
290
293
|
}
|
|
291
294
|
|
|
@@ -325,16 +328,6 @@
|
|
|
325
328
|
margin-right: 0;
|
|
326
329
|
}
|
|
327
330
|
|
|
328
|
-
.chat-question-list-checkbox.monaco-custom-toggle.checked {
|
|
329
|
-
background-color: var(--vscode-button-background) !important;
|
|
330
|
-
border-color: var(--vscode-button-background) !important;
|
|
331
|
-
color: var(--vscode-button-foreground) !important;
|
|
332
|
-
align-content: center;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
.chat-question-list-checkbox.monaco-custom-toggle.checked .codicon {
|
|
336
|
-
color: var(--vscode-button-foreground) !important;
|
|
337
|
-
}
|
|
338
331
|
|
|
339
332
|
/* Label in list item */
|
|
340
333
|
.chat-question-list-label {
|
|
@@ -457,7 +450,7 @@
|
|
|
457
450
|
margin-left: 8px;
|
|
458
451
|
display: flex;
|
|
459
452
|
flex-direction: row;
|
|
460
|
-
align-items:
|
|
453
|
+
align-items: center;
|
|
461
454
|
gap: 8px;
|
|
462
455
|
}
|
|
463
456
|
|
|
@@ -468,9 +461,9 @@
|
|
|
468
461
|
|
|
469
462
|
.chat-question-freeform-textarea {
|
|
470
463
|
width: 100%;
|
|
471
|
-
min-height:
|
|
464
|
+
min-height: 24px;
|
|
472
465
|
max-height: 200px;
|
|
473
|
-
padding:
|
|
466
|
+
padding: 3px 8px;
|
|
474
467
|
border: 1px solid var(--vscode-input-border, var(--vscode-chat-requestBorder));
|
|
475
468
|
background-color: var(--vscode-input-background);
|
|
476
469
|
color: var(--vscode-input-foreground);
|
|
@@ -54,7 +54,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
|
|
|
54
54
|
},
|
|
55
55
|
moreActions: additionalActions.length > 0 ? additionalActions : undefined
|
|
56
56
|
}, {
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(6036, "Skip")),
|
|
58
58
|
tooltip: skipTooltip,
|
|
59
59
|
data: () => {
|
|
60
60
|
this.confirmWith(toolInvocation, {
|
|
@@ -46,9 +46,9 @@ let ExtensionsInstallConfirmationWidgetSubPart = class ExtensionsInstallConfirma
|
|
|
46
46
|
append(this.domNode, chatExtensionsContentPart.domNode);
|
|
47
47
|
const state = toolInvocation.state.get();
|
|
48
48
|
if (state.type === IChatToolInvocation.StateKind.WaitingForConfirmation) {
|
|
49
|
-
const allowLabel = ( localize(
|
|
49
|
+
const allowLabel = ( localize(6037, "Allow"));
|
|
50
50
|
const allowTooltip = keybindingService.appendKeybinding(allowLabel, AcceptToolConfirmationActionId);
|
|
51
|
-
const cancelLabel = ( localize(
|
|
51
|
+
const cancelLabel = ( localize(6038, "Cancel"));
|
|
52
52
|
const cancelTooltip = keybindingService.appendKeybinding(cancelLabel, CancelChatActionId);
|
|
53
53
|
const enableAllowButtonEvent = this._register(( new Emitter()));
|
|
54
54
|
const buttons = [{
|
|
@@ -68,9 +68,9 @@ let ExtensionsInstallConfirmationWidgetSubPart = class ExtensionsInstallConfirma
|
|
|
68
68
|
tooltip: cancelTooltip
|
|
69
69
|
}];
|
|
70
70
|
const confirmWidget = this._register(instantiationService.createInstance(ChatConfirmationWidget, context, {
|
|
71
|
-
title: state.confirmationMessages?.title ?? ( localize(
|
|
71
|
+
title: state.confirmationMessages?.title ?? ( localize(6039, "Install Extensions")),
|
|
72
72
|
message: state.confirmationMessages?.message ?? ( localize(
|
|
73
|
-
|
|
73
|
+
6040,
|
|
74
74
|
"Click the Install button on the extension and then press Allow when finished."
|
|
75
75
|
)),
|
|
76
76
|
buttons
|
|
@@ -78,7 +78,7 @@ let ChatMcpAppModel = class ChatMcpAppModel extends Disposable {
|
|
|
78
78
|
this._height = ChatMcpAppModel_1.heightCache.get(this.toolInvocation) ?? 300;
|
|
79
79
|
this._webview = this._register(this._webviewService.createWebviewElement({
|
|
80
80
|
origin: this._webviewOrigin,
|
|
81
|
-
title: ( localize(
|
|
81
|
+
title: ( localize(6041, "MCP App")),
|
|
82
82
|
options: {
|
|
83
83
|
purpose: WebviewContentPurpose.ChatOutputItem,
|
|
84
84
|
enableFindWidget: false,
|
|
@@ -84,7 +84,7 @@ let ChatMcpAppSubPart = class ChatMcpAppSubPart extends BaseChatToolInvocationSu
|
|
|
84
84
|
{
|
|
85
85
|
container.style.display = "none";
|
|
86
86
|
const progressMessage = $("span");
|
|
87
|
-
progressMessage.textContent = ( localize(
|
|
87
|
+
progressMessage.textContent = ( localize(6042, "Loading MCP App..."));
|
|
88
88
|
const progressPart = this._instantiationService.createInstance(
|
|
89
89
|
ChatProgressSubPart,
|
|
90
90
|
progressMessage,
|
|
@@ -114,12 +114,12 @@ let ChatMcpAppSubPart = class ChatMcpAppSubPart extends BaseChatToolInvocationSu
|
|
|
114
114
|
_showError(container, error) {
|
|
115
115
|
const errorNode = $(".mcp-app-error");
|
|
116
116
|
const errorMessage = ( new MarkdownString());
|
|
117
|
-
errorMessage.appendText(( localize(
|
|
117
|
+
errorMessage.appendText(( localize(6043, "Error loading MCP App: {0}", error.message || String(error))));
|
|
118
118
|
const errorWidget = ( new ChatErrorWidget(ChatErrorLevel.Error, errorMessage, this._markdownRendererService));
|
|
119
119
|
errorNode.appendChild(errorWidget.domNode);
|
|
120
120
|
const buttonContainer = append(errorNode, $(".chat-buttons-container"));
|
|
121
121
|
const retryButton = ( new Button(buttonContainer, defaultButtonStyles));
|
|
122
|
-
retryButton.label = ( localize(
|
|
122
|
+
retryButton.label = ( localize(6044, "Retry"));
|
|
123
123
|
retryButton.onDidClick(() => {
|
|
124
124
|
this._model.retry();
|
|
125
125
|
});
|
|
@@ -113,7 +113,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
113
113
|
moreActions = [];
|
|
114
114
|
if (!autoApproveWarningAccepted) {
|
|
115
115
|
moreActions.push({
|
|
116
|
-
label: ( localize(
|
|
116
|
+
label: ( localize(6045, "Enable Auto Approve...")),
|
|
117
117
|
data: {
|
|
118
118
|
type: "enable"
|
|
119
119
|
}
|
|
@@ -322,7 +322,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
322
322
|
}
|
|
323
323
|
const target = scope === "workspace" ? ConfigurationTarget.WORKSPACE : ConfigurationTarget.USER;
|
|
324
324
|
const settingsUri = createCommandUri(TerminalContribCommandId.OpenTerminalSettingsLink, target);
|
|
325
|
-
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(
|
|
325
|
+
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(6046, "View rule in settings"))}")`;
|
|
326
326
|
})).join(", ");
|
|
327
327
|
}
|
|
328
328
|
const mdTrustSettings = {
|
|
@@ -333,33 +333,33 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
333
333
|
const parts = [];
|
|
334
334
|
if (sessionRules.length > 0) {
|
|
335
335
|
parts.push(sessionRules.length === 1 ? ( localize(
|
|
336
|
-
|
|
336
|
+
6047,
|
|
337
337
|
"Session auto approve rule {0} added",
|
|
338
338
|
formatRuleLinks(sessionRules, "session")
|
|
339
339
|
)) : ( localize(
|
|
340
|
-
|
|
340
|
+
6048,
|
|
341
341
|
"Session auto approve rules {0} added",
|
|
342
342
|
formatRuleLinks(sessionRules, "session")
|
|
343
343
|
)));
|
|
344
344
|
}
|
|
345
345
|
if (workspaceRules.length > 0) {
|
|
346
346
|
parts.push(workspaceRules.length === 1 ? ( localize(
|
|
347
|
-
|
|
347
|
+
6049,
|
|
348
348
|
"Workspace auto approve rule {0} added",
|
|
349
349
|
formatRuleLinks(workspaceRules, "workspace")
|
|
350
350
|
)) : ( localize(
|
|
351
|
-
|
|
351
|
+
6050,
|
|
352
352
|
"Workspace auto approve rules {0} added",
|
|
353
353
|
formatRuleLinks(workspaceRules, "workspace")
|
|
354
354
|
)));
|
|
355
355
|
}
|
|
356
356
|
if (userRules.length > 0) {
|
|
357
357
|
parts.push(userRules.length === 1 ? ( localize(
|
|
358
|
-
|
|
358
|
+
6051,
|
|
359
359
|
"User auto approve rule {0} added",
|
|
360
360
|
formatRuleLinks(userRules, "user")
|
|
361
361
|
)) : ( localize(
|
|
362
|
-
|
|
362
|
+
6052,
|
|
363
363
|
"User auto approve rules {0} added",
|
|
364
364
|
formatRuleLinks(userRules, "user")
|
|
365
365
|
)));
|
|
@@ -389,7 +389,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
389
389
|
enabledCommands: [TerminalContribCommandId.DisableSessionAutoApproval]
|
|
390
390
|
}
|
|
391
391
|
};
|
|
392
|
-
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(
|
|
392
|
+
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(6053, "All commands will be auto approved for this session"))} ([${( localize(6054, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
|
|
393
393
|
toolConfirmKind = ToolConfirmKind.UserAction;
|
|
394
394
|
break;
|
|
395
395
|
}
|
|
@@ -413,11 +413,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
413
413
|
};
|
|
414
414
|
};
|
|
415
415
|
return [{
|
|
416
|
-
...getLabelAndTooltip(( localize(
|
|
416
|
+
...getLabelAndTooltip(( localize(6055, "Allow")), AcceptToolConfirmationActionId),
|
|
417
417
|
data: true,
|
|
418
418
|
moreActions
|
|
419
419
|
}, {
|
|
420
|
-
...getLabelAndTooltip(( localize(
|
|
420
|
+
...getLabelAndTooltip(( localize(6056, "Skip")), SkipToolConfirmationActionId, ( localize(6057, "Proceed without executing this command"))),
|
|
421
421
|
data: {
|
|
422
422
|
type: "skip"
|
|
423
423
|
},
|
|
@@ -427,9 +427,9 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
427
427
|
async _showAutoApproveWarning() {
|
|
428
428
|
const promptResult = await this.dialogService.prompt({
|
|
429
429
|
type: Severity.Info,
|
|
430
|
-
message: ( localize(
|
|
430
|
+
message: ( localize(6058, "Enable terminal auto approve?")),
|
|
431
431
|
buttons: [{
|
|
432
|
-
label: ( localize(
|
|
432
|
+
label: ( localize(6059, "Enable")),
|
|
433
433
|
run: () => true
|
|
434
434
|
}],
|
|
435
435
|
cancelButton: true,
|
|
@@ -437,11 +437,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
437
437
|
icon: Codicon.shield,
|
|
438
438
|
markdownDetails: [{
|
|
439
439
|
markdown: ( new MarkdownString(( localize(
|
|
440
|
-
|
|
440
|
+
6060,
|
|
441
441
|
"This will enable a configurable subset of commands to run in the terminal autonomously. It provides *best effort protections* and assumes the agent is not acting maliciously."
|
|
442
442
|
))))
|
|
443
443
|
}, {
|
|
444
|
-
markdown: ( new MarkdownString(`[${( localize(
|
|
444
|
+
markdown: ( new MarkdownString(`[${( localize(6061, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/copilot/security#_security-considerations)`))
|
|
445
445
|
}]
|
|
446
446
|
}
|
|
447
447
|
});
|