@codingame/monaco-vscode-katex-common 32.0.2 → 33.0.7

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 (142) 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/platform/agentHost/common/claudeSessionConfigKeys.d.ts +30 -0
  4. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.js +8 -0
  5. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +32 -0
  6. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +13 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +56 -36
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +45 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +114 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +87 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +502 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +45 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +188 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +153 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +52 -52
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +4 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.d.ts +1 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +23 -20
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +13 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +40 -13
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -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.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +217 -13
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +10 -10
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +2 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +36 -23
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -9
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -3
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +8 -13
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +16 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +24 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +6 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +72 -23
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +2 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +7 -22
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +3 -3
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +25 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +9 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +41 -27
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +31 -25
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +4 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +89 -27
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +203 -107
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +6 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +18 -18
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +32 -81
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +4 -4
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
  114. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  115. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  116. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  117. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -2
  119. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  120. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  122. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  130. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  131. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  132. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  133. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +4 -0
  134. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  136. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +29 -7
  138. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +27 -8
  139. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +17 -8
  140. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -69
  141. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -2
  142. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +9 -14
@@ -12,6 +12,9 @@ interface IModelSelectionContext {
12
12
  * Filter models based on session type.
13
13
  * When a session has a specific type (and it's not 'local'), only models targeting that
14
14
  * session type are returned. Otherwise, general-purpose models are returned.
15
+ *
16
+ * `isUserSelectable` defaults to `true` when omitted: only an explicit `false` hides
17
+ * the model from the picker and this model-selection flow.
15
18
  */
16
19
  export declare function filterModelsForSession(models: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined, currentModeKind: ChatModeKind, location: ChatAgentLocation): ILanguageModelChatMetadataAndIdentifier[];
17
20
  /**
@@ -103,7 +106,9 @@ export declare function shouldResetOnModelListChange(currentModelId: string | un
103
106
  * This handles the startup race where the model wasn't available during
104
107
  * `initSelectedModel` but arrives later via `onDidChangeLanguageModels`.
105
108
  *
106
- * The model must pass both the persisted-default check and the `isUserSelectable` check.
109
+ * The model must pass both the persisted-default check and the user-selectable
110
+ * check. `isUserSelectable` defaults to `true`; only an explicit `false` blocks
111
+ * restoration.
107
112
  */
108
113
  export declare function shouldRestoreLateArrivingModel(persistedModelId: string, persistedAsDefault: boolean, model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation): boolean;
109
114
  export {};
@@ -5,11 +5,11 @@ import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/
5
5
  function filterModelsForSession(models, sessionType, currentModeKind, location) {
6
6
  if (sessionType && sessionType !== "local" && hasModelsTargetingSession(models, sessionType)) {
7
7
  return models.filter(
8
- entry => entry.metadata?.targetChatSessionType === sessionType && entry.metadata?.isUserSelectable
8
+ entry => entry.metadata?.targetChatSessionType === sessionType && entry.metadata?.isUserSelectable !== false
9
9
  );
10
10
  }
11
11
  return models.filter(
12
- entry => !entry.metadata?.targetChatSessionType && entry.metadata?.isUserSelectable && isModelSupportedForMode(entry, currentModeKind) && isModelSupportedForInlineChat(entry, location)
12
+ entry => !entry.metadata?.targetChatSessionType && entry.metadata?.isUserSelectable !== false && isModelSupportedForMode(entry, currentModeKind) && isModelSupportedForInlineChat(entry, location)
13
13
  );
14
14
  }
15
15
  function isModelSupportedForMode(model, currentModeKind) {
@@ -118,7 +118,7 @@ function shouldResetOnModelListChange(currentModelId, availableModels) {
118
118
  return !( availableModels.some(m => m.identifier === currentModelId));
119
119
  }
120
120
  function shouldRestoreLateArrivingModel(persistedModelId, persistedAsDefault, model, location) {
121
- if (!model.metadata.isUserSelectable) {
121
+ if (model.metadata.isUserSelectable === false) {
122
122
  return false;
123
123
  }
124
124
  const result = shouldRestorePersistedModel(persistedModelId, persistedAsDefault, [model], location);
@@ -88,7 +88,7 @@ let MobileChatInputCombinedPickerActionItem = class MobileChatInputCombinedPicke
88
88
  append(trigger, renderIcon(modeIcon));
89
89
  }
90
90
  const currentModel = this._modelDelegate.currentModel.get();
91
- const labelText = currentModel?.metadata.name ?? ( localize(7504, "Auto"));
91
+ const labelText = currentModel?.metadata.name ?? ( localize(7590, "Auto"));
92
92
  const labelSpan = append(trigger, $("span.chat-input-picker-label"));
93
93
  labelSpan.textContent = labelText;
94
94
  append(trigger, renderIcon(Codicon.chevronDown));
@@ -98,7 +98,7 @@ let MobileChatInputCombinedPickerActionItem = class MobileChatInputCombinedPicke
98
98
  ariaParts.push(modeLabel);
99
99
  }
100
100
  ariaParts.push(labelText);
101
- trigger.ariaLabel = ( localize(7505, "Pick Mode and Model, {0}", ariaParts.join(", ")));
101
+ trigger.ariaLabel = ( localize(7591, "Pick Mode and Model, {0}", ariaParts.join(", ")));
102
102
  }
103
103
  onClick() {}
104
104
  async _showSheet() {
@@ -99,13 +99,13 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
99
99
  _getSessionCategory(sessionTypeItem) {
100
100
  if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
101
101
  return {
102
- label: ( localize(7513, "Continue In")),
102
+ label: ( localize(7599, "Continue In")),
103
103
  order: 1,
104
104
  showHeader: true
105
105
  };
106
106
  }
107
107
  return {
108
- label: ( localize(7514, "Continue In (Third Party)")),
108
+ label: ( localize(7600, "Continue In (Third Party)")),
109
109
  order: 2,
110
110
  showHeader: false
111
111
  };
@@ -117,7 +117,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
117
117
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
118
118
  return {
119
119
  id: "workbench.action.chat.agentOverview.learnMoreHandOff",
120
- label: ( localize(7515, "Learn about agent handoff...")),
120
+ label: ( localize(7601, "Learn about agent handoff...")),
121
121
  tooltip: learnMoreUrl,
122
122
  class: undefined,
123
123
  enabled: true,
@@ -133,7 +133,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
133
133
  return [{
134
134
  id: "newChatSession",
135
135
  class: undefined,
136
- label: ( localize(7516, "New Chat Session")),
136
+ label: ( localize(7602, "New Chat Session")),
137
137
  tooltip: "",
138
138
  hover: {
139
139
  content: ""
@@ -142,7 +142,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
142
142
  icon: Codicon.plus,
143
143
  enabled: true,
144
144
  category: {
145
- label: ( localize(7517, "New Chat Session")),
145
+ label: ( localize(7603, "New Chat Session")),
146
146
  order: 0,
147
147
  showHeader: false
148
148
  },
@@ -66,15 +66,15 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
66
66
  });
67
67
  const getCustomAgentTarget = () => delegate.customAgentTarget?.() ?? Target.Undefined;
68
68
  const builtInCategory = {
69
- label: ( localize(7537, "Built-In")),
69
+ label: ( localize(7623, "Built-In")),
70
70
  order: 0
71
71
  };
72
72
  const customCategory = {
73
- label: ( localize(7538, "Custom")),
73
+ label: ( localize(7624, "Custom")),
74
74
  order: 1
75
75
  };
76
76
  const policyDisabledCategory = {
77
- label: ( localize(7539, "Managed by your organization")),
77
+ label: ( localize(7625, "Managed by your organization")),
78
78
  order: 999,
79
79
  showHeader: true
80
80
  };
@@ -89,11 +89,11 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
89
89
  if (mode.source?.storage === PromptsStorage.extension) {
90
90
  icon = Codicon.file;
91
91
  id = `viewAgent:${mode.id}`;
92
- label = ( localize(7540, "View {0} agent", mode.label.get()));
92
+ label = ( localize(7626, "View {0} agent", mode.label.get()));
93
93
  } else {
94
94
  icon = Codicon.edit;
95
95
  id = `editAgent:${mode.id}`;
96
- label = ( localize(7541, "Edit {0} agent", mode.label.get()));
96
+ label = ( localize(7627, "Edit {0} agent", mode.label.get()));
97
97
  }
98
98
  const modeResource = mode.uri;
99
99
  toolbarActions.push({
@@ -74,7 +74,7 @@ let ModelPickerActionItem = class ModelPickerActionItem extends BaseActionViewIt
74
74
  }
75
75
  }
76
76
  _getHoverContents() {
77
- let label = ( localize(7542, "Pick Model"));
77
+ let label = ( localize(7628, "Pick Model"));
78
78
  const keybindingLabel = this.keybindingService.lookupKeybinding(this._action.id, this._contextKeyService)?.getLabel();
79
79
  if (keybindingLabel) {
80
80
  label += ` (${keybindingLabel})`;
@@ -53,7 +53,7 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
53
53
  icon: item.icon,
54
54
  checked: ext.selectedId === item.id,
55
55
  enabled: !item.locked,
56
- tooltip: item.locked ? ( localize(7543, "This option is locked")) : "",
56
+ tooltip: item.locked ? ( localize(7629, "This option is locked")) : "",
57
57
  hover: item.description ? {
58
58
  content: item.description
59
59
  } : undefined,
@@ -70,13 +70,13 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
70
70
  const actions = [{
71
71
  ...action,
72
72
  id: "chat.permissions.default",
73
- label: ( localize(7544, "Default Approvals")),
74
- detail: ( localize(7545, "Copilot uses your configured settings")),
73
+ label: ( localize(7630, "Default Approvals")),
74
+ detail: ( localize(7631, "Copilot uses your configured settings")),
75
75
  icon: ThemeIcon.fromId(Codicon.shield.id),
76
76
  checked: currentLevel === ChatPermissionLevel.Default,
77
77
  tooltip: "",
78
78
  hover: {
79
- content: ( localize(7546, "Use configured approval settings"))
79
+ content: ( localize(7632, "Use configured approval settings"))
80
80
  },
81
81
  run: async () => {
82
82
  delegate.setPermissionLevel(ChatPermissionLevel.Default);
@@ -87,14 +87,14 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
87
87
  }, {
88
88
  ...action,
89
89
  id: "chat.permissions.autoApprove",
90
- label: ( localize(7547, "Bypass Approvals")),
91
- detail: ( localize(7548, "All tool calls are auto-approved")),
90
+ label: ( localize(7633, "Bypass Approvals")),
91
+ detail: ( localize(7634, "All tool calls are auto-approved")),
92
92
  icon: ThemeIcon.fromId(Codicon.warning.id),
93
93
  checked: currentLevel === ChatPermissionLevel.AutoApprove,
94
94
  enabled: !policyRestricted,
95
- tooltip: policyRestricted ? ( localize(7549, "Disabled by enterprise policy")) : "",
95
+ tooltip: policyRestricted ? ( localize(7635, "Disabled by enterprise policy")) : "",
96
96
  hover: {
97
- content: policyRestricted ? ( localize(7550, "Disabled by enterprise policy")) : ( localize(7551, "Auto-approve all tool calls and retry on errors"))
97
+ content: policyRestricted ? ( localize(7636, "Disabled by enterprise policy")) : ( localize(7637, "Auto-approve all tool calls and retry on errors"))
98
98
  },
99
99
  run: async () => {
100
100
  if (!(await maybeConfirmElevatedPermissionLevel(ChatPermissionLevel.AutoApprove, this.dialogService, storageService))) {
@@ -110,14 +110,14 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
110
110
  actions.push({
111
111
  ...action,
112
112
  id: "chat.permissions.autopilot",
113
- label: ( localize(7552, "Autopilot (Preview)")),
114
- detail: ( localize(7553, "Autonomously iterates from start to finish")),
113
+ label: ( localize(7638, "Autopilot (Preview)")),
114
+ detail: ( localize(7639, "Autonomously iterates from start to finish")),
115
115
  icon: ThemeIcon.fromId(Codicon.rocket.id),
116
116
  checked: currentLevel === ChatPermissionLevel.Autopilot,
117
117
  enabled: !policyRestricted,
118
- tooltip: policyRestricted ? ( localize(7554, "Disabled by enterprise policy")) : "",
118
+ tooltip: policyRestricted ? ( localize(7640, "Disabled by enterprise policy")) : "",
119
119
  hover: {
120
- content: policyRestricted ? ( localize(7555, "Disabled by enterprise policy")) : ( localize(7556, "Auto-approve all tool calls and continue until the task is done"))
120
+ content: policyRestricted ? ( localize(7641, "Disabled by enterprise policy")) : ( localize(7642, "Auto-approve all tool calls and continue until the task is done"))
121
121
  },
122
122
  run: async () => {
123
123
  if (!(await maybeConfirmElevatedPermissionLevel(ChatPermissionLevel.Autopilot, this.dialogService, storageService))) {
@@ -137,8 +137,8 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
137
137
  actionProvider,
138
138
  actionBarActions: [{
139
139
  id: "chat.permissions.learnMore",
140
- label: ( localize(7557, "Learn more about permissions")),
141
- tooltip: ( localize(7557, "Learn more about permissions")),
140
+ label: ( localize(7643, "Learn more about permissions")),
141
+ tooltip: ( localize(7643, "Learn more about permissions")),
142
142
  class: undefined,
143
143
  enabled: true,
144
144
  run: async () => {
@@ -176,15 +176,15 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
176
176
  switch (level) {
177
177
  case ChatPermissionLevel.Autopilot:
178
178
  icon = Codicon.rocket;
179
- label = ( localize(7558, "Autopilot (Preview)"));
179
+ label = ( localize(7644, "Autopilot (Preview)"));
180
180
  break;
181
181
  case ChatPermissionLevel.AutoApprove:
182
182
  icon = Codicon.warning;
183
- label = ( localize(7559, "Bypass Approvals"));
183
+ label = ( localize(7645, "Bypass Approvals"));
184
184
  break;
185
185
  default:
186
186
  icon = Codicon.shield;
187
- label = ( localize(7560, "Default Approvals"));
187
+ label = ( localize(7646, "Default Approvals"));
188
188
  break;
189
189
  }
190
190
  }
@@ -195,7 +195,7 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
195
195
  reset(element, ...labelElements);
196
196
  element.classList.toggle("warning", !ext && level === ChatPermissionLevel.Autopilot);
197
197
  element.classList.toggle("info", !ext && level === ChatPermissionLevel.AutoApprove);
198
- element.setAttribute("aria-label", ( localize(7561, "Permission picker, {0}", label)));
198
+ element.setAttribute("aria-label", ( localize(7647, "Permission picker, {0}", label)));
199
199
  return null;
200
200
  }
201
201
  refresh() {
@@ -17,11 +17,11 @@ import { AgentSessionProviders, getAgentSessionProviderDescription, getAgentSess
17
17
  import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
18
18
 
19
19
  const firstPartyCategory = {
20
- label: ( localize(7562, "Agent Types")),
20
+ label: ( localize(7648, "Agent Types")),
21
21
  order: 1
22
22
  };
23
23
  const otherCategory = {
24
- label: ( localize(7563, "Other")),
24
+ label: ( localize(7649, "Other")),
25
25
  order: 2
26
26
  };
27
27
  let SessionTypePickerActionItem = class SessionTypePickerActionItem extends ChatInputPickerActionViewItem {
@@ -126,7 +126,7 @@ let SessionTypePickerActionItem = class SessionTypePickerActionItem extends Chat
126
126
  const learnMoreUrl = "https://code.visualstudio.com/docs/copilot/agents/overview";
127
127
  return {
128
128
  id: "workbench.action.chat.agentOverview.learnMore",
129
- label: ( localize(7564, "Learn about agent types...")),
129
+ label: ( localize(7650, "Learn about agent types...")),
130
130
  tooltip: learnMoreUrl,
131
131
  class: undefined,
132
132
  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(7565, "Open Folder...")),
51
+ label: ( localize(7651, "Open Folder...")),
52
52
  checked: false,
53
53
  enabled: true,
54
- tooltip: ( localize(7566, "Open Folder...")),
54
+ tooltip: ( localize(7652, "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(7567, "Workspace"))));
107
+ labelElements.push($("span.chat-input-picker-label", undefined, ( localize(7653, "Workspace"))));
108
108
  }
109
109
  if (!this.pickerOptions.hideChevrons.get()) {
110
110
  labelElements.push(...renderLabelWithIcons(`$(chevron-down)`));
@@ -1042,43 +1042,6 @@ have to be updated for changes to the rules above, or to support more deeply nes
1042
1042
  order: 2;
1043
1043
  }
1044
1044
 
1045
- /* ----------------------------------------------------------------------------
1046
- Delightful gradient styling for the chat send (submit) button. The arrow-up
1047
- action-item is filled at rest with a slowly rotating multi-color conic
1048
- gradient using the same palette as the working-state border, and emits a
1049
- quick colorful pulse on click. The gradient is naturally absent while a
1050
- request is in flight: `ChatSubmitAction.menu` is gated on
1051
- `whenNoActiveRequest`, so during an active request the arrow-up icon is
1052
- removed entirely from the toolbar and replaced by the Cancel/Stop action.
1053
- ---------------------------------------------------------------------------- */
1054
- @property --chat-send-button-anim-angle {
1055
- syntax: '<angle>';
1056
- inherits: false;
1057
- initial-value: 135deg;
1058
- }
1059
-
1060
- @keyframes chat-send-button-spin {
1061
- from {
1062
- --chat-send-button-anim-angle: 135deg;
1063
- }
1064
-
1065
- to {
1066
- --chat-send-button-anim-angle: 495deg;
1067
- }
1068
- }
1069
-
1070
- @keyframes chat-send-button-pulse {
1071
- 0% {
1072
- opacity: 0.7;
1073
- transform: scale(1);
1074
- }
1075
-
1076
- 100% {
1077
- opacity: 0;
1078
- transform: scale(1.3);
1079
- }
1080
- }
1081
-
1082
1045
  .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:has(> .action-label.codicon-arrow-up) {
1083
1046
  position: relative;
1084
1047
  border-radius: 5px;
@@ -1109,55 +1072,17 @@ have to be updated for changes to the rules above, or to support more deeply nes
1109
1072
  outline: none;
1110
1073
  }
1111
1074
 
1112
- /* Idle: fill the entire action-label with a slowly rotating conic gradient.
1113
- Colors darkened (60% mixed with input background) for a calm fill, with
1114
- asymmetric conic stops. */
1075
+ /* Idle: solid primary button background. */
1115
1076
  .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up {
1116
- background: conic-gradient(from var(--chat-send-button-anim-angle) at 0% 0%,
1117
- color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, var(--vscode-input-background)) 0deg,
1118
- color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor2) 60%, var(--vscode-input-background)) 90deg,
1119
- color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor3) 60%, var(--vscode-input-background)) 200deg,
1120
- color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, var(--vscode-input-background)) 360deg) !important;
1077
+ background: var(--vscode-button-background);
1121
1078
  color: var(--vscode-button-foreground) !important;
1122
1079
  border-radius: 5px;
1123
- animation: chat-send-button-spin 8s linear infinite;
1124
- transition: box-shadow 120ms ease;
1125
- /* Lift the label above the click pulse `::after` on the action-item parent
1126
- so the pulse appears to expand from behind the button, not on top of it. */
1127
- position: relative;
1128
- z-index: 1;
1080
+ transition: background-color 120ms ease;
1129
1081
  }
1130
1082
 
1131
- /* Hover/focus: subtle dark overlay to match standard toolbar button hover
1132
- feedback. Uses an inset box-shadow so the rotating gradient background is
1133
- preserved underneath. */
1134
1083
  .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up:hover,
1135
1084
  .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up:focus-visible {
1136
- box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.12);
1137
- }
1138
-
1139
- .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled):has(> .action-label.codicon-arrow-up:active)::after {
1140
- content: '';
1141
- position: absolute;
1142
- inset: -2px;
1143
- border-radius: 7px;
1144
- background: conic-gradient(from 135deg,
1145
- var(--vscode-chat-inputWorkingBorderColor1),
1146
- var(--vscode-chat-inputWorkingBorderColor2),
1147
- var(--vscode-chat-inputWorkingBorderColor3),
1148
- var(--vscode-chat-inputWorkingBorderColor2),
1149
- var(--vscode-chat-inputWorkingBorderColor1));
1150
- pointer-events: none;
1151
- animation: chat-send-button-pulse 400ms ease-out forwards;
1152
- z-index: 0;
1153
- }
1154
-
1155
- @media (prefers-reduced-motion: reduce) {
1156
-
1157
- .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up,
1158
- .interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled):has(> .action-label.codicon-arrow-up:active)::after {
1159
- animation: none;
1160
- }
1085
+ background: var(--vscode-button-hoverBackground);
1161
1086
  }
1162
1087
 
1163
1088
  .interactive-input-part:has(.chat-editing-session > .chat-editing-session-container) .chat-input-container,
@@ -1711,7 +1636,14 @@ have to be updated for changes to the rules above, or to support more deeply nes
1711
1636
  display: none;
1712
1637
  }
1713
1638
 
1714
- .interactive-session .chat-secondary-toolbar > .chat-secondary-input-toolbar {
1639
+ .interactive-session .chat-secondary-toolbar .chat-secondary-generic-chips {
1640
+ display: flex;
1641
+ align-items: center;
1642
+ flex-shrink: 0;
1643
+ gap: 6px;
1644
+ }
1645
+
1646
+ .interactive-session .chat-secondary-toolbar .chat-secondary-input-toolbar {
1715
1647
  overflow: hidden;
1716
1648
  min-width: 0px;
1717
1649
  flex: 1 1 0;
@@ -4017,6 +3949,11 @@ have to be updated for changes to the rules above, or to support more deeply nes
4017
3949
  line-height: 1.4;
4018
3950
  }
4019
3951
 
3952
+ .monaco-workbench .chat-model-hover-description .codicon[class*='codicon-'] {
3953
+ vertical-align: middle;
3954
+ font-size: 12px;
3955
+ }
3956
+
4020
3957
  .chat-model-hover-description > div p {
4021
3958
  margin: 0;
4022
3959
  }
@@ -4029,9 +3966,23 @@ have to be updated for changes to the rules above, or to support more deeply nes
4029
3966
  color: var(--vscode-descriptionForeground);
4030
3967
  }
4031
3968
 
3969
+ .chat-model-hover-cost-title-row {
3970
+ display: flex;
3971
+ align-items: center;
3972
+ gap: 6px;
3973
+ margin-bottom: 2px;
3974
+ }
3975
+
4032
3976
  .chat-model-hover-cost-title {
4033
3977
  font-weight: 600;
4034
- margin-bottom: 2px;
3978
+ }
3979
+
3980
+ .chat-model-hover-cost-tag {
3981
+ padding: 2px 8px;
3982
+ border-radius: 10px;
3983
+ border: 1px solid var(--vscode-contrastBorder, var(--vscode-editorWidget-border));
3984
+ background: transparent;
3985
+ font-size: 11px;
4035
3986
  }
4036
3987
 
4037
3988
  .chat-model-hover-cost-line-label {
@@ -22,7 +22,7 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
22
22
  this.domNode = $(".chat-context-usage-details");
23
23
  this.quotaItem = this.domNode.appendChild($(".quota-indicator"));
24
24
  const header = this.domNode.insertBefore($("div.header"), this.quotaItem);
25
- header.textContent = ( localize(7579, "Context Window"));
25
+ header.textContent = ( localize(7665, "Context Window"));
26
26
  const quotaLabel = this.quotaItem.appendChild($(".quota-label"));
27
27
  this.tokenCountLabel = quotaLabel.appendChild($("span"));
28
28
  this.percentageLabel = quotaLabel.appendChild($("span.quota-value"));
@@ -32,11 +32,11 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
32
32
  this.outputBufferLegend = this.quotaItem.appendChild($(".output-buffer-legend"));
33
33
  this.outputBufferLegend.appendChild($(".output-buffer-swatch"));
34
34
  const legendLabel = this.outputBufferLegend.appendChild($("span"));
35
- legendLabel.textContent = ( localize(7580, "Reserved for response"));
35
+ legendLabel.textContent = ( localize(7666, "Reserved for response"));
36
36
  this.outputBufferLegend.style.display = "none";
37
37
  this.tokenDetailsContainer = this.domNode.appendChild($(".token-details-container"));
38
38
  this.warningMessage = this.domNode.appendChild($("div.description"));
39
- this.warningMessage.textContent = ( localize(7581, "Quality may decline as limit nears."));
39
+ this.warningMessage.textContent = ( localize(7667, "Quality may decline as limit nears."));
40
40
  this.warningMessage.style.display = "none";
41
41
  this.actionsSection = this.domNode.appendChild($(".actions-section"));
42
42
  const buttonBarContainer = this.actionsSection.appendChild($(".button-bar-container"));
@@ -73,12 +73,12 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
73
73
  promptTokenDetails
74
74
  } = data;
75
75
  this.tokenCountLabel.textContent = ( localize(
76
- 7582,
76
+ 7668,
77
77
  "{0} / {1} tokens",
78
78
  this.formatTokenCount(usedTokens, 1),
79
79
  this.formatTokenCount(totalContextWindow, 0)
80
80
  ));
81
- this.percentageLabel.textContent = ( localize(7583, "{0}%", Math.min(100, percentage).toFixed(0)));
81
+ this.percentageLabel.textContent = ( localize(7669, "{0}%", Math.min(100, percentage).toFixed(0)));
82
82
  const usageBarWidth = Math.max(0, Math.min(100, percentage));
83
83
  this.progressFill.style.width = `${usageBarWidth}%`;
84
84
  if (outputBufferPercentage !== undefined && outputBufferPercentage > 0) {
@@ -128,8 +128,8 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
128
128
  }
129
129
  if (totalPercentage < 100) {
130
130
  const uncategorizedPercentage = 100 - totalPercentage;
131
- categoryMap.set(( localize(7584, "Uncategorized")), [{
132
- label: ( localize(7585, "Other")),
131
+ categoryMap.set(( localize(7670, "Uncategorized")), [{
132
+ label: ( localize(7671, "Other")),
133
133
  percentageOfPrompt: uncategorizedPercentage
134
134
  }]);
135
135
  }
@@ -110,7 +110,7 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
110
110
  this.domNode.style.display = "none";
111
111
  this.domNode.setAttribute("tabindex", "0");
112
112
  this.domNode.setAttribute("role", "button");
113
- this.domNode.setAttribute("aria-label", ( localize(7586, "Context window usage")));
113
+ this.domNode.setAttribute("aria-label", ( localize(7672, "Context window usage")));
114
114
  const iconContainer = this.domNode.appendChild($(".icon-container"));
115
115
  this.progressIndicator = ( new CircularProgressIndicator());
116
116
  iconContainer.appendChild(this.progressIndicator.domNode);
@@ -217,7 +217,8 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
217
217
  const modelMetadata = this.languageModelsService.lookupLanguageModel(modelId);
218
218
  const maxInputTokens = modelMetadata?.maxInputTokens;
219
219
  const maxOutputTokens = modelMetadata?.maxOutputTokens;
220
- if (!usage || !maxInputTokens || maxInputTokens <= 0 || !maxOutputTokens || maxOutputTokens <= 0) {
220
+ const totalContextWindow = (maxInputTokens ?? 0) + (maxOutputTokens ?? 0);
221
+ if (!usage || totalContextWindow <= 0) {
221
222
  if (!this.currentData) {
222
223
  this.hide();
223
224
  }
@@ -227,7 +228,6 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
227
228
  const completionTokens = usage.completionTokens;
228
229
  const promptTokenDetails = usage.promptTokenDetails;
229
230
  const outputBuffer = usage.outputBuffer;
230
- const totalContextWindow = maxInputTokens + maxOutputTokens;
231
231
  const usedTokens = promptTokens + completionTokens;
232
232
  const percentage = (usedTokens / totalContextWindow) * 100;
233
233
  const outputBufferPercentage = outputBuffer !== undefined ? (Math.max(0, outputBuffer - completionTokens) / totalContextWindow) * 100 : undefined;
@@ -260,7 +260,7 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
260
260
  this.progressIndicator.setProgress(percentage);
261
261
  const roundedPercentage = Math.min(100, Math.round(percentage));
262
262
  this.percentageLabel.textContent = `${roundedPercentage}%`;
263
- this.domNode.setAttribute("aria-label", ( localize(7587, "Context window usage: {0}%", roundedPercentage)));
263
+ this.domNode.setAttribute("aria-label", ( localize(7673, "Context window usage: {0}%", roundedPercentage)));
264
264
  this.domNode.classList.remove("warning", "error");
265
265
  if (percentage >= 90) {
266
266
  this.domNode.classList.add("error");
@@ -26,7 +26,7 @@ async function extractImagesFromChatResponse(response, readFile) {
26
26
  }
27
27
  }
28
28
  const request = response.session.getItems().find(item => isRequestVM(item) && item.id === response.requestId);
29
- const title = request ? request.messageText : ( localize(7682, "Images"));
29
+ const title = request ? request.messageText : ( localize(7769, "Images"));
30
30
  return {
31
31
  id: ( response.sessionResource.toString()) + "_" + response.id,
32
32
  title,
@@ -45,10 +45,10 @@ function extractImagesFromToolInvocationOutputDetails(toolInvocation, sessionRes
45
45
  images.push({
46
46
  id: `${toolInvocation.toolCallId}_${outputIndex}`,
47
47
  uri,
48
- name: ( localize(7683, "Image {0}", images.length + 1)),
48
+ name: ( localize(7770, "Image {0}", images.length + 1)),
49
49
  mimeType,
50
50
  data,
51
- source: ( localize(7684, "Tool: {0}", toolInvocation.toolId)),
51
+ source: ( localize(7771, "Tool: {0}", toolInvocation.toolId)),
52
52
  caption
53
53
  });
54
54
  };
@@ -93,7 +93,7 @@ async function extractImagesFromToolInvocationMessages(toolInvocation, readFile)
93
93
  name,
94
94
  mimeType,
95
95
  data,
96
- source: ( localize(7684, "Tool: {0}", toolInvocation.toolId)),
96
+ source: ( localize(7771, "Tool: {0}", toolInvocation.toolId)),
97
97
  caption: message.value
98
98
  });
99
99
  }
@@ -131,7 +131,7 @@ async function extractImageFromInlineReference(part, readFile) {
131
131
  name,
132
132
  mimeType: mime,
133
133
  data,
134
- source: ( localize(7685, "File")),
134
+ source: ( localize(7772, "File")),
135
135
  caption: undefined
136
136
  };
137
137
  }
@@ -160,7 +160,7 @@ function extractImagesFromChatRequest(request) {
160
160
  name: variable.name,
161
161
  mimeType,
162
162
  data: VSBuffer.wrap(buffer),
163
- source: ( localize(7686, "Attachment")),
163
+ source: ( localize(7773, "Attachment")),
164
164
  caption: undefined
165
165
  });
166
166
  }
@@ -38,27 +38,27 @@ async function maybeConfirmElevatedPermissionLevel(level, dialogService, storage
38
38
  const isAutopilot = level === ChatPermissionLevel.Autopilot;
39
39
  const result = await dialogService.prompt({
40
40
  type: Severity.Warning,
41
- message: isAutopilot ? ( localize(7690, "Enable Autopilot?")) : ( localize(7691, "Enable Bypass Approvals?")),
41
+ message: isAutopilot ? ( localize(7777, "Enable Autopilot?")) : ( localize(7778, "Enable Bypass Approvals?")),
42
42
  buttons: [{
43
- label: isAutopilot ? ( localize(7692, "Enable")) : ( localize(7693, "Enable")),
43
+ label: isAutopilot ? ( localize(7779, "Enable")) : ( localize(7780, "Enable")),
44
44
  run: () => true
45
45
  }, {
46
- label: isAutopilot ? ( localize(7694, "Cancel")) : ( localize(7695, "Cancel")),
46
+ label: isAutopilot ? ( localize(7781, "Cancel")) : ( localize(7782, "Cancel")),
47
47
  run: () => false
48
48
  }],
49
49
  checkbox: {
50
- label: ( localize(7696, "Don't show again")),
50
+ label: ( localize(7783, "Don't show again")),
51
51
  checked: false
52
52
  },
53
53
  custom: {
54
54
  icon: isAutopilot ? Codicon.rocket : Codicon.warning,
55
55
  markdownDetails: [{
56
56
  markdown: ( new MarkdownString(isAutopilot ? ( localize(
57
- 7697,
57
+ 7784,
58
58
  "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.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
59
59
  ChatConfiguration.DefaultPermissionLevel
60
60
  )) : ( localize(
61
- 7698,
61
+ 7785,
62
62
  "Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
63
63
  ChatConfiguration.DefaultPermissionLevel
64
64
  )), {