@codingame/monaco-vscode-katex-common 26.1.1 → 26.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +4 -3
  3. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +45 -36
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  6. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  7. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +7 -7
  8. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  9. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +23 -23
  10. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +31 -31
  11. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +33 -33
  13. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  14. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  15. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  16. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +47 -45
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  20. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +5 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +13 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +55 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +12 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +55 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +6 -6
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +96 -53
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +15 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +83 -10
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +26 -10
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +16 -16
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatDisabledClaudeHooksContent.css +14 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +44 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +15 -22
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -15
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +18 -18
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +3 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +14 -5
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +8 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +206 -41
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +12 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.d.ts +27 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.js +148 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +5 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +108 -51
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +14 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +59 -15
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +1 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +12 -12
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +13 -13
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +13 -5
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +90 -7
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +6 -6
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +14 -14
  92. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  93. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +1 -1
  94. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
  95. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  96. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  97. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +32 -32
  98. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +0 -7
  99. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -11
  100. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +0 -20
  101. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +0 -150
  102. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +0 -22
  103. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +0 -338
  104. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +0 -18
  105. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +0 -58
  106. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +0 -75
  107. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +0 -364
  108. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +0 -21
  109. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +0 -36
  110. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +0 -110
  111. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +0 -692
  112. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +0 -40
  113. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +0 -158
@@ -216,9 +216,9 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
216
216
  }
217
217
  else {
218
218
  if (session.element.status === ChatSessionStatus.InProgress) {
219
- template.description.textContent = ( localize(4974, "Working..."));
219
+ template.description.textContent = ( localize(4990, "Working..."));
220
220
  } else if (session.element.status === ChatSessionStatus.NeedsInput) {
221
- template.description.textContent = ( localize(4975, "Input needed."));
221
+ template.description.textContent = ( localize(4991, "Input needed."));
222
222
  } else if (hasBadge && session.element.status === ChatSessionStatus.Completed) {
223
223
  template.description.textContent = "";
224
224
  } else if (session.element.timing.lastRequestEnded && session.element.timing.lastRequestStarted && session.element.timing.lastRequestEnded > session.element.timing.lastRequestStarted) {
@@ -228,16 +228,16 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
228
228
  false,
229
229
  true
230
230
  );
231
- template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4976, "Failed after {0}.", duration)) : ( localize(4977, "Completed in {0}.", duration));
231
+ template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4992, "Failed after {0}.", duration)) : ( localize(4993, "Completed in {0}.", duration));
232
232
  } else {
233
- template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4978, "Failed")) : ( localize(4979, "Completed"));
233
+ template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4994, "Failed")) : ( localize(4995, "Completed"));
234
234
  }
235
235
  }
236
236
  }
237
237
  toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
238
238
  const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
239
239
  if (!disallowNow && elapsed < 60000) {
240
- return localize(4980, "now");
240
+ return localize(4996, "now");
241
241
  }
242
242
  return getDurationString(elapsed, useFullTimeWords);
243
243
  }
@@ -251,7 +251,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
251
251
  const date = session.timing.lastRequestEnded ?? session.timing.lastRequestStarted ?? session.timing.created;
252
252
  const seconds = Math.round((( new Date()).getTime() - date) / 1000);
253
253
  if (seconds < 60) {
254
- timeLabel = ( localize(4980, "now"));
254
+ timeLabel = ( localize(4996, "now"));
255
255
  } else {
256
256
  timeLabel = fromNow(date, true);
257
257
  }
@@ -308,16 +308,16 @@ function toStatusLabel(status) {
308
308
  let statusLabel;
309
309
  switch (status) {
310
310
  case ChatSessionStatus.NeedsInput:
311
- statusLabel = ( localize(4981, "Needs Input"));
311
+ statusLabel = ( localize(4997, "Needs Input"));
312
312
  break;
313
313
  case ChatSessionStatus.InProgress:
314
- statusLabel = ( localize(4982, "In Progress"));
314
+ statusLabel = ( localize(4998, "In Progress"));
315
315
  break;
316
316
  case ChatSessionStatus.Failed:
317
- statusLabel = ( localize(4983, "Failed"));
317
+ statusLabel = ( localize(4999, "Failed"));
318
318
  break;
319
319
  default:
320
- statusLabel = ( localize(4984, "Completed"));
320
+ statusLabel = ( localize(5000, "Completed"));
321
321
  }
322
322
  return statusLabel;
323
323
  }
@@ -402,14 +402,14 @@ class AgentSessionsAccessibilityProvider {
402
402
  return "listitem";
403
403
  }
404
404
  getWidgetAriaLabel() {
405
- return localize(4985, "Agent Sessions");
405
+ return localize(5001, "Agent Sessions");
406
406
  }
407
407
  getAriaLabel(element) {
408
408
  if (isAgentSessionSection(element)) {
409
- return localize(4986, "{0} sessions section", element.label);
409
+ return localize(5002, "{0} sessions section", element.label);
410
410
  }
411
411
  return localize(
412
- 4987,
412
+ 5003,
413
413
  "{0} session {1} ({2}), created {3}",
414
414
  element.providerLabel,
415
415
  element.label,
@@ -481,7 +481,7 @@ class AgentSessionsDataSource {
481
481
  if (othersSessions.length > 0) {
482
482
  result.push({
483
483
  section: AgentSessionSection.More,
484
- label: ( localize(4988, "More ({0})", othersSessions.length)),
484
+ label: ( localize(5004, "More ({0})", othersSessions.length)),
485
485
  sessions: othersSessions
486
486
  });
487
487
  }
@@ -510,13 +510,13 @@ class AgentSessionsDataSource {
510
510
  const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
511
511
  const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
512
512
  const AgentSessionSectionLabels = {
513
- [AgentSessionSection.InProgress]: ( localize(4989, "In Progress")),
514
- [AgentSessionSection.Today]: ( localize(4990, "Today")),
515
- [AgentSessionSection.Yesterday]: ( localize(4991, "Yesterday")),
516
- [AgentSessionSection.Week]: ( localize(4992, "Last Week")),
517
- [AgentSessionSection.Older]: ( localize(4993, "Older")),
518
- [AgentSessionSection.Archived]: ( localize(4994, "Archived")),
519
- [AgentSessionSection.More]: ( localize(4995, "More"))
513
+ [AgentSessionSection.InProgress]: ( localize(5005, "In Progress")),
514
+ [AgentSessionSection.Today]: ( localize(5006, "Today")),
515
+ [AgentSessionSection.Yesterday]: ( localize(5007, "Yesterday")),
516
+ [AgentSessionSection.Week]: ( localize(5008, "Last Week")),
517
+ [AgentSessionSection.Older]: ( localize(5009, "Older")),
518
+ [AgentSessionSection.Archived]: ( localize(5010, "Archived")),
519
+ [AgentSessionSection.More]: ( localize(5011, "More"))
520
520
  };
521
521
  function groupAgentSessionsByDate(sessions) {
522
522
  const now = Date.now();
@@ -569,7 +569,7 @@ function groupAgentSessionsByDate(sessions) {
569
569
  sessions: olderSessions
570
570
  }], [AgentSessionSection.Archived, {
571
571
  section: AgentSessionSection.Archived,
572
- label: ( localize(4996, "Archived ({0})", archivedSessions.length)),
572
+ label: ( localize(5012, "Archived ({0})", archivedSessions.length)),
573
573
  sessions: archivedSessions
574
574
  }]]));
575
575
  }
@@ -665,7 +665,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
665
665
  if (sessions.length === 1) {
666
666
  return sessions[0].label;
667
667
  }
668
- return localize(4997, "{0} agent sessions", sessions.length);
668
+ return localize(5013, "{0} agent sessions", sessions.length);
669
669
  }
670
670
  onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
671
671
  return false;
@@ -125,7 +125,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
125
125
  const clearButton = ( new Button(this.element, {
126
126
  supportIcons: true,
127
127
  hoverDelegate: createInstantHoverDelegate(),
128
- title: ( localize(5066, "Remove from context"))
128
+ title: ( localize(5082, "Remove from context"))
129
129
  }));
130
130
  clearButton.element.tabIndex = -1;
131
131
  clearButton.icon = Codicon.close;
@@ -216,14 +216,14 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
216
216
  const fileDirname = dirname(resource.path);
217
217
  const friendlyName = `${fileBasename} ${fileDirname}`;
218
218
  let ariaLabel = range ? ( localize(
219
- 5067,
219
+ 5083,
220
220
  "Attached file, {0}, line {1} to line {2}",
221
221
  friendlyName,
222
222
  range.startLineNumber,
223
223
  range.endLineNumber
224
- )) : ( localize(5068, "Attached file, {0}", friendlyName));
224
+ )) : ( localize(5084, "Attached file, {0}", friendlyName));
225
225
  if (attachment.omittedState === OmittedState.Full) {
226
- ariaLabel = ( localize(5069, "Omitted this file: {0}", attachment.name));
226
+ ariaLabel = ( localize(5085, "Omitted this file: {0}", attachment.name));
227
227
  this.renderOmittedWarning(friendlyName, ariaLabel);
228
228
  } else {
229
229
  const fileOptions = {
@@ -261,7 +261,7 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
261
261
  hoverElement.setAttribute("aria-label", ariaLabel);
262
262
  this.element.classList.add("warning");
263
263
  hoverElement.textContent = ( localize(
264
- 5070,
264
+ 5086,
265
265
  "{0} does not support this file type.",
266
266
  this.currentLanguageModel ? this.languageModelsService.lookupLanguageModel(this.currentLanguageModel.identifier)?.name : this.currentLanguageModel ?? "This model"
267
267
  ));
@@ -298,7 +298,7 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
298
298
  );
299
299
  this.hoverService = hoverService;
300
300
  this.terminalService = terminalService;
301
- const ariaLabel = ( localize(5071, "Terminal command, {0}", attachment.command));
301
+ const ariaLabel = ( localize(5087, "Terminal command, {0}", attachment.command));
302
302
  const clickHandler = () => this.openResource(attachment.resource, {
303
303
  editorOptions: {
304
304
  preserveFocus: true
@@ -351,16 +351,16 @@ function getHoverContent(ariaLabel, attachment) {
351
351
  const hoverElement = $("div.chat-attached-context-hover");
352
352
  hoverElement.setAttribute("aria-label", ariaLabel);
353
353
  const commandTitle = $("div", {}, typeof attachment.exitCode === "number" ? ( localize(
354
- 5072,
354
+ 5088,
355
355
  "Command: {0}, exit code: {1}",
356
356
  attachment.command,
357
357
  attachment.exitCode
358
- )) : ( localize(5073, "Command")));
358
+ )) : ( localize(5089, "Command")));
359
359
  commandTitle.classList.add("attachment-additional-info");
360
360
  const commandBlock = $("pre.chat-terminal-command-block");
361
361
  hoverElement.append(commandTitle, commandBlock);
362
362
  if (attachment.output && attachment.output.trim().length > 0) {
363
- const outputTitle = $("div", {}, ( localize(5074, "Output:")));
363
+ const outputTitle = $("div", {}, ( localize(5090, "Output:")));
364
364
  outputTitle.classList.add("attachment-additional-info");
365
365
  const outputBlock = $("pre.chat-terminal-command-output");
366
366
  const fullOutputLines = attachment.output.split("\n");
@@ -420,11 +420,11 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
420
420
  this.labelService = labelService;
421
421
  let ariaLabel;
422
422
  if (attachment.omittedState === OmittedState.Full) {
423
- ariaLabel = ( localize(5075, "Omitted this image: {0}", attachment.name));
423
+ ariaLabel = ( localize(5091, "Omitted this image: {0}", attachment.name));
424
424
  } else if (attachment.omittedState === OmittedState.Partial) {
425
- ariaLabel = ( localize(5076, "Partially omitted this image: {0}", attachment.name));
425
+ ariaLabel = ( localize(5092, "Partially omitted this image: {0}", attachment.name));
426
426
  } else {
427
- ariaLabel = ( localize(5077, "Attached image, {0}", attachment.name));
427
+ ariaLabel = ( localize(5093, "Attached image, {0}", attachment.name));
428
428
  }
429
429
  const ref = attachment.references?.[0]?.reference;
430
430
  resource = ref && URI.isUri(ref) ? ref : undefined;
@@ -498,7 +498,7 @@ function createImageElements(
498
498
  if ((!supportsVision && currentLanguageModel) || omittedState === OmittedState.Full) {
499
499
  element.classList.add("warning");
500
500
  hoverElement.textContent = ( localize(
501
- 5078,
501
+ 5094,
502
502
  "{0} does not support images.",
503
503
  currentLanguageModelName ?? "This model"
504
504
  ));
@@ -534,7 +534,7 @@ function createImageElements(
534
534
  const urlContainer = $(
535
535
  "a.chat-attached-context-url",
536
536
  {},
537
- omittedState === OmittedState.Partial ? ( localize(5079, "This GIF was partially omitted - current frame will be sent.")) : fullName
537
+ omittedState === OmittedState.Partial ? ( localize(5095, "This GIF was partially omitted - current frame will be sent.")) : fullName
538
538
  );
539
539
  const separator = $("div.chat-attached-context-url-separator");
540
540
  disposable.add(addDisposableListener(urlContainer, "click", () => clickHandler()));
@@ -583,7 +583,7 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
583
583
  );
584
584
  this.hoverService = hoverService;
585
585
  this.instantiationService = instantiationService;
586
- const ariaLabel = ( localize(5080, "Attached context, {0}", attachment.name));
586
+ const ariaLabel = ( localize(5096, "Attached context, {0}", attachment.name));
587
587
  this.element.ariaLabel = ariaLabel;
588
588
  const classNames = ["file-icon", `${attachment.language}-lang-file-icon`];
589
589
  let resource;
@@ -660,7 +660,7 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
660
660
  const attachmentLabel = attachment.fullName ?? attachment.name;
661
661
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
662
662
  this.label.setLabel(withIcon, correspondingContentReference?.options?.status?.description);
663
- this.element.ariaLabel = ( localize(5080, "Attached context, {0}", attachment.name));
663
+ this.element.ariaLabel = ( localize(5096, "Attached context, {0}", attachment.name));
664
664
  if (attachment.kind === "diagnostic") {
665
665
  if (attachment.filterUri) {
666
666
  resource = attachment.filterUri ? URI.revive(attachment.filterUri) : undefined;
@@ -750,8 +750,8 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
750
750
  const fileDirname = dirname(resource.path);
751
751
  const friendlyName = `${fileBasename} ${fileDirname}`;
752
752
  const isPrompt = attachment.id.startsWith(PromptFileVariableKind.PromptFile);
753
- const ariaLabel = isPrompt ? ( localize(5081, "Prompt file, {0}", friendlyName)) : ( localize(5082, "Instructions attachment, {0}", friendlyName));
754
- const typeLabel = isPrompt ? ( localize(5083, "Prompt")) : ( localize(5084, "Instructions"));
753
+ const ariaLabel = isPrompt ? ( localize(5097, "Prompt file, {0}", friendlyName)) : ( localize(5098, "Instructions attachment, {0}", friendlyName));
754
+ const typeLabel = isPrompt ? ( localize(5099, "Prompt")) : ( localize(5100, "Instructions"));
755
755
  const title = this.labelService.getUriLabel(resource) + (attachment.originLabel ? `\n${attachment.originLabel}` : "");
756
756
  this.element.classList.remove("warning", "error");
757
757
  const fileWithoutExtension = getCleanPromptName(resource);
@@ -811,7 +811,7 @@ let PromptTextAttachmentWidget = class PromptTextAttachmentWidget extends Abstra
811
811
  })
812
812
  );
813
813
  }
814
- this.label.setLabel(( localize(5085, "Additional Instructions")), undefined, undefined);
814
+ this.label.setLabel(( localize(5101, "Additional Instructions")), undefined, undefined);
815
815
  this._register(hoverService.setupDelayedHover(this.element, {
816
816
  ...commonHoverOptions,
817
817
  content: attachment.value
@@ -858,18 +858,18 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
858
858
  }
859
859
  this.label.setLabel(`$(${icon.id})\u00A0${name}`, undefined);
860
860
  this.element.style.cursor = "pointer";
861
- this.element.ariaLabel = ( localize(5080, "Attached context, {0}", name));
861
+ this.element.ariaLabel = ( localize(5096, "Attached context, {0}", name));
862
862
  let hoverContent;
863
863
  if (isToolSet(toolOrToolSet)) {
864
864
  hoverContent = ( localize(
865
- 5086,
865
+ 5102,
866
866
  "{0} - {1}",
867
867
  toolOrToolSet.description ?? toolOrToolSet.referenceName,
868
868
  toolOrToolSet.source.label
869
869
  ));
870
870
  } else if (toolOrToolSet) {
871
871
  hoverContent = ( localize(
872
- 5087,
872
+ 5103,
873
873
  "{0} - {1}",
874
874
  toolOrToolSet.userDescription ?? toolOrToolSet.modelDescription,
875
875
  toolOrToolSet.source.label
@@ -940,7 +940,7 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
940
940
  this.addResourceOpenHandlers(resource, undefined);
941
941
  }
942
942
  getAriaLabel(attachment) {
943
- return localize(5088, "Attached Notebook output, {0}", attachment.name);
943
+ return localize(5104, "Attached Notebook output, {0}", attachment.name);
944
944
  }
945
945
  renderErrorOutput(resource, attachment) {
946
946
  const attachmentLabel = attachment.name;
@@ -968,9 +968,9 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
968
968
  renderImageOutput(resource, attachment) {
969
969
  let ariaLabel;
970
970
  if (attachment.omittedState === OmittedState.Full) {
971
- ariaLabel = ( localize(5089, "Omitted this Notebook ouput: {0}", attachment.name));
971
+ ariaLabel = ( localize(5105, "Omitted this Notebook ouput: {0}", attachment.name));
972
972
  } else if (attachment.omittedState === OmittedState.Partial) {
973
- ariaLabel = ( localize(5090, "Partially omitted this Notebook output: {0}", attachment.name));
973
+ ariaLabel = ( localize(5106, "Partially omitted this Notebook output: {0}", attachment.name));
974
974
  } else {
975
975
  ariaLabel = this.getAriaLabel(attachment);
976
976
  }
@@ -1035,14 +1035,14 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1035
1035
  openerService,
1036
1036
  configurationService
1037
1037
  );
1038
- const ariaLabel = ( localize(5091, "Attached element, {0}", attachment.name));
1038
+ const ariaLabel = ( localize(5107, "Attached element, {0}", attachment.name));
1039
1039
  this.element.ariaLabel = ariaLabel;
1040
1040
  this.element.style.position = "relative";
1041
1041
  this.element.style.cursor = "pointer";
1042
1042
  const attachmentLabel = attachment.name;
1043
1043
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
1044
1044
  this.label.setLabel(withIcon, undefined, {
1045
- title: ( localize(5092, "Click to view the contents of: {0}", attachmentLabel))
1045
+ title: ( localize(5108, "Click to view the contents of: {0}", attachmentLabel))
1046
1046
  });
1047
1047
  this._register(addDisposableListener(this.element, EventType.CLICK, async () => {
1048
1048
  const content = attachment.value?.toString() || "";
@@ -1083,7 +1083,7 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
1083
1083
  );
1084
1084
  this.label.setLabel(attachment.name, undefined);
1085
1085
  this.element.style.cursor = "pointer";
1086
- this.element.ariaLabel = ( localize(5080, "Attached context, {0}", attachment.name));
1086
+ this.element.ariaLabel = ( localize(5096, "Attached context, {0}", attachment.name));
1087
1087
  const {
1088
1088
  content,
1089
1089
  disposables
@@ -1145,7 +1145,7 @@ let SCMHistoryItemChangeAttachmentWidget = class SCMHistoryItemChangeAttachmentW
1145
1145
  hidePath: true,
1146
1146
  nameSuffix
1147
1147
  });
1148
- this.element.ariaLabel = ( localize(5080, "Attached context, {0}", attachment.name));
1148
+ this.element.ariaLabel = ( localize(5096, "Attached context, {0}", attachment.name));
1149
1149
  const {
1150
1150
  content,
1151
1151
  disposables
@@ -1201,7 +1201,7 @@ let SCMHistoryItemChangeRangeAttachmentWidget = class SCMHistoryItemChangeRangeA
1201
1201
  hidePath: true,
1202
1202
  nameSuffix
1203
1203
  });
1204
- this.element.ariaLabel = ( localize(5080, "Attached context, {0}", attachment.name));
1204
+ this.element.ariaLabel = ( localize(5096, "Attached context, {0}", attachment.name));
1205
1205
  this.addResourceOpenHandlers(attachment.value, undefined);
1206
1206
  }
1207
1207
  async openResource(resource, options, isDirectory, range) {
@@ -1337,7 +1337,7 @@ function addBasicContextMenu(accessor, widget, scopedContextKeyService, menuId,
1337
1337
  const chatAttachmentResourceContextKey = ( new RawContextKey("chatAttachmentResource", undefined, {
1338
1338
  type: "URI",
1339
1339
  description: ( localize(
1340
- 5093,
1340
+ 5109,
1341
1341
  "The full value of the chat attachment resource, including scheme and path"
1342
1342
  ))
1343
1343
  }));
@@ -90,11 +90,11 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
90
90
  this.domNode.appendChild(contextNode);
91
91
  contextNode.classList.toggle("disabled", !context.enabled);
92
92
  const file = context.uri;
93
- const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(5095, "cell")) : ( localize(5096, "file"));
93
+ const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(5111, "cell")) : ( localize(5112, "file"));
94
94
  const isSuggestedEnabled = this.configService.getValue("chat.implicitContext.suggestedContext");
95
95
  if (isSuggestedEnabled) {
96
96
  if (!isSelection) {
97
- const buttonMsg = context.enabled ? ( localize(5097, "Disable current {0} context", attachmentTypeName)) : "";
97
+ const buttonMsg = context.enabled ? ( localize(5113, "Disable current {0} context", attachmentTypeName)) : "";
98
98
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
99
99
  supportIcons: true,
100
100
  title: buttonMsg
@@ -109,7 +109,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
109
109
  context.enabled = false;
110
110
  }));
111
111
  } else {
112
- const pinButtonMsg = ( localize(5098, "Pin selection"));
112
+ const pinButtonMsg = ( localize(5114, "Pin selection"));
113
113
  const pinButton = this.renderDisposables.add(( new Button(contextNode, {
114
114
  supportIcons: true,
115
115
  title: pinButtonMsg
@@ -142,7 +142,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
142
142
  })
143
143
  );
144
144
  } else {
145
- const buttonMsg = context.enabled ? ( localize(5097, "Disable current {0} context", attachmentTypeName)) : ( localize(5099, "Enable current {0} context", attachmentTypeName));
145
+ const buttonMsg = context.enabled ? ( localize(5113, "Disable current {0} context", attachmentTypeName)) : ( localize(5115, "Enable current {0} context", attachmentTypeName));
146
146
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
147
147
  supportIcons: true,
148
148
  title: buttonMsg
@@ -160,7 +160,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
160
160
  let markdownTooltip;
161
161
  if (isStringImplicitContextValue(context.value)) {
162
162
  markdownTooltip = context.value.tooltip;
163
- title = this.renderString(label, context.name, context.icon, markdownTooltip, ( localize(5100, "Current file context")));
163
+ title = this.renderString(label, context.name, context.icon, markdownTooltip, ( localize(5116, "Current file context")));
164
164
  } else {
165
165
  title = this.renderResource(context.value, context.isSelection, context.enabled, label);
166
166
  }
@@ -208,23 +208,23 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
208
208
  renderResource(attachmentValue, isSelection, enabled, label) {
209
209
  const file = URI.isUri(attachmentValue) ? attachmentValue : attachmentValue.uri;
210
210
  const range = URI.isUri(attachmentValue) || !isSelection ? undefined : attachmentValue.range;
211
- const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(5095, "cell")) : ( localize(5096, "file"));
211
+ const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(5111, "cell")) : ( localize(5112, "file"));
212
212
  const fileBasename = basename(file);
213
213
  const fileDirname = dirname(file);
214
214
  const friendlyName = `${fileBasename} ${fileDirname}`;
215
215
  const ariaLabel = range ? ( localize(
216
- 5101,
216
+ 5117,
217
217
  "Attached {0}, {1}, line {2} to line {3}",
218
218
  attachmentTypeName,
219
219
  friendlyName,
220
220
  range.startLineNumber,
221
221
  range.endLineNumber
222
- )) : ( localize(5102, "Attached {0}, {1}", attachmentTypeName, friendlyName));
222
+ )) : ( localize(5118, "Attached {0}, {1}", attachmentTypeName, friendlyName));
223
223
  const uriLabel = this.labelService.getUriLabel(file, {
224
224
  relative: true
225
225
  });
226
- const currentFile = ( localize(5103, "Current {0} context", attachmentTypeName));
227
- const inactive = ( localize(5104, "Enable current {0} context", attachmentTypeName));
226
+ const currentFile = ( localize(5119, "Current {0} context", attachmentTypeName));
227
+ const inactive = ( localize(5120, "Enable current {0} context", attachmentTypeName));
228
228
  const currentFileHint = enabled || isSelection ? currentFile : inactive;
229
229
  const title = `${currentFileHint}\n${uriLabel}`;
230
230
  label.setFile(file, {