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

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