@codingame/monaco-vscode-katex-common 32.0.0 → 32.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/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 +3 -3
- 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/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.js +2 -2
- 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.js +6 -6
- 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.js +19 -19
- 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.js +17 -17
- 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/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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/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.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/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +15 -15
- 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.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +41 -41
- 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/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/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/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/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 +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +53 -53
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
|
@@ -112,7 +112,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
112
112
|
moreActions = [];
|
|
113
113
|
if (!autoApproveWarningAccepted) {
|
|
114
114
|
moreActions.push({
|
|
115
|
-
label: ( localize(
|
|
115
|
+
label: ( localize(7321, "Enable Auto Approve...")),
|
|
116
116
|
data: {
|
|
117
117
|
type: "enable"
|
|
118
118
|
}
|
|
@@ -200,7 +200,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
200
200
|
const detailParts = [];
|
|
201
201
|
if (terminalData.requestUnsandboxedExecution) {
|
|
202
202
|
const reasonText = (terminalData.requestUnsandboxedExecutionReason && terminalData.requestUnsandboxedExecutionReason.trim()) || ( localize(
|
|
203
|
-
|
|
203
|
+
7322,
|
|
204
204
|
"The model did not provide a reason for requesting unsandboxed execution."
|
|
205
205
|
));
|
|
206
206
|
const inline = ( new MarkdownString(undefined, {
|
|
@@ -210,7 +210,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
210
210
|
inline.appendText(reasonText);
|
|
211
211
|
detailParts.push({
|
|
212
212
|
inline,
|
|
213
|
-
hoverLabel: ( localize(
|
|
213
|
+
hoverLabel: ( localize(7323, "Sandbox insufficient:")),
|
|
214
214
|
hoverBody: escapeMarkdownSyntaxTokens(reasonText),
|
|
215
215
|
isTrusted: undefined
|
|
216
216
|
});
|
|
@@ -220,7 +220,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
220
220
|
const hoverBody = inline.value.replace(/^\s*\$\([^)]+\)\s*/, "");
|
|
221
221
|
detailParts.push({
|
|
222
222
|
inline,
|
|
223
|
-
hoverLabel: ( localize(
|
|
223
|
+
hoverLabel: ( localize(7324, "Approval needed:")),
|
|
224
224
|
hoverBody,
|
|
225
225
|
isTrusted: inline.isTrusted
|
|
226
226
|
});
|
|
@@ -379,7 +379,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
379
379
|
}
|
|
380
380
|
const target = scope === "workspace" ? ConfigurationTarget.WORKSPACE : ConfigurationTarget.USER;
|
|
381
381
|
const settingsUri = createCommandUri(TerminalContribCommandId.OpenTerminalSettingsLink, target);
|
|
382
|
-
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(
|
|
382
|
+
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(7325, "View rule in settings"))}")`;
|
|
383
383
|
})).join(", ");
|
|
384
384
|
}
|
|
385
385
|
const mdTrustSettings = {
|
|
@@ -390,33 +390,33 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
390
390
|
const parts = [];
|
|
391
391
|
if (sessionRules.length > 0) {
|
|
392
392
|
parts.push(sessionRules.length === 1 ? ( localize(
|
|
393
|
-
|
|
393
|
+
7326,
|
|
394
394
|
"Session auto approve rule {0} added",
|
|
395
395
|
formatRuleLinks(sessionRules, "session")
|
|
396
396
|
)) : ( localize(
|
|
397
|
-
|
|
397
|
+
7327,
|
|
398
398
|
"Session auto approve rules {0} added",
|
|
399
399
|
formatRuleLinks(sessionRules, "session")
|
|
400
400
|
)));
|
|
401
401
|
}
|
|
402
402
|
if (workspaceRules.length > 0) {
|
|
403
403
|
parts.push(workspaceRules.length === 1 ? ( localize(
|
|
404
|
-
|
|
404
|
+
7328,
|
|
405
405
|
"Workspace auto approve rule {0} added",
|
|
406
406
|
formatRuleLinks(workspaceRules, "workspace")
|
|
407
407
|
)) : ( localize(
|
|
408
|
-
|
|
408
|
+
7329,
|
|
409
409
|
"Workspace auto approve rules {0} added",
|
|
410
410
|
formatRuleLinks(workspaceRules, "workspace")
|
|
411
411
|
)));
|
|
412
412
|
}
|
|
413
413
|
if (userRules.length > 0) {
|
|
414
414
|
parts.push(userRules.length === 1 ? ( localize(
|
|
415
|
-
|
|
415
|
+
7330,
|
|
416
416
|
"User auto approve rule {0} added",
|
|
417
417
|
formatRuleLinks(userRules, "user")
|
|
418
418
|
)) : ( localize(
|
|
419
|
-
|
|
419
|
+
7331,
|
|
420
420
|
"User auto approve rules {0} added",
|
|
421
421
|
formatRuleLinks(userRules, "user")
|
|
422
422
|
)));
|
|
@@ -446,7 +446,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
446
446
|
enabledCommands: [TerminalContribCommandId.DisableSessionAutoApproval]
|
|
447
447
|
}
|
|
448
448
|
};
|
|
449
|
-
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(
|
|
449
|
+
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(7332, "All commands will be auto approved for this session"))} ([${( localize(7333, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
|
|
450
450
|
toolConfirmKind = ToolConfirmKind.UserAction;
|
|
451
451
|
break;
|
|
452
452
|
}
|
|
@@ -472,11 +472,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
472
472
|
};
|
|
473
473
|
};
|
|
474
474
|
return [{
|
|
475
|
-
...getLabelAndTooltip(( localize(
|
|
475
|
+
...getLabelAndTooltip(( localize(7334, "Allow")), AcceptToolConfirmationActionId),
|
|
476
476
|
data: true,
|
|
477
477
|
moreActions
|
|
478
478
|
}, {
|
|
479
|
-
...getLabelAndTooltip(( localize(
|
|
479
|
+
...getLabelAndTooltip(( localize(7335, "Skip")), SkipToolConfirmationActionId, ( localize(7336, "Proceed without executing this command"))),
|
|
480
480
|
data: {
|
|
481
481
|
type: "skip"
|
|
482
482
|
},
|
|
@@ -486,9 +486,9 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
486
486
|
async _showAutoApproveWarning() {
|
|
487
487
|
const promptResult = await this.dialogService.prompt({
|
|
488
488
|
type: Severity.Info,
|
|
489
|
-
message: ( localize(
|
|
489
|
+
message: ( localize(7337, "Enable terminal auto approve?")),
|
|
490
490
|
buttons: [{
|
|
491
|
-
label: ( localize(
|
|
491
|
+
label: ( localize(7338, "Enable")),
|
|
492
492
|
run: () => true
|
|
493
493
|
}],
|
|
494
494
|
cancelButton: true,
|
|
@@ -496,11 +496,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
496
496
|
icon: Codicon.shield,
|
|
497
497
|
markdownDetails: [{
|
|
498
498
|
markdown: ( new MarkdownString(( localize(
|
|
499
|
-
|
|
499
|
+
7339,
|
|
500
500
|
"This will enable a configurable subset of commands to run in the terminal autonomously. It provides *best effort protections* and assumes the agent is not acting maliciously."
|
|
501
501
|
))))
|
|
502
502
|
}, {
|
|
503
|
-
markdown: ( new MarkdownString(`[${( localize(
|
|
503
|
+
markdown: ( new MarkdownString(`[${( localize(7340, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/copilot/security#_security-considerations)`))
|
|
504
504
|
}]
|
|
505
505
|
}
|
|
506
506
|
});
|
|
@@ -325,7 +325,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
325
325
|
const markdownOptions = {
|
|
326
326
|
codeBlockRenderOptions,
|
|
327
327
|
accessibilityOptions: pastTenseMessage ? {
|
|
328
|
-
statusMessage: ( localize(
|
|
328
|
+
statusMessage: ( localize(7341, "{0}", stripIcons(pastTenseMessage)))
|
|
329
329
|
} : undefined
|
|
330
330
|
};
|
|
331
331
|
this.markdownPart = this._register(_instantiationService.createInstance(
|
|
@@ -531,12 +531,12 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
531
531
|
this._actionBarActions.clear();
|
|
532
532
|
const actions = [];
|
|
533
533
|
if (this._toolbarCanContinueInBackground) {
|
|
534
|
-
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(
|
|
534
|
+
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(7342, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true, () => this.continueInBackground()));
|
|
535
535
|
this._actionBarActions.add(action);
|
|
536
536
|
actions.push(action);
|
|
537
537
|
}
|
|
538
538
|
if (this._toolbarHasInstance) {
|
|
539
|
-
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(
|
|
539
|
+
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(7343, "Show and Focus Terminal")) : ( localize(7344, "Focus Terminal"));
|
|
540
540
|
const action = ( new Action(
|
|
541
541
|
TerminalContribCommandId.FocusChatInstanceAction,
|
|
542
542
|
focusLabel,
|
|
@@ -549,7 +549,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
549
549
|
}
|
|
550
550
|
if (this._toolbarHasOutput && !this._usesCollapsibleWrapper) {
|
|
551
551
|
const toggleIcon = this._toolbarOutputExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
552
|
-
const toggleLabel = this._toolbarOutputExpanded ? ( localize(
|
|
552
|
+
const toggleLabel = this._toolbarOutputExpanded ? ( localize(7345, "Hide Output")) : ( localize(7346, "Show Output"));
|
|
553
553
|
const action = ( new Action(
|
|
554
554
|
TerminalContribCommandId.ToggleChatTerminalOutput,
|
|
555
555
|
toggleLabel,
|
|
@@ -982,7 +982,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
982
982
|
if (!commandText) {
|
|
983
983
|
return;
|
|
984
984
|
}
|
|
985
|
-
const ariaLabel = ( localize(
|
|
985
|
+
const ariaLabel = ( localize(7347, "Terminal output for {0}", commandText));
|
|
986
986
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
987
987
|
scrollableDomNode.setAttribute("role", "region");
|
|
988
988
|
const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
|
|
@@ -995,26 +995,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
995
995
|
if (!commandText) {
|
|
996
996
|
return undefined;
|
|
997
997
|
}
|
|
998
|
-
const commandHeader = ( localize(
|
|
998
|
+
const commandHeader = ( localize(7348, "Command: {0}", commandText));
|
|
999
999
|
if (command) {
|
|
1000
1000
|
const rawOutput = command.getOutput();
|
|
1001
1001
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
1002
|
-
return `${commandHeader}\n${( localize(
|
|
1002
|
+
return `${commandHeader}\n${( localize(7349, "No output was produced by the command."))}`;
|
|
1003
1003
|
}
|
|
1004
1004
|
const lines = rawOutput.split("\n");
|
|
1005
1005
|
return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
|
|
1006
1006
|
}
|
|
1007
1007
|
const snapshot = this._getTerminalCommandOutput();
|
|
1008
1008
|
if (!snapshot) {
|
|
1009
|
-
return `${commandHeader}\n${( localize(
|
|
1009
|
+
return `${commandHeader}\n${( localize(7350, "Command output is no longer available."))}`;
|
|
1010
1010
|
}
|
|
1011
1011
|
const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
|
|
1012
1012
|
if (!plain.trim().length) {
|
|
1013
|
-
return `${commandHeader}\n${( localize(
|
|
1013
|
+
return `${commandHeader}\n${( localize(7349, "No output was produced by the command."))}`;
|
|
1014
1014
|
}
|
|
1015
1015
|
let outputText = plain.trimEnd();
|
|
1016
1016
|
if (snapshot.truncated) {
|
|
1017
|
-
outputText += `\n${( localize(
|
|
1017
|
+
outputText += `\n${( localize(7351, "Output truncated."))}`;
|
|
1018
1018
|
}
|
|
1019
1019
|
return `${commandHeader}\n${outputText}`;
|
|
1020
1020
|
}
|
|
@@ -1126,7 +1126,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1126
1126
|
}
|
|
1127
1127
|
if (!hasOutput) {
|
|
1128
1128
|
if (commandFinished) {
|
|
1129
|
-
this._showEmptyMessage(( localize(
|
|
1129
|
+
this._showEmptyMessage(( localize(7349, "No output was produced by the command.")));
|
|
1130
1130
|
}
|
|
1131
1131
|
} else {
|
|
1132
1132
|
this._hideEmptyMessage();
|
|
@@ -1153,7 +1153,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1153
1153
|
if (hasText) {
|
|
1154
1154
|
this._hideEmptyMessage();
|
|
1155
1155
|
} else {
|
|
1156
|
-
this._showEmptyMessage(( localize(
|
|
1156
|
+
this._showEmptyMessage(( localize(7349, "No output was produced by the command.")));
|
|
1157
1157
|
}
|
|
1158
1158
|
const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
|
|
1159
1159
|
this._layoutOutput(lineCount);
|
|
@@ -1162,9 +1162,9 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1162
1162
|
clearNode(this._terminalContainer);
|
|
1163
1163
|
this._lastRenderedLineCount = undefined;
|
|
1164
1164
|
if (!liveTerminalInstance) {
|
|
1165
|
-
this._showEmptyMessage(( localize(
|
|
1165
|
+
this._showEmptyMessage(( localize(7352, "Terminal is no longer available.")));
|
|
1166
1166
|
} else {
|
|
1167
|
-
this._showEmptyMessage(( localize(
|
|
1167
|
+
this._showEmptyMessage(( localize(7353, "Command information is not available.")));
|
|
1168
1168
|
}
|
|
1169
1169
|
}
|
|
1170
1170
|
async _resolveLiveTerminal() {
|
|
@@ -1289,7 +1289,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1289
1289
|
hoverService,
|
|
1290
1290
|
configurationService
|
|
1291
1291
|
) {
|
|
1292
|
-
const title = isSkipped ? ( localize(
|
|
1292
|
+
const title = isSkipped ? ( localize(7354, "Skipped {0}", commandText)) : isComplete ? ( localize(7355, "Ran {0}", commandText)) : ( localize(7356, "Running {0}", commandText));
|
|
1293
1293
|
super(title, context, undefined, hoverService, configurationService);
|
|
1294
1294
|
this._terminalContentElement = contentElement;
|
|
1295
1295
|
this._commandText = commandText;
|
|
@@ -1310,8 +1310,8 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1310
1310
|
const labelElement = this._collapseButton.labelElement;
|
|
1311
1311
|
labelElement.textContent = "";
|
|
1312
1312
|
if (this._isSandboxWrapped) {
|
|
1313
|
-
const prefixText = this._isSkipped ? ( localize(
|
|
1314
|
-
const suffixText = ( localize(
|
|
1313
|
+
const prefixText = this._isSkipped ? ( localize(7357, "Skipped ")) : this._isComplete ? ( localize(7358, "Ran ")) : ( localize(7359, "Running "));
|
|
1314
|
+
const suffixText = ( localize(7360, " in sandbox"));
|
|
1315
1315
|
labelElement.appendChild(createTextNode(prefixText));
|
|
1316
1316
|
const codeElement = createElement("code");
|
|
1317
1317
|
codeElement.textContent = this._commandText;
|
|
@@ -1319,7 +1319,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1319
1319
|
labelElement.appendChild(createTextNode(suffixText));
|
|
1320
1320
|
return;
|
|
1321
1321
|
}
|
|
1322
|
-
const prefixText = this._isSkipped ? ( localize(
|
|
1322
|
+
const prefixText = this._isSkipped ? ( localize(7361, "Skipped ")) : this._isComplete ? ( localize(7362, "Ran ")) : ( localize(7363, "Running "));
|
|
1323
1323
|
const ranText = createTextNode(prefixText);
|
|
1324
1324
|
const codeElement = createElement("code");
|
|
1325
1325
|
codeElement.textContent = this._commandText;
|
|
@@ -54,7 +54,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
54
54
|
this.domNode = elements.root;
|
|
55
55
|
this.domNode.tabIndex = -1;
|
|
56
56
|
this.domNode.setAttribute("role", "group");
|
|
57
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
57
|
+
this.domNode.setAttribute("aria-label", ( localize(7364, "Tool confirmation carousel")));
|
|
58
58
|
this.collapsedTitle = elements.collapsedTitle;
|
|
59
59
|
this.agentLabel = elements.agentLabel;
|
|
60
60
|
this.contentContainer = elements.content;
|
|
@@ -74,7 +74,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
74
74
|
small: true
|
|
75
75
|
})));
|
|
76
76
|
this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
|
|
77
|
-
this.allowAllButton.label = ( localize(
|
|
77
|
+
this.allowAllButton.label = ( localize(7365, "Allow All"));
|
|
78
78
|
this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
|
|
79
79
|
this.expandContentButton = this._register(( new Button(elements.overlayActions, {
|
|
80
80
|
...defaultButtonStyles,
|
|
@@ -96,7 +96,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
96
96
|
})));
|
|
97
97
|
this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
|
|
98
98
|
this.dismissButton.label = `$(${Codicon.close.id})`;
|
|
99
|
-
const dismissButtonLabel = this.items.length === 1 ? ( localize(
|
|
99
|
+
const dismissButtonLabel = this.items.length === 1 ? ( localize(7366, "Skip")) : ( localize(7367, "Skip All"));
|
|
100
100
|
this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
|
|
101
101
|
this.dismissButton.element.title = dismissButtonLabel;
|
|
102
102
|
this._register(this.dismissButton.onDidClick(() => this.skipAll()));
|
|
@@ -107,7 +107,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
107
107
|
})));
|
|
108
108
|
this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
109
109
|
this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
|
|
110
|
-
this.prevButton.element.setAttribute("aria-label", ( localize(
|
|
110
|
+
this.prevButton.element.setAttribute("aria-label", ( localize(7368, "Previous")));
|
|
111
111
|
this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
|
|
112
112
|
this.nextButton = this._register(( new Button(elements.navArrows, {
|
|
113
113
|
...defaultButtonStyles,
|
|
@@ -116,7 +116,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
116
116
|
})));
|
|
117
117
|
this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
118
118
|
this.nextButton.label = `$(${Codicon.chevronRight.id})`;
|
|
119
|
-
this.nextButton.element.setAttribute("aria-label", ( localize(
|
|
119
|
+
this.nextButton.element.setAttribute("aria-label", ( localize(7369, "Next")));
|
|
120
120
|
this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
|
|
121
121
|
this._register(addDisposableListener(this.agentLabel, "click", e => {
|
|
122
122
|
e.preventDefault();
|
|
@@ -308,7 +308,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
308
308
|
if (item?.agentName) {
|
|
309
309
|
this.agentLabel.textContent = `\u2014 ${item.agentName}`;
|
|
310
310
|
this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
|
|
311
|
-
this.agentLabel.title = ( localize(
|
|
311
|
+
this.agentLabel.title = ( localize(7370, "Scroll to {0}", item.agentName));
|
|
312
312
|
this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
|
|
313
313
|
show(this.agentLabel);
|
|
314
314
|
} else {
|
|
@@ -326,7 +326,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
326
326
|
setVisibility(multi, this.nextButton.element);
|
|
327
327
|
setVisibility(multi, this.allowAllButton.element);
|
|
328
328
|
setVisibility(this.canExpandContent, this.expandContentButton.element);
|
|
329
|
-
this.allowAllButton.label = multi ? ( localize(
|
|
329
|
+
this.allowAllButton.label = multi ? ( localize(7365, "Allow All")) : ( localize(7371, "Allow"));
|
|
330
330
|
this.updateExpandContentButton();
|
|
331
331
|
}
|
|
332
332
|
renderActiveContent() {
|
|
@@ -381,7 +381,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
381
381
|
}
|
|
382
382
|
updateExpandContentButton() {
|
|
383
383
|
const expanded = this.canExpandContent && this._isContentExpanded;
|
|
384
|
-
const label = expanded ? ( localize(
|
|
384
|
+
const label = expanded ? ( localize(7372, "Restore Confirmation Size")) : ( localize(7373, "Expand Confirmation Up"));
|
|
385
385
|
this.expandContentButton.label = expanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
|
|
386
386
|
this.expandContentButton.element.setAttribute("aria-label", label);
|
|
387
387
|
this.expandContentButton.element.setAttribute("aria-expanded", String(expanded));
|
|
@@ -78,8 +78,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
78
78
|
this.render({
|
|
79
79
|
allowActionId: AcceptToolConfirmationActionId,
|
|
80
80
|
skipActionId: SkipToolConfirmationActionId,
|
|
81
|
-
allowLabel: state.confirmationMessages.confirmResults ? ( localize(
|
|
82
|
-
skipLabel: ( localize(
|
|
81
|
+
allowLabel: state.confirmationMessages.confirmResults ? ( localize(7374, "Allow and Review Once")) : ( localize(7375, "Allow Once")),
|
|
82
|
+
skipLabel: ( localize(7376, "Proceed without running this tool")),
|
|
83
83
|
partType: "chatToolConfirmation",
|
|
84
84
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
|
|
85
85
|
});
|
|
@@ -125,7 +125,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
125
125
|
}
|
|
126
126
|
if (state.confirmationMessages?.confirmResults) {
|
|
127
127
|
actions.unshift({
|
|
128
|
-
label: ( localize(
|
|
128
|
+
label: ( localize(7377, "Allow and Skip Reviewing Result")),
|
|
129
129
|
data: () => {
|
|
130
130
|
state.confirmationMessages.confirmResults = undefined;
|
|
131
131
|
this.confirmWith(this.toolInvocation, {
|
|
@@ -167,11 +167,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
167
167
|
};
|
|
168
168
|
const elements = h("div", [h(".message@messageContainer", [
|
|
169
169
|
h(".message-wrapper@message"),
|
|
170
|
-
h(".see-more@showMore", [h("a", [( localize(
|
|
170
|
+
h(".see-more@showMore", [h("a", [( localize(7378, "Show More"))])])
|
|
171
171
|
]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
|
|
172
172
|
if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
|
|
173
173
|
const titleEl = createElement("h3");
|
|
174
|
-
titleEl.textContent = ( localize(
|
|
174
|
+
titleEl.textContent = ( localize(7379, "Input"));
|
|
175
175
|
elements.editor.appendChild(titleEl);
|
|
176
176
|
const inputData = toolInvocation.toolSpecificData;
|
|
177
177
|
const codeBlockRenderOptions = {
|
|
@@ -241,7 +241,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
241
241
|
elements.editor.append(editor.object.element);
|
|
242
242
|
if (canSeeMore) {
|
|
243
243
|
const seeMore = h("div.see-more", [h("a@link")]);
|
|
244
|
-
seeMore.link.textContent = ( localize(
|
|
244
|
+
seeMore.link.textContent = ( localize(7380, "See more"));
|
|
245
245
|
this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
|
|
246
246
|
try {
|
|
247
247
|
const parsed = JSON.parse(model.getValue());
|
|
@@ -75,7 +75,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
75
75
|
partState.webviewOrigin = partState.webviewOrigin;
|
|
76
76
|
}
|
|
77
77
|
const progressMessage = $("span");
|
|
78
|
-
progressMessage.textContent = ( localize(
|
|
78
|
+
progressMessage.textContent = ( localize(7381, "Rendering tool output..."));
|
|
79
79
|
const progressPart = this._register(this.instantiationService.createInstance(
|
|
80
80
|
ChatProgressSubPart,
|
|
81
81
|
progressMessage,
|
|
@@ -125,7 +125,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
125
125
|
iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
|
|
126
126
|
errorHeaderNode.append(iconElement);
|
|
127
127
|
const errorTitleNode = $(".output-error-title");
|
|
128
|
-
errorTitleNode.textContent = ( localize(
|
|
128
|
+
errorTitleNode.textContent = ( localize(7382, "Error rendering the tool output"));
|
|
129
129
|
errorHeaderNode.append(errorTitleNode);
|
|
130
130
|
const errorMessageNode = $(".output-error-details");
|
|
131
131
|
errorMessageNode.textContent = error?.message || String(error);
|
|
@@ -26,20 +26,20 @@ function getApprovalMessageFromReason(reason) {
|
|
|
26
26
|
let md;
|
|
27
27
|
switch (reason.type) {
|
|
28
28
|
case ToolConfirmKind.Setting:
|
|
29
|
-
md = ( localize(
|
|
29
|
+
md = ( localize(7383, "Auto approved by {0}", createMarkdownCommandLink({
|
|
30
30
|
text: "`" + reason.id + "`",
|
|
31
31
|
id: "workbench.action.openSettings",
|
|
32
32
|
arguments: [reason.id],
|
|
33
|
-
tooltip: ( localize(
|
|
33
|
+
tooltip: ( localize(7384, "Open settings"))
|
|
34
34
|
}, false)));
|
|
35
35
|
break;
|
|
36
36
|
case ToolConfirmKind.LmServicePerTool:
|
|
37
|
-
md = reason.scope === "session" ? ( localize(
|
|
37
|
+
md = reason.scope === "session" ? ( localize(7385, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(7386, "Auto approved for this workspace")) : ( localize(7387, "Auto approved for this profile"));
|
|
38
38
|
md += " (" + createMarkdownCommandLink({
|
|
39
|
-
text: ( localize(
|
|
39
|
+
text: ( localize(7388, "Edit")),
|
|
40
40
|
id: "workbench.action.chat.editToolApproval",
|
|
41
41
|
arguments: [reason.scope],
|
|
42
|
-
tooltip: ( localize(
|
|
42
|
+
tooltip: ( localize(7389, "Edit tool approval settings"))
|
|
43
43
|
}) + ")";
|
|
44
44
|
break;
|
|
45
45
|
case ToolConfirmKind.ConfirmationNotNeeded:
|
|
@@ -46,8 +46,8 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
46
46
|
this.render({
|
|
47
47
|
allowActionId: AcceptToolPostConfirmationActionId,
|
|
48
48
|
skipActionId: SkipToolPostConfirmationActionId,
|
|
49
|
-
allowLabel: ( localize(
|
|
50
|
-
skipLabel: ( localize(
|
|
49
|
+
allowLabel: ( localize(7390, "Allow Once")),
|
|
50
|
+
skipLabel: ( localize(7391, "Skip Results")),
|
|
51
51
|
partType: "chatToolPostConfirmation",
|
|
52
52
|
subtitle: typeof subtitle === "string" ? subtitle : subtitle?.value
|
|
53
53
|
});
|
|
@@ -63,7 +63,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
63
63
|
return this.createResultsDisplay(this.toolInvocation, state.contentForModel);
|
|
64
64
|
}
|
|
65
65
|
getTitle() {
|
|
66
|
-
return localize(
|
|
66
|
+
return localize(7392, "Approve Tool Result");
|
|
67
67
|
}
|
|
68
68
|
additionalPrimaryActions() {
|
|
69
69
|
const actions = super.additionalPrimaryActions();
|
|
@@ -99,7 +99,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
99
99
|
createResultsDisplay(toolInvocation, contentForModel) {
|
|
100
100
|
const container = $(".tool-postconfirm-display");
|
|
101
101
|
if (!contentForModel || contentForModel.length === 0) {
|
|
102
|
-
container.textContent = ( localize(
|
|
102
|
+
container.textContent = ( localize(7393, "No results to display"));
|
|
103
103
|
return container;
|
|
104
104
|
}
|
|
105
105
|
const parts = [];
|
|
@@ -214,7 +214,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
214
214
|
outputSubPart.domNode.classList.add("tool-postconfirm-display");
|
|
215
215
|
return outputSubPart.domNode;
|
|
216
216
|
}
|
|
217
|
-
container.textContent = ( localize(
|
|
217
|
+
container.textContent = ( localize(7394, "No displayable results"));
|
|
218
218
|
return container;
|
|
219
219
|
}
|
|
220
220
|
};
|
|
@@ -30,7 +30,7 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
30
30
|
this._detailsIconEl.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
31
31
|
this._detailsIconEl.tabIndex = 0;
|
|
32
32
|
this._detailsIconEl.setAttribute("role", "button");
|
|
33
|
-
this._detailsIconEl.setAttribute("aria-label", ( localize(
|
|
33
|
+
this._detailsIconEl.setAttribute("aria-label", ( localize(7395, "Risk assessment details")));
|
|
34
34
|
this.domNode.append(this._iconEl, this._textEl, this._detailsIconEl);
|
|
35
35
|
this._refreshDetailsHover();
|
|
36
36
|
this.setLoading();
|
|
@@ -38,9 +38,9 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
38
38
|
setLoading() {
|
|
39
39
|
this._setVariant("loading");
|
|
40
40
|
this._setIcon(ThemeIcon.modify(Codicon.loading, "spin"));
|
|
41
|
-
const text = ( localize(
|
|
41
|
+
const text = ( localize(7396, "Assessing risk…"));
|
|
42
42
|
this._textEl.textContent = text;
|
|
43
|
-
this._setHover(( localize(
|
|
43
|
+
this._setHover(( localize(7397, "Generating a risk assessment for this tool call.")));
|
|
44
44
|
}
|
|
45
45
|
setHidden() {
|
|
46
46
|
this.domNode.style.display = "none";
|
|
@@ -102,7 +102,7 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
102
102
|
);
|
|
103
103
|
}
|
|
104
104
|
_buildDetailsMarkdown() {
|
|
105
|
-
const aiNote = ( localize(
|
|
105
|
+
const aiNote = ( localize(7398, "Risk assessments are AI-generated and may be inaccurate."));
|
|
106
106
|
const details = this._details;
|
|
107
107
|
const md = ( new MarkdownString(undefined, {
|
|
108
108
|
supportThemeIcons: true,
|
|
@@ -209,23 +209,23 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
209
209
|
getDropTypeName(type) {
|
|
210
210
|
switch (type) {
|
|
211
211
|
case ChatDragAndDropType.FILE_INTERNAL:
|
|
212
|
-
return localize(
|
|
212
|
+
return localize(7399, "File");
|
|
213
213
|
case ChatDragAndDropType.FILE_EXTERNAL:
|
|
214
|
-
return localize(
|
|
214
|
+
return localize(7399, "File");
|
|
215
215
|
case ChatDragAndDropType.FOLDER:
|
|
216
|
-
return localize(
|
|
216
|
+
return localize(7400, "Folder");
|
|
217
217
|
case ChatDragAndDropType.IMAGE:
|
|
218
|
-
return localize(
|
|
218
|
+
return localize(7401, "Image");
|
|
219
219
|
case ChatDragAndDropType.SYMBOL:
|
|
220
|
-
return localize(
|
|
220
|
+
return localize(7402, "Symbol");
|
|
221
221
|
case ChatDragAndDropType.MARKER:
|
|
222
|
-
return localize(
|
|
222
|
+
return localize(7403, "Problem");
|
|
223
223
|
case ChatDragAndDropType.HTML:
|
|
224
|
-
return localize(
|
|
224
|
+
return localize(7404, "URL");
|
|
225
225
|
case ChatDragAndDropType.NOTEBOOK_CELL_OUTPUT:
|
|
226
|
-
return localize(
|
|
226
|
+
return localize(7405, "Output");
|
|
227
227
|
case ChatDragAndDropType.SCM_HISTORY_ITEM:
|
|
228
|
-
return localize(
|
|
228
|
+
return localize(7406, "Change");
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
async resolveAttachmentsFromDragEvent(e) {
|
|
@@ -297,7 +297,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
297
297
|
async resolveHTMLAttachContext(e) {
|
|
298
298
|
const existingAttachmentNames = ( new Set(( this.attachmentModel.attachments.map(attachment => attachment.name))));
|
|
299
299
|
const createDisplayName = () => {
|
|
300
|
-
const baseName = ( localize(
|
|
300
|
+
const baseName = ( localize(7407, "Image from URL"));
|
|
301
301
|
let uniqueName = baseName;
|
|
302
302
|
let baseNameInstance = 1;
|
|
303
303
|
while (( existingAttachmentNames.has(uniqueName))) {
|
|
@@ -375,7 +375,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
375
375
|
}
|
|
376
376
|
getOverlayText(type) {
|
|
377
377
|
const typeName = this.getDropTypeName(type);
|
|
378
|
-
return localize(
|
|
378
|
+
return localize(7408, "Attach {0} as Context", typeName);
|
|
379
379
|
}
|
|
380
380
|
updateOverlayStyles(overlay) {
|
|
381
381
|
overlay.style.backgroundColor = this.getColor(this.styles.overlayBackground) || "";
|