@codingame/monaco-vscode-katex-common 29.1.1 → 30.0.1
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 +14 -13
- 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 +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +637 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +202 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +17 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +53 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +296 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +59 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +110 -59
- 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/searchableOptionPickerActionItem.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +384 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +220 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +1 -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/chatAttachmentsContentPart.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +14 -1
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +5 -4
- 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.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -12
- 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/chatProgressContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +97 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +5 -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 +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +8 -7
- 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 +15 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +155 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +36 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- 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/chatThinkingContent.css +13 -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.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +68 -0
- 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 +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +33 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +12 -3
- 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 +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/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +4 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +37 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +66 -39
- 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 +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +103 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +44 -18
- 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 +60 -10
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +4 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +5 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -39
- 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.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
- 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/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -1317
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +0 -95
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js
CHANGED
|
@@ -10,6 +10,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
10
10
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
11
11
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
12
|
import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
|
|
13
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
13
14
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
14
15
|
import { IChatTodoListService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatTodoListService.service';
|
|
15
16
|
|
|
@@ -55,7 +56,7 @@ class TodoListRenderer {
|
|
|
55
56
|
statusIcon.style.color = this.getStatusIconColor(todo.status);
|
|
56
57
|
iconLabel.setLabel(todo.title);
|
|
57
58
|
const statusText = this.getStatusText(todo.status);
|
|
58
|
-
const ariaLabel = ( localize(
|
|
59
|
+
const ariaLabel = ( localize(6877, "{0}, {1}", todo.title, statusText));
|
|
59
60
|
todoElement.setAttribute("aria-label", ariaLabel);
|
|
60
61
|
}
|
|
61
62
|
disposeTemplate(templateData) {
|
|
@@ -64,12 +65,12 @@ class TodoListRenderer {
|
|
|
64
65
|
getStatusText(status) {
|
|
65
66
|
switch (status) {
|
|
66
67
|
case "completed":
|
|
67
|
-
return localize(
|
|
68
|
+
return localize(6878, "completed");
|
|
68
69
|
case "in-progress":
|
|
69
|
-
return localize(
|
|
70
|
+
return localize(6879, "in progress");
|
|
70
71
|
case "not-started":
|
|
71
72
|
default:
|
|
72
|
-
return localize(
|
|
73
|
+
return localize(6880, "not started");
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
getStatusIconClass(status) {
|
|
@@ -96,11 +97,17 @@ class TodoListRenderer {
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
99
|
-
constructor(
|
|
100
|
+
constructor(
|
|
101
|
+
chatTodoListService,
|
|
102
|
+
instantiationService,
|
|
103
|
+
contextKeyService,
|
|
104
|
+
telemetryService
|
|
105
|
+
) {
|
|
100
106
|
super();
|
|
101
107
|
this.chatTodoListService = chatTodoListService;
|
|
102
108
|
this.instantiationService = instantiationService;
|
|
103
109
|
this.contextKeyService = contextKeyService;
|
|
110
|
+
this.telemetryService = telemetryService;
|
|
104
111
|
this._isExpanded = false;
|
|
105
112
|
this._userManuallyExpanded = false;
|
|
106
113
|
this._inChatTodoListContextKey = ChatContextKeys.inChatTodoList.bindTo(contextKeyService);
|
|
@@ -135,7 +142,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
135
142
|
this.expandIcon.setAttribute("aria-hidden", "true");
|
|
136
143
|
this.titleElement = $(".todo-list-title");
|
|
137
144
|
this.titleElement.id = "todo-list-title";
|
|
138
|
-
this.titleElement.textContent = ( localize(
|
|
145
|
+
this.titleElement.textContent = ( localize(6881, "Todos"));
|
|
139
146
|
this.clearButtonContainer = $(".todo-clear-button-container");
|
|
140
147
|
this.createClearButton();
|
|
141
148
|
titleSection.appendChild(this.expandIcon);
|
|
@@ -157,12 +164,17 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
157
164
|
createClearButton() {
|
|
158
165
|
this.clearButton = ( new Button(this.clearButtonContainer, {
|
|
159
166
|
supportIcons: true,
|
|
160
|
-
ariaLabel: ( localize(
|
|
167
|
+
ariaLabel: ( localize(6882, "Clear all todos"))
|
|
161
168
|
}));
|
|
162
169
|
this.clearButton.element.tabIndex = 0;
|
|
163
170
|
this.clearButton.icon = Codicon.clearAll;
|
|
164
171
|
this._register(this.clearButton);
|
|
165
172
|
this._register(this.clearButton.onDidClick(() => {
|
|
173
|
+
const todoCount = this._currentSessionResource ? this.chatTodoListService.getTodos(this._currentSessionResource).length : 0;
|
|
174
|
+
this.telemetryService.publicLog2("chatTodoListWidget", {
|
|
175
|
+
action: "clear",
|
|
176
|
+
todoCount
|
|
177
|
+
});
|
|
166
178
|
this.clearAllTodos();
|
|
167
179
|
}));
|
|
168
180
|
}
|
|
@@ -236,9 +248,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
236
248
|
accessibilityProvider: {
|
|
237
249
|
getAriaLabel: todo => {
|
|
238
250
|
const statusText = this.getStatusText(todo.status);
|
|
239
|
-
return localize(
|
|
251
|
+
return localize(6877, "{0}, {1}", todo.title, statusText);
|
|
240
252
|
},
|
|
241
|
-
getWidgetAriaLabel: () => ( localize(
|
|
253
|
+
getWidgetAriaLabel: () => ( localize(6883, "Chat Todo List"))
|
|
242
254
|
}
|
|
243
255
|
}
|
|
244
256
|
));
|
|
@@ -267,6 +279,11 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
267
279
|
this.expandIcon.classList.toggle("codicon-chevron-down", this._isExpanded);
|
|
268
280
|
this.expandIcon.classList.toggle("codicon-chevron-right", !this._isExpanded);
|
|
269
281
|
this.todoListContainer.style.display = this._isExpanded ? "block" : "none";
|
|
282
|
+
const todoCount = this._currentSessionResource ? this.chatTodoListService.getTodos(this._currentSessionResource).length : 0;
|
|
283
|
+
this.telemetryService.publicLog2("chatTodoListWidget", {
|
|
284
|
+
action: this._isExpanded ? "expand" : "collapse",
|
|
285
|
+
todoCount
|
|
286
|
+
});
|
|
270
287
|
if (this._currentSessionResource) {
|
|
271
288
|
const todoList = this.chatTodoListService.getTodos(this._currentSessionResource);
|
|
272
289
|
this.updateTitleElement(this.titleElement, todoList);
|
|
@@ -289,9 +306,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
289
306
|
const shouldDisable = isRequestInProgress && hasInProgressTask;
|
|
290
307
|
this.clearButton.enabled = !shouldDisable;
|
|
291
308
|
if (shouldDisable) {
|
|
292
|
-
this.clearButton.setTitle(( localize(
|
|
309
|
+
this.clearButton.setTitle(( localize(6884, "Cannot clear todos while a task is in progress")));
|
|
293
310
|
} else {
|
|
294
|
-
this.clearButton.setTitle(( localize(
|
|
311
|
+
this.clearButton.setTitle(( localize(6882, "Clear all todos")));
|
|
295
312
|
}
|
|
296
313
|
}
|
|
297
314
|
updateTitleElement(titleElement, todoList) {
|
|
@@ -303,12 +320,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
303
320
|
const notStartedTodos = todoList.filter(todo => todo.status === "not-started");
|
|
304
321
|
const firstNotStartedTodo = notStartedTodos.length > 0 ? notStartedTodos[0] : undefined;
|
|
305
322
|
const currentTaskNumber = inProgressTodos.length > 0 ? completedCount + 1 : Math.max(1, completedCount);
|
|
306
|
-
const expandButtonLabel = this._isExpanded ? ( localize(
|
|
323
|
+
const expandButtonLabel = this._isExpanded ? ( localize(6885, "Collapse Todos")) : ( localize(6886, "Expand Todos"));
|
|
307
324
|
this.expandoButton.element.setAttribute("aria-label", expandButtonLabel);
|
|
308
325
|
this.expandoButton.element.setAttribute("aria-expanded", this._isExpanded ? "true" : "false");
|
|
309
326
|
if (this._isExpanded) {
|
|
310
327
|
const titleText = $("span");
|
|
311
|
-
titleText.textContent = totalCount > 0 ? ( localize(
|
|
328
|
+
titleText.textContent = totalCount > 0 ? ( localize(6887, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(6881, "Todos"));
|
|
312
329
|
titleElement.appendChild(titleText);
|
|
313
330
|
} else {
|
|
314
331
|
const todoToShow = firstInProgressTodo || firstNotStartedTodo;
|
|
@@ -325,7 +342,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
325
342
|
icon.style.verticalAlign = "middle";
|
|
326
343
|
titleElement.appendChild(icon);
|
|
327
344
|
const todoText = $("span");
|
|
328
|
-
todoText.textContent = ( localize(
|
|
345
|
+
todoText.textContent = ( localize(6888, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
|
|
329
346
|
todoText.style.verticalAlign = "middle";
|
|
330
347
|
todoText.style.overflow = "hidden";
|
|
331
348
|
todoText.style.textOverflow = "ellipsis";
|
|
@@ -335,7 +352,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
335
352
|
}
|
|
336
353
|
else if (completedCount > 0 && completedCount === totalCount) {
|
|
337
354
|
const doneText = $("span");
|
|
338
|
-
doneText.textContent = ( localize(
|
|
355
|
+
doneText.textContent = ( localize(6887, "Todos ({0}/{1})", totalCount, totalCount));
|
|
339
356
|
doneText.style.verticalAlign = "middle";
|
|
340
357
|
titleElement.appendChild(doneText);
|
|
341
358
|
}
|
|
@@ -344,15 +361,15 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
344
361
|
getStatusText(status) {
|
|
345
362
|
switch (status) {
|
|
346
363
|
case "completed":
|
|
347
|
-
return localize(
|
|
364
|
+
return localize(6878, "completed");
|
|
348
365
|
case "in-progress":
|
|
349
|
-
return localize(
|
|
366
|
+
return localize(6879, "in progress");
|
|
350
367
|
case "not-started":
|
|
351
368
|
default:
|
|
352
|
-
return localize(
|
|
369
|
+
return localize(6880, "not started");
|
|
353
370
|
}
|
|
354
371
|
}
|
|
355
372
|
};
|
|
356
|
-
ChatTodoListWidget = ( __decorate([( __param(0, IChatTodoListService)), ( __param(1, IInstantiationService)), ( __param(2, IContextKeyService))], ChatTodoListWidget));
|
|
373
|
+
ChatTodoListWidget = ( __decorate([( __param(0, IChatTodoListService)), ( __param(1, IInstantiationService)), ( __param(2, IContextKeyService)), ( __param(3, ITelemetryService))], ChatTodoListWidget));
|
|
357
374
|
|
|
358
375
|
export { ChatTodoListWidget };
|
|
@@ -148,13 +148,13 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
148
148
|
input,
|
|
149
149
|
output
|
|
150
150
|
} = this;
|
|
151
|
-
contents.inputTitle.textContent = ( localize(
|
|
151
|
+
contents.inputTitle.textContent = ( localize(6889, "Input"));
|
|
152
152
|
this.addCodeBlock(input, contents.input);
|
|
153
153
|
if (!output) {
|
|
154
154
|
contents.output.remove();
|
|
155
155
|
contents.outputTitle.remove();
|
|
156
156
|
} else {
|
|
157
|
-
contents.outputTitle.textContent = ( localize(
|
|
157
|
+
contents.outputTitle.textContent = ( localize(6890, "Output"));
|
|
158
158
|
const outputSubPart = this._register(
|
|
159
159
|
this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts)
|
|
160
160
|
);
|
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(6891, "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
|
+
6892,
|
|
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(6893, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
|
|
54
54
|
} else if (edit.oldResource && edit.newResource) {
|
|
55
55
|
renderEntry(( localize(
|
|
56
|
-
|
|
56
|
+
6894,
|
|
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
|
@@ -148,7 +148,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
148
148
|
multipleDefinitions: "goto",
|
|
149
149
|
multipleImplementations: "goto"
|
|
150
150
|
},
|
|
151
|
-
ariaLabel: ( localize(
|
|
151
|
+
ariaLabel: ( localize(6895, "Code block")),
|
|
152
152
|
overflowWidgetsDomNode,
|
|
153
153
|
tabFocusMode: true,
|
|
154
154
|
...this.getEditorOptionsFromConfig()
|
|
@@ -339,11 +339,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
339
339
|
});
|
|
340
340
|
if (!this.editor.getOption(EditorOption.ariaLabel)) {
|
|
341
341
|
this.editor.updateOptions({
|
|
342
|
-
ariaLabel: ( localize(
|
|
342
|
+
ariaLabel: ( localize(6896, "Code block {0}", data.codeBlockIndex + 1))
|
|
343
343
|
});
|
|
344
344
|
}
|
|
345
345
|
this.layout(width);
|
|
346
|
-
this.toolbar.setAriaLabel(( localize(
|
|
346
|
+
this.toolbar.setAriaLabel(( localize(6897, "Code block {0}", data.codeBlockIndex + 1)));
|
|
347
347
|
if (data.renderOptions?.hideToolbar) {
|
|
348
348
|
hide(this.toolbar.getElement());
|
|
349
349
|
} else {
|
|
@@ -398,7 +398,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
398
398
|
if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
|
|
399
399
|
return "";
|
|
400
400
|
}
|
|
401
|
-
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(
|
|
401
|
+
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(6898, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(6899, "{0} vulnerability", 1));
|
|
402
402
|
const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
403
403
|
return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
|
|
404
404
|
}
|
|
@@ -508,7 +508,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
508
508
|
multipleDefinitions: "goto",
|
|
509
509
|
multipleImplementations: "goto"
|
|
510
510
|
},
|
|
511
|
-
ariaLabel: ( localize(
|
|
511
|
+
ariaLabel: ( localize(6895, "Code block")),
|
|
512
512
|
overflowWidgetsDomNode,
|
|
513
513
|
...this.getEditorOptionsFromConfig()
|
|
514
514
|
});
|
|
@@ -587,8 +587,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
587
587
|
stickyScroll: {
|
|
588
588
|
enabled: false
|
|
589
589
|
},
|
|
590
|
-
originalAriaLabel: ( localize(
|
|
591
|
-
modifiedAriaLabel: ( localize(
|
|
590
|
+
originalAriaLabel: ( localize(6900, "Original")),
|
|
591
|
+
modifiedAriaLabel: ( localize(6901, "Modified")),
|
|
592
592
|
diffAlgorithm: "advanced",
|
|
593
593
|
readOnly: false,
|
|
594
594
|
isInEmbeddedEditor: true,
|
|
@@ -629,7 +629,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
629
629
|
const toolbarElt = this.toolbar.getElement();
|
|
630
630
|
toolbarElt.style.display = "block";
|
|
631
631
|
if (this.accessibilityService.isScreenReaderOptimized()) {
|
|
632
|
-
toolbarElt.ariaLabel = ( localize(
|
|
632
|
+
toolbarElt.ariaLabel = ( localize(6902, "Code block toolbar"));
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
getEditorOptionsFromConfig() {
|
|
@@ -670,7 +670,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
670
670
|
await this.updateEditor(data, token);
|
|
671
671
|
this.layout(width);
|
|
672
672
|
this.diffEditor.updateOptions({
|
|
673
|
-
ariaLabel: ( localize(
|
|
673
|
+
ariaLabel: ( localize(6903, "Code Edits")),
|
|
674
674
|
readOnly: !!data.isReadOnly
|
|
675
675
|
});
|
|
676
676
|
this.resourceLabel.element.setFile(data.edit.uri, {
|
|
@@ -705,12 +705,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
705
705
|
});
|
|
706
706
|
let template;
|
|
707
707
|
if (data.edit.state.applied === 1) {
|
|
708
|
-
template = ( localize(
|
|
708
|
+
template = ( localize(6904, "Applied 1 change in [[``{0}``]]", uriLabel));
|
|
709
709
|
} else if (data.edit.state.applied < 0) {
|
|
710
|
-
template = ( localize(
|
|
710
|
+
template = ( localize(6905, "Edits in [[``{0}``]] have been rejected", uriLabel));
|
|
711
711
|
} else {
|
|
712
712
|
template = ( localize(
|
|
713
|
-
|
|
713
|
+
6906,
|
|
714
714
|
"Applied {0} changes in [[``{1}``]]",
|
|
715
715
|
data.edit.state.applied,
|
|
716
716
|
uriLabel
|
|
@@ -837,8 +837,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
|
|
|
837
837
|
async _checkSha1(model, item) {
|
|
838
838
|
if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
|
|
839
839
|
const result = await this.dialogService.confirm({
|
|
840
|
-
message: ( localize(
|
|
841
|
-
detail: ( localize(
|
|
840
|
+
message: ( localize(6907, "The original file has been modified.")),
|
|
841
|
+
detail: ( localize(6908, "Do you want to apply the changes anyway?"))
|
|
842
842
|
});
|
|
843
843
|
if (!result.confirmed) {
|
|
844
844
|
return false;
|
|
@@ -54,6 +54,19 @@
|
|
|
54
54
|
.chat-thinking-title-detail-text {
|
|
55
55
|
opacity: 0.7;
|
|
56
56
|
}
|
|
57
|
+
|
|
58
|
+
.chat-thinking-title-diff {
|
|
59
|
+
padding-left: 6px;
|
|
60
|
+
|
|
61
|
+
> .label-added {
|
|
62
|
+
color: var(--vscode-chat-linesAddedForeground);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
> .label-removed {
|
|
66
|
+
padding-left: 4px;
|
|
67
|
+
color: var(--vscode-chat-linesRemovedForeground);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
&.chat-thinking-active > .chat-used-context-label .monaco-button.monaco-icon-button {
|
|
@@ -77,7 +77,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
|
|
|
77
77
|
data: primaryAction.data,
|
|
78
78
|
moreActions: moreActions.length > 0 ? moreActions : undefined
|
|
79
79
|
}, {
|
|
80
|
-
label: ( localize(
|
|
80
|
+
label: ( localize(6909, "Skip")),
|
|
81
81
|
tooltip: skipTooltip,
|
|
82
82
|
data: () => {
|
|
83
83
|
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(6910, "Allow"));
|
|
50
50
|
const allowTooltip = keybindingService.appendKeybinding(allowLabel, AcceptToolConfirmationActionId);
|
|
51
|
-
const cancelLabel = ( localize(
|
|
51
|
+
const cancelLabel = ( localize(6911, "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(6912, "Install Extensions")),
|
|
72
72
|
message: state.confirmationMessages?.message ?? ( localize(
|
|
73
|
-
|
|
73
|
+
6913,
|
|
74
74
|
"Click the Install button on the extension and then press Allow when finished."
|
|
75
75
|
)),
|
|
76
76
|
buttons
|
|
@@ -84,7 +84,7 @@ let ChatMcpAppModel = class ChatMcpAppModel extends Disposable {
|
|
|
84
84
|
this._height = ChatMcpAppModel_1.heightCache.get(this.toolInvocation) ?? 300;
|
|
85
85
|
this._webview = this._register(this._webviewService.createWebviewElement({
|
|
86
86
|
origin: this._webviewOrigin,
|
|
87
|
-
title: ( localize(
|
|
87
|
+
title: ( localize(6914, "MCP App")),
|
|
88
88
|
options: {
|
|
89
89
|
purpose: WebviewContentPurpose.ChatOutputItem,
|
|
90
90
|
enableFindWidget: false,
|
|
@@ -100,7 +100,7 @@ let ChatMcpAppSubPart = class ChatMcpAppSubPart extends BaseChatToolInvocationSu
|
|
|
100
100
|
{
|
|
101
101
|
container.style.display = "none";
|
|
102
102
|
const progressMessage = $("span");
|
|
103
|
-
progressMessage.textContent = ( localize(
|
|
103
|
+
progressMessage.textContent = ( localize(6915, "Loading MCP App..."));
|
|
104
104
|
const progressPart = this._instantiationService.createInstance(
|
|
105
105
|
ChatProgressSubPart,
|
|
106
106
|
progressMessage,
|
|
@@ -130,12 +130,12 @@ let ChatMcpAppSubPart = class ChatMcpAppSubPart extends BaseChatToolInvocationSu
|
|
|
130
130
|
_showError(container, error) {
|
|
131
131
|
const errorNode = $(".mcp-app-error");
|
|
132
132
|
const errorMessage = ( new MarkdownString());
|
|
133
|
-
errorMessage.appendText(( localize(
|
|
133
|
+
errorMessage.appendText(( localize(6916, "Error loading MCP App: {0}", error.message || String(error))));
|
|
134
134
|
const errorWidget = this._register(( new ChatErrorWidget(ChatErrorLevel.Error, errorMessage, this._markdownRendererService)));
|
|
135
135
|
errorNode.appendChild(errorWidget.domNode);
|
|
136
136
|
const buttonContainer = append(errorNode, $(".chat-buttons-container"));
|
|
137
137
|
const retryButton = this._register(( new Button(buttonContainer, defaultButtonStyles)));
|
|
138
|
-
retryButton.label = ( localize(
|
|
138
|
+
retryButton.label = ( localize(6917, "Retry"));
|
|
139
139
|
this._register(retryButton.onDidClick(() => {
|
|
140
140
|
this._model.retry();
|
|
141
141
|
}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
2
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
|
+
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
4
|
+
import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
|
|
5
|
+
import { IChatToolInvocation, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
6
|
+
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
7
|
+
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
8
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
9
|
+
import { IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
10
|
+
import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
|
|
11
|
+
export declare class ChatMissingSandboxDepsConfirmationSubPart extends AbstractToolConfirmationSubPart {
|
|
12
|
+
private readonly renderer;
|
|
13
|
+
readonly codeblocks: IChatCodeBlockInfo[];
|
|
14
|
+
constructor(toolInvocation: IChatToolInvocation, _terminalData: IChatTerminalToolInvocationData, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService);
|
|
15
|
+
protected createContentElement(): HTMLElement;
|
|
16
|
+
protected getTitle(): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
5
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
+
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
7
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
9
|
+
import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
10
|
+
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
11
|
+
import { SkipToolConfirmationActionId, AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
12
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
13
|
+
import { AbstractToolConfirmationSubPart } from './abstractToolConfirmationSubPart.js';
|
|
14
|
+
|
|
15
|
+
let ChatMissingSandboxDepsConfirmationSubPart = class ChatMissingSandboxDepsConfirmationSubPart extends AbstractToolConfirmationSubPart {
|
|
16
|
+
constructor(
|
|
17
|
+
toolInvocation,
|
|
18
|
+
_terminalData,
|
|
19
|
+
context,
|
|
20
|
+
renderer,
|
|
21
|
+
instantiationService,
|
|
22
|
+
keybindingService,
|
|
23
|
+
contextKeyService,
|
|
24
|
+
chatWidgetService,
|
|
25
|
+
languageModelToolsService
|
|
26
|
+
) {
|
|
27
|
+
super(
|
|
28
|
+
toolInvocation,
|
|
29
|
+
context,
|
|
30
|
+
instantiationService,
|
|
31
|
+
keybindingService,
|
|
32
|
+
contextKeyService,
|
|
33
|
+
chatWidgetService,
|
|
34
|
+
languageModelToolsService
|
|
35
|
+
);
|
|
36
|
+
this.renderer = renderer;
|
|
37
|
+
this.codeblocks = [];
|
|
38
|
+
this.render({
|
|
39
|
+
allowActionId: AcceptToolConfirmationActionId,
|
|
40
|
+
skipActionId: SkipToolConfirmationActionId,
|
|
41
|
+
allowLabel: ( localize(6918, "Install")),
|
|
42
|
+
skipLabel: ( localize(6919, "Cancel")),
|
|
43
|
+
partType: "chatMissingSandboxDepsConfirmation"
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
createContentElement() {
|
|
47
|
+
const state = this.toolInvocation.state.get();
|
|
48
|
+
const message = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation ? state.confirmationMessages?.message : undefined;
|
|
49
|
+
const container = $(".chat-missing-sandbox-deps-confirmation");
|
|
50
|
+
if (message) {
|
|
51
|
+
const mdMessage = typeof message === "string" ? ( new MarkdownString(message)) : message;
|
|
52
|
+
const rendered = this.renderer.render(mdMessage);
|
|
53
|
+
this._register(rendered);
|
|
54
|
+
container.appendChild(rendered.element);
|
|
55
|
+
}
|
|
56
|
+
return container;
|
|
57
|
+
}
|
|
58
|
+
getTitle() {
|
|
59
|
+
const state = this.toolInvocation.state.get();
|
|
60
|
+
if (state.type === IChatToolInvocation.StateKind.WaitingForConfirmation && state.confirmationMessages?.title) {
|
|
61
|
+
return typeof state.confirmationMessages.title === "string" ? state.confirmationMessages.title : state.confirmationMessages.title.value;
|
|
62
|
+
}
|
|
63
|
+
return "";
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
ChatMissingSandboxDepsConfirmationSubPart = ( __decorate([( __param(4, IInstantiationService)), ( __param(5, IKeybindingService)), ( __param(6, IContextKeyService)), ( __param(7, IChatWidgetService)), ( __param(8, ILanguageModelToolsService))], ChatMissingSandboxDepsConfirmationSubPart));
|
|
67
|
+
|
|
68
|
+
export { ChatMissingSandboxDepsConfirmationSubPart };
|
|
@@ -130,7 +130,7 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
130
130
|
const addedSpan = append(countsContainer, $(".working-set-lines-added"));
|
|
131
131
|
const removedSpan = append(countsContainer, $(".working-set-lines-removed"));
|
|
132
132
|
titleButton.element.appendChild(countsContainer);
|
|
133
|
-
const filesLabel = data.modifiedFiles.length === 1 ? ( localize(
|
|
133
|
+
const filesLabel = data.modifiedFiles.length === 1 ? ( localize(6920, "1 file changed")) : ( localize(6921, "{0} files changed", data.modifiedFiles.length));
|
|
134
134
|
titleButton.label = filesLabel;
|
|
135
135
|
let added = 0;
|
|
136
136
|
let removed = 0;
|
|
@@ -146,13 +146,13 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
146
146
|
addedSpan.textContent = `+${added}`;
|
|
147
147
|
removedSpan.textContent = `-${removed}`;
|
|
148
148
|
titleButton.element.setAttribute("aria-label", ( localize(
|
|
149
|
-
|
|
149
|
+
6922,
|
|
150
150
|
"{0}, {1} lines added, {2} lines removed",
|
|
151
151
|
filesLabel,
|
|
152
152
|
added,
|
|
153
153
|
removed
|
|
154
154
|
)));
|
|
155
|
-
countsContainer.setAttribute("aria-label", ( localize(
|
|
155
|
+
countsContainer.setAttribute("aria-label", ( localize(6923, "{0} lines added, {1} lines removed", added, removed)));
|
|
156
156
|
} else {
|
|
157
157
|
countsContainer.remove();
|
|
158
158
|
titleButton.element.setAttribute("aria-label", filesLabel);
|
|
@@ -162,8 +162,8 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
162
162
|
secondary: true,
|
|
163
163
|
small: true,
|
|
164
164
|
supportIcons: true,
|
|
165
|
-
ariaLabel: ( localize(
|
|
166
|
-
title: ( localize(
|
|
165
|
+
ariaLabel: ( localize(6924, "View All Changes")),
|
|
166
|
+
title: ( localize(6924, "View All Changes"))
|
|
167
167
|
})));
|
|
168
168
|
viewAllChangesButton.element.classList.add("default-colors");
|
|
169
169
|
viewAllChangesButton.icon = Codicon.diffMultiple;
|
|
@@ -249,7 +249,7 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
249
249
|
}
|
|
250
250
|
async openAllChanges(data) {
|
|
251
251
|
await this.commandService.executeCommand("_workbench.openMultiDiffEditor", {
|
|
252
|
-
title: ( localize(
|
|
252
|
+
title: ( localize(6925, "All Changes")),
|
|
253
253
|
resources: ( data.modifiedFiles.map(file => ({
|
|
254
254
|
originalUri: file.originalUri ? URI.revive(file.originalUri) : undefined,
|
|
255
255
|
modifiedUri: URI.revive(file.uri)
|