@codingame/monaco-vscode-katex-common 29.1.1 → 30.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actions/browser/buttonbar.js +14 -13
  3. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +34 -34
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -20
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +208 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +22 -0
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +637 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +9 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +202 -13
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +4 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +17 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +53 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +296 -63
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +59 -23
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -42
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +110 -59
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +5 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +384 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +12 -7
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +220 -61
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +1 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +14 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +5 -4
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +5 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +14 -14
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +11 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +1 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +97 -54
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +5 -4
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +6 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +8 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +15 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +155 -22
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +36 -19
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +13 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.d.ts +17 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +68 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +16 -16
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +33 -25
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -7
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +12 -3
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +4 -13
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +37 -113
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +10 -3
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +66 -39
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +13 -2
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +103 -61
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +2 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +35 -23
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +6 -6
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +1 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +2 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -24
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +6 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +44 -18
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +60 -10
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  114. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  115. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +4 -0
  116. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
  117. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -1
  119. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +5 -2
  120. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +6 -11
  121. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -39
  123. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
  130. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  131. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  132. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  133. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
  134. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  135. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
  136. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  137. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
  138. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  139. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
  140. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  143. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  144. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  145. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
  146. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  147. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
  148. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
  150. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  151. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
  154. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  168. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
  169. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  170. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  171. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  172. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
  173. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  174. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  175. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  176. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -152
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -1317
  179. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +0 -47
  180. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +0 -95
@@ -13,6 +13,15 @@
13
13
  padding: 0 6px;
14
14
  }
15
15
 
16
+ .agent-sessions-workbench .pane-body & .monaco-scrollable-element {
17
+ padding: 0 12px;
18
+ }
19
+
20
+ .agent-sessions-workbench .pane-body & .monaco-tree-sticky-container {
21
+ left: 12px;
22
+ width: calc(100% - 24px);
23
+ }
24
+
16
25
  .monaco-list-row {
17
26
  border-radius: 6px;
18
27
  }
@@ -35,11 +44,12 @@
35
44
  .agent-session-diff-container {
36
45
  .agent-session-diff-added,
37
46
  .agent-session-diff-removed {
38
- color: unset;
47
+ color: unset;
39
48
  }
40
49
  }
41
50
  }
42
51
 
52
+ .monaco-list-row.selected .agent-session-item,
43
53
  .monaco-list-row.selected .agent-session-title {
44
54
  color: unset;
45
55
  }
@@ -48,6 +58,19 @@
48
58
  color: var(--vscode-descriptionForeground);
49
59
  }
50
60
 
61
+ .monaco-list-row .agent-session-pinned-indicator {
62
+ display: none;
63
+ height: 16px;
64
+ align-items: center;
65
+ color: var(--vscode-descriptionForeground);
66
+ font-size: 12px;
67
+ pointer-events: none;
68
+
69
+ &.visible {
70
+ display: flex;
71
+ }
72
+ }
73
+
51
74
  .monaco-list-row .agent-session-title-toolbar {
52
75
  /* for the absolute positioning of the toolbar below */
53
76
  position: relative;
@@ -62,10 +85,14 @@
62
85
  }
63
86
  }
64
87
 
65
- /* On hover or keyboard focus: show toolbar */
88
+ /* On hover or keyboard focus: show toolbar, hide pinned indicator */
66
89
  .monaco-list-row:hover,
67
90
  .monaco-list-row.focused:not(.selected) {
68
91
 
92
+ .agent-session-pinned-indicator {
93
+ display: none;
94
+ }
95
+
69
96
  .agent-session-title-toolbar {
70
97
  display: block;
71
98
  }
@@ -104,29 +131,12 @@
104
131
  align-items: center;
105
132
  justify-content: center;
106
133
 
107
- &.codicon.codicon-session-in-progress {
108
- color: var(--vscode-textLink-foreground);
109
- }
110
-
111
- &.codicon.codicon-error {
112
- color: var(--vscode-errorForeground);
113
- }
114
-
115
- &.codicon.codicon-circle-filled {
116
- color: var(--vscode-textLink-foreground);
117
- }
118
-
119
- &.codicon.codicon-circle-filled.needs-input {
120
- color: var(--vscode-list-warningForeground);
134
+ &.needs-input {
121
135
  animation: agent-session-needs-input-pulse 2s ease-in-out infinite;
122
136
  }
123
137
 
124
- &.codicon.codicon-circle-small-filled {
125
- color: var(--vscode-agentSessionReadIndicator-foreground);
126
- }
127
-
128
138
  @media (prefers-reduced-motion: reduce) {
129
- &.codicon.codicon-circle-filled.needs-input {
139
+ &.needs-input {
130
140
  animation: none;
131
141
  }
132
142
  }
@@ -155,6 +165,18 @@
155
165
  max-height: 15px;
156
166
  color: var(--vscode-descriptionForeground);
157
167
 
168
+ .agent-session-details-icon {
169
+ display: none;
170
+ font-size: 11px;
171
+ line-height: 1;
172
+ flex-shrink: 0;
173
+
174
+ &.visible {
175
+ display: flex;
176
+ align-items: center;
177
+ }
178
+ }
179
+
158
180
  .rendered-markdown {
159
181
  p {
160
182
  display: flex;
@@ -304,6 +326,17 @@
304
326
  }
305
327
  }
306
328
 
329
+ .agent-session-show-more {
330
+ display: flex;
331
+ align-items: center;
332
+ font-size: 12px;
333
+ color: var(--vscode-foreground);
334
+ /* align with session item text: 6px item padding + 16px icon + 6px main-col padding */
335
+ padding: 0 6px 0 24px;
336
+ cursor: pointer;
337
+ text-decoration: none !important;
338
+ }
339
+
307
340
  .agent-session-section {
308
341
  display: flex;
309
342
  align-items: center;
@@ -316,6 +349,10 @@
316
349
 
317
350
  .agent-session-section-label {
318
351
  flex: 1;
352
+ min-width: 0;
353
+ overflow: hidden;
354
+ text-overflow: ellipsis;
355
+ white-space: nowrap;
319
356
  }
320
357
 
321
358
  .agent-session-section-count {
@@ -337,8 +374,7 @@
337
374
  }
338
375
  }
339
376
 
340
- .monaco-list-row:hover .agent-session-section .agent-session-section-count,
341
- .monaco-list-row.focused:not(.selected) .agent-session-section .agent-session-section-count {
377
+ .monaco-list-row:hover .agent-session-section .agent-session-section-count {
342
378
  display: none;
343
379
  }
344
380
 
@@ -58,7 +58,7 @@ import { getHistoryItemEditorTitle } from '@codingame/monaco-vscode-api/vscode/v
58
58
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
59
59
  import { coerceImageBuffer } from '../../common/chatImageExtraction.js';
60
60
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
61
- import { OmittedState, isStringVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
61
+ import { OmittedState, MAX_IMAGES_PER_REQUEST, isStringVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
62
62
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
63
63
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
64
64
  import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
@@ -140,7 +140,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
140
140
  if (!this._hasClearButton) {
141
141
  return ariaLabel;
142
142
  }
143
- return localize(5476, "{0} (Delete)", ariaLabel);
143
+ return localize(5510, "{0} (Delete)", ariaLabel);
144
144
  }
145
145
  attachClearButton() {
146
146
  if (this.attachment.range || !this.options.supportsDeletion) {
@@ -150,7 +150,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
150
150
  const clearButton = ( new Button(this.element, {
151
151
  supportIcons: true,
152
152
  hoverDelegate: createInstantHoverDelegate(),
153
- title: ( localize(5477, "Remove from context"))
153
+ title: ( localize(5511, "Remove from context"))
154
154
  }));
155
155
  clearButton.element.tabIndex = -1;
156
156
  clearButton.icon = Codicon.close;
@@ -243,14 +243,14 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
243
243
  const fileDirname = dirname(resource.path);
244
244
  const friendlyName = `${fileBasename} ${fileDirname}`;
245
245
  let ariaLabel = range ? ( localize(
246
- 5478,
246
+ 5512,
247
247
  "Attached file, {0}, line {1} to line {2}",
248
248
  friendlyName,
249
249
  range.startLineNumber,
250
250
  range.endLineNumber
251
- )) : ( localize(5479, "Attached file, {0}", friendlyName));
251
+ )) : ( localize(5513, "Attached file, {0}", friendlyName));
252
252
  if (attachment.omittedState === OmittedState.Full) {
253
- ariaLabel = ( localize(5480, "Omitted this file: {0}", attachment.name));
253
+ ariaLabel = ( localize(5514, "Omitted this file: {0}", attachment.name));
254
254
  this.renderOmittedWarning(friendlyName, ariaLabel);
255
255
  } else {
256
256
  const fileOptions = {
@@ -288,7 +288,7 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
288
288
  hoverElement.setAttribute("aria-label", ariaLabel);
289
289
  this.element.classList.add("warning");
290
290
  hoverElement.textContent = ( localize(
291
- 5481,
291
+ 5515,
292
292
  "{0} does not support this file type.",
293
293
  this.currentLanguageModel ? this.languageModelsService.lookupLanguageModel(this.currentLanguageModel.identifier)?.name : this.currentLanguageModel ?? "This model"
294
294
  ));
@@ -325,7 +325,7 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
325
325
  );
326
326
  this.hoverService = hoverService;
327
327
  this.terminalService = terminalService;
328
- const ariaLabel = ( localize(5482, "Terminal command, {0}", attachment.command));
328
+ const ariaLabel = ( localize(5516, "Terminal command, {0}", attachment.command));
329
329
  const clickHandler = () => this.openResource(attachment.resource, {
330
330
  editorOptions: {
331
331
  preserveFocus: true
@@ -379,16 +379,16 @@ function getHoverContent(ariaLabel, attachment) {
379
379
  const hoverElement = $("div.chat-attached-context-hover");
380
380
  hoverElement.setAttribute("aria-label", ariaLabel);
381
381
  const commandTitle = $("div", {}, typeof attachment.exitCode === "number" ? ( localize(
382
- 5483,
382
+ 5517,
383
383
  "Command: {0}, exit code: {1}",
384
384
  attachment.command,
385
385
  attachment.exitCode
386
- )) : ( localize(5484, "Command")));
386
+ )) : ( localize(5518, "Command")));
387
387
  commandTitle.classList.add("attachment-additional-info");
388
388
  const commandBlock = $("pre.chat-terminal-command-block");
389
389
  hoverElement.append(commandTitle, commandBlock);
390
390
  if (attachment.output && attachment.output.trim().length > 0) {
391
- const outputTitle = $("div", {}, ( localize(5485, "Output:")));
391
+ const outputTitle = $("div", {}, ( localize(5519, "Output:")));
392
392
  outputTitle.classList.add("attachment-additional-info");
393
393
  const outputBlock = $("pre.chat-terminal-command-output");
394
394
  const fullOutputLines = attachment.output.split("\n");
@@ -452,11 +452,13 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
452
452
  this.chatImageCarouselService = chatImageCarouselService;
453
453
  let ariaLabel;
454
454
  if (attachment.omittedState === OmittedState.Full) {
455
- ariaLabel = ( localize(5486, "Omitted this image: {0}", attachment.name));
455
+ ariaLabel = ( localize(5520, "Omitted this image: {0}", attachment.name));
456
456
  } else if (attachment.omittedState === OmittedState.Partial) {
457
- ariaLabel = ( localize(5487, "Partially omitted this image: {0}", attachment.name));
457
+ ariaLabel = ( localize(5521, "Partially omitted this image: {0}", attachment.name));
458
+ } else if (attachment.omittedState === OmittedState.ImageLimitExceeded) {
459
+ ariaLabel = ( localize(5522, "Image not sent due to limit: {0}", attachment.name));
458
460
  } else {
459
- ariaLabel = ( localize(5488, "Attached image, {0}", attachment.name));
461
+ ariaLabel = ( localize(5523, "Attached image, {0}", attachment.name));
460
462
  }
461
463
  const ref = attachment.references?.[0]?.reference;
462
464
  resource = ref && URI.isUri(ref) ? ref : undefined;
@@ -547,7 +549,7 @@ function createImageElements(
547
549
  hoverElement.setAttribute("aria-label", ariaLabel);
548
550
  if (previewFeaturesDisabled) {
549
551
  element.classList.add("warning");
550
- hoverElement.textContent = ( localize(5489, "Vision is disabled by your organization."));
552
+ hoverElement.textContent = ( localize(5524, "Vision is disabled by your organization."));
551
553
  disposable.add(hoverService.setupDelayedHover(element, {
552
554
  content: hoverElement,
553
555
  style: HoverStyle.Pointer
@@ -555,7 +557,7 @@ function createImageElements(
555
557
  } else if ((!supportsVision && currentLanguageModel) || omittedState === OmittedState.Full) {
556
558
  element.classList.add("warning");
557
559
  hoverElement.textContent = ( localize(
558
- 5490,
560
+ 5525,
559
561
  "{0} does not support images.",
560
562
  currentLanguageModelName ?? "This model"
561
563
  ));
@@ -563,6 +565,17 @@ function createImageElements(
563
565
  content: hoverElement,
564
566
  style: HoverStyle.Pointer
565
567
  }));
568
+ } else if (omittedState === OmittedState.ImageLimitExceeded) {
569
+ element.classList.add("warning");
570
+ hoverElement.textContent = ( localize(
571
+ 5526,
572
+ "This image was not sent because the maximum of {0} images per request was exceeded.",
573
+ MAX_IMAGES_PER_REQUEST
574
+ ));
575
+ disposable.add(hoverService.setupDelayedHover(element, {
576
+ content: hoverElement,
577
+ style: HoverStyle.Pointer
578
+ }));
566
579
  } else {
567
580
  disposable.add(hoverService.setupDelayedHover(element, {
568
581
  content: hoverElement,
@@ -591,7 +604,7 @@ function createImageElements(
591
604
  const urlContainer = $(
592
605
  "a.chat-attached-context-url",
593
606
  {},
594
- omittedState === OmittedState.Partial ? ( localize(5491, "This GIF was partially omitted - current frame will be sent.")) : fullName
607
+ omittedState === OmittedState.Partial ? ( localize(5527, "This GIF was partially omitted - current frame will be sent.")) : fullName
595
608
  );
596
609
  const separator = $("div.chat-attached-context-url-separator");
597
610
  disposable.add(addDisposableListener(urlContainer, "click", () => clickHandler()));
@@ -640,7 +653,7 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
640
653
  );
641
654
  this.hoverService = hoverService;
642
655
  this.instantiationService = instantiationService;
643
- const ariaLabel = ( localize(5492, "Attached context, {0}", attachment.name));
656
+ const ariaLabel = ( localize(5528, "Attached context, {0}", attachment.name));
644
657
  this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
645
658
  const classNames = ["file-icon", `${attachment.language}-lang-file-icon`];
646
659
  let resource;
@@ -733,7 +746,7 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
733
746
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
734
747
  this.label.setLabel(withIcon, correspondingContentReference?.options?.status?.description);
735
748
  }
736
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", attachment.name)));
749
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
737
750
  if (attachment.kind === "diagnostic") {
738
751
  if (attachment.filterUri) {
739
752
  resource = attachment.filterUri ? URI.revive(attachment.filterUri) : undefined;
@@ -834,8 +847,8 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
834
847
  const fileDirname = dirname(resource.path);
835
848
  const friendlyName = `${fileBasename} ${fileDirname}`;
836
849
  const isPrompt = attachment.id.startsWith(PromptFileVariableKind.PromptFile);
837
- const ariaLabel = isPrompt ? ( localize(5493, "Prompt file, {0}", friendlyName)) : ( localize(5494, "Instructions attachment, {0}", friendlyName));
838
- const typeLabel = isPrompt ? ( localize(5495, "Prompt")) : ( localize(5496, "Instructions"));
850
+ const ariaLabel = isPrompt ? ( localize(5529, "Prompt file, {0}", friendlyName)) : ( localize(5530, "Instructions attachment, {0}", friendlyName));
851
+ const typeLabel = isPrompt ? ( localize(5531, "Prompt")) : ( localize(5532, "Instructions"));
839
852
  const title = this.labelService.getUriLabel(resource) + (attachment.originLabel ? `\n${attachment.originLabel}` : "");
840
853
  this.element.classList.remove("warning", "error");
841
854
  const fileWithoutExtension = getCleanPromptName(resource);
@@ -895,8 +908,8 @@ let PromptTextAttachmentWidget = class PromptTextAttachmentWidget extends Abstra
895
908
  })
896
909
  );
897
910
  }
898
- this.label.setLabel(( localize(5497, "Additional Instructions")), undefined, undefined);
899
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", attachment.name)));
911
+ this.label.setLabel(( localize(5533, "Additional Instructions")), undefined, undefined);
912
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
900
913
  this._register(hoverService.setupDelayedHover(this.element, {
901
914
  ...commonHoverOptions,
902
915
  content: attachment.value
@@ -943,18 +956,18 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
943
956
  }
944
957
  this.label.setLabel(`$(${icon.id})\u00A0${name}`, undefined);
945
958
  this.element.style.cursor = "pointer";
946
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", name)));
959
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", name)));
947
960
  let hoverContent;
948
961
  if (isToolSet(toolOrToolSet)) {
949
962
  hoverContent = ( localize(
950
- 5498,
963
+ 5534,
951
964
  "{0} - {1}",
952
965
  toolOrToolSet.description ?? toolOrToolSet.referenceName,
953
966
  toolOrToolSet.source.label
954
967
  ));
955
968
  } else if (toolOrToolSet) {
956
969
  hoverContent = ( localize(
957
- 5499,
970
+ 5535,
958
971
  "{0} - {1}",
959
972
  toolOrToolSet.userDescription ?? toolOrToolSet.modelDescription,
960
973
  toolOrToolSet.source.label
@@ -1027,7 +1040,7 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
1027
1040
  this.addResourceOpenHandlers(resource, undefined);
1028
1041
  }
1029
1042
  getAriaLabel(attachment) {
1030
- return localize(5500, "Attached Notebook output, {0}", attachment.name);
1043
+ return localize(5536, "Attached Notebook output, {0}", attachment.name);
1031
1044
  }
1032
1045
  renderErrorOutput(resource, attachment) {
1033
1046
  const attachmentLabel = attachment.name;
@@ -1055,9 +1068,9 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
1055
1068
  renderImageOutput(resource, attachment) {
1056
1069
  let ariaLabel;
1057
1070
  if (attachment.omittedState === OmittedState.Full) {
1058
- ariaLabel = ( localize(5501, "Omitted this Notebook ouput: {0}", attachment.name));
1071
+ ariaLabel = ( localize(5537, "Omitted this Notebook ouput: {0}", attachment.name));
1059
1072
  } else if (attachment.omittedState === OmittedState.Partial) {
1060
- ariaLabel = ( localize(5502, "Partially omitted this Notebook output: {0}", attachment.name));
1073
+ ariaLabel = ( localize(5538, "Partially omitted this Notebook output: {0}", attachment.name));
1061
1074
  } else {
1062
1075
  ariaLabel = this.getAriaLabel(attachment);
1063
1076
  }
@@ -1127,14 +1140,14 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1127
1140
  );
1128
1141
  this.editorService = editorService;
1129
1142
  this.hoverService = hoverService;
1130
- const ariaLabel = ( localize(5503, "Attached element, {0}", attachment.name));
1143
+ const ariaLabel = ( localize(5539, "Attached element, {0}", attachment.name));
1131
1144
  this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
1132
1145
  this.element.style.position = "relative";
1133
1146
  this.element.style.cursor = "pointer";
1134
1147
  const attachmentLabel = attachment.name;
1135
1148
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
1136
1149
  this.label.setLabel(withIcon, undefined, {
1137
- title: ( localize(5504, "Click to view the contents of: {0}", attachmentLabel))
1150
+ title: ( localize(5540, "Click to view the contents of: {0}", attachmentLabel))
1138
1151
  });
1139
1152
  this._register(this.hoverService.setupDelayedHover(
1140
1153
  this.element,
@@ -1154,7 +1167,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1154
1167
  const innerScrollables = [];
1155
1168
  {
1156
1169
  const section = $("div.chat-element-hover-section");
1157
- const header = $("div.chat-element-hover-header", {}, ( localize(5505, "ELEMENT")));
1170
+ const header = $("div.chat-element-hover-header", {}, ( localize(5541, "ELEMENT")));
1158
1171
  section.appendChild(header);
1159
1172
  const elementPre = $("pre.chat-element-hover-code");
1160
1173
  const elementCode = $("code");
@@ -1172,7 +1185,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1172
1185
  const computedStyleEntries = this.getComputedStyleEntriesForHover(attachment.computedStyles);
1173
1186
  if (computedStyleEntries.length > 0) {
1174
1187
  const section = $("div.chat-element-hover-section");
1175
- const header = $("div.chat-element-hover-header", {}, ( localize(5506, "KEY COMPUTED STYLES")));
1188
+ const header = $("div.chat-element-hover-header", {}, ( localize(5542, "KEY COMPUTED STYLES")));
1176
1189
  section.appendChild(header);
1177
1190
  const table = $("div.chat-element-hover-table");
1178
1191
  for (const [name, value] of computedStyleEntries) {
@@ -1191,7 +1204,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1191
1204
  section.appendChild(table);
1192
1205
  const showMoreButton = $("button.chat-element-hover-show-more", {
1193
1206
  type: "button"
1194
- }, ( localize(5507, "Show More...")));
1207
+ }, ( localize(5543, "Show More...")));
1195
1208
  this._register(
1196
1209
  addDisposableListener(showMoreButton, EventType.CLICK, async e => {
1197
1210
  EventHelper.stop(e, true);
@@ -1203,7 +1216,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1203
1216
  }
1204
1217
  if (attachment.ancestors && attachment.ancestors.length > 1) {
1205
1218
  const section = $("div.chat-element-hover-section");
1206
- const header = $("div.chat-element-hover-header", {}, ( localize(5508, "HTML PATH")));
1219
+ const header = $("div.chat-element-hover-header", {}, ( localize(5544, "HTML PATH")));
1207
1220
  section.appendChild(header);
1208
1221
  const lines = [];
1209
1222
  for (let i = 0; i < attachment.ancestors.length; i++) {
@@ -1226,7 +1239,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1226
1239
  }
1227
1240
  if (attachment.attributes && ( Object.keys(attachment.attributes)).length > 0) {
1228
1241
  const section = $("div.chat-element-hover-section");
1229
- const header = $("div.chat-element-hover-header", {}, ( localize(5509, "ATTRIBUTES")));
1242
+ const header = $("div.chat-element-hover-header", {}, ( localize(5545, "ATTRIBUTES")));
1230
1243
  section.appendChild(header);
1231
1244
  const table = $("div.chat-element-hover-table");
1232
1245
  for (const [name, value] of Object.entries(attachment.attributes)) {
@@ -1240,7 +1253,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1240
1253
  }
1241
1254
  if (attachment.dimensions) {
1242
1255
  const section = $("div.chat-element-hover-section");
1243
- const header = $("div.chat-element-hover-header", {}, ( localize(5510, "POSITION & SIZE")));
1256
+ const header = $("div.chat-element-hover-header", {}, ( localize(5546, "POSITION & SIZE")));
1244
1257
  section.appendChild(header);
1245
1258
  const table = $("div.chat-element-hover-table");
1246
1259
  const dims = [
@@ -1260,7 +1273,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1260
1273
  }
1261
1274
  if (attachment.innerText) {
1262
1275
  const section = $("div.chat-element-hover-section");
1263
- const header = $("div.chat-element-hover-header", {}, ( localize(5511, "INNER TEXT")));
1276
+ const header = $("div.chat-element-hover-header", {}, ( localize(5547, "INNER TEXT")));
1264
1277
  section.appendChild(header);
1265
1278
  section.appendChild($("div.chat-element-hover-text", {}, attachment.innerText));
1266
1279
  scrollableContent.appendChild(section);
@@ -1406,7 +1419,7 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
1406
1419
  );
1407
1420
  this.label.setLabel(attachment.name, undefined);
1408
1421
  this.element.style.cursor = "pointer";
1409
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", attachment.name)));
1422
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1410
1423
  const {
1411
1424
  content,
1412
1425
  disposables
@@ -1468,7 +1481,7 @@ let SCMHistoryItemChangeAttachmentWidget = class SCMHistoryItemChangeAttachmentW
1468
1481
  hidePath: true,
1469
1482
  nameSuffix
1470
1483
  });
1471
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", attachment.name)));
1484
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1472
1485
  const {
1473
1486
  content,
1474
1487
  disposables
@@ -1524,7 +1537,7 @@ let SCMHistoryItemChangeRangeAttachmentWidget = class SCMHistoryItemChangeRangeA
1524
1537
  hidePath: true,
1525
1538
  nameSuffix
1526
1539
  });
1527
- this.element.ariaLabel = this.appendDeletionHint(( localize(5492, "Attached context, {0}", attachment.name)));
1540
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1528
1541
  this.addResourceOpenHandlers(attachment.value, undefined);
1529
1542
  }
1530
1543
  async openResource(resource, options, isDirectory, range) {
@@ -1686,7 +1699,7 @@ function addBasicContextMenu(accessor, widget, scopedContextKeyService, menuId,
1686
1699
  const chatAttachmentResourceContextKey = ( new RawContextKey("chatAttachmentResource", undefined, {
1687
1700
  type: "URI",
1688
1701
  description: ( localize(
1689
- 5512,
1702
+ 5548,
1690
1703
  "The full value of the chat attachment resource, including scheme and path"
1691
1704
  ))
1692
1705
  }));
@@ -93,12 +93,12 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
93
93
  contextNode.tabIndex = 0;
94
94
  contextNode.classList.toggle("disabled", !context.enabled);
95
95
  const file = context.uri;
96
- const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(5514, "cell")) : ( localize(5515, "file"));
97
- const contextLabel = context.name ?? (file ? basename(file) : ( localize(5516, "context")));
96
+ const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(5550, "cell")) : ( localize(5551, "file"));
97
+ const contextLabel = context.name ?? (file ? basename(file) : ( localize(5552, "context")));
98
98
  const isSuggestedEnabled = this.configService.getValue("chat.implicitContext.suggestedContext");
99
99
  if (isSuggestedEnabled) {
100
100
  if (!isSelection) {
101
- const buttonMsg = context.enabled ? ( localize(5517, "Disable {0} context {1}", attachmentTypeName, contextLabel)) : ( localize(5518, "Add {0} to context", contextLabel));
101
+ const buttonMsg = context.enabled ? ( localize(5553, "Disable {0} context {1}", attachmentTypeName, contextLabel)) : ( localize(5554, "Add {0} to context", contextLabel));
102
102
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
103
103
  supportIcons: true,
104
104
  title: buttonMsg
@@ -113,7 +113,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
113
113
  context.enabled = false;
114
114
  }));
115
115
  } else {
116
- const pinButtonMsg = ( localize(5519, "Pin selection"));
116
+ const pinButtonMsg = ( localize(5555, "Pin selection"));
117
117
  const pinButton = this.renderDisposables.add(( new Button(contextNode, {
118
118
  supportIcons: true,
119
119
  title: pinButtonMsg
@@ -146,7 +146,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
146
146
  })
147
147
  );
148
148
  } else {
149
- const buttonMsg = context.enabled ? ( localize(5520, "Disable current {0} context", attachmentTypeName)) : ( localize(5521, "Enable current {0} context", attachmentTypeName));
149
+ const buttonMsg = context.enabled ? ( localize(5556, "Disable current {0} context", attachmentTypeName)) : ( localize(5557, "Enable current {0} context", attachmentTypeName));
150
150
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
151
151
  supportIcons: true,
152
152
  title: buttonMsg
@@ -170,9 +170,9 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
170
170
  context.icon,
171
171
  context.value.resourceUri,
172
172
  markdownTooltip,
173
- ( localize(5522, "Current file context"))
173
+ ( localize(5558, "Current file context"))
174
174
  );
175
- contextNode.ariaLabel = ( localize(5523, "Suggested context, {0}", context.name));
175
+ contextNode.ariaLabel = ( localize(5559, "Suggested context, {0}", context.name));
176
176
  } else {
177
177
  title = this.renderResource(context.value, context.isSelection, context.enabled, label, contextNode);
178
178
  }
@@ -229,23 +229,23 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
229
229
  renderResource(attachmentValue, isSelection, enabled, label, contextNode) {
230
230
  const file = URI.isUri(attachmentValue) ? attachmentValue : attachmentValue.uri;
231
231
  const range = URI.isUri(attachmentValue) || !isSelection ? undefined : attachmentValue.range;
232
- const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(5514, "cell")) : ( localize(5515, "file"));
232
+ const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(5550, "cell")) : ( localize(5551, "file"));
233
233
  const fileBasename = basename(file);
234
234
  const fileDirname = dirname(file);
235
235
  const friendlyName = `${fileBasename} ${fileDirname}`;
236
236
  const ariaLabel = range ? ( localize(
237
- 5524,
237
+ 5560,
238
238
  "Suggested context, {0}, {1}, line {2} to line {3}",
239
239
  attachmentTypeName,
240
240
  friendlyName,
241
241
  range.startLineNumber,
242
242
  range.endLineNumber
243
- )) : ( localize(5525, "Suggested context, {0}, {1}", attachmentTypeName, friendlyName));
243
+ )) : ( localize(5561, "Suggested context, {0}, {1}", attachmentTypeName, friendlyName));
244
244
  const uriLabel = this.labelService.getUriLabel(file, {
245
245
  relative: true
246
246
  });
247
- const currentFile = ( localize(5526, "Current {0} context", attachmentTypeName));
248
- const inactive = ( localize(5527, "Enable current {0} context", attachmentTypeName));
247
+ const currentFile = ( localize(5562, "Current {0} context", attachmentTypeName));
248
+ const inactive = ( localize(5563, "Enable current {0} context", attachmentTypeName));
249
249
  const currentFileHint = enabled || isSelection ? currentFile : inactive;
250
250
  const title = `${currentFileHint}\n${uriLabel}`;
251
251
  label.setFile(file, {