@codingame/monaco-vscode-api 23.1.0 → 23.2.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.
- package/package.json +8 -8
- package/services.d.ts +1 -1
- package/services.js +3 -4
- package/vscode/src/vs/base/browser/dom.d.ts +6 -0
- package/vscode/src/vs/base/browser/dom.js +12 -3
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
- package/vscode/src/vs/platform/product/common/product.js +1 -1
- package/vscode/src/vs/workbench/common/configuration.js +9 -9
- package/vscode/src/vs/workbench/common/contextkeys.js +73 -73
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +160 -160
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +159 -159
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/common/tools/runSubagentTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +9 -9
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +87 -87
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
- package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/actions/textInputActions.d.ts +0 -19
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +0 -95
|
@@ -40,7 +40,7 @@ class AccessibleViewNextAction extends Action2 {
|
|
|
40
40
|
}
|
|
41
41
|
],
|
|
42
42
|
icon: Codicon.arrowDown,
|
|
43
|
-
title: ( localize(
|
|
43
|
+
title: ( localize(4364, "Show Next in Accessible View"))
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
run(accessor) {
|
|
@@ -63,7 +63,7 @@ class AccessibleViewNextCodeBlockAction extends Action2 {
|
|
|
63
63
|
...accessibleViewMenu,
|
|
64
64
|
when: ( ContextKeyExpr.and(accessibleViewIsShown, accessibleViewContainsCodeBlocks)),
|
|
65
65
|
},
|
|
66
|
-
title: ( localize(
|
|
66
|
+
title: ( localize(4365, "Accessible View: Next Code Block"))
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
run(accessor) {
|
|
@@ -86,7 +86,7 @@ class AccessibleViewPreviousCodeBlockAction extends Action2 {
|
|
|
86
86
|
...accessibleViewMenu,
|
|
87
87
|
when: ( ContextKeyExpr.and(accessibleViewIsShown, accessibleViewContainsCodeBlocks)),
|
|
88
88
|
},
|
|
89
|
-
title: ( localize(
|
|
89
|
+
title: ( localize(4366, "Accessible View: Previous Code Block"))
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
run(accessor) {
|
|
@@ -111,7 +111,7 @@ class AccessibleViewPreviousAction extends Action2 {
|
|
|
111
111
|
when: ( ContextKeyExpr.and(accessibleViewIsShown, accessibleViewSupportsNavigation)),
|
|
112
112
|
}
|
|
113
113
|
],
|
|
114
|
-
title: ( localize(
|
|
114
|
+
title: ( localize(4367, "Show Previous in Accessible View"))
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
run(accessor) {
|
|
@@ -137,7 +137,7 @@ class AccessibleViewGoToSymbolAction extends Action2 {
|
|
|
137
137
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(accessibleViewIsShown, accessibilityHelpIsShown)), accessibleViewGoToSymbolSupported)),
|
|
138
138
|
}
|
|
139
139
|
],
|
|
140
|
-
title: ( localize(
|
|
140
|
+
title: ( localize(4368, "Go To Symbol in Accessible View"))
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
run(accessor) {
|
|
@@ -164,7 +164,7 @@ const AccessibilityHelpAction = registerCommand(( new MultiCommand({
|
|
|
164
164
|
menuOpts: [{
|
|
165
165
|
menuId: MenuId.CommandPalette,
|
|
166
166
|
group: '',
|
|
167
|
-
title: ( localize(
|
|
167
|
+
title: ( localize(4369, "Open Accessibility Help")),
|
|
168
168
|
order: 1
|
|
169
169
|
}],
|
|
170
170
|
})));
|
|
@@ -182,7 +182,7 @@ const AccessibleViewAction = registerCommand(( new MultiCommand({
|
|
|
182
182
|
menuOpts: [{
|
|
183
183
|
menuId: MenuId.CommandPalette,
|
|
184
184
|
group: '',
|
|
185
|
-
title: ( localize(
|
|
185
|
+
title: ( localize(4370, "Open Accessible View")),
|
|
186
186
|
order: 1
|
|
187
187
|
}],
|
|
188
188
|
})));
|
|
@@ -204,7 +204,7 @@ class AccessibleViewDisableHintAction extends Action2 {
|
|
|
204
204
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(accessibleViewIsShown, accessibilityHelpIsShown)), accessibleViewVerbosityEnabled)),
|
|
205
205
|
}
|
|
206
206
|
],
|
|
207
|
-
title: ( localize(
|
|
207
|
+
title: ( localize(4371, "Disable Accessible View Hint"))
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
210
|
run(accessor) {
|
|
@@ -230,7 +230,7 @@ class AccessibilityHelpConfigureKeybindingsAction extends Action2 {
|
|
|
230
230
|
when: accessibleViewHasUnassignedKeybindings,
|
|
231
231
|
}
|
|
232
232
|
],
|
|
233
|
-
title: ( localize(
|
|
233
|
+
title: ( localize(4372, "Accessibility Help Configure Unassigned Keybindings"))
|
|
234
234
|
});
|
|
235
235
|
}
|
|
236
236
|
async run(accessor) {
|
|
@@ -256,7 +256,7 @@ class AccessibilityHelpConfigureAssignedKeybindingsAction extends Action2 {
|
|
|
256
256
|
when: accessibleViewHasAssignedKeybindings,
|
|
257
257
|
}
|
|
258
258
|
],
|
|
259
|
-
title: ( localize(
|
|
259
|
+
title: ( localize(4373, "Accessibility Help Configure Assigned Keybindings"))
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
async run(accessor) {
|
|
@@ -273,7 +273,7 @@ class AccessibilityHelpOpenHelpLinkAction extends Action2 {
|
|
|
273
273
|
primary: KeyMod$1.Alt | KeyCode.KeyH,
|
|
274
274
|
weight: KeybindingWeight.WorkbenchContrib
|
|
275
275
|
},
|
|
276
|
-
title: ( localize(
|
|
276
|
+
title: ( localize(4374, "Accessibility Help Open Help Link"))
|
|
277
277
|
});
|
|
278
278
|
}
|
|
279
279
|
run(accessor) {
|
|
@@ -307,7 +307,7 @@ class AccessibleViewAcceptInlineCompletionAction extends Action2 {
|
|
|
307
307
|
))))
|
|
308
308
|
}
|
|
309
309
|
],
|
|
310
|
-
title: ( localize(
|
|
310
|
+
title: ( localize(4375, "Accept Inline Completion"))
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
313
|
async run(accessor) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IDisposable } from "../../../../base/common/lifecycle.js";
|
|
2
|
-
import { IChatContextValueItem, IChatContextPickerItem } from "@codingame/monaco-vscode-
|
|
2
|
+
import { IChatContextValueItem, IChatContextPickerItem } from "@codingame/monaco-vscode-2c64d2c2-fdf7-5675-a2fe-f6f65fbdedbf-common/vscode/vs/workbench/contrib/chat/browser/chatContextPickService";
|
|
3
3
|
export interface IChatContextPickService {
|
|
4
4
|
_serviceBrand: undefined;
|
|
5
5
|
items: Iterable<IChatContextValueItem | IChatContextPickerItem>;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js
CHANGED
|
@@ -17,16 +17,16 @@ import { autorun } from '../../../../../base/common/observableInternal/reactions
|
|
|
17
17
|
import { derived } from '../../../../../base/common/observableInternal/observables/derived.js';
|
|
18
18
|
import { constObservable } from '../../../../../base/common/observableInternal/observables/constObservable.js';
|
|
19
19
|
|
|
20
|
-
const ctxIsGlobalEditingSession = ( new RawContextKey('chatEdits.isGlobalEditingSession', undefined, ( localize(
|
|
21
|
-
const ctxHasEditorModification = ( new RawContextKey('chatEdits.hasEditorModifications', undefined, ( localize(
|
|
22
|
-
const ctxIsCurrentlyBeingModified = ( new RawContextKey('chatEdits.isCurrentlyBeingModified', undefined, ( localize(
|
|
23
|
-
const ctxReviewModeEnabled = ( new RawContextKey('chatEdits.isReviewModeEnabled', true, ( localize(
|
|
20
|
+
const ctxIsGlobalEditingSession = ( new RawContextKey('chatEdits.isGlobalEditingSession', undefined, ( localize(5179, "The current editor is part of the global edit session"))));
|
|
21
|
+
const ctxHasEditorModification = ( new RawContextKey('chatEdits.hasEditorModifications', undefined, ( localize(5180, "The current editor contains chat modifications"))));
|
|
22
|
+
const ctxIsCurrentlyBeingModified = ( new RawContextKey('chatEdits.isCurrentlyBeingModified', undefined, ( localize(5181, "The current editor is currently being modified"))));
|
|
23
|
+
const ctxReviewModeEnabled = ( new RawContextKey('chatEdits.isReviewModeEnabled', true, ( localize(5182, "Review mode for chat changes is enabled"))));
|
|
24
24
|
const ctxHasRequestInProgress = ( new RawContextKey('chatEdits.isRequestInProgress', false, ( localize(
|
|
25
|
-
|
|
25
|
+
5183,
|
|
26
26
|
"The current editor shows a file from an edit session which is still in progress"
|
|
27
27
|
))));
|
|
28
|
-
const ctxRequestCount = ( new RawContextKey('chatEdits.requestCount', 0, ( localize(
|
|
29
|
-
const ctxCursorInChangeRange = ( new RawContextKey('chatEdits.cursorInChangeRange', false, ( localize(
|
|
28
|
+
const ctxRequestCount = ( new RawContextKey('chatEdits.requestCount', 0, ( localize(5184, "The number of turns the editing session in this editor has"))));
|
|
29
|
+
const ctxCursorInChangeRange = ( new RawContextKey('chatEdits.cursorInChangeRange', false, ( localize(5185, "The cursor is inside a change range made by chat editing."))));
|
|
30
30
|
let ChatEditingEditorContextKeys = class ChatEditingEditorContextKeys {
|
|
31
31
|
static { this.ID = 'chat.edits.editorContextKeys'; }
|
|
32
32
|
constructor(instaService, editorGroupsService) {
|
|
@@ -12,114 +12,114 @@ var ChatContextKeys;
|
|
|
12
12
|
'chatSessionResponseVote',
|
|
13
13
|
'',
|
|
14
14
|
{ type: 'string', description: ( localize(
|
|
15
|
-
|
|
15
|
+
5766,
|
|
16
16
|
"When the response has been voted up, is set to 'up'. When voted down, is set to 'down'. Otherwise an empty string."
|
|
17
17
|
)) }
|
|
18
18
|
));
|
|
19
19
|
ChatContextKeys.responseDetectedAgentCommand = ( new RawContextKey(
|
|
20
20
|
'chatSessionResponseDetectedAgentOrCommand',
|
|
21
21
|
false,
|
|
22
|
-
{ type: 'boolean', description: ( localize(
|
|
22
|
+
{ type: 'boolean', description: ( localize(5767, "When the agent or command was automatically detected")) }
|
|
23
23
|
));
|
|
24
24
|
ChatContextKeys.responseSupportsIssueReporting = ( new RawContextKey(
|
|
25
25
|
'chatResponseSupportsIssueReporting',
|
|
26
26
|
false,
|
|
27
|
-
{ type: 'boolean', description: ( localize(
|
|
27
|
+
{ type: 'boolean', description: ( localize(5768, "True when the current chat response supports issue reporting.")) }
|
|
28
28
|
));
|
|
29
29
|
ChatContextKeys.responseIsFiltered = ( new RawContextKey(
|
|
30
30
|
'chatSessionResponseFiltered',
|
|
31
31
|
false,
|
|
32
|
-
{ type: 'boolean', description: ( localize(
|
|
32
|
+
{ type: 'boolean', description: ( localize(5769, "True when the chat response was filtered out by the server.")) }
|
|
33
33
|
));
|
|
34
34
|
ChatContextKeys.responseHasError = ( new RawContextKey(
|
|
35
35
|
'chatSessionResponseError',
|
|
36
36
|
false,
|
|
37
|
-
{ type: 'boolean', description: ( localize(
|
|
37
|
+
{ type: 'boolean', description: ( localize(5770, "True when the chat response resulted in an error.")) }
|
|
38
38
|
));
|
|
39
39
|
ChatContextKeys.requestInProgress = ( new RawContextKey(
|
|
40
40
|
'chatSessionRequestInProgress',
|
|
41
41
|
false,
|
|
42
|
-
{ type: 'boolean', description: ( localize(
|
|
42
|
+
{ type: 'boolean', description: ( localize(5771, "True when the current request is still in progress.")) }
|
|
43
43
|
));
|
|
44
44
|
ChatContextKeys.currentlyEditing = ( new RawContextKey(
|
|
45
45
|
'chatSessionCurrentlyEditing',
|
|
46
46
|
false,
|
|
47
|
-
{ type: 'boolean', description: ( localize(
|
|
47
|
+
{ type: 'boolean', description: ( localize(5772, "True when the current request is being edited.")) }
|
|
48
48
|
));
|
|
49
49
|
ChatContextKeys.currentlyEditingInput = ( new RawContextKey(
|
|
50
50
|
'chatSessionCurrentlyEditingInput',
|
|
51
51
|
false,
|
|
52
|
-
{ type: 'boolean', description: ( localize(
|
|
53
|
-
));
|
|
54
|
-
ChatContextKeys.isResponse = ( new RawContextKey('chatResponse', false, { type: 'boolean', description: ( localize(
|
|
55
|
-
ChatContextKeys.isRequest = ( new RawContextKey('chatRequest', false, { type: 'boolean', description: ( localize(
|
|
56
|
-
ChatContextKeys.itemId = ( new RawContextKey('chatItemId', '', { type: 'string', description: ( localize(
|
|
57
|
-
ChatContextKeys.lastItemId = ( new RawContextKey('chatLastItemId', [], { type: 'string', description: ( localize(
|
|
58
|
-
ChatContextKeys.editApplied = ( new RawContextKey('chatEditApplied', false, { type: 'boolean', description: ( localize(
|
|
59
|
-
ChatContextKeys.inputHasText = ( new RawContextKey('chatInputHasText', false, { type: 'boolean', description: ( localize(
|
|
60
|
-
ChatContextKeys.inputHasFocus = ( new RawContextKey('chatInputHasFocus', false, { type: 'boolean', description: ( localize(
|
|
61
|
-
ChatContextKeys.inChatInput = ( new RawContextKey('inChatInput', false, { type: 'boolean', description: ( localize(
|
|
62
|
-
ChatContextKeys.inChatSession = ( new RawContextKey('inChat', false, { type: 'boolean', description: ( localize(
|
|
63
|
-
ChatContextKeys.inChatEditor = ( new RawContextKey('inChatEditor', false, { type: 'boolean', description: ( localize(
|
|
52
|
+
{ type: 'boolean', description: ( localize(5773, "True when the current request input at the bottom is being edited.")) }
|
|
53
|
+
));
|
|
54
|
+
ChatContextKeys.isResponse = ( new RawContextKey('chatResponse', false, { type: 'boolean', description: ( localize(5774, "The chat item is a response.")) }));
|
|
55
|
+
ChatContextKeys.isRequest = ( new RawContextKey('chatRequest', false, { type: 'boolean', description: ( localize(5775, "The chat item is a request")) }));
|
|
56
|
+
ChatContextKeys.itemId = ( new RawContextKey('chatItemId', '', { type: 'string', description: ( localize(5776, "The id of the chat item.")) }));
|
|
57
|
+
ChatContextKeys.lastItemId = ( new RawContextKey('chatLastItemId', [], { type: 'string', description: ( localize(5777, "The id of the last chat item.")) }));
|
|
58
|
+
ChatContextKeys.editApplied = ( new RawContextKey('chatEditApplied', false, { type: 'boolean', description: ( localize(5778, "True when the chat text edits have been applied.")) }));
|
|
59
|
+
ChatContextKeys.inputHasText = ( new RawContextKey('chatInputHasText', false, { type: 'boolean', description: ( localize(5779, "True when the chat input has text.")) }));
|
|
60
|
+
ChatContextKeys.inputHasFocus = ( new RawContextKey('chatInputHasFocus', false, { type: 'boolean', description: ( localize(5780, "True when the chat input has focus.")) }));
|
|
61
|
+
ChatContextKeys.inChatInput = ( new RawContextKey('inChatInput', false, { type: 'boolean', description: ( localize(5781, "True when focus is in the chat input, false otherwise.")) }));
|
|
62
|
+
ChatContextKeys.inChatSession = ( new RawContextKey('inChat', false, { type: 'boolean', description: ( localize(5782, "True when focus is in the chat widget, false otherwise.")) }));
|
|
63
|
+
ChatContextKeys.inChatEditor = ( new RawContextKey('inChatEditor', false, { type: 'boolean', description: ( localize(5783, "Whether focus is in a chat editor.")) }));
|
|
64
64
|
ChatContextKeys.hasPromptFile = ( new RawContextKey(
|
|
65
65
|
'chatPromptFileAttached',
|
|
66
66
|
false,
|
|
67
|
-
{ type: 'boolean', description: ( localize(
|
|
67
|
+
{ type: 'boolean', description: ( localize(5784, "True when the chat has a prompt file attached.")) }
|
|
68
68
|
));
|
|
69
69
|
ChatContextKeys.chatModeKind = ( new RawContextKey(
|
|
70
70
|
'chatAgentKind',
|
|
71
71
|
ChatModeKind.Ask,
|
|
72
|
-
{ type: 'string', description: ( localize(
|
|
72
|
+
{ type: 'string', description: ( localize(5785, "The 'kind' of the current agent.")) }
|
|
73
73
|
));
|
|
74
|
-
ChatContextKeys.chatToolCount = ( new RawContextKey('chatToolCount', 0, { type: 'number', description: ( localize(
|
|
74
|
+
ChatContextKeys.chatToolCount = ( new RawContextKey('chatToolCount', 0, { type: 'number', description: ( localize(5786, "The number of tools available in the current agent.")) }));
|
|
75
75
|
ChatContextKeys.chatToolGroupingThreshold = ( new RawContextKey(
|
|
76
76
|
'chat.toolGroupingThreshold',
|
|
77
77
|
0,
|
|
78
|
-
{ type: 'number', description: ( localize(
|
|
78
|
+
{ type: 'number', description: ( localize(5787, "The number of tools at which we start doing virtual grouping.")) }
|
|
79
79
|
));
|
|
80
80
|
ChatContextKeys.supported = ( ContextKeyExpr.or(( IsWebContext.negate()), ( RemoteNameContext.notEqualsTo('')), ( ContextKeyExpr.has('config.chat.experimental.serverlessWebEnabled'))));
|
|
81
81
|
ChatContextKeys.enabled = ( new RawContextKey('chatIsEnabled', false, { type: 'boolean', description: ( localize(
|
|
82
|
-
|
|
82
|
+
5788,
|
|
83
83
|
"True when chat is enabled because a default chat participant is activated with an implementation."
|
|
84
84
|
)) }));
|
|
85
85
|
ChatContextKeys.lockedToCodingAgent = ( new RawContextKey(
|
|
86
86
|
'lockedToCodingAgent',
|
|
87
87
|
false,
|
|
88
|
-
{ type: 'boolean', description: ( localize(
|
|
88
|
+
{ type: 'boolean', description: ( localize(5789, "True when the chat widget is locked to the coding agent session.")) }
|
|
89
89
|
));
|
|
90
90
|
ChatContextKeys.agentSupportsAttachments = ( new RawContextKey(
|
|
91
91
|
'agentSupportsAttachments',
|
|
92
92
|
false,
|
|
93
|
-
{ type: 'boolean', description: ( localize(
|
|
93
|
+
{ type: 'boolean', description: ( localize(5790, "True when the chat agent supports attachments.")) }
|
|
94
94
|
));
|
|
95
95
|
ChatContextKeys.withinEditSessionDiff = ( new RawContextKey(
|
|
96
96
|
'withinEditSessionDiff',
|
|
97
97
|
false,
|
|
98
|
-
{ type: 'boolean', description: ( localize(
|
|
98
|
+
{ type: 'boolean', description: ( localize(5791, "True when the chat widget dispatches to the edit session chat.")) }
|
|
99
99
|
));
|
|
100
100
|
ChatContextKeys.filePartOfEditSession = ( new RawContextKey(
|
|
101
101
|
'filePartOfEditSession',
|
|
102
102
|
false,
|
|
103
|
-
{ type: 'boolean', description: ( localize(
|
|
103
|
+
{ type: 'boolean', description: ( localize(5792, "True when the chat widget is within a file with an edit session.")) }
|
|
104
104
|
));
|
|
105
105
|
ChatContextKeys.extensionParticipantRegistered = ( new RawContextKey(
|
|
106
106
|
'chatPanelExtensionParticipantRegistered',
|
|
107
107
|
false,
|
|
108
108
|
{ type: 'boolean', description: ( localize(
|
|
109
|
-
|
|
109
|
+
5793,
|
|
110
110
|
"True when a default chat participant is registered for the panel from an extension."
|
|
111
111
|
)) }
|
|
112
112
|
));
|
|
113
113
|
ChatContextKeys.panelParticipantRegistered = ( new RawContextKey(
|
|
114
114
|
'chatPanelParticipantRegistered',
|
|
115
115
|
false,
|
|
116
|
-
{ type: 'boolean', description: ( localize(
|
|
116
|
+
{ type: 'boolean', description: ( localize(5794, "True when a default chat participant is registered for the panel.")) }
|
|
117
117
|
));
|
|
118
118
|
ChatContextKeys.chatEditingCanUndo = ( new RawContextKey(
|
|
119
119
|
'chatEditingCanUndo',
|
|
120
120
|
false,
|
|
121
121
|
{ type: 'boolean', description: ( localize(
|
|
122
|
-
|
|
122
|
+
5795,
|
|
123
123
|
"True when it is possible to undo an interaction in the editing panel."
|
|
124
124
|
)) }
|
|
125
125
|
));
|
|
@@ -127,20 +127,20 @@ var ChatContextKeys;
|
|
|
127
127
|
'chatEditingCanRedo',
|
|
128
128
|
false,
|
|
129
129
|
{ type: 'boolean', description: ( localize(
|
|
130
|
-
|
|
130
|
+
5796,
|
|
131
131
|
"True when it is possible to redo an interaction in the editing panel."
|
|
132
132
|
)) }
|
|
133
133
|
));
|
|
134
134
|
ChatContextKeys.languageModelsAreUserSelectable = ( new RawContextKey(
|
|
135
135
|
'chatModelsAreUserSelectable',
|
|
136
136
|
false,
|
|
137
|
-
{ type: 'boolean', description: ( localize(
|
|
137
|
+
{ type: 'boolean', description: ( localize(5797, "True when the chat model can be selected manually by the user.")) }
|
|
138
138
|
));
|
|
139
139
|
ChatContextKeys.chatSessionHasModels = ( new RawContextKey(
|
|
140
140
|
'chatSessionHasModels',
|
|
141
141
|
false,
|
|
142
142
|
{ type: 'boolean', description: ( localize(
|
|
143
|
-
|
|
143
|
+
5798,
|
|
144
144
|
"True when the chat is in a contributed chat session that has available 'models' to display."
|
|
145
145
|
)) }
|
|
146
146
|
));
|
|
@@ -148,34 +148,34 @@ var ChatContextKeys;
|
|
|
148
148
|
'chatExtensionInvalid',
|
|
149
149
|
false,
|
|
150
150
|
{ type: 'boolean', description: ( localize(
|
|
151
|
-
|
|
151
|
+
5799,
|
|
152
152
|
"True when the installed chat extension is invalid and needs to be updated."
|
|
153
153
|
)) }
|
|
154
154
|
));
|
|
155
155
|
ChatContextKeys.inputCursorAtTop = ( new RawContextKey('chatCursorAtTop', false));
|
|
156
156
|
ChatContextKeys.inputHasAgent = ( new RawContextKey('chatInputHasAgent', false));
|
|
157
157
|
ChatContextKeys.location = ( new RawContextKey('chatLocation', undefined));
|
|
158
|
-
ChatContextKeys.inQuickChat = ( new RawContextKey('quickChatHasFocus', false, { type: 'boolean', description: ( localize(
|
|
158
|
+
ChatContextKeys.inQuickChat = ( new RawContextKey('quickChatHasFocus', false, { type: 'boolean', description: ( localize(5800, "True when the quick chat UI has focus, false otherwise.")) }));
|
|
159
159
|
ChatContextKeys.hasFileAttachments = ( new RawContextKey(
|
|
160
160
|
'chatHasFileAttachments',
|
|
161
161
|
false,
|
|
162
|
-
{ type: 'boolean', description: ( localize(
|
|
162
|
+
{ type: 'boolean', description: ( localize(5801, "True when the chat has file attachments.")) }
|
|
163
163
|
));
|
|
164
164
|
ChatContextKeys.remoteJobCreating = ( new RawContextKey(
|
|
165
165
|
'chatRemoteJobCreating',
|
|
166
166
|
false,
|
|
167
|
-
{ type: 'boolean', description: ( localize(
|
|
167
|
+
{ type: 'boolean', description: ( localize(5802, "True when a remote coding agent job is being created.")) }
|
|
168
168
|
));
|
|
169
|
-
ChatContextKeys.hasRemoteCodingAgent = ( new RawContextKey('hasRemoteCodingAgent', false, ( localize(
|
|
169
|
+
ChatContextKeys.hasRemoteCodingAgent = ( new RawContextKey('hasRemoteCodingAgent', false, ( localize(5803, "Whether any remote coding agent is available"))));
|
|
170
170
|
ChatContextKeys.hasCloudButtonV2 = ( ContextKeyExpr.has('config.chat.useCloudButtonV2'));
|
|
171
171
|
ChatContextKeys.enableRemoteCodingAgentPromptFileOverlay = ( new RawContextKey('enableRemoteCodingAgentPromptFileOverlay', false, ( localize(
|
|
172
|
-
|
|
172
|
+
5804,
|
|
173
173
|
"Whether the remote coding agent prompt file overlay feature is enabled"
|
|
174
174
|
))));
|
|
175
175
|
ChatContextKeys.skipChatRequestInProgressMessage = ( new RawContextKey(
|
|
176
176
|
'chatSkipRequestInProgressMessage',
|
|
177
177
|
false,
|
|
178
|
-
{ type: 'boolean', description: ( localize(
|
|
178
|
+
{ type: 'boolean', description: ( localize(5805, "True when the chat request in progress message should be skipped.")) }
|
|
179
179
|
));
|
|
180
180
|
ChatContextKeys.Setup = ChatEntitlementContextKeys.Setup;
|
|
181
181
|
ChatContextKeys.Entitlement = ChatEntitlementContextKeys.Entitlement;
|
|
@@ -185,43 +185,43 @@ var ChatContextKeys;
|
|
|
185
185
|
hasToolConfirmation: ( new RawContextKey(
|
|
186
186
|
'chatHasToolConfirmation',
|
|
187
187
|
false,
|
|
188
|
-
{ type: 'boolean', description: ( localize(
|
|
188
|
+
{ type: 'boolean', description: ( localize(5806, "True when a tool confirmation is present.")) }
|
|
189
189
|
)),
|
|
190
190
|
};
|
|
191
191
|
ChatContextKeys.Tools = {
|
|
192
|
-
toolsCount: ( new RawContextKey('toolsCount', 0, { type: 'number', description: ( localize(
|
|
192
|
+
toolsCount: ( new RawContextKey('toolsCount', 0, { type: 'number', description: ( localize(5807, "The count of tools available in the chat.")) }))
|
|
193
193
|
};
|
|
194
194
|
ChatContextKeys.Modes = {
|
|
195
195
|
hasCustomChatModes: ( new RawContextKey(
|
|
196
196
|
'chatHasCustomAgents',
|
|
197
197
|
false,
|
|
198
|
-
{ type: 'boolean', description: ( localize(
|
|
198
|
+
{ type: 'boolean', description: ( localize(5808, "True when the chat has custom agents available.")) }
|
|
199
199
|
)),
|
|
200
200
|
};
|
|
201
201
|
ChatContextKeys.panelLocation = ( new RawContextKey(
|
|
202
202
|
'chatPanelLocation',
|
|
203
203
|
undefined,
|
|
204
|
-
{ type: 'number', description: ( localize(
|
|
204
|
+
{ type: 'number', description: ( localize(5809, "The location of the chat panel.")) }
|
|
205
205
|
));
|
|
206
206
|
ChatContextKeys.inEmptyStateWithHistoryEnabled = ( new RawContextKey(
|
|
207
207
|
'chatInEmptyStateWithHistoryEnabled',
|
|
208
208
|
false,
|
|
209
209
|
{ type: 'boolean', description: ( localize(
|
|
210
|
-
|
|
210
|
+
5810,
|
|
211
211
|
"True when chat empty state history is enabled AND chat is in empty state."
|
|
212
212
|
)) }
|
|
213
213
|
));
|
|
214
|
-
ChatContextKeys.sessionType = ( new RawContextKey('chatSessionType', '', { type: 'string', description: ( localize(
|
|
215
|
-
ChatContextKeys.isHistoryItem = ( new RawContextKey('chatIsHistoryItem', false, { type: 'boolean', description: ( localize(
|
|
214
|
+
ChatContextKeys.sessionType = ( new RawContextKey('chatSessionType', '', { type: 'string', description: ( localize(5811, "The type of the current chat session item.")) }));
|
|
215
|
+
ChatContextKeys.isHistoryItem = ( new RawContextKey('chatIsHistoryItem', false, { type: 'boolean', description: ( localize(5812, "True when the chat session item is from history.")) }));
|
|
216
216
|
ChatContextKeys.isActiveSession = ( new RawContextKey(
|
|
217
217
|
'chatIsActiveSession',
|
|
218
218
|
false,
|
|
219
|
-
{ type: 'boolean', description: ( localize(
|
|
219
|
+
{ type: 'boolean', description: ( localize(5813, "True when the chat session is currently active (not deletable).")) }
|
|
220
220
|
));
|
|
221
221
|
ChatContextKeys.isKatexMathElement = ( new RawContextKey(
|
|
222
222
|
'chatIsKatexMathElement',
|
|
223
223
|
false,
|
|
224
|
-
{ type: 'boolean', description: ( localize(
|
|
224
|
+
{ type: 'boolean', description: ( localize(5814, "True when focusing a KaTeX math element.")) }
|
|
225
225
|
));
|
|
226
226
|
})(ChatContextKeys || (ChatContextKeys = {}));
|
|
227
227
|
var ChatContextKeyExprs;
|
|
@@ -18,9 +18,9 @@ var ChatEditingSessionState;
|
|
|
18
18
|
ChatEditingSessionState[ChatEditingSessionState["Disposed"] = 3] = "Disposed";
|
|
19
19
|
})(ChatEditingSessionState || (ChatEditingSessionState = {}));
|
|
20
20
|
const CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME = 'chat-editing-multi-diff-source';
|
|
21
|
-
const chatEditingWidgetFileStateContextKey = ( new RawContextKey('chatEditingWidgetFileState', undefined, ( localize(
|
|
21
|
+
const chatEditingWidgetFileStateContextKey = ( new RawContextKey('chatEditingWidgetFileState', undefined, ( localize(5815, "The current state of the file in the chat editing widget"))));
|
|
22
22
|
const chatEditingAgentSupportsReadonlyReferencesContextKey = ( new RawContextKey('chatEditingAgentSupportsReadonlyReferences', undefined, ( localize(
|
|
23
|
-
|
|
23
|
+
5816,
|
|
24
24
|
"Whether the chat editing agent supports readonly references (temporary)"
|
|
25
25
|
))));
|
|
26
26
|
const decidedChatEditingResourceContextKey = ( new RawContextKey('decidedChatEditingResource', []));
|
|
@@ -55,9 +55,9 @@ var IDiagnosticVariableEntryFilterData;
|
|
|
55
55
|
}
|
|
56
56
|
return data.problemMessage.substring(0, lastSpace) + '…';
|
|
57
57
|
}
|
|
58
|
-
let labelStr = ( localize(
|
|
58
|
+
let labelStr = ( localize(5830, "All Problems"));
|
|
59
59
|
if (data.filterUri) {
|
|
60
|
-
labelStr = ( localize(
|
|
60
|
+
labelStr = ( localize(5831, "Problems in {0}", basename(data.filterUri)));
|
|
61
61
|
}
|
|
62
62
|
return labelStr;
|
|
63
63
|
}
|
|
@@ -30,13 +30,13 @@ var ToolDataSource;
|
|
|
30
30
|
ToolDataSource.equals = equals;
|
|
31
31
|
function classify(source) {
|
|
32
32
|
if (source.type === 'internal') {
|
|
33
|
-
return { ordinal: 1, label: ( localize(
|
|
33
|
+
return { ordinal: 1, label: ( localize(5835, 'Built-In')) };
|
|
34
34
|
}
|
|
35
35
|
else if (source.type === 'mcp') {
|
|
36
36
|
return { ordinal: 2, label: source.label };
|
|
37
37
|
}
|
|
38
38
|
else if (source.type === 'user') {
|
|
39
|
-
return { ordinal: 0, label: ( localize(
|
|
39
|
+
return { ordinal: 0, label: ( localize(5836, 'User Defined')) };
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
return { ordinal: 3, label: source.label };
|
|
@@ -62,7 +62,7 @@ function toolContentToA11yString(part) {
|
|
|
62
62
|
return p.value;
|
|
63
63
|
case 'data':
|
|
64
64
|
return localize(
|
|
65
|
-
|
|
65
|
+
5837,
|
|
66
66
|
"{0} of {1} binary data",
|
|
67
67
|
ByteSize.formatSize(p.value.data.byteLength),
|
|
68
68
|
p.value.mimeType || 'unknown'
|
|
@@ -69,23 +69,23 @@ const languageModelChatProviderType = {
|
|
|
69
69
|
properties: {
|
|
70
70
|
vendor: {
|
|
71
71
|
type: 'string',
|
|
72
|
-
description: ( localize(
|
|
72
|
+
description: ( localize(5838, "A globally unique vendor of language model chat provider."))
|
|
73
73
|
},
|
|
74
74
|
displayName: {
|
|
75
75
|
type: 'string',
|
|
76
|
-
description: ( localize(
|
|
76
|
+
description: ( localize(5839, "The display name of the language model chat provider."))
|
|
77
77
|
},
|
|
78
78
|
managementCommand: {
|
|
79
79
|
type: 'string',
|
|
80
80
|
description: ( localize(
|
|
81
|
-
|
|
81
|
+
5840,
|
|
82
82
|
"A command to manage the language model chat provider, e.g. 'Manage Copilot models'. This is used in the chat model picker. If not provided, a gear icon is not rendered during vendor selection."
|
|
83
83
|
))
|
|
84
84
|
},
|
|
85
85
|
when: {
|
|
86
86
|
type: 'string',
|
|
87
87
|
description: ( localize(
|
|
88
|
-
|
|
88
|
+
5841,
|
|
89
89
|
"Condition which must be true to show this language model chat provider in the Manage Models list."
|
|
90
90
|
))
|
|
91
91
|
}
|
|
@@ -94,7 +94,7 @@ const languageModelChatProviderType = {
|
|
|
94
94
|
const languageModelChatProviderExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
95
95
|
extensionPoint: 'languageModelChatProviders',
|
|
96
96
|
jsonSchema: {
|
|
97
|
-
description: ( localize(
|
|
97
|
+
description: ( localize(5842, "Contribute language model chat providers of a specific vendor.")),
|
|
98
98
|
oneOf: [
|
|
99
99
|
languageModelChatProviderType,
|
|
100
100
|
{
|
|
@@ -144,18 +144,18 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
144
144
|
for (const item of Iterable.wrap(extension.value)) {
|
|
145
145
|
if (( this._vendors.has(item.vendor))) {
|
|
146
146
|
extension.collector.error(( localize(
|
|
147
|
-
|
|
147
|
+
5843,
|
|
148
148
|
"The vendor '{0}' is already registered and cannot be registered twice",
|
|
149
149
|
item.vendor
|
|
150
150
|
)));
|
|
151
151
|
continue;
|
|
152
152
|
}
|
|
153
153
|
if (isFalsyOrWhitespace(item.vendor)) {
|
|
154
|
-
extension.collector.error(( localize(
|
|
154
|
+
extension.collector.error(( localize(5844, "The vendor field cannot be empty.")));
|
|
155
155
|
continue;
|
|
156
156
|
}
|
|
157
157
|
if (item.vendor.trim() !== item.vendor) {
|
|
158
|
-
extension.collector.error(( localize(
|
|
158
|
+
extension.collector.error(( localize(5845, "The vendor field cannot start or end with whitespace.")));
|
|
159
159
|
continue;
|
|
160
160
|
}
|
|
161
161
|
this._vendors.set(item.vendor, item);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { localize } from '../../../../../nls.js';
|
|
3
3
|
|
|
4
|
-
const DEFAULT_MODEL_PICKER_CATEGORY = { label: ( localize(
|
|
4
|
+
const DEFAULT_MODEL_PICKER_CATEGORY = { label: ( localize(5846, "Other Models")), order: Number.MAX_SAFE_INTEGER };
|
|
5
5
|
|
|
6
6
|
export { DEFAULT_MODEL_PICKER_CATEGORY };
|
|
@@ -62,8 +62,8 @@ function createManageTodoListToolData(writeOnly, includeDescription = true) {
|
|
|
62
62
|
toolReferenceName: 'todos',
|
|
63
63
|
canBeReferencedInPrompt: true,
|
|
64
64
|
icon: ThemeIcon.fromId(Codicon.checklist.id),
|
|
65
|
-
displayName: ( localize(
|
|
66
|
-
userDescription: ( localize(
|
|
65
|
+
displayName: ( localize(5975, 'Manage and track todo items for task planning')),
|
|
66
|
+
userDescription: ( localize(5976, 'Tool for managing and tracking todo items for task planning')),
|
|
67
67
|
modelDescription: 'Manage a structured todo list to track progress and plan tasks throughout your coding session. Use this tool VERY frequently to ensure task visibility and proper planning.\n\nWhen to use this tool:\n- Complex multi-step work requiring planning and tracking\n- When user provides multiple tasks or requests (numbered/comma-separated)\n- After receiving new instructions that require multiple steps\n- BEFORE starting work on any todo (mark as in-progress)\n- IMMEDIATELY after completing each todo (mark completed individually)\n- When breaking down larger tasks into smaller actionable steps\n- To give users visibility into your progress and planning\n\nWhen NOT to use:\n- Single, trivial tasks that can be completed in one step\n- Purely conversational/informational requests\n- When just reading files or performing simple searches\n\nCRITICAL workflow:\n1. Plan tasks by writing todo list with specific, actionable items\n2. Mark ONE todo as in-progress before starting work\n3. Complete the work for that specific todo\n4. Mark that todo as completed IMMEDIATELY\n5. Move to next todo and repeat\n\nTodo states:\n- not-started: Todo not yet begun\n- in-progress: Currently working (limit ONE at a time)\n- completed: Finished successfully\n\nIMPORTANT: Mark todos completed as soon as they are done. Do not batch completions.',
|
|
68
68
|
source: ToolDataSource.Internal,
|
|
69
69
|
inputSchema: {
|
|
@@ -138,7 +138,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
138
138
|
break;
|
|
139
139
|
}
|
|
140
140
|
case 'read': {
|
|
141
|
-
message = ( localize(
|
|
141
|
+
message = ( localize(5977, "Read todo list"));
|
|
142
142
|
break;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
@@ -150,7 +150,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
150
150
|
status: todo.status
|
|
151
151
|
})));
|
|
152
152
|
return {
|
|
153
|
-
pastTenseMessage: ( new MarkdownString(message ?? ( localize(
|
|
153
|
+
pastTenseMessage: ( new MarkdownString(message ?? ( localize(5978, "Updated todo list")))),
|
|
154
154
|
toolSpecificData: {
|
|
155
155
|
kind: 'todoList',
|
|
156
156
|
sessionId: chatSessionId,
|
|
@@ -161,8 +161,8 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
161
161
|
generatePastTenseMessage(currentTodos, newTodos) {
|
|
162
162
|
if (currentTodos.length === 0) {
|
|
163
163
|
return newTodos.length === 1
|
|
164
|
-
? ( localize(
|
|
165
|
-
: ( localize(
|
|
164
|
+
? ( localize(5979, "Created 1 todo"))
|
|
165
|
+
: ( localize(5980, "Created {0} todos", newTodos.length));
|
|
166
166
|
}
|
|
167
167
|
const currentTodoMap = ( new Map(( currentTodos.map(todo => [todo.id, todo]))));
|
|
168
168
|
const startedTodos = newTodos.filter(newTodo => {
|
|
@@ -174,7 +174,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
174
174
|
const totalTodos = newTodos.length;
|
|
175
175
|
const currentPosition = newTodos.findIndex(todo => todo.id === startedTodo.id) + 1;
|
|
176
176
|
return localize(
|
|
177
|
-
|
|
177
|
+
5981,
|
|
178
178
|
"Starting: *{0}* ({1}/{2})",
|
|
179
179
|
startedTodo.title,
|
|
180
180
|
currentPosition,
|
|
@@ -190,7 +190,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
190
190
|
const totalTodos = newTodos.length;
|
|
191
191
|
const currentPosition = newTodos.findIndex(todo => todo.id === completedTodo.id) + 1;
|
|
192
192
|
return localize(
|
|
193
|
-
|
|
193
|
+
5982,
|
|
194
194
|
"Completed: *{0}* ({1}/{2})",
|
|
195
195
|
completedTodo.title,
|
|
196
196
|
currentPosition,
|
|
@@ -200,10 +200,10 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
200
200
|
const addedTodos = newTodos.filter(newTodo => !( currentTodoMap.has(newTodo.id)));
|
|
201
201
|
if (addedTodos.length > 0) {
|
|
202
202
|
return addedTodos.length === 1
|
|
203
|
-
? ( localize(
|
|
204
|
-
: ( localize(
|
|
203
|
+
? ( localize(5983, "Added 1 todo"))
|
|
204
|
+
: ( localize(5984, "Added {0} todos", addedTodos.length));
|
|
205
205
|
}
|
|
206
|
-
return localize(
|
|
206
|
+
return localize(5985, "Updated todo list");
|
|
207
207
|
}
|
|
208
208
|
handleRead(todoItems, sessionResource) {
|
|
209
209
|
if (todoItems.length === 0) {
|
|
@@ -45,9 +45,9 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
45
45
|
toolReferenceName: VSCodeToolReference.runSubagent,
|
|
46
46
|
canBeReferencedInPrompt: true,
|
|
47
47
|
icon: ThemeIcon.fromId(Codicon.organization.id),
|
|
48
|
-
displayName: ( localize(
|
|
48
|
+
displayName: ( localize(5986, 'Run Subagent')),
|
|
49
49
|
userDescription: ( localize(
|
|
50
|
-
|
|
50
|
+
5987,
|
|
51
51
|
'Runs a task within an isolated subagent context. Enables efficient organization of tasks and context window management.'
|
|
52
52
|
)),
|
|
53
53
|
modelDescription: BaseModelDescription,
|