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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +4 -3
  3. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +45 -36
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  6. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  7. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +7 -7
  8. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  9. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +23 -23
  10. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +31 -31
  11. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +33 -33
  13. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  14. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  15. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  16. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +47 -45
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  20. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +5 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +13 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +55 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +12 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +55 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +6 -6
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +96 -53
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +15 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +83 -10
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +26 -10
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +16 -16
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatDisabledClaudeHooksContent.css +14 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +44 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +15 -22
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -15
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +18 -18
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +3 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +14 -5
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +8 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +206 -41
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +12 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.d.ts +27 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.js +148 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +5 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +108 -51
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +14 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +59 -15
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +1 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +12 -12
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +13 -13
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +13 -5
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +90 -7
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +6 -6
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +14 -14
  92. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  93. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +1 -1
  94. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
  95. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  96. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  97. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +32 -32
  98. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +0 -7
  99. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -11
  100. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +0 -20
  101. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +0 -150
  102. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +0 -22
  103. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +0 -338
  104. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +0 -18
  105. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +0 -58
  106. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +0 -75
  107. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +0 -364
  108. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +0 -21
  109. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +0 -36
  110. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +0 -110
  111. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +0 -692
  112. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +0 -40
  113. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +0 -158
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-katex-common",
3
- "version": "26.1.1",
3
+ "version": "26.1.2",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - common package depending on katex",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "26.1.1",
18
+ "@codingame/monaco-vscode-api": "26.1.2",
19
19
  "katex": "0.16.27",
20
20
  "marked": "14.0.0"
21
21
  },
@@ -25,6 +25,7 @@ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
25
25
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
26
26
  import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
27
27
  import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
28
+ import { ChatSendResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
28
29
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
29
30
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
30
31
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
@@ -251,14 +252,14 @@ class CreateRemoteAgentJobAction {
251
252
  variables: attachedContext.asArray()
252
253
  }, 0, undefined, defaultAgent);
253
254
  await chatService.removeRequest(sessionResource, addedRequest.id);
254
- const requestData = await chatService.sendRequest(sessionResource, userPrompt, {
255
+ const sendResult = await chatService.sendRequest(sessionResource, userPrompt, {
255
256
  agentIdSilent: continuationTargetType,
256
257
  attachedContext: attachedContext.asArray(),
257
258
  userSelectedModelId: widget.input.currentLanguageModel,
258
259
  ...widget.getModeRequestOptions()
259
260
  });
260
- if (requestData) {
261
- await widget.handleDelegationExitIfNeeded(defaultAgent, requestData.agent);
261
+ if (ChatSendResult.isSent(sendResult)) {
262
+ await widget.handleDelegationExitIfNeeded(defaultAgent, sendResult.data.agent);
262
263
  }
263
264
  } catch (e) {
264
265
  console.error("Error creating remote coding agent job", e);
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
15
15
  constructor() {
16
16
  super({
17
17
  id: AcceptElicitationRequestActionId,
18
- title: ( localize2(4770, "Accept Request")),
18
+ title: ( localize2(4778, "Accept Request")),
19
19
  f1: false,
20
20
  category: CHAT_CATEGORY,
21
21
  keybinding: {
@@ -22,6 +22,7 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
22
22
  import { ChatModeKind, ChatConfiguration, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
23
23
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
24
24
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
25
+ import { isInClaudeAgentsFolder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
25
26
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
26
27
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
27
28
  import { AgentSessionProviders, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
@@ -65,13 +66,13 @@ class SubmitAction extends Action2 {
65
66
  if (editsToUndo === 1) {
66
67
  if (entriesModifiedInRequestsToRemove.length === 1) {
67
68
  message = ( localize(
68
- 4771,
69
+ 4779,
69
70
  "This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
70
71
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
71
72
  ));
72
73
  } else {
73
74
  message = ( localize(
74
- 4772,
75
+ 4780,
75
76
  "This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
76
77
  entriesModifiedInRequestsToRemove.length
77
78
  ));
@@ -79,24 +80,24 @@ class SubmitAction extends Action2 {
79
80
  } else {
80
81
  if (entriesModifiedInRequestsToRemove.length === 1) {
81
82
  message = ( localize(
82
- 4773,
83
+ 4781,
83
84
  "This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
84
85
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
85
86
  ));
86
87
  } else {
87
88
  message = ( localize(
88
- 4774,
89
+ 4782,
89
90
  "This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
90
91
  entriesModifiedInRequestsToRemove.length
91
92
  ));
92
93
  }
93
94
  }
94
95
  const confirmation = shouldPrompt ? await dialogService.confirm({
95
- title: editsToUndo === 1 ? ( localize(4775, "Do you want to undo your last edit?")) : ( localize(4776, "Do you want to undo {0} edits?", editsToUndo)),
96
+ title: editsToUndo === 1 ? ( localize(4783, "Do you want to undo your last edit?")) : ( localize(4784, "Do you want to undo {0} edits?", editsToUndo)),
96
97
  message: message,
97
- primaryButton: ( localize(4777, "Yes")),
98
+ primaryButton: ( localize(4785, "Yes")),
98
99
  checkbox: {
99
- label: ( localize(4778, "Don't ask again")),
100
+ label: ( localize(4786, "Don't ask again")),
100
101
  checked: false
101
102
  },
102
103
  type: "info"
@@ -146,7 +147,11 @@ class SubmitAction extends Action2 {
146
147
  return ( new CreateRemoteAgentJobAction()).run(accessor, targetContribution, widget);
147
148
  }
148
149
  }
149
- const whenNotInProgress = ( ChatContextKeys.requestInProgress.negate());
150
+ const requestInProgressOrPendingToolCall = ( ContextKeyExpr.or(
151
+ ChatContextKeys.requestInProgress,
152
+ ChatContextKeys.Editing.hasToolConfirmation
153
+ ));
154
+ const whenNotInProgress = ( ContextKeyExpr.and(( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.Editing.hasToolConfirmation.negate())));
150
155
  class ChatSubmitAction extends SubmitAction {
151
156
  static {
152
157
  this.ID = "workbench.action.chat.submit";
@@ -160,7 +165,7 @@ class ChatSubmitAction extends SubmitAction {
160
165
  ));
161
166
  super({
162
167
  id: ChatSubmitAction.ID,
163
- title: ( localize2(4779, "Send")),
168
+ title: ( localize2(4787, "Send")),
164
169
  f1: false,
165
170
  category: CHAT_CATEGORY,
166
171
  icon: Codicon.send,
@@ -168,7 +173,7 @@ class ChatSubmitAction extends SubmitAction {
168
173
  toggled: {
169
174
  condition: ChatContextKeys.lockedToCodingAgent,
170
175
  icon: Codicon.send,
171
- tooltip: ( localize(4780, "Send to Agent"))
176
+ tooltip: ( localize(4788, "Send to Agent"))
172
177
  },
173
178
  keybinding: {
174
179
  when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, ( ChatContextKeys.withinEditSessionDiff.negate()))),
@@ -182,7 +187,7 @@ class ChatSubmitAction extends SubmitAction {
182
187
  group: "navigation",
183
188
  alt: {
184
189
  id: "workbench.action.chat.sendToNewChat",
185
- title: ( localize2(4781, "Send to New Chat")),
190
+ title: ( localize2(4789, "Send to New Chat")),
186
191
  icon: Codicon.plus
187
192
  }
188
193
  }, {
@@ -202,7 +207,7 @@ class ToggleChatModeAction extends Action2 {
202
207
  constructor() {
203
208
  super({
204
209
  id: ToggleChatModeAction.ID,
205
- title: ( localize2(4782, "Switch to Next Agent")),
210
+ title: ( localize2(4790, "Switch to Next Agent")),
206
211
  f1: true,
207
212
  category: CHAT_CATEGORY,
208
213
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate())))
@@ -253,6 +258,8 @@ class ToggleChatModeAction extends Action2 {
253
258
  }
254
259
  return mode.name.get();
255
260
  };
261
+ const modeUri = switchToMode.uri?.get();
262
+ const isClaudeAgent = modeUri ? isInClaudeAgentsFolder(modeUri) : undefined;
256
263
  telemetryService.publicLog2("chat.modeChange", {
257
264
  fromMode: getModeNameForTelemetry(currentMode),
258
265
  mode: getModeNameForTelemetry(switchToMode),
@@ -260,7 +267,8 @@ class ToggleChatModeAction extends Action2 {
260
267
  storage,
261
268
  extensionId,
262
269
  toolsCount,
263
- handoffsCount
270
+ handoffsCount,
271
+ isClaudeAgent
264
272
  });
265
273
  widget.input.setChatMode(switchToMode.id);
266
274
  if (chatModeCheck.needToClearSession) {
@@ -284,7 +292,7 @@ class SwitchToNextModelAction extends Action2 {
284
292
  constructor() {
285
293
  super({
286
294
  id: SwitchToNextModelAction.ID,
287
- title: ( localize2(4783, "Switch to Next Model")),
295
+ title: ( localize2(4791, "Switch to Next Model")),
288
296
  category: CHAT_CATEGORY,
289
297
  f1: true,
290
298
  precondition: ChatContextKeys.enabled
@@ -303,7 +311,7 @@ class OpenModelPickerAction extends Action2 {
303
311
  constructor() {
304
312
  super({
305
313
  id: OpenModelPickerAction.ID,
306
- title: ( localize2(4784, "Open Model Picker")),
314
+ title: ( localize2(4792, "Open Model Picker")),
307
315
  category: CHAT_CATEGORY,
308
316
  f1: false,
309
317
  keybinding: {
@@ -337,8 +345,8 @@ class OpenModePickerAction extends Action2 {
337
345
  constructor() {
338
346
  super({
339
347
  id: OpenModePickerAction.ID,
340
- title: ( localize2(4785, "Open Agent Picker")),
341
- tooltip: ( localize(4786, "Set Agent")),
348
+ title: ( localize2(4793, "Open Agent Picker")),
349
+ tooltip: ( localize(4794, "Set Agent")),
342
350
  category: CHAT_CATEGORY,
343
351
  f1: false,
344
352
  precondition: ChatContextKeys.enabled,
@@ -371,8 +379,8 @@ class OpenSessionTargetPickerAction extends Action2 {
371
379
  constructor() {
372
380
  super({
373
381
  id: OpenSessionTargetPickerAction.ID,
374
- title: ( localize2(4787, "Open Session Target Picker")),
375
- tooltip: ( localize(4788, "Set Session Target")),
382
+ title: ( localize2(4795, "Open Session Target Picker")),
383
+ tooltip: ( localize(4796, "Set Session Target")),
376
384
  category: CHAT_CATEGORY,
377
385
  f1: false,
378
386
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(ChatContextKeys.chatSessionIsEmpty, ChatContextKeys.inAgentSessionsWelcome)), ( ChatContextKeys.currentlyEditingInput.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
@@ -399,8 +407,8 @@ class OpenDelegationPickerAction extends Action2 {
399
407
  constructor() {
400
408
  super({
401
409
  id: OpenDelegationPickerAction.ID,
402
- title: ( localize2(4789, "Open Delegation Picker")),
403
- tooltip: ( localize(4790, "Delegate Session")),
410
+ title: ( localize2(4797, "Open Delegation Picker")),
411
+ tooltip: ( localize(4798, "Delegate Session")),
404
412
  category: CHAT_CATEGORY,
405
413
  f1: false,
406
414
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.chatSessionIsEmpty.negate()), ( ChatContextKeys.currentlyEditingInput.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
@@ -427,8 +435,8 @@ class OpenWorkspacePickerAction extends Action2 {
427
435
  constructor() {
428
436
  super({
429
437
  id: OpenWorkspacePickerAction.ID,
430
- title: ( localize2(4791, "Open Workspace Picker")),
431
- tooltip: ( localize(4792, "Select Target Workspace")),
438
+ title: ( localize2(4799, "Open Workspace Picker")),
439
+ tooltip: ( localize(4800, "Select Target Workspace")),
432
440
  category: CHAT_CATEGORY,
433
441
  f1: false,
434
442
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.inAgentSessionsWelcome)),
@@ -449,7 +457,7 @@ class ChatSessionPrimaryPickerAction extends Action2 {
449
457
  constructor() {
450
458
  super({
451
459
  id: ChatSessionPrimaryPickerAction.ID,
452
- title: ( localize2(4793, "Open Model Picker")),
460
+ title: ( localize2(4801, "Open Model Picker")),
453
461
  category: CHAT_CATEGORY,
454
462
  f1: false,
455
463
  precondition: ChatContextKeys.enabled,
@@ -477,7 +485,7 @@ class ChangeChatModelAction extends Action2 {
477
485
  constructor() {
478
486
  super({
479
487
  id: ChangeChatModelAction.ID,
480
- title: ( localize2(4794, "Change Model")),
488
+ title: ( localize2(4802, "Change Model")),
481
489
  category: CHAT_CATEGORY,
482
490
  f1: false,
483
491
  precondition: ChatContextKeys.enabled
@@ -500,15 +508,16 @@ class ChatEditingSessionSubmitAction extends SubmitAction {
500
508
  this.ID = "workbench.action.edits.submit";
501
509
  }
502
510
  constructor() {
511
+ const notInProgressOrEditing = ( ContextKeyExpr.and(( ContextKeyExpr.or(whenNotInProgress, ( ChatContextKeys.editingRequestType.isEqualTo(ChatContextKeys.EditingRequestType.Sent)))), ( ChatContextKeys.editingRequestType.notEqualsTo(ChatContextKeys.EditingRequestType.QueueOrSteer))));
503
512
  const menuCondition = ( ChatContextKeys.chatModeKind.notEqualsTo(ChatModeKind.Ask));
504
513
  const precondition = ( ContextKeyExpr.and(
505
514
  ChatContextKeys.inputHasText,
506
- whenNotInProgress,
515
+ notInProgressOrEditing,
507
516
  ChatContextKeys.chatSessionOptionsValid
508
517
  ));
509
518
  super({
510
519
  id: ChatEditingSessionSubmitAction.ID,
511
- title: ( localize2(4795, "Send")),
520
+ title: ( localize2(4803, "Send")),
512
521
  f1: false,
513
522
  category: CHAT_CATEGORY,
514
523
  icon: Codicon.send,
@@ -516,11 +525,11 @@ class ChatEditingSessionSubmitAction extends SubmitAction {
516
525
  menu: [{
517
526
  id: MenuId.ChatExecute,
518
527
  order: 4,
519
- when: ( ContextKeyExpr.and(( ChatContextKeys.requestInProgress.negate()), menuCondition)),
528
+ when: ( ContextKeyExpr.and(notInProgressOrEditing, menuCondition)),
520
529
  group: "navigation",
521
530
  alt: {
522
531
  id: "workbench.action.chat.sendToNewChat",
523
- title: ( localize2(4781, "Send to New Chat")),
532
+ title: ( localize2(4789, "Send to New Chat")),
524
533
  icon: Codicon.plus
525
534
  }
526
535
  }]
@@ -535,7 +544,7 @@ class SubmitWithoutDispatchingAction extends Action2 {
535
544
  const precondition = ( ContextKeyExpr.and(ChatContextKeys.inputHasText, whenNotInProgress, ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Ask))));
536
545
  super({
537
546
  id: SubmitWithoutDispatchingAction.ID,
538
- title: ( localize2(4796, "Send")),
547
+ title: ( localize2(4804, "Send")),
539
548
  f1: false,
540
549
  category: CHAT_CATEGORY,
541
550
  precondition,
@@ -563,7 +572,7 @@ class ChatSubmitWithCodebaseAction extends Action2 {
563
572
  const precondition = ( ContextKeyExpr.and(ChatContextKeys.inputHasText, whenNotInProgress));
564
573
  super({
565
574
  id: ChatSubmitWithCodebaseAction.ID,
566
- title: ( localize2(4797, "Send with {0}", `${chatVariableLeader}codebase`)),
575
+ title: ( localize2(4805, "Send with {0}", `${chatVariableLeader}codebase`)),
567
576
  precondition,
568
577
  keybinding: {
569
578
  when: ChatContextKeys.inChatInput,
@@ -600,7 +609,7 @@ class SendToNewChatAction extends Action2 {
600
609
  const precondition = ChatContextKeys.inputHasText;
601
610
  super({
602
611
  id: "workbench.action.chat.sendToNewChat",
603
- title: ( localize2(4781, "Send to New Chat")),
612
+ title: ( localize2(4789, "Send to New Chat")),
604
613
  precondition,
605
614
  category: CHAT_CATEGORY,
606
615
  f1: false,
@@ -643,13 +652,13 @@ class CancelAction extends Action2 {
643
652
  constructor() {
644
653
  super({
645
654
  id: CancelAction.ID,
646
- title: ( localize2(4798, "Cancel")),
655
+ title: ( localize2(4806, "Cancel")),
647
656
  f1: false,
648
657
  category: CHAT_CATEGORY,
649
658
  icon: Codicon.stopCircle,
650
659
  menu: [{
651
660
  id: MenuId.ChatExecute,
652
- when: ( ContextKeyExpr.and(ChatContextKeys.requestInProgress, ( ChatContextKeys.remoteJobCreating.negate()))),
661
+ when: ( ContextKeyExpr.and(requestInProgressOrPendingToolCall, ( ChatContextKeys.remoteJobCreating.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
653
662
  order: 4,
654
663
  group: "navigation"
655
664
  }, {
@@ -661,7 +670,7 @@ class CancelAction extends Action2 {
661
670
  keybinding: {
662
671
  weight: KeybindingWeight.WorkbenchContrib,
663
672
  primary: KeyMod.CtrlCmd | KeyCode.Escape,
664
- when: ( ContextKeyExpr.and(ChatContextKeys.requestInProgress, ( ChatContextKeys.remoteJobCreating.negate()))),
673
+ when: ( ContextKeyExpr.and(requestInProgressOrPendingToolCall, ( ChatContextKeys.remoteJobCreating.negate()))),
665
674
  win: {
666
675
  primary: KeyMod.Alt | KeyCode.Backspace
667
676
  }
@@ -689,7 +698,7 @@ class CancelEdit extends Action2 {
689
698
  constructor() {
690
699
  super({
691
700
  id: CancelEdit.ID,
692
- title: ( localize2(4799, "Cancel Edit")),
701
+ title: ( localize2(4807, "Cancel Edit")),
693
702
  f1: false,
694
703
  category: CHAT_CATEGORY,
695
704
  icon: Codicon.x,
@@ -29,7 +29,7 @@ function registerChatTitleActions() {
29
29
  constructor() {
30
30
  super({
31
31
  id: "workbench.action.chat.markHelpful",
32
- title: ( localize2(4841, "Helpful")),
32
+ title: ( localize2(4857, "Helpful")),
33
33
  f1: false,
34
34
  category: CHAT_CATEGORY,
35
35
  icon: Codicon.thumbsup,
@@ -83,7 +83,7 @@ function registerChatTitleActions() {
83
83
  constructor() {
84
84
  super({
85
85
  id: MarkUnhelpfulActionId,
86
- title: ( localize2(4842, "Unhelpful")),
86
+ title: ( localize2(4858, "Unhelpful")),
87
87
  f1: false,
88
88
  category: CHAT_CATEGORY,
89
89
  icon: Codicon.thumbsdown,
@@ -140,7 +140,7 @@ function registerChatTitleActions() {
140
140
  constructor() {
141
141
  super({
142
142
  id: "workbench.action.chat.reportIssueForBug",
143
- title: ( localize2(4843, "Report Issue")),
143
+ title: ( localize2(4859, "Report Issue")),
144
144
  f1: false,
145
145
  category: CHAT_CATEGORY,
146
146
  icon: Codicon.report,
@@ -187,7 +187,7 @@ function registerChatTitleActions() {
187
187
  constructor() {
188
188
  super({
189
189
  id: "workbench.action.chat.retry",
190
- title: ( localize2(4844, "Retry")),
190
+ title: ( localize2(4860, "Retry")),
191
191
  f1: false,
192
192
  category: CHAT_CATEGORY,
193
193
  icon: Codicon.refresh,
@@ -235,19 +235,19 @@ function registerChatTitleActions() {
235
235
  const entriesModifiedInLastRequest = currentEditingSession.entries.get().filter(entry => entry.lastModifyingRequestId === item.requestId);
236
236
  const shouldPrompt = entriesModifiedInLastRequest.length > 0 && configurationService.getValue("chat.editing.confirmEditRequestRetry") === true;
237
237
  const confirmation = shouldPrompt ? await dialogService.confirm({
238
- title: ( localize(4845, "Do you want to retry your last request?")),
238
+ title: ( localize(4861, "Do you want to retry your last request?")),
239
239
  message: entriesModifiedInLastRequest.length === 1 ? ( localize(
240
- 4846,
240
+ 4862,
241
241
  "This will undo edits made to {0} since this request.",
242
242
  basename(entriesModifiedInLastRequest[0].modifiedURI)
243
243
  )) : ( localize(
244
- 4847,
244
+ 4863,
245
245
  "This will undo edits made to {0} files in your working set since this request. Do you want to proceed?",
246
246
  entriesModifiedInLastRequest.length
247
247
  )),
248
- primaryButton: ( localize(4848, "Yes")),
248
+ primaryButton: ( localize(4864, "Yes")),
249
249
  checkbox: {
250
- label: ( localize(4849, "Don't ask again")),
250
+ label: ( localize(4865, "Don't ask again")),
251
251
  checked: false
252
252
  },
253
253
  type: "info"
@@ -279,7 +279,7 @@ function registerChatTitleActions() {
279
279
  constructor() {
280
280
  super({
281
281
  id: "workbench.action.chat.insertIntoNotebook",
282
- title: ( localize2(4850, "Insert into Notebook")),
282
+ title: ( localize2(4866, "Insert into Notebook")),
283
283
  f1: false,
284
284
  category: CHAT_CATEGORY,
285
285
  icon: Codicon.insert,
@@ -141,7 +141,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
141
141
  append(detailsRow, $("span.separator", undefined, "•"));
142
142
  const diffContainer = append(detailsRow, $(".agent-session-hover-diff"));
143
143
  if (diff.files > 0) {
144
- append(diffContainer, $("span", undefined, diff.files === 1 ? ( localize(4888, "1 file")) : ( localize(4889, "{0} files", diff.files))));
144
+ append(diffContainer, $("span", undefined, diff.files === 1 ? ( localize(4904, "1 file")) : ( localize(4905, "{0} files", diff.files))));
145
145
  }
146
146
  if (diff.insertions > 0) {
147
147
  append(diffContainer, $("span.insertions", undefined, `+${diff.insertions}`));
@@ -157,7 +157,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
157
157
  if (session.isArchived()) {
158
158
  append(detailsRow, $("span.separator", undefined, "•"));
159
159
  append(detailsRow, renderIcon(Codicon.archive));
160
- append(detailsRow, $("span", undefined, ( localize(4890, "Archived"))));
160
+ append(detailsRow, $("span", undefined, ( localize(4906, "Archived"))));
161
161
  }
162
162
  }
163
163
  buildFallbackTooltip(session) {
@@ -194,7 +194,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
194
194
  if (diff && hasValidDiff(session.changes)) {
195
195
  const diffParts = [];
196
196
  if (diff.files > 0) {
197
- diffParts.push(diff.files === 1 ? ( localize(4888, "1 file")) : ( localize(4889, "{0} files", diff.files)));
197
+ diffParts.push(diff.files === 1 ? ( localize(4904, "1 file")) : ( localize(4905, "{0} files", diff.files)));
198
198
  }
199
199
  if (diff.insertions > 0) {
200
200
  diffParts.push(`+${diff.insertions}`);
@@ -211,7 +211,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
211
211
  }
212
212
  lines.push(details.join(" • "));
213
213
  if (session.isArchived()) {
214
- lines.push(`$(archive) ${( localize(4890, "Archived"))}`);
214
+ lines.push(`$(archive) ${( localize(4906, "Archived"))}`);
215
215
  }
216
216
  return ( new MarkdownString(lines.join("\n\n"), {
217
217
  supportThemeIcons: true
@@ -228,16 +228,16 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
228
228
  let statusLabel;
229
229
  switch (status) {
230
230
  case ChatSessionStatus.NeedsInput:
231
- statusLabel = ( localize(4891, "Needs Input"));
231
+ statusLabel = ( localize(4907, "Needs Input"));
232
232
  break;
233
233
  case ChatSessionStatus.InProgress:
234
- statusLabel = ( localize(4892, "In Progress"));
234
+ statusLabel = ( localize(4908, "In Progress"));
235
235
  break;
236
236
  case ChatSessionStatus.Failed:
237
- statusLabel = ( localize(4893, "Failed"));
237
+ statusLabel = ( localize(4909, "Failed"));
238
238
  break;
239
239
  default:
240
- statusLabel = ( localize(4894, "Completed"));
240
+ statusLabel = ( localize(4910, "Completed"));
241
241
  }
242
242
  return statusLabel;
243
243
  }
@@ -146,16 +146,16 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
146
146
  registerStateActions(disposables) {
147
147
  const states = [{
148
148
  id: ChatSessionStatus.Completed,
149
- label: ( localize(4959, "Completed"))
149
+ label: ( localize(4975, "Completed"))
150
150
  }, {
151
151
  id: ChatSessionStatus.InProgress,
152
- label: ( localize(4960, "In Progress"))
152
+ label: ( localize(4976, "In Progress"))
153
153
  }, {
154
154
  id: ChatSessionStatus.NeedsInput,
155
- label: ( localize(4961, "Input Needed"))
155
+ label: ( localize(4977, "Input Needed"))
156
156
  }, {
157
157
  id: ChatSessionStatus.Failed,
158
- label: ( localize(4962, "Failed"))
158
+ label: ( localize(4978, "Failed"))
159
159
  }];
160
160
  const that = this;
161
161
  let counter = 0;
@@ -192,7 +192,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
192
192
  constructor() {
193
193
  super({
194
194
  id: `agentSessions.filter.toggleExcludeArchived.${that.options.filterMenuId.id.toLowerCase()}`,
195
- title: ( localize(4963, "Archived")),
195
+ title: ( localize(4979, "Archived")),
196
196
  menu: {
197
197
  id: that.options.filterMenuId,
198
198
  group: "3_props",
@@ -215,7 +215,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
215
215
  constructor() {
216
216
  super({
217
217
  id: `agentSessions.filter.toggleExcludeRead.${that.options.filterMenuId.id.toLowerCase()}`,
218
- title: ( localize(4964, "Read")),
218
+ title: ( localize(4980, "Read")),
219
219
  menu: {
220
220
  id: that.options.filterMenuId,
221
221
  group: "3_props",
@@ -238,7 +238,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
238
238
  constructor() {
239
239
  super({
240
240
  id: `agentSessions.filter.resetExcludes.${that.options.filterMenuId.id.toLowerCase()}`,
241
- title: ( localize(4965, "Reset")),
241
+ title: ( localize(4981, "Reset")),
242
242
  menu: {
243
243
  id: that.options.filterMenuId,
244
244
  group: "4_reset",
@@ -81,7 +81,7 @@ async function openSessionDefault(accessor, session, openOptions) {
81
81
  }
82
82
  return await chatWidgetService.openSession(session.resource, target, options);
83
83
  } catch (error) {
84
- notificationService.error(( localize(4967, "Failed to open chat session: {0}", toErrorMessage(error))));
84
+ notificationService.error(( localize(4983, "Failed to open chat session: {0}", toErrorMessage(error))));
85
85
  return undefined;
86
86
  }
87
87
  }