@codingame/monaco-vscode-katex-common 28.4.1 → 29.1.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 (154) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  3. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +17 -15
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +2 -2
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +3 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +158 -47
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +22 -17
  10. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -4
  12. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +121 -14
  13. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +8 -1
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +15 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +29 -13
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +349 -109
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +47 -23
  19. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +6 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +104 -62
  21. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +1 -3
  22. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -11
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -40
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +21 -16
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +8 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +13 -4
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +29 -50
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +261 -282
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +2 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +7 -5
  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 +31 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +184 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +4 -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/chatChangesSummaryPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +4 -3
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +42 -34
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +1 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +14 -18
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +11 -9
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +25 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +332 -114
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +1 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +7 -7
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +2 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +10 -5
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -16
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +7 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +66 -7
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +28 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +272 -107
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.js +70 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +6 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +151 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +96 -10
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +6 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +86 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +7 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +5 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +8 -6
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +28 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +273 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +3 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +28 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +22 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +81 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +20 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +11 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +6 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +21 -7
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +2 -12
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +12 -12
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +0 -6
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +112 -163
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +11 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +137 -52
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +12 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +108 -38
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +9 -3
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +385 -247
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +5 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -7
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +6 -6
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +4 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +23 -23
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +124 -17
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +4 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +24 -7
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +30 -11
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +84 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +31 -0
  128. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +170 -0
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +47 -0
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +95 -0
  131. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +4 -1
  132. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  133. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -1
  134. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +4 -3
  135. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -0
  136. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +38 -6
  137. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +1 -0
  138. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +31 -0
  139. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +12 -3
  140. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +130 -23
  141. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +23 -0
  142. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +41 -0
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +55 -3
  146. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +50 -39
  148. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  149. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  150. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  152. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +0 -35
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +0 -440
@@ -12,22 +12,26 @@ import { AgentSessionProviders } from "@codingame/monaco-vscode-api/vscode/vs/wo
12
12
  import { ISessionTypePickerDelegate } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
13
13
  import { IChatInputPickerOptions } from "./chatInputPickerActionItem.js";
14
14
  import { ISessionTypeItem, SessionTypePickerActionItem } from "./sessionTargetPickerActionItem.js";
15
+ import { IGitService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/git/common/gitService.service";
15
16
  /**
16
17
  * Action view item for delegating to a remote session (Background or Cloud).
17
18
  * This picker allows switching to remote execution providers when the session is not empty.
18
19
  */
19
20
  export declare class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
21
+ private readonly gitService;
20
22
  private readonly _isSessionsWindow;
21
- constructor(action: MenuItemAction, chatSessionPosition: "sidebar" | "editor", delegate: ISessionTypePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatSessionsService: IChatSessionsService, commandService: ICommandService, openerService: IOpenerService, telemetryService: ITelemetryService);
23
+ constructor(action: MenuItemAction, chatSessionPosition: "sidebar" | "editor", delegate: ISessionTypePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatSessionsService: IChatSessionsService, commandService: ICommandService, openerService: IOpenerService, telemetryService: ITelemetryService, gitService: IGitService);
22
24
  protected _run(sessionTypeItem: ISessionTypeItem): void;
23
25
  protected _getSelectedSessionType(): AgentSessionProviders | undefined;
24
26
  protected _isSessionTypeEnabled(type: AgentSessionProviders): boolean;
27
+ private _hasGitRepository;
25
28
  protected _isVisible(type: AgentSessionProviders): boolean;
26
29
  protected _getSessionCategory(sessionTypeItem: ISessionTypeItem): {
27
30
  label: string;
28
31
  order: number;
29
32
  showHeader: boolean;
30
33
  };
34
+ protected _getSessionDescription(sessionTypeItem: ISessionTypeItem): string | undefined;
31
35
  protected _getLearnMore(): IAction;
32
36
  protected _getAdditionalActions(): IActionWidgetDropdownAction[];
33
37
  }
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
4
5
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
7
  import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
@@ -14,6 +15,7 @@ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/wor
14
15
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
15
16
  import { getAgentSessionProvider, AgentSessionProviders, getAgentCanContinueIn, isFirstPartyAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
16
17
  import { SessionTypePickerActionItem } from './sessionTargetPickerActionItem.js';
18
+ import { IGitService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/git/common/gitService.service';
17
19
 
18
20
  let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
19
21
  constructor(
@@ -27,7 +29,8 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
27
29
  chatSessionsService,
28
30
  commandService,
29
31
  openerService,
30
- telemetryService
32
+ telemetryService,
33
+ gitService
31
34
  ) {
32
35
  super(
33
36
  action,
@@ -42,6 +45,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
42
45
  openerService,
43
46
  telemetryService
44
47
  );
48
+ this.gitService = gitService;
45
49
  this._isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService) === true;
46
50
  }
47
51
  _run(sessionTypeItem) {
@@ -69,11 +73,17 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
69
73
  if (this._isSessionsWindow && activeProvider !== AgentSessionProviders.Background) {
70
74
  return false;
71
75
  }
76
+ if (this._isSessionsWindow && type === AgentSessionProviders.Cloud && !this._hasGitRepository()) {
77
+ return false;
78
+ }
72
79
  if (contribution && !contribution.canDelegate && activeProvider !== type ) {
73
80
  return false;
74
81
  }
75
82
  return this._getSelectedSessionType() !== type;
76
83
  }
84
+ _hasGitRepository() {
85
+ return !Iterable.isEmpty(this.gitService.repositories);
86
+ }
77
87
  _isVisible(type) {
78
88
  if (this._isSessionsWindow && type === AgentSessionProviders.Local) {
79
89
  return false;
@@ -86,22 +96,28 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
86
96
  _getSessionCategory(sessionTypeItem) {
87
97
  if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
88
98
  return {
89
- label: ( localize(6818, "Continue In")),
99
+ label: ( localize(7020, "Continue In")),
90
100
  order: 1,
91
101
  showHeader: true
92
102
  };
93
103
  }
94
104
  return {
95
- label: ( localize(6819, "Continue In (Third Party)")),
105
+ label: ( localize(7021, "Continue In (Third Party)")),
96
106
  order: 2,
97
107
  showHeader: false
98
108
  };
99
109
  }
110
+ _getSessionDescription(sessionTypeItem) {
111
+ if (this._isSessionsWindow && sessionTypeItem.type === AgentSessionProviders.Cloud && !this._hasGitRepository()) {
112
+ return localize(7022, "Requires a Git repository");
113
+ }
114
+ return undefined;
115
+ }
100
116
  _getLearnMore() {
101
117
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
102
118
  return {
103
119
  id: "workbench.action.chat.agentOverview.learnMoreHandOff",
104
- label: ( localize(6820, "Learn about agent handoff...")),
120
+ label: ( localize(7023, "Learn about agent handoff...")),
105
121
  tooltip: learnMoreUrl,
106
122
  class: undefined,
107
123
  enabled: true,
@@ -117,7 +133,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
117
133
  return [{
118
134
  id: "newChatSession",
119
135
  class: undefined,
120
- label: ( localize(6821, "New Chat Session")),
136
+ label: ( localize(7024, "New Chat Session")),
121
137
  tooltip: "",
122
138
  hover: {
123
139
  content: "",
@@ -127,7 +143,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
127
143
  icon: Codicon.plus,
128
144
  enabled: true,
129
145
  category: {
130
- label: ( localize(6822, "New Chat Session")),
146
+ label: ( localize(7025, "New Chat Session")),
131
147
  order: 0,
132
148
  showHeader: false
133
149
  },
@@ -138,6 +154,6 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
138
154
  }];
139
155
  }
140
156
  };
141
- DelegationSessionPickerActionItem = ( __decorate([( __param(4, IActionWidgetService)), ( __param(5, IKeybindingService)), ( __param(6, IContextKeyService)), ( __param(7, IChatSessionsService)), ( __param(8, ICommandService)), ( __param(9, IOpenerService)), ( __param(10, ITelemetryService))], DelegationSessionPickerActionItem));
157
+ DelegationSessionPickerActionItem = ( __decorate([( __param(4, IActionWidgetService)), ( __param(5, IKeybindingService)), ( __param(6, IContextKeyService)), ( __param(7, IChatSessionsService)), ( __param(8, ICommandService)), ( __param(9, IOpenerService)), ( __param(10, ITelemetryService)), ( __param(11, IGitService))], DelegationSessionPickerActionItem));
142
158
 
143
159
  export { DelegationSessionPickerActionItem };
@@ -68,15 +68,15 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
68
68
  });
69
69
  const customAgentTarget = delegate.customAgentTarget?.() ?? Target.Undefined;
70
70
  const builtInCategory = {
71
- label: ( localize(6839, "Built-In")),
71
+ label: ( localize(7045, "Built-In")),
72
72
  order: 0
73
73
  };
74
74
  const customCategory = {
75
- label: ( localize(6840, "Custom")),
75
+ label: ( localize(7046, "Custom")),
76
76
  order: 1
77
77
  };
78
78
  const policyDisabledCategory = {
79
- label: ( localize(6841, "Managed by your organization")),
79
+ label: ( localize(7047, "Managed by your organization")),
80
80
  order: 999,
81
81
  showHeader: true
82
82
  };
@@ -89,13 +89,13 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
89
89
  if (mode.uri) {
90
90
  let label, icon, id;
91
91
  if (mode.source?.storage === PromptsStorage.extension) {
92
- icon = Codicon.eye;
92
+ icon = Codicon.file;
93
93
  id = `viewAgent:${mode.id}`;
94
- label = ( localize(6842, "View {0} agent", mode.label.get()));
94
+ label = ( localize(7048, "View {0} agent", mode.label.get()));
95
95
  } else {
96
96
  icon = Codicon.edit;
97
97
  id = `editAgent:${mode.id}`;
98
- label = ( localize(6843, "Edit {0} agent", mode.label.get()));
98
+ label = ( localize(7049, "Edit {0} agent", mode.label.get()));
99
99
  }
100
100
  const modeResource = mode.uri;
101
101
  toolbarActions.push({
@@ -16,7 +16,10 @@ export interface IModelPickerDelegate {
16
16
  readonly currentModel: IObservable<ILanguageModelChatMetadataAndIdentifier | undefined>;
17
17
  setModel(model: ILanguageModelChatMetadataAndIdentifier): void;
18
18
  getModels(): ILanguageModelChatMetadataAndIdentifier[];
19
- canManageModels(): boolean;
19
+ useGroupedModelPicker(): boolean;
20
+ showManageModelsAction(): boolean;
21
+ showUnavailableFeatured(): boolean;
22
+ showFeatured(): boolean;
20
23
  }
21
24
  /**
22
25
  * Action view item for selecting a language model in the chat interface.
@@ -27,7 +27,9 @@ let EnhancedModelPickerActionItem = class EnhancedModelPickerActionItem extends
27
27
  this._contextKeyService = _contextKeyService;
28
28
  this.keybindingService = keybindingService;
29
29
  this._managedHover = this._register(( new MutableDisposable()));
30
- this._pickerWidget = this._register(instantiationService.createInstance(ModelPickerWidget, delegate));
30
+ this._pickerWidget = this._register(
31
+ instantiationService.createInstance(ModelPickerWidget, delegate, pickerOptions.hoverPosition)
32
+ );
31
33
  this._pickerWidget.setSelectedModel(delegate.currentModel.get());
32
34
  this._pickerWidget.setHideChevrons(pickerOptions.hideChevrons);
33
35
  this._register(autorun(t => {
@@ -70,7 +72,7 @@ let EnhancedModelPickerActionItem = class EnhancedModelPickerActionItem extends
70
72
  }
71
73
  }
72
74
  _getHoverContents() {
73
- let label = ( localize(6844, "Pick Model"));
75
+ let label = ( localize(7050, "Pick Model"));
74
76
  const keybindingLabel = this.keybindingService.lookupKeybinding(this._action.id, this._contextKeyService)?.getLabel();
75
77
  if (keybindingLabel) {
76
78
  label += ` (${keybindingLabel})`;
@@ -47,13 +47,13 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
47
47
  const actions = [{
48
48
  ...action,
49
49
  id: "chat.permissions.default",
50
- label: ( localize(6845, "Default Approvals")),
51
- description: ( localize(6846, "Copilot uses your configured settings")),
50
+ label: ( localize(7051, "Default Approvals")),
51
+ description: ( localize(7052, "Copilot uses your configured settings")),
52
52
  icon: ThemeIcon.fromId(Codicon.shield.id),
53
53
  checked: currentLevel === ChatPermissionLevel.Default,
54
54
  tooltip: "",
55
55
  hover: {
56
- content: ( localize(6847, "Use configured approval settings")),
56
+ content: ( localize(7053, "Use configured approval settings")),
57
57
  position: pickerOptions.hoverPosition
58
58
  },
59
59
  run: async () => {
@@ -65,33 +65,33 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
65
65
  }, {
66
66
  ...action,
67
67
  id: "chat.permissions.autoApprove",
68
- label: ( localize(6848, "Bypass Approvals")),
69
- description: ( localize(6849, "All tool calls are auto-approved")),
68
+ label: ( localize(7054, "Bypass Approvals")),
69
+ description: ( localize(7055, "All tool calls are auto-approved")),
70
70
  icon: ThemeIcon.fromId(Codicon.warning.id),
71
71
  checked: currentLevel === ChatPermissionLevel.AutoApprove,
72
72
  enabled: !policyRestricted,
73
- tooltip: policyRestricted ? ( localize(6850, "Disabled by enterprise policy")) : "",
73
+ tooltip: policyRestricted ? ( localize(7056, "Disabled by enterprise policy")) : "",
74
74
  hover: {
75
- content: policyRestricted ? ( localize(6851, "Disabled by enterprise policy")) : ( localize(6852, "Auto-approve all tool calls and retry on errors")),
75
+ content: policyRestricted ? ( localize(7057, "Disabled by enterprise policy")) : ( localize(7058, "Auto-approve all tool calls and retry on errors")),
76
76
  position: pickerOptions.hoverPosition
77
77
  },
78
78
  run: async () => {
79
79
  if (!hasShownElevatedWarning(ChatPermissionLevel.AutoApprove)) {
80
80
  const result = await this.dialogService.prompt({
81
81
  type: Severity.Warning,
82
- message: ( localize(6853, "Enable Bypass Approvals?")),
82
+ message: ( localize(7059, "Enable Bypass Approvals?")),
83
83
  buttons: [{
84
- label: ( localize(6854, "Enable")),
84
+ label: ( localize(7060, "Enable")),
85
85
  run: () => true
86
86
  }, {
87
- label: ( localize(6855, "Cancel")),
87
+ label: ( localize(7061, "Cancel")),
88
88
  run: () => false
89
89
  }],
90
90
  custom: {
91
91
  icon: Codicon.warning,
92
92
  markdownDetails: [{
93
93
  markdown: ( new MarkdownString(( localize(
94
- 6856,
94
+ 7062,
95
95
  "Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls."
96
96
  ))))
97
97
  }]
@@ -112,34 +112,34 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
112
112
  actions.push({
113
113
  ...action,
114
114
  id: "chat.permissions.autopilot",
115
- label: ( localize(6857, "Autopilot (Preview)")),
116
- description: ( localize(6858, "Autonomously iterates from start to finish")),
115
+ label: ( localize(7063, "Autopilot (Preview)")),
116
+ description: ( localize(7064, "Autonomously iterates from start to finish")),
117
117
  icon: ThemeIcon.fromId(Codicon.rocket.id),
118
118
  checked: currentLevel === ChatPermissionLevel.Autopilot,
119
119
  enabled: !policyRestricted,
120
- tooltip: policyRestricted ? ( localize(6859, "Disabled by enterprise policy")) : "",
120
+ tooltip: policyRestricted ? ( localize(7065, "Disabled by enterprise policy")) : "",
121
121
  hover: {
122
- content: policyRestricted ? ( localize(6860, "Disabled by enterprise policy")) : ( localize(6861, "Auto-approve all tool calls and continue until the task is done")),
122
+ content: policyRestricted ? ( localize(7066, "Disabled by enterprise policy")) : ( localize(7067, "Auto-approve all tool calls and continue until the task is done")),
123
123
  position: pickerOptions.hoverPosition
124
124
  },
125
125
  run: async () => {
126
126
  if (!hasShownElevatedWarning(ChatPermissionLevel.Autopilot)) {
127
127
  const result = await this.dialogService.prompt({
128
128
  type: Severity.Warning,
129
- message: ( localize(6862, "Enable Autopilot?")),
129
+ message: ( localize(7068, "Enable Autopilot?")),
130
130
  buttons: [{
131
- label: ( localize(6863, "Enable")),
131
+ label: ( localize(7069, "Enable")),
132
132
  run: () => true
133
133
  }, {
134
- label: ( localize(6864, "Cancel")),
134
+ label: ( localize(7070, "Cancel")),
135
135
  run: () => false
136
136
  }],
137
137
  custom: {
138
138
  icon: Codicon.rocket,
139
139
  markdownDetails: [{
140
140
  markdown: ( new MarkdownString(( localize(
141
- 6865,
142
- "Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only."
141
+ 7071,
142
+ "Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only."
143
143
  ))))
144
144
  }]
145
145
  }
@@ -182,15 +182,15 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
182
182
  switch (level) {
183
183
  case ChatPermissionLevel.Autopilot:
184
184
  icon = Codicon.rocket;
185
- label = ( localize(6866, "Autopilot (Preview)"));
185
+ label = ( localize(7072, "Autopilot (Preview)"));
186
186
  break;
187
187
  case ChatPermissionLevel.AutoApprove:
188
188
  icon = Codicon.warning;
189
- label = ( localize(6867, "Bypass Approvals"));
189
+ label = ( localize(7073, "Bypass Approvals"));
190
190
  break;
191
191
  default:
192
192
  icon = Codicon.shield;
193
- label = ( localize(6868, "Default Approvals"));
193
+ label = ( localize(7074, "Default Approvals"));
194
194
  break;
195
195
  }
196
196
  const labelElements = [];
@@ -15,11 +15,11 @@ import { getAgentSessionProviderIcon, AgentSessionProviders, getAgentSessionProv
15
15
  import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
16
16
 
17
17
  const firstPartyCategory = {
18
- label: ( localize(6869, "Agent Types")),
18
+ label: ( localize(7075, "Agent Types")),
19
19
  order: 1
20
20
  };
21
21
  const otherCategory = {
22
- label: ( localize(6870, "Other")),
22
+ label: ( localize(7076, "Other")),
23
23
  order: 2
24
24
  };
25
25
  let SessionTypePickerActionItem = class SessionTypePickerActionItem extends ChatInputPickerActionViewItem {
@@ -125,7 +125,7 @@ let SessionTypePickerActionItem = class SessionTypePickerActionItem extends Chat
125
125
  const learnMoreUrl = "https://code.visualstudio.com/docs/copilot/agents/overview";
126
126
  return {
127
127
  id: "workbench.action.chat.agentOverview.learnMore",
128
- label: ( localize(6871, "Learn about agent types...")),
128
+ label: ( localize(7077, "Learn about agent types...")),
129
129
  tooltip: learnMoreUrl,
130
130
  class: undefined,
131
131
  enabled: true,
@@ -48,10 +48,10 @@ let WorkspacePickerActionItem = class WorkspacePickerActionItem extends ChatInpu
48
48
  actions.push({
49
49
  ...action,
50
50
  id: "workspace.openFolder",
51
- label: ( localize(6872, "Open Folder...")),
51
+ label: ( localize(7078, "Open Folder...")),
52
52
  checked: false,
53
53
  enabled: true,
54
- tooltip: ( localize(6873, "Open Folder...")),
54
+ tooltip: ( localize(7079, "Open Folder...")),
55
55
  run: async () => {
56
56
  this.commandService.executeCommand(this.delegate.openFolderCommand);
57
57
  }
@@ -104,7 +104,7 @@ let WorkspacePickerActionItem = class WorkspacePickerActionItem extends ChatInpu
104
104
  labelElements.push($("span.chat-input-picker-label", undefined, label));
105
105
  } else {
106
106
  labelElements.push(...renderLabelWithIcons(`$(folder)`));
107
- labelElements.push($("span.chat-input-picker-label", undefined, ( localize(6874, "Workspace"))));
107
+ labelElements.push($("span.chat-input-picker-label", undefined, ( localize(7080, "Workspace"))));
108
108
  }
109
109
  if (!this.pickerOptions.hideChevrons.get()) {
110
110
  labelElements.push(...renderLabelWithIcons(`$(chevron-down)`));
@@ -9,7 +9,8 @@
9
9
  max-width: 950px;
10
10
  height: 100%;
11
11
  margin: auto;
12
- position: relative; /* Enable absolute positioning for child elements */
12
+ position: relative;
13
+ /* Enable absolute positioning for child elements */
13
14
 
14
15
  /* 11px when base font is 13px */
15
16
  --vscode-chat-font-size-body-xs: 0.846em;
@@ -282,7 +283,7 @@
282
283
  }
283
284
 
284
285
  .interactive-item-container > .value .chat-used-context {
285
- margin-bottom: 16px;
286
+ margin-bottom: 14px;
286
287
  }
287
288
 
288
289
  .interactive-item-container > .value .chat-used-context .chat-used-context-list {
@@ -624,7 +625,7 @@
624
625
  }
625
626
 
626
627
  &:not(:last-child) {
627
- margin-bottom: 16px;
628
+ margin-bottom: 14px;
628
629
  }
629
630
  }
630
631
 
@@ -849,6 +850,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
849
850
 
850
851
  .interactive-input-part:has(.chat-editing-session > .chat-editing-session-container) .chat-input-container,
851
852
  .interactive-input-part:has(.chat-todo-list-widget-container > .chat-todo-list-widget.has-todos) .chat-input-container,
853
+ .interactive-input-part:has(.chat-artifacts-widget-container > .chat-artifacts-widget:not([style*="display: none"])) .chat-input-container,
852
854
  .interactive-input-part:has(.chat-input-widgets-container > .chat-status-widget:not([style*="display: none"])) .chat-input-container,
853
855
  .interactive-input-part:has(.chat-getting-started-tip-container > .chat-tip-widget) .chat-input-container {
854
856
  /* Remove top border radius when editing session, todo list, or status widget is present */
@@ -877,11 +879,16 @@ have to be updated for changes to the rules above, or to support more deeply nes
877
879
  overflow: hidden;
878
880
  }
879
881
 
880
- .interactive-session .interactive-input-part > .chat-todo-list-widget-container:has(.chat-todo-list-widget.has-todos) + .chat-editing-session .chat-editing-session-container {
882
+ /* Remove top radius from widgets that follow another visible widget */
883
+ .interactive-session .interactive-input-part > .chat-todo-list-widget-container:has(.chat-todo-list-widget.has-todos) + .chat-artifacts-widget-container .chat-artifacts-widget,
884
+ .interactive-session .interactive-input-part > .chat-todo-list-widget-container:has(.chat-todo-list-widget.has-todos) + .chat-editing-session .chat-editing-session-container,
885
+ .interactive-session .interactive-input-part > .chat-todo-list-widget-container:has(.chat-todo-list-widget.has-todos) + .chat-artifacts-widget-container + .chat-editing-session .chat-editing-session-container,
886
+ .interactive-session .interactive-input-part > .chat-artifacts-widget-container:has(.chat-artifacts-widget:not([style*="display: none"])) + .chat-editing-session .chat-editing-session-container {
881
887
  border-top-left-radius: 0;
882
888
  border-top-right-radius: 0;
883
889
  }
884
890
 
891
+
885
892
  .interactive-session .chat-editing-session .monaco-list-row .chat-collapsible-list-action-bar {
886
893
  padding-left: 5px;
887
894
  display: none;
@@ -1105,6 +1112,14 @@ have to be updated for changes to the rules above, or to support more deeply nes
1105
1112
  position: relative;
1106
1113
  }
1107
1114
 
1115
+
1116
+ .interactive-session .interactive-input-part > .chat-artifacts-widget-container {
1117
+ margin-bottom: -4px;
1118
+ width: 100%;
1119
+ position: relative;
1120
+ }
1121
+
1122
+
1108
1123
  /* Chat Todo List Widget Container - mirrors chat-editing-session styling */
1109
1124
  .interactive-session .interactive-input-part > .chat-todo-list-widget-container {
1110
1125
  margin-bottom: -4px;
@@ -2145,6 +2160,97 @@ have to be updated for changes to the rules above, or to support more deeply nes
2145
2160
  border: none;
2146
2161
  }
2147
2162
 
2163
+ /* Chat artifacts widget — collapsible list of session artifacts */
2164
+ .chat-artifacts-widget {
2165
+ padding: 4px 3px 4px 3px;
2166
+ box-sizing: border-box;
2167
+ border: 1px solid var(--vscode-input-border, transparent);
2168
+ background-color: var(--vscode-editor-background);
2169
+ border-bottom: none;
2170
+ border-radius: var(--vscode-cornerRadius-large) var(--vscode-cornerRadius-large) 0 0;
2171
+ display: flex;
2172
+ flex-direction: column;
2173
+ gap: 2px;
2174
+ overflow: hidden;
2175
+ }
2176
+
2177
+ .chat-artifacts-widget .chat-artifacts-expand {
2178
+ width: 100%;
2179
+ }
2180
+
2181
+ .chat-artifacts-widget .chat-artifacts-expand .monaco-button {
2182
+ display: flex;
2183
+ align-items: center;
2184
+ gap: 4px;
2185
+ cursor: pointer;
2186
+ justify-content: space-between;
2187
+ width: 100%;
2188
+ background-color: transparent;
2189
+ border-color: transparent;
2190
+ color: var(--vscode-foreground);
2191
+ padding: 0;
2192
+ min-width: unset;
2193
+ }
2194
+
2195
+ .chat-artifacts-widget .chat-artifacts-expand .monaco-button:focus:not(:focus-visible) {
2196
+ outline: none;
2197
+ }
2198
+
2199
+ .chat-artifacts-widget .chat-artifacts-expand .chat-artifacts-title-section {
2200
+ padding-left: 3px;
2201
+ display: flex;
2202
+ align-items: center;
2203
+ flex: 1;
2204
+ font-size: 12px;
2205
+ white-space: nowrap;
2206
+ overflow: hidden;
2207
+ text-overflow: ellipsis;
2208
+ line-height: 22px;
2209
+ }
2210
+
2211
+ .chat-artifacts-widget .chat-artifacts-expand .chat-artifacts-title-section .codicon {
2212
+ font-size: 16px;
2213
+ line-height: 22px;
2214
+ flex-shrink: 0;
2215
+ margin-right: 3px;
2216
+ }
2217
+
2218
+ .chat-artifacts-widget .chat-artifacts-list {
2219
+ width: 100%;
2220
+ padding: 0;
2221
+ box-sizing: border-box;
2222
+ }
2223
+
2224
+ .chat-artifacts-widget .chat-artifacts-list .monaco-list .monaco-list-row {
2225
+ border-radius: var(--vscode-cornerRadius-small);
2226
+ }
2227
+
2228
+ .chat-artifacts-widget .chat-artifacts-list .monaco-list .monaco-list-row:hover {
2229
+ background-color: var(--vscode-list-hoverBackground) !important;
2230
+ }
2231
+
2232
+ .chat-artifacts-widget .chat-artifacts-list-row {
2233
+ display: flex;
2234
+ align-items: center;
2235
+ gap: 6px;
2236
+ padding: 0 6px;
2237
+ height: 100%;
2238
+ cursor: pointer;
2239
+ }
2240
+
2241
+ .chat-artifacts-widget .chat-artifacts-list-icon {
2242
+ font-size: 14px;
2243
+ display: flex;
2244
+ align-items: center;
2245
+ }
2246
+
2247
+ .chat-artifacts-widget .chat-artifacts-list-label {
2248
+ overflow: hidden;
2249
+ text-overflow: ellipsis;
2250
+ white-space: nowrap;
2251
+ font-size: 13px;
2252
+ }
2253
+
2148
2254
  .interactive-session .checkpoint-file-changes-summary {
2149
2255
  display: flex;
2150
2256
  flex-direction: column;
@@ -2407,7 +2513,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
2407
2513
  display: flex;
2408
2514
  align-items: center;
2409
2515
  gap: 4px;
2410
- margin: 0 0 6px 0;
2516
+ margin: 0 0 14px 0;
2411
2517
  font-size: 13px;
2412
2518
 
2413
2519
  /* Tool calls transition from a progress to a collapsible list part, which needs to have this top padding.
@@ -2462,14 +2568,12 @@ have to be updated for changes to the rules above, or to support more deeply nes
2462
2568
 
2463
2569
  /* shimmer animation for shimmer progress */
2464
2570
  &.shimmer-progress .rendered-markdown.progress-step > p {
2465
- background: linear-gradient(
2466
- 90deg,
2467
- var(--vscode-descriptionForeground) 0%,
2468
- var(--vscode-descriptionForeground) 30%,
2469
- var(--vscode-chat-thinkingShimmer) 50%,
2470
- var(--vscode-descriptionForeground) 70%,
2471
- var(--vscode-descriptionForeground) 100%
2472
- );
2571
+ background: linear-gradient(90deg,
2572
+ var(--vscode-descriptionForeground) 0%,
2573
+ var(--vscode-descriptionForeground) 30%,
2574
+ var(--vscode-chat-thinkingShimmer) 50%,
2575
+ var(--vscode-descriptionForeground) 70%,
2576
+ var(--vscode-descriptionForeground) 100%);
2473
2577
  background-size: 400% 100%;
2474
2578
  background-clip: text;
2475
2579
  -webkit-background-clip: text;
@@ -2705,7 +2809,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
2705
2809
  outline: none;
2706
2810
  border: none;
2707
2811
 
2708
- .codicon.codicon-file-media, .codicon.codicon-warning {
2812
+ .codicon.codicon-file-media,
2813
+ .codicon.codicon-warning {
2709
2814
  font-size: 12px;
2710
2815
  margin-right: 2px;
2711
2816
  }
@@ -2900,7 +3005,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
2900
3005
  display: none;
2901
3006
  }
2902
3007
 
2903
- .interactive-item-container .header.partially-disabled .detail.show-checkmarks {
3008
+ .interactive-item-container.show-checkmarks .header.partially-disabled .detail {
2904
3009
  margin-left: 4px;
2905
3010
 
2906
3011
  .codicon-check {
@@ -3210,7 +3315,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
3210
3315
  align-items: center;
3211
3316
  justify-content: center;
3212
3317
  height: 100%;
3213
- margin: -1px -8px -1px 0; /* Extend to button edge, accounting for button padding */
3318
+ margin: -1px -8px -1px 0;
3319
+ /* Extend to button edge, accounting for button padding */
3214
3320
  padding: 0 4px 0 2px;
3215
3321
  gap: 4px;
3216
3322
  cursor: pointer;
@@ -3295,7 +3401,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
3295
3401
  opacity: 0;
3296
3402
  transition: opacity 0.15s;
3297
3403
  color: var(--vscode-descriptionForeground);
3298
- margin-top: -4px; /* visually center with overlaid top controls */
3404
+ margin-top: -4px;
3405
+ /* visually center with overlaid top controls */
3299
3406
  }
3300
3407
 
3301
3408
  .interactive-item-container.pending-request:hover .chat-pending-drag-handle {
@@ -9,8 +9,10 @@ export interface IChatContextUsagePromptTokenDetail {
9
9
  }
10
10
  export interface IChatContextUsageData {
11
11
  usedTokens: number;
12
+ completionTokens: number;
12
13
  totalContextWindow: number;
13
14
  percentage: number;
15
+ outputBufferPercentage?: number;
14
16
  promptTokenDetails?: readonly IChatContextUsagePromptTokenDetail[];
15
17
  }
16
18
  /**
@@ -26,6 +28,8 @@ export declare class ChatContextUsageDetails extends Disposable {
26
28
  private readonly percentageLabel;
27
29
  private readonly tokenCountLabel;
28
30
  private readonly progressFill;
31
+ private readonly outputBufferFill;
32
+ private readonly outputBufferLegend;
29
33
  private readonly tokenDetailsContainer;
30
34
  private readonly warningMessage;
31
35
  private readonly actionsSection;