@codingame/monaco-vscode-katex-common 32.0.2 → 33.0.9
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 +3 -3
- 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
|
@@ -56,10 +56,10 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
56
56
|
case ChatEntitlement.Pro:
|
|
57
57
|
case ChatEntitlement.ProPlus:
|
|
58
58
|
case ChatEntitlement.Max:
|
|
59
|
-
primaryButtonLabel = isUsageBasedBilling ? ( localize(
|
|
59
|
+
primaryButtonLabel = isUsageBasedBilling ? ( localize(7261, "Configure Budget")) : ( localize(7262, "Configure Budget"));
|
|
60
60
|
break;
|
|
61
61
|
case ChatEntitlement.Free:
|
|
62
|
-
primaryButtonLabel = ( localize(
|
|
62
|
+
primaryButtonLabel = ( localize(7263, "Upgrade to GitHub Copilot Pro"));
|
|
63
63
|
break;
|
|
64
64
|
}
|
|
65
65
|
let hasAddedWaitWarning = false;
|
|
@@ -68,7 +68,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
hasAddedWaitWarning = true;
|
|
71
|
-
append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(
|
|
71
|
+
append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(7264, "Changes may take a few minutes to take effect."))));
|
|
72
72
|
};
|
|
73
73
|
let hasAddedRetryButton = false;
|
|
74
74
|
const addRetryButtonIfNeeded = () => {
|
|
@@ -81,7 +81,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
81
81
|
buttonForeground: asCssVariable(textLinkForeground)
|
|
82
82
|
})));
|
|
83
83
|
retryButton.element.classList.add("chat-quota-error-secondary-button");
|
|
84
|
-
retryButton.label = ( localize(
|
|
84
|
+
retryButton.label = ( localize(7265, "Click to Retry"));
|
|
85
85
|
this._register(retryButton.onDidClick(() => {
|
|
86
86
|
const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
|
|
87
87
|
if (!widget) {
|
|
@@ -57,7 +57,7 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
|
|
|
57
57
|
hoverService,
|
|
58
58
|
configurationService
|
|
59
59
|
) {
|
|
60
|
-
super(labelOverride ?? (data.length > 1 ? ( localize(
|
|
60
|
+
super(labelOverride ?? (data.length > 1 ? ( localize(7266, "Used {0} references", data.length)) : ( localize(7267, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
|
|
61
61
|
this.data = data;
|
|
62
62
|
this.contentReferencesListPool = contentReferencesListPool;
|
|
63
63
|
this.openerService = openerService;
|
|
@@ -215,7 +215,7 @@ let CollapsibleListPool = class CollapsibleListPool extends Disposable {
|
|
|
215
215
|
return basename(reference.uri.path);
|
|
216
216
|
}
|
|
217
217
|
},
|
|
218
|
-
getWidgetAriaLabel: () => ( localize(
|
|
218
|
+
getWidgetAriaLabel: () => ( localize(7268, "Collapsible Chat References List"))
|
|
219
219
|
},
|
|
220
220
|
dnd: {
|
|
221
221
|
getDragURI: element => getResourceForElement(element)?.toString() ?? null,
|
|
@@ -404,7 +404,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
404
404
|
name: settingId
|
|
405
405
|
}, {
|
|
406
406
|
icon: Codicon.settingsGear,
|
|
407
|
-
title: ( localize(
|
|
407
|
+
title: ( localize(7269, "Open setting '{0}'", settingId)),
|
|
408
408
|
strikethrough: data.excluded,
|
|
409
409
|
extraClasses
|
|
410
410
|
});
|
|
@@ -449,7 +449,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
449
449
|
templateData.addedSpan.textContent = `+${diffMeta.added}`;
|
|
450
450
|
templateData.removedSpan.textContent = `-${diffMeta.removed}`;
|
|
451
451
|
templateData.fileDiffsContainer.setAttribute("aria-label", ( localize(
|
|
452
|
-
|
|
452
|
+
7270,
|
|
453
453
|
"{0} lines added, {1} lines removed",
|
|
454
454
|
diffMeta.added,
|
|
455
455
|
diffMeta.removed
|
|
@@ -530,7 +530,7 @@ registerAction2(class AddToChatAction extends Action2 {
|
|
|
530
530
|
super({
|
|
531
531
|
id: AddToChatAction.id,
|
|
532
532
|
title: {
|
|
533
|
-
...( localize2(
|
|
533
|
+
...( localize2(7271, "Add File to Chat"))
|
|
534
534
|
},
|
|
535
535
|
f1: false,
|
|
536
536
|
menu: [{
|
|
@@ -560,7 +560,7 @@ registerAction2(class OpenChatReferenceLinkAction extends Action2 {
|
|
|
560
560
|
super({
|
|
561
561
|
id: OpenChatReferenceLinkAction.id,
|
|
562
562
|
title: {
|
|
563
|
-
...( localize2(
|
|
563
|
+
...( localize2(7272, "Copy Link"))
|
|
564
564
|
},
|
|
565
565
|
f1: false,
|
|
566
566
|
menu: [{
|
|
@@ -188,7 +188,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: SaveResourcesAction.ID,
|
|
191
|
-
title: ( localize2(
|
|
191
|
+
title: ( localize2(7273, "Save...")),
|
|
192
192
|
icon: Codicon.cloudDownload,
|
|
193
193
|
menu: [{
|
|
194
194
|
id: MenuId.ChatToolOutputResourceToolbar,
|
|
@@ -218,14 +218,14 @@ class SaveResourcesAction extends Action2 {
|
|
|
218
218
|
await fileService.writeFile(target, contents.value);
|
|
219
219
|
}
|
|
220
220
|
} catch (e) {
|
|
221
|
-
notificationService.error(( localize(
|
|
221
|
+
notificationService.error(( localize(7274, "Failed to save {0}: {1}", basename(part.uri), e)));
|
|
222
222
|
}
|
|
223
223
|
};
|
|
224
224
|
const withProgress = async (thenReveal, todo) => {
|
|
225
225
|
await progressService.withProgress({
|
|
226
226
|
location: ProgressLocation.Notification,
|
|
227
227
|
delay: 5_000,
|
|
228
|
-
title: ( localize(
|
|
228
|
+
title: ( localize(7275, "Saving resources..."))
|
|
229
229
|
}, async report => {
|
|
230
230
|
for (const task of todo) {
|
|
231
231
|
await task();
|
|
@@ -238,7 +238,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
238
238
|
if (workspaceContextService.isInsideWorkspace(thenReveal)) {
|
|
239
239
|
commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
|
|
240
240
|
} else {
|
|
241
|
-
notificationService.info(( localize(
|
|
241
|
+
notificationService.info(( localize(7276, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
|
|
242
242
|
}
|
|
243
243
|
};
|
|
244
244
|
if (context.parts.length === 1) {
|
|
@@ -250,7 +250,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
250
250
|
await withProgress(uri, [() => savePart(part, false, uri)]);
|
|
251
251
|
} else {
|
|
252
252
|
const uris = await fileDialog.showOpenDialog({
|
|
253
|
-
title: ( localize(
|
|
253
|
+
title: ( localize(7277, "Pick folder to save resources")),
|
|
254
254
|
canSelectFiles: false,
|
|
255
255
|
canSelectFolders: true,
|
|
256
256
|
canSelectMany: false,
|
|
@@ -25,13 +25,13 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
|
|
|
25
25
|
var ChatSubagentContentPart_1;
|
|
26
26
|
registerCss(chatSubagentContent);
|
|
27
27
|
const MAX_TITLE_LENGTH = 100;
|
|
28
|
-
const subagentWorkingMessages = [( localize(
|
|
28
|
+
const subagentWorkingMessages = [( localize(7278, "Processing")), ( localize(7279, "Preparing")), ( localize(7280, "Loading")), ( localize(7281, "Analyzing")), ( localize(7282, "Evaluating"))];
|
|
29
29
|
let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentContentPart extends ChatCollapsibleContentPart {
|
|
30
30
|
static isParentSubagentTool(toolInvocation) {
|
|
31
31
|
return toolInvocation.toolSpecificData?.kind === "subagent" && !toolInvocation.subAgentInvocationId;
|
|
32
32
|
}
|
|
33
33
|
static extractSubagentInfo(toolInvocation) {
|
|
34
|
-
const defaultDescription = ( localize(
|
|
34
|
+
const defaultDescription = ( localize(7283, "Running subagent"));
|
|
35
35
|
if (!ChatSubagentContentPart_1.isParentSubagentTool(toolInvocation)) {
|
|
36
36
|
return {
|
|
37
37
|
description: defaultDescription,
|
|
@@ -92,7 +92,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
92
92
|
prompt,
|
|
93
93
|
modelName
|
|
94
94
|
} = ChatSubagentContentPart_1.extractSubagentInfo(toolInvocation);
|
|
95
|
-
const rawPrefix = agentName || ( localize(
|
|
95
|
+
const rawPrefix = agentName || ( localize(7284, "Subagent"));
|
|
96
96
|
const prefix = rawPrefix.charAt(0).toUpperCase() + rawPrefix.slice(1);
|
|
97
97
|
const initialTitle = `${prefix}: ${description}`;
|
|
98
98
|
super(initialTitle, context, undefined, hoverService, configurationService);
|
|
@@ -239,7 +239,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
239
239
|
return;
|
|
240
240
|
}
|
|
241
241
|
const lines = this.prompt.split("\n");
|
|
242
|
-
const rawFirstLine = lines[0] || ( localize(
|
|
242
|
+
const rawFirstLine = lines[0] || ( localize(7285, "Prompt"));
|
|
243
243
|
const restOfLines = lines.slice(1).join("\n").trim();
|
|
244
244
|
const titleContent = rcut(rawFirstLine, MAX_TITLE_LENGTH);
|
|
245
245
|
const wasTruncated = rawFirstLine.length > MAX_TITLE_LENGTH;
|
|
@@ -287,7 +287,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
287
287
|
if (!this._isDefaultDescription && this.description) {
|
|
288
288
|
return this.description;
|
|
289
289
|
}
|
|
290
|
-
return localize(
|
|
290
|
+
return localize(7284, "Subagent");
|
|
291
291
|
}
|
|
292
292
|
markAsInactive() {
|
|
293
293
|
this.isActive = false;
|
|
@@ -298,7 +298,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
298
298
|
this.removeWorkingSpinner();
|
|
299
299
|
this.hideConfirmationPlaceholder();
|
|
300
300
|
if (this._isDefaultDescription) {
|
|
301
|
-
this.description = ( localize(
|
|
301
|
+
this.description = ( localize(7286, "Ran subagent"));
|
|
302
302
|
}
|
|
303
303
|
this.finalizeTitle();
|
|
304
304
|
this.setExpanded(false);
|
|
@@ -310,7 +310,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
updateTitle() {
|
|
313
|
-
const rawName = this.agentName || ( localize(
|
|
313
|
+
const rawName = this.agentName || ( localize(7284, "Subagent"));
|
|
314
314
|
const prefix = rawName.charAt(0).toUpperCase() + rawName.slice(1);
|
|
315
315
|
const shimmerText = `${prefix}: ${this.description}`;
|
|
316
316
|
const toolCallText = this.currentRunningToolMessage && this.isActive ? ` \u2014 ${this.currentRunningToolMessage}` : ``;
|
|
@@ -371,7 +371,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
371
371
|
return;
|
|
372
372
|
}
|
|
373
373
|
this._hoverDisposable.value = this.hoverService.setupDelayedHover(this._collapseButton.element, {
|
|
374
|
-
content: ( localize(
|
|
374
|
+
content: ( localize(7287, "Model: {0}", this.modelName))
|
|
375
375
|
});
|
|
376
376
|
}
|
|
377
377
|
trackToolState(toolInvocation) {
|
|
@@ -425,7 +425,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
425
425
|
}
|
|
426
426
|
getConfirmationPlaceholderText() {
|
|
427
427
|
const count = this.toolsWaitingForCarouselConfirmation;
|
|
428
|
-
return count === 1 ? ( localize(
|
|
428
|
+
return count === 1 ? ( localize(7288, "1 pending confirmation")) : ( localize(7289, "{0} pending confirmations", count));
|
|
429
429
|
}
|
|
430
430
|
updateConfirmationPlaceholderLabel() {
|
|
431
431
|
if (this._confirmationPlaceholderLabel) {
|
|
@@ -630,7 +630,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
632
|
appendHookItem(factory, hookPart) {
|
|
633
|
-
const hookMessage = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(
|
|
633
|
+
const hookMessage = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(7290, "Blocked {0}", hookPart.toolDisplayName)) : ( localize(7291, "Blocked by hook"))) : (hookPart.toolDisplayName ? ( localize(7292, "Warning for {0}", hookPart.toolDisplayName)) : ( localize(7293, "Hook warning")));
|
|
634
634
|
this.currentRunningToolMessage = hookMessage;
|
|
635
635
|
this.updateTitle();
|
|
636
636
|
if (this.isExpanded() || this.hasExpandedOnce) {
|
|
@@ -53,8 +53,8 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
this._currentMode = mode;
|
|
56
|
-
const modeName = mode.name.get() || mode.label.get() || ( localize(
|
|
57
|
-
this.titleElement.textContent = ( localize(
|
|
56
|
+
const modeName = mode.name.get() || mode.label.get() || ( localize(7294, "current mode"));
|
|
57
|
+
this.titleElement.textContent = ( localize(7295, "Proceed from {0}", modeName));
|
|
58
58
|
const childrenToRemove = [];
|
|
59
59
|
for (let i = 1; i < this.promptsContainer.children.length; i++) {
|
|
60
60
|
childrenToRemove.push(this.promptsContainer.children[i]);
|
|
@@ -91,7 +91,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
91
91
|
const button = $(".chat-welcome-view-suggested-prompt");
|
|
92
92
|
button.setAttribute("tabindex", "0");
|
|
93
93
|
button.setAttribute("role", "button");
|
|
94
|
-
button.setAttribute("aria-label", ( localize(
|
|
94
|
+
button.setAttribute("aria-label", ( localize(7296, "{0}", handoff.label)));
|
|
95
95
|
const titleElement = append(button, $(".chat-welcome-view-suggested-prompt-title"));
|
|
96
96
|
titleElement.textContent = handoff.label;
|
|
97
97
|
const showContinueOn = handoff.showContinueOn ?? true;
|
|
@@ -112,7 +112,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
112
112
|
const dropdownContainer = append(button, $(".chat-suggest-next-dropdown"));
|
|
113
113
|
dropdownContainer.setAttribute("tabindex", "0");
|
|
114
114
|
dropdownContainer.setAttribute("role", "button");
|
|
115
|
-
dropdownContainer.setAttribute("aria-label", ( localize(
|
|
115
|
+
dropdownContainer.setAttribute("aria-label", ( localize(7297, "More options for {0}", handoff.label)));
|
|
116
116
|
dropdownContainer.setAttribute("aria-haspopup", "true");
|
|
117
117
|
const separator = append(dropdownContainer, $(".chat-suggest-next-separator"));
|
|
118
118
|
separator.setAttribute("aria-hidden", "true");
|
|
@@ -127,7 +127,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
127
127
|
const name = getAgentSessionProviderName(provider);
|
|
128
128
|
return (new Action(
|
|
129
129
|
contrib.type,
|
|
130
|
-
localize(
|
|
130
|
+
localize(7298, "Continue in {0}", name),
|
|
131
131
|
ThemeIcon.isThemeIcon(icon) ? ThemeIcon.asClassName(icon) : undefined,
|
|
132
132
|
true,
|
|
133
133
|
() => {
|
|
@@ -197,7 +197,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
197
197
|
const currentHandoffs = this._currentMode?.handOffs?.get();
|
|
198
198
|
return currentHandoffs?.find(h => h.label === handoffLabel) ?? handoff;
|
|
199
199
|
};
|
|
200
|
-
const label = ( localize(
|
|
200
|
+
const label = ( localize(7299, "Start with Autopilot"));
|
|
201
201
|
const button = $(".chat-welcome-view-suggested-prompt");
|
|
202
202
|
button.setAttribute("tabindex", "0");
|
|
203
203
|
button.setAttribute("role", "button");
|
|
@@ -39,7 +39,7 @@ let ChatTextEditContentPart = class ChatTextEditContentPart extends Disposable {
|
|
|
39
39
|
this.domNode = $(
|
|
40
40
|
".interactive-edits-summary",
|
|
41
41
|
undefined,
|
|
42
|
-
!element.isComplete ? "" : element.isCanceled ? ( localize(
|
|
42
|
+
!element.isComplete ? "" : element.isCanceled ? ( localize(7300, "Making changes was aborted.")) : ( localize(7301, "Made changes."))
|
|
43
43
|
);
|
|
44
44
|
} else {
|
|
45
45
|
this.domNode = $("div");
|
|
@@ -83,6 +83,7 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
|
|
|
83
83
|
private titleDetailContainer;
|
|
84
84
|
private readonly _externalResourceWidget;
|
|
85
85
|
private readonly _titleDetailRendered;
|
|
86
|
+
private readonly _pendingAppendRefresh;
|
|
86
87
|
private readonly diffStatsByPartId;
|
|
87
88
|
private _aggregatedDiff;
|
|
88
89
|
get aggregatedDiff(): IEditSessionDiffStats;
|
|
@@ -166,6 +167,7 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
|
|
|
166
167
|
private trackToolMetadata;
|
|
167
168
|
private updateExternalResourceParts;
|
|
168
169
|
private appendItemToDOM;
|
|
170
|
+
private scheduleAppendRefresh;
|
|
169
171
|
private materializeLazyItem;
|
|
170
172
|
setupThinkingContainer(content: IChatThinkingPart): void;
|
|
171
173
|
protected setTitle(title: string, omitPrefix?: boolean): void;
|
|
@@ -92,13 +92,13 @@ var WorkingMessageCategory;
|
|
|
92
92
|
WorkingMessageCategory["Terminal"] = "terminal";
|
|
93
93
|
WorkingMessageCategory["Tool"] = "tool";
|
|
94
94
|
})(WorkingMessageCategory || (WorkingMessageCategory = {}));
|
|
95
|
-
const defaultThinkingMessages = [( localize(
|
|
96
|
-
const terminalMessages = [( localize(
|
|
97
|
-
const toolMessages = [( localize(
|
|
95
|
+
const defaultThinkingMessages = [( localize(7302, "Thinking")), ( localize(7303, "Reasoning")), ( localize(7304, "Considering")), ( localize(7305, "Analyzing")), ( localize(7306, "Evaluating")), ( localize(7307, "Working"))];
|
|
96
|
+
const terminalMessages = [( localize(7308, "Executing")), ( localize(7309, "Running")), ( localize(7310, "Processing"))];
|
|
97
|
+
const toolMessages = [( localize(7311, "Processing")), ( localize(7312, "Preparing")), ( localize(7313, "Loading")), ( localize(7314, "Analyzing")), ( localize(7315, "Evaluating"))];
|
|
98
98
|
const funWorkingMessages = [(
|
|
99
|
-
localize(
|
|
100
|
-
localize(
|
|
101
|
-
localize(
|
|
99
|
+
localize(7316, "Bribing the hamster")), ( localize(7317, "Reticulating splines")), ( localize(7318, "Untangling the spaghetti")), (
|
|
100
|
+
localize(7319, "Mining diamonds")), (
|
|
101
|
+
localize(7320, "Summoning Clippy"))];
|
|
102
102
|
const FUN_WORKING_MESSAGE_RATE = 100;
|
|
103
103
|
function maybePickFunWorkingMessage() {
|
|
104
104
|
if (Math.floor(Math.random() * FUN_WORKING_MESSAGE_RATE) === 0) {
|
|
@@ -163,7 +163,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
163
163
|
accessibilityService
|
|
164
164
|
) {
|
|
165
165
|
const initialText = extractTextFromPart(content);
|
|
166
|
-
const extractedTitle = extractTitleFromThinkingContent(initialText) ?? ( localize(
|
|
166
|
+
const extractedTitle = extractTitleFromThinkingContent(initialText) ?? ( localize(7321, "Thinking"));
|
|
167
167
|
super(extractedTitle, context, undefined, hoverService, configurationService);
|
|
168
168
|
this.chatContentMarkdownRenderer = chatContentMarkdownRenderer;
|
|
169
169
|
this.streamingCompleted = streamingCompleted;
|
|
@@ -174,8 +174,8 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
174
174
|
this.storageService = storageService;
|
|
175
175
|
this._onDidChangeHeight = this._register(( new Emitter()));
|
|
176
176
|
this._asyncRenderCallback = () => this._onDidChangeHeight.fire();
|
|
177
|
-
this.defaultTitle = ( localize(
|
|
178
|
-
this.workingTitle = ( localize(
|
|
177
|
+
this.defaultTitle = ( localize(7322, "Thinking"));
|
|
178
|
+
this.workingTitle = ( localize(7323, "Working"));
|
|
179
179
|
this._markdownResult = this._register(( new MutableDisposable()));
|
|
180
180
|
this.fixedScrollingMode = false;
|
|
181
181
|
this.autoScrollEnabled = true;
|
|
@@ -199,6 +199,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
199
199
|
this.lastKnownContentHeight = 0;
|
|
200
200
|
this.lastKnownScrollTop = 0;
|
|
201
201
|
this._titleDetailRendered = this._register(( new MutableDisposable()));
|
|
202
|
+
this._pendingAppendRefresh = this._register(( new MutableDisposable()));
|
|
202
203
|
this.diffStatsByPartId = ( new Map());
|
|
203
204
|
this._aggregatedDiff = {
|
|
204
205
|
added: 0,
|
|
@@ -220,7 +221,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
220
221
|
this.appendedItemCount++;
|
|
221
222
|
}
|
|
222
223
|
if (this.configurationService.getValue(AccessibilityWorkbenchSettingId.VerboseChatProgressUpdates)) {
|
|
223
|
-
alert(( localize(
|
|
224
|
+
alert(( localize(7324, "Thinking")));
|
|
224
225
|
}
|
|
225
226
|
if (configuredMode === ThinkingDisplayMode.Collapsed) {
|
|
226
227
|
this.setExpanded(false);
|
|
@@ -580,9 +581,9 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
580
581
|
diffContainer.appendChild($("span.label-added", {}, `+${added}`));
|
|
581
582
|
diffContainer.appendChild($("span.label-removed", {}, `-${removed}`));
|
|
582
583
|
labelElement.appendChild(diffContainer);
|
|
583
|
-
const insertionsFragment = added === 1 ? ( localize(
|
|
584
|
-
const deletionsFragment = removed === 1 ? ( localize(
|
|
585
|
-
this._collapseButton.element.ariaLabel = ( localize(
|
|
584
|
+
const insertionsFragment = added === 1 ? ( localize(7325, "1 insertion")) : ( localize(7326, "{0} insertions", added));
|
|
585
|
+
const deletionsFragment = removed === 1 ? ( localize(7327, "1 deletion")) : ( localize(7328, "{0} deletions", removed));
|
|
586
|
+
this._collapseButton.element.ariaLabel = ( localize(7329, "{0}, {1}, {2}", title, insertionsFragment, deletionsFragment));
|
|
586
587
|
} else {
|
|
587
588
|
this._collapseButton.element.ariaLabel = title;
|
|
588
589
|
}
|
|
@@ -619,8 +620,8 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
619
620
|
updateDropdownClickability(knownContentHeight) {
|
|
620
621
|
let allowExpansion = this.shouldAllowExpansion();
|
|
621
622
|
if (allowExpansion && this.fixedScrollingMode && !this.streamingCompleted && !this.element.isComplete && this.wrapper) {
|
|
622
|
-
const contentHeight = knownContentHeight ??
|
|
623
|
-
if (contentHeight <= THINKING_SCROLL_MAX_HEIGHT) {
|
|
623
|
+
const contentHeight = knownContentHeight ?? this.lastKnownContentHeight;
|
|
624
|
+
if (!contentHeight || contentHeight <= THINKING_SCROLL_MAX_HEIGHT) {
|
|
624
625
|
allowExpansion = false;
|
|
625
626
|
}
|
|
626
627
|
}
|
|
@@ -870,7 +871,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
|
|
|
870
871
|
try {
|
|
871
872
|
const models = await this.languageModelsService.selectLanguageModels({
|
|
872
873
|
vendor: "copilot",
|
|
873
|
-
id: "copilot-
|
|
874
|
+
id: "copilot-utility-small"
|
|
874
875
|
});
|
|
875
876
|
if (!models.length) {
|
|
876
877
|
this.setFallbackTitle();
|
|
@@ -1070,7 +1071,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1070
1071
|
}
|
|
1071
1072
|
}
|
|
1072
1073
|
setFallbackTitle() {
|
|
1073
|
-
const finalLabel = this.appendedItemCount > 0 ? this.appendedItemCount === 1 ? ( localize(
|
|
1074
|
+
const finalLabel = this.appendedItemCount > 0 ? this.appendedItemCount === 1 ? ( localize(7330, "Finished with 1 step")) : ( localize(7331, "Finished with {0} steps", this.appendedItemCount)) : ( localize(7332, "Finished Working"));
|
|
1074
1075
|
this.currentTitle = finalLabel;
|
|
1075
1076
|
if (this.wrapper) {
|
|
1076
1077
|
this.wrapper.classList.remove("chat-thinking-streaming");
|
|
@@ -1293,7 +1294,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1293
1294
|
const message = typeof toolInvocationOrMarkdown.invocationMessage === "string" ? toolInvocationOrMarkdown.invocationMessage : toolInvocationOrMarkdown.invocationMessage.value;
|
|
1294
1295
|
const isStreamingEditTool = toolInvocationOrMarkdown.kind === "toolInvocation" && IChatToolInvocation.isStreaming(toolInvocationOrMarkdown) && isGenericEditToolId(toolInvocationOrMarkdown.toolId);
|
|
1295
1296
|
if (isStreamingEditTool) {
|
|
1296
|
-
toolCallLabel = ( localize(
|
|
1297
|
+
toolCallLabel = ( localize(7333, "Editing files"));
|
|
1297
1298
|
} else {
|
|
1298
1299
|
toolCallLabel = message;
|
|
1299
1300
|
}
|
|
@@ -1412,9 +1413,9 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1412
1413
|
const codeblockInfo = extractCodeblockUrisFromText(toolInvocationOrMarkdown.content.value);
|
|
1413
1414
|
if (codeblockInfo?.uri) {
|
|
1414
1415
|
const filename = basename(codeblockInfo.uri);
|
|
1415
|
-
toolCallLabel = ( localize(
|
|
1416
|
+
toolCallLabel = ( localize(7334, "Edited {0}", filename));
|
|
1416
1417
|
} else {
|
|
1417
|
-
toolCallLabel = ( localize(
|
|
1418
|
+
toolCallLabel = ( localize(7335, "Edited file"));
|
|
1418
1419
|
}
|
|
1419
1420
|
} else {
|
|
1420
1421
|
toolCallLabel = toolInvocationId;
|
|
@@ -1507,9 +1508,21 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1507
1508
|
this._register(observeDisposable);
|
|
1508
1509
|
}
|
|
1509
1510
|
}
|
|
1511
|
+
this.scheduleAppendRefresh();
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
scheduleAppendRefresh() {
|
|
1515
|
+
if (this._pendingAppendRefresh.value) {
|
|
1516
|
+
return;
|
|
1517
|
+
}
|
|
1518
|
+
this._pendingAppendRefresh.value = scheduleAtNextAnimationFrame(getWindow(this.wrapper), () => {
|
|
1519
|
+
this._pendingAppendRefresh.clear();
|
|
1520
|
+
if (this._store.isDisposed) {
|
|
1521
|
+
return;
|
|
1522
|
+
}
|
|
1510
1523
|
this.refreshContentHeight();
|
|
1511
1524
|
this.updateScrollDimensionsFromCache();
|
|
1512
|
-
}
|
|
1525
|
+
});
|
|
1513
1526
|
}
|
|
1514
1527
|
materializeLazyItem(item) {
|
|
1515
1528
|
if (item.kind === "thinking") {
|
|
@@ -1603,7 +1616,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1603
1616
|
return;
|
|
1604
1617
|
}
|
|
1605
1618
|
this.lastExtractedTitle = title;
|
|
1606
|
-
const thinkingLabel = ( localize(
|
|
1619
|
+
const thinkingLabel = ( localize(7336, "{0}: {1}", this.defaultTitle, title));
|
|
1607
1620
|
this.currentTitle = thinkingLabel;
|
|
1608
1621
|
if (!this._collapseButton) {
|
|
1609
1622
|
return;
|
|
@@ -1614,7 +1627,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
|
|
|
1614
1627
|
this.titleShimmerSpan = $("span.chat-thinking-title-shimmer");
|
|
1615
1628
|
labelElement.appendChild(this.titleShimmerSpan);
|
|
1616
1629
|
}
|
|
1617
|
-
this.titleShimmerSpan.textContent = ( localize(
|
|
1630
|
+
this.titleShimmerSpan.textContent = ( localize(7337, "{0}: ", this.defaultTitle));
|
|
1618
1631
|
this._titleDetailRendered.clear();
|
|
1619
1632
|
const result = this.chatContentMarkdownRenderer.render(( new MarkdownString(title)));
|
|
1620
1633
|
result.element.classList.add("collapsible-title-content", "chat-thinking-title-detail");
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js
CHANGED
|
@@ -57,7 +57,7 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
|
|
|
57
57
|
this.domNode = $(".chat-tip-widget");
|
|
58
58
|
this.domNode.tabIndex = 0;
|
|
59
59
|
this.domNode.setAttribute("role", "region");
|
|
60
|
-
this.domNode.setAttribute("aria-roledescription", ( localize(
|
|
60
|
+
this.domNode.setAttribute("aria-roledescription", ( localize(7338, "tip")));
|
|
61
61
|
this._inChatTipContextKey = ChatContextKeys.inChatTip.bindTo(this._contextKeyService);
|
|
62
62
|
this._multipleChatTipsContextKey = ChatContextKeys.multipleChatTips.bindTo(this._contextKeyService);
|
|
63
63
|
const focusTracker = this._register(trackFocus(this.domNode));
|
|
@@ -119,9 +119,9 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
|
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
this.domNode.appendChild(toolbarContainer);
|
|
122
|
-
const textContent = markdownContent.element.textContent ?? ( localize(
|
|
122
|
+
const textContent = markdownContent.element.textContent ?? ( localize(7339, "Chat tip"));
|
|
123
123
|
const hasLink = /\[.*?\]\(.*?\)/.test(tip.content.value);
|
|
124
|
-
const ariaLabel = hasLink ? ( localize(
|
|
124
|
+
const ariaLabel = hasLink ? ( localize(7340, "{0} Tab to reach the action.", textContent)) : textContent;
|
|
125
125
|
this.domNode.setAttribute("aria-label", ariaLabel);
|
|
126
126
|
}
|
|
127
127
|
async _handleTipAction(link, mdStr) {
|
|
@@ -134,6 +134,9 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
|
|
|
134
134
|
await openLinkFromMarkdown(this._openerService, link, mdStr.isTrusted);
|
|
135
135
|
}
|
|
136
136
|
_shouldTriggerSetup() {
|
|
137
|
+
if (this._chatEntitlementService.hasByokModels) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
137
140
|
const sentiment = this._chatEntitlementService.sentiment;
|
|
138
141
|
if (!sentiment?.completed) {
|
|
139
142
|
return true;
|
|
@@ -146,7 +149,7 @@ registerAction2(class PreviousTipAction extends Action2 {
|
|
|
146
149
|
constructor() {
|
|
147
150
|
super({
|
|
148
151
|
id: "workbench.action.chat.previousTip",
|
|
149
|
-
title: ( localize2(
|
|
152
|
+
title: ( localize2(7341, "Previous tip")),
|
|
150
153
|
icon: Codicon.chevronLeft,
|
|
151
154
|
precondition: ChatContextKeys.multipleChatTips,
|
|
152
155
|
f1: false,
|
|
@@ -166,7 +169,7 @@ registerAction2(class NextTipAction extends Action2 {
|
|
|
166
169
|
constructor() {
|
|
167
170
|
super({
|
|
168
171
|
id: "workbench.action.chat.nextTip",
|
|
169
|
-
title: ( localize2(
|
|
172
|
+
title: ( localize2(7342, "Next tip")),
|
|
170
173
|
icon: Codicon.chevronRight,
|
|
171
174
|
precondition: ChatContextKeys.multipleChatTips,
|
|
172
175
|
f1: false,
|
|
@@ -186,7 +189,7 @@ registerAction2(class DismissTipToolbarAction extends Action2 {
|
|
|
186
189
|
constructor() {
|
|
187
190
|
super({
|
|
188
191
|
id: "workbench.action.chat.dismissTipToolbar",
|
|
189
|
-
title: ( localize2(
|
|
192
|
+
title: ( localize2(7343, "Dismiss tip")),
|
|
190
193
|
icon: Codicon.check,
|
|
191
194
|
f1: false,
|
|
192
195
|
menu: [{
|
|
@@ -204,7 +207,7 @@ registerAction2(class DismissTipAction extends Action2 {
|
|
|
204
207
|
constructor() {
|
|
205
208
|
super({
|
|
206
209
|
id: "workbench.action.chat.dismissTip",
|
|
207
|
-
title: ( localize2(
|
|
210
|
+
title: ( localize2(7344, "Dismiss this tip")),
|
|
208
211
|
f1: false,
|
|
209
212
|
menu: [{
|
|
210
213
|
id: MenuId.ChatTipContext,
|
|
@@ -221,7 +224,7 @@ registerAction2(class DisableTipsAction extends Action2 {
|
|
|
221
224
|
constructor() {
|
|
222
225
|
super({
|
|
223
226
|
id: "workbench.action.chat.disableTips",
|
|
224
|
-
title: ( localize2(
|
|
227
|
+
title: ( localize2(7345, "Disable tips")),
|
|
225
228
|
icon: Codicon.bellSlash,
|
|
226
229
|
f1: false,
|
|
227
230
|
menu: [{
|
|
@@ -246,7 +249,7 @@ registerAction2(class ResetDismissedTipsAction extends Action2 {
|
|
|
246
249
|
constructor() {
|
|
247
250
|
super({
|
|
248
251
|
id: "workbench.action.chat.resetDismissedTips",
|
|
249
|
-
title: ( localize2(
|
|
252
|
+
title: ( localize2(7346, "Reset Dismissed Tips")),
|
|
250
253
|
f1: true,
|
|
251
254
|
precondition: ChatContextKeys.enabled
|
|
252
255
|
});
|