@codingame/monaco-vscode-chat-service-override 9.0.0 → 9.0.3
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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipantContributions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-chat-service-override",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.3",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@9.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@9.0.3"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -28,93 +28,93 @@ function getAccessibilityHelpText(type) {
|
|
|
28
28
|
const content = [];
|
|
29
29
|
if (type === 'panelChat') {
|
|
30
30
|
content.push(( localize(
|
|
31
|
-
|
|
31
|
+
7078,
|
|
32
32
|
'The chat view is comprised of an input box and a request/response list. The input box is used to make requests and the list is used to display responses.'
|
|
33
33
|
)));
|
|
34
34
|
content.push(( localize(
|
|
35
|
-
|
|
35
|
+
7079,
|
|
36
36
|
'In the input box, use up and down arrows to navigate your request history. Edit input and use enter or the submit button to run a new request.'
|
|
37
37
|
)));
|
|
38
38
|
content.push(( localize(
|
|
39
|
-
|
|
39
|
+
7080,
|
|
40
40
|
'In the input box, inspect the last response in the accessible view{0}.',
|
|
41
41
|
'<keybinding:editor.action.accessibleView>'
|
|
42
42
|
)));
|
|
43
43
|
content.push(( localize(
|
|
44
|
-
|
|
44
|
+
7081,
|
|
45
45
|
'In the input box, navigate to the suggested follow up question (Shift+Tab) and press Enter to run it.'
|
|
46
46
|
)));
|
|
47
47
|
content.push(( localize(
|
|
48
|
-
|
|
48
|
+
7082,
|
|
49
49
|
'Chat responses will be announced as they come in. A response will indicate the number of code blocks, if any, and then the rest of the response.'
|
|
50
50
|
)));
|
|
51
51
|
content.push(( localize(
|
|
52
|
-
|
|
52
|
+
7083,
|
|
53
53
|
'To focus the chat request/response list, which can be navigated with up and down arrows, invoke the Focus Chat command{0}.',
|
|
54
54
|
'<keybinding:chat.action.focus>'
|
|
55
55
|
)));
|
|
56
56
|
content.push(( localize(
|
|
57
|
-
|
|
57
|
+
7084,
|
|
58
58
|
'To focus the input box for chat requests, invoke the Focus Chat Input command{0}.',
|
|
59
59
|
'<keybinding:workbench.action.chat.focusInput>'
|
|
60
60
|
)));
|
|
61
61
|
content.push(( localize(
|
|
62
|
-
|
|
62
|
+
7085,
|
|
63
63
|
'To focus the next code block within a response, invoke the Chat: Next Code Block command{0}.',
|
|
64
64
|
'<keybinding:workbench.action.chat.nextCodeBlock>'
|
|
65
65
|
)));
|
|
66
66
|
content.push(( localize(
|
|
67
|
-
|
|
67
|
+
7086,
|
|
68
68
|
'To focus the next file tree within a response, invoke the Chat: Next File Tree command{0}.',
|
|
69
69
|
'<keybinding:workbench.action.chat.nextFileTree>'
|
|
70
70
|
)));
|
|
71
71
|
content.push(( localize(
|
|
72
|
-
|
|
72
|
+
7087,
|
|
73
73
|
'To create a new chat session, invoke the New Chat command{0}.',
|
|
74
74
|
'<keybinding:workbench.action.chat.new>'
|
|
75
75
|
)));
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
78
|
content.push(( localize(
|
|
79
|
-
|
|
79
|
+
7088,
|
|
80
80
|
"Inline chat occurs within a code editor and takes into account the current selection. It is useful for making changes to the current editor. For example, fixing diagnostics, documenting or refactoring code. Keep in mind that AI generated code may be incorrect."
|
|
81
81
|
)));
|
|
82
82
|
content.push(( localize(
|
|
83
|
-
|
|
83
|
+
7089,
|
|
84
84
|
"It can be activated via code actions or directly using the command: Inline Chat: Start Inline Chat{0}.",
|
|
85
85
|
'<keybinding:inlineChat.start>'
|
|
86
86
|
)));
|
|
87
87
|
content.push(( localize(
|
|
88
|
-
|
|
88
|
+
7090,
|
|
89
89
|
'In the input box, use Show Previous{0} and Show Next{1} to navigate your request history. Edit input and use enter or the submit button to run a new request.',
|
|
90
90
|
'<keybinding:history.showPrevious>',
|
|
91
91
|
'<keybinding:history.showNext>'
|
|
92
92
|
)));
|
|
93
93
|
content.push(( localize(
|
|
94
|
-
|
|
94
|
+
7091,
|
|
95
95
|
'In the input box, inspect the response in the accessible view{0}.',
|
|
96
96
|
'<keybinding:editor.action.accessibleView>'
|
|
97
97
|
)));
|
|
98
98
|
content.push(( localize(
|
|
99
|
-
|
|
99
|
+
7092,
|
|
100
100
|
"Context menu actions may run a request prefixed with a /. Type / to discover such ready-made commands."
|
|
101
101
|
)));
|
|
102
102
|
content.push(( localize(
|
|
103
|
-
|
|
103
|
+
7093,
|
|
104
104
|
"If a fix action is invoked, a response will indicate the problem with the current code. A diff editor will be rendered and can be reached by tabbing."
|
|
105
105
|
)));
|
|
106
106
|
content.push(( localize(
|
|
107
|
-
|
|
107
|
+
7094,
|
|
108
108
|
"Once in the diff editor, enter review mode with{0}. Use up and down arrows to navigate lines with the proposed changes.",
|
|
109
109
|
AccessibleDiffViewerNext.id
|
|
110
110
|
)));
|
|
111
111
|
content.push(( localize(
|
|
112
|
-
|
|
112
|
+
7095,
|
|
113
113
|
"Use tab to reach conditional parts like commands, status, message responses and more."
|
|
114
114
|
)));
|
|
115
115
|
}
|
|
116
116
|
content.push(( localize(
|
|
117
|
-
|
|
117
|
+
7096,
|
|
118
118
|
"Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
|
|
119
119
|
)));
|
|
120
120
|
return content.join('\n');
|
|
@@ -21,7 +21,7 @@ function registerNewChatActions() {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super({
|
|
23
23
|
id: 'workbench.action.chatEditor.newChat',
|
|
24
|
-
title: ( localize2(
|
|
24
|
+
title: ( localize2(7097, "New Chat")),
|
|
25
25
|
icon: Codicon.plus,
|
|
26
26
|
f1: false,
|
|
27
27
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
@@ -42,7 +42,7 @@ function registerNewChatActions() {
|
|
|
42
42
|
constructor() {
|
|
43
43
|
super({
|
|
44
44
|
id: ACTION_ID_NEW_CHAT,
|
|
45
|
-
title: ( localize2(
|
|
45
|
+
title: ( localize2(7097, "New Chat")),
|
|
46
46
|
category: CHAT_CATEGORY,
|
|
47
47
|
icon: Codicon.plus,
|
|
48
48
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
@@ -251,7 +251,7 @@ function registerChatCodeBlockActions() {
|
|
|
251
251
|
constructor() {
|
|
252
252
|
super({
|
|
253
253
|
id: 'workbench.action.chat.copyCodeBlock',
|
|
254
|
-
title: ( localize2(
|
|
254
|
+
title: ( localize2(7098, "Copy")),
|
|
255
255
|
f1: false,
|
|
256
256
|
category: CHAT_CATEGORY,
|
|
257
257
|
icon: Codicon.copy,
|
|
@@ -336,7 +336,7 @@ function registerChatCodeBlockActions() {
|
|
|
336
336
|
constructor() {
|
|
337
337
|
super({
|
|
338
338
|
id: 'workbench.action.chat.applyInEditor',
|
|
339
|
-
title: ( localize2(
|
|
339
|
+
title: ( localize2(7099, "Apply in Editor")),
|
|
340
340
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
341
341
|
f1: true,
|
|
342
342
|
category: CHAT_CATEGORY,
|
|
@@ -385,7 +385,7 @@ function registerChatCodeBlockActions() {
|
|
|
385
385
|
try {
|
|
386
386
|
const edits = await progressService.withProgress({ location: ProgressLocation.Notification, delay: 500, sticky: true, cancellable: true }, async (progress) => {
|
|
387
387
|
for (const provider of mappedEditsProviders) {
|
|
388
|
-
progress.report({ message: ( localize(
|
|
388
|
+
progress.report({ message: ( localize(7100, "Applying code block using {0}...", provider.displayName)) });
|
|
389
389
|
const mappedEdits = await provider.provideMappedEdits(activeModel, [codeBlockActionContext.code], { documents: docRefs }, cancellationTokenSource.token);
|
|
390
390
|
if (mappedEdits) {
|
|
391
391
|
return { edits: mappedEdits.edits, codeMapper: provider.displayName };
|
|
@@ -398,7 +398,7 @@ function registerChatCodeBlockActions() {
|
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
400
|
catch (e) {
|
|
401
|
-
notificationService.notify({ severity: Severity$1.Error, message: ( localize(
|
|
401
|
+
notificationService.notify({ severity: Severity$1.Error, message: ( localize(7101, "Failed to apply code block: {0}", e.message)) });
|
|
402
402
|
}
|
|
403
403
|
finally {
|
|
404
404
|
cancellationTokenSource.dispose();
|
|
@@ -414,7 +414,7 @@ function registerChatCodeBlockActions() {
|
|
|
414
414
|
constructor() {
|
|
415
415
|
super({
|
|
416
416
|
id: 'workbench.action.chat.insertCodeBlock',
|
|
417
|
-
title: ( localize2(
|
|
417
|
+
title: ( localize2(7102, "Insert At Cursor")),
|
|
418
418
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
419
419
|
f1: true,
|
|
420
420
|
category: CHAT_CATEGORY,
|
|
@@ -441,7 +441,7 @@ function registerChatCodeBlockActions() {
|
|
|
441
441
|
constructor() {
|
|
442
442
|
super({
|
|
443
443
|
id: 'workbench.action.chat.insertIntoNewFile',
|
|
444
|
-
title: ( localize2(
|
|
444
|
+
title: ( localize2(7103, "Insert into New File")),
|
|
445
445
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
446
446
|
f1: true,
|
|
447
447
|
category: CHAT_CATEGORY,
|
|
@@ -492,7 +492,7 @@ function registerChatCodeBlockActions() {
|
|
|
492
492
|
constructor() {
|
|
493
493
|
super({
|
|
494
494
|
id: 'workbench.action.chat.runInTerminal',
|
|
495
|
-
title: ( localize2(
|
|
495
|
+
title: ( localize2(7104, "Insert into Terminal")),
|
|
496
496
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
497
497
|
f1: true,
|
|
498
498
|
category: CHAT_CATEGORY,
|
|
@@ -592,7 +592,7 @@ function registerChatCodeBlockActions() {
|
|
|
592
592
|
constructor() {
|
|
593
593
|
super({
|
|
594
594
|
id: 'workbench.action.chat.nextCodeBlock',
|
|
595
|
-
title: ( localize2(
|
|
595
|
+
title: ( localize2(7105, "Next Code Block")),
|
|
596
596
|
keybinding: {
|
|
597
597
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown,
|
|
598
598
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown, },
|
|
@@ -612,7 +612,7 @@ function registerChatCodeBlockActions() {
|
|
|
612
612
|
constructor() {
|
|
613
613
|
super({
|
|
614
614
|
id: 'workbench.action.chat.previousCodeBlock',
|
|
615
|
-
title: ( localize2(
|
|
615
|
+
title: ( localize2(7106, "Previous Code Block")),
|
|
616
616
|
keybinding: {
|
|
617
617
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp,
|
|
618
618
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp, },
|
|
@@ -668,7 +668,7 @@ function registerChatCodeCompareBlockActions() {
|
|
|
668
668
|
constructor() {
|
|
669
669
|
super({
|
|
670
670
|
id: 'workbench.action.chat.applyCompareEdits',
|
|
671
|
-
title: ( localize2(
|
|
671
|
+
title: ( localize2(7107, "Apply Edits")),
|
|
672
672
|
f1: false,
|
|
673
673
|
category: CHAT_CATEGORY,
|
|
674
674
|
icon: Codicon.check,
|
|
@@ -698,7 +698,7 @@ function registerChatCodeCompareBlockActions() {
|
|
|
698
698
|
constructor() {
|
|
699
699
|
super({
|
|
700
700
|
id: 'workbench.action.chat.discardCompareEdits',
|
|
701
|
-
title: ( localize2(
|
|
701
|
+
title: ( localize2(7108, "Discard Edits")),
|
|
702
702
|
f1: false,
|
|
703
703
|
category: CHAT_CATEGORY,
|
|
704
704
|
icon: Codicon.trash,
|
|
@@ -37,7 +37,7 @@ class AttachFileAction extends Action2 {
|
|
|
37
37
|
constructor() {
|
|
38
38
|
super({
|
|
39
39
|
id: AttachFileAction.ID,
|
|
40
|
-
title: ( localize2(
|
|
40
|
+
title: ( localize2(7109, "Attach File")),
|
|
41
41
|
category: CHAT_CATEGORY,
|
|
42
42
|
f1: false
|
|
43
43
|
});
|
|
@@ -56,7 +56,7 @@ class AttachSelectionAction extends Action2 {
|
|
|
56
56
|
constructor() {
|
|
57
57
|
super({
|
|
58
58
|
id: AttachSelectionAction.ID,
|
|
59
|
-
title: ( localize2(
|
|
59
|
+
title: ( localize2(7110, "Add Selection to Chat")),
|
|
60
60
|
category: CHAT_CATEGORY,
|
|
61
61
|
f1: false
|
|
62
62
|
});
|
|
@@ -94,7 +94,7 @@ class AttachContextAction extends Action2 {
|
|
|
94
94
|
constructor() {
|
|
95
95
|
super({
|
|
96
96
|
id: AttachContextAction.ID,
|
|
97
|
-
title: ( localize2(
|
|
97
|
+
title: ( localize2(7111, "Attach Context")),
|
|
98
98
|
icon: Codicon.attach,
|
|
99
99
|
category: CHAT_CATEGORY,
|
|
100
100
|
precondition: AttachContextAction._cdt,
|
|
@@ -260,7 +260,7 @@ class AttachContextAction extends Action2 {
|
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
quickPickItems.push({
|
|
263
|
-
label: ( localize(
|
|
263
|
+
label: ( localize(7112, 'Symbol...')),
|
|
264
264
|
icon: ThemeIcon.fromId(Codicon.symbolField.id),
|
|
265
265
|
iconClass: ThemeIcon.asClassName(Codicon.symbolField),
|
|
266
266
|
prefix: SymbolsQuickAccessProvider.PREFIX
|
|
@@ -285,7 +285,7 @@ class AttachContextAction extends Action2 {
|
|
|
285
285
|
SymbolsQuickAccessProvider.PREFIX,
|
|
286
286
|
AbstractGotoSymbolQuickAccessProvider.PREFIX
|
|
287
287
|
],
|
|
288
|
-
placeholder: ( localize(
|
|
288
|
+
placeholder: ( localize(7113, 'Search attachments')),
|
|
289
289
|
providerOptions: {
|
|
290
290
|
handleAccept: (item) => {
|
|
291
291
|
if ('prefix' in item) {
|
|
@@ -11,7 +11,7 @@ function registerChatCopyActions() {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super({
|
|
13
13
|
id: 'workbench.action.chat.copyAll',
|
|
14
|
-
title: ( localize2(
|
|
14
|
+
title: ( localize2(7114, "Copy All")),
|
|
15
15
|
f1: false,
|
|
16
16
|
category: CHAT_CATEGORY,
|
|
17
17
|
menu: {
|
|
@@ -41,7 +41,7 @@ function registerChatCopyActions() {
|
|
|
41
41
|
constructor() {
|
|
42
42
|
super({
|
|
43
43
|
id: 'workbench.action.chat.copyItem',
|
|
44
|
-
title: ( localize2(
|
|
44
|
+
title: ( localize2(7115, "Copy")),
|
|
45
45
|
f1: false,
|
|
46
46
|
category: CHAT_CATEGORY,
|
|
47
47
|
menu: {
|
|
@@ -12,7 +12,7 @@ class LogChatInputHistoryAction extends Action2 {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super({
|
|
14
14
|
id: LogChatInputHistoryAction.ID,
|
|
15
|
-
title: ( localize2(
|
|
15
|
+
title: ( localize2(7116, "Log Chat Input History")),
|
|
16
16
|
icon: Codicon.attach,
|
|
17
17
|
category: Categories.Developer,
|
|
18
18
|
f1: true
|
|
@@ -12,7 +12,7 @@ function registerChatFileTreeActions() {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super({
|
|
14
14
|
id: 'workbench.action.chat.nextFileTree',
|
|
15
|
-
title: ( localize2(
|
|
15
|
+
title: ( localize2(7121, "Next File Tree")),
|
|
16
16
|
keybinding: {
|
|
17
17
|
primary: KeyMod.CtrlCmd | KeyCode.F9,
|
|
18
18
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -31,7 +31,7 @@ function registerChatFileTreeActions() {
|
|
|
31
31
|
constructor() {
|
|
32
32
|
super({
|
|
33
33
|
id: 'workbench.action.chat.previousFileTree',
|
|
34
|
-
title: ( localize2(
|
|
34
|
+
title: ( localize2(7122, "Previous File Tree")),
|
|
35
35
|
keybinding: {
|
|
36
36
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F9,
|
|
37
37
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -13,14 +13,14 @@ import { IChatService } from 'vscode/vscode/vs/workbench/contrib/chat/common/cha
|
|
|
13
13
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
14
14
|
|
|
15
15
|
const defaultFileName = 'chat.json';
|
|
16
|
-
const filters = [{ name: ( localize(
|
|
16
|
+
const filters = [{ name: ( localize(7123, "Chat Session")), extensions: ['json'] }];
|
|
17
17
|
function registerChatExportActions() {
|
|
18
18
|
registerAction2(class ExportChatAction extends Action2 {
|
|
19
19
|
constructor() {
|
|
20
20
|
super({
|
|
21
21
|
id: 'workbench.action.chat.export',
|
|
22
22
|
category: CHAT_CATEGORY,
|
|
23
|
-
title: ( localize2(
|
|
23
|
+
title: ( localize2(7124, "Export Chat...")),
|
|
24
24
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
25
25
|
f1: true,
|
|
26
26
|
});
|
|
@@ -54,7 +54,7 @@ function registerChatExportActions() {
|
|
|
54
54
|
constructor() {
|
|
55
55
|
super({
|
|
56
56
|
id: 'workbench.action.chat.import',
|
|
57
|
-
title: ( localize2(
|
|
57
|
+
title: ( localize2(7125, "Import Chat...")),
|
|
58
58
|
category: CHAT_CATEGORY,
|
|
59
59
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
60
60
|
f1: true,
|
|
@@ -22,7 +22,7 @@ function registerMoveActions() {
|
|
|
22
22
|
constructor() {
|
|
23
23
|
super({
|
|
24
24
|
id: `workbench.action.chat.openInEditor`,
|
|
25
|
-
title: ( localize2(
|
|
25
|
+
title: ( localize2(7126, "Open Chat in Editor")),
|
|
26
26
|
category: CHAT_CATEGORY,
|
|
27
27
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
28
28
|
f1: true,
|
|
@@ -42,7 +42,7 @@ function registerMoveActions() {
|
|
|
42
42
|
constructor() {
|
|
43
43
|
super({
|
|
44
44
|
id: `workbench.action.chat.openInNewWindow`,
|
|
45
|
-
title: ( localize2(
|
|
45
|
+
title: ( localize2(7127, "Open Chat in New Window")),
|
|
46
46
|
category: CHAT_CATEGORY,
|
|
47
47
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
48
48
|
f1: true,
|
|
@@ -62,7 +62,7 @@ function registerMoveActions() {
|
|
|
62
62
|
constructor() {
|
|
63
63
|
super({
|
|
64
64
|
id: `workbench.action.chat.openInSidebar`,
|
|
65
|
-
title: ( localize2(
|
|
65
|
+
title: ( localize2(7128, "Open Chat in Side Bar")),
|
|
66
66
|
category: CHAT_CATEGORY,
|
|
67
67
|
precondition: CONTEXT_CHAT_ENABLED,
|
|
68
68
|
f1: true,
|
|
@@ -61,34 +61,34 @@ import 'vscode/vscode/vs/workbench/contrib/chat/common/chatColors';
|
|
|
61
61
|
const configurationRegistry = ( (Registry.as(Extensions.Configuration)));
|
|
62
62
|
configurationRegistry.registerConfiguration({
|
|
63
63
|
id: 'chatSidebar',
|
|
64
|
-
title: ( localize(
|
|
64
|
+
title: ( localize(3062, "Chat")),
|
|
65
65
|
type: 'object',
|
|
66
66
|
properties: {
|
|
67
67
|
'chat.editor.fontSize': {
|
|
68
68
|
type: 'number',
|
|
69
|
-
description: ( localize(
|
|
69
|
+
description: ( localize(3063, "Controls the font size in pixels in chat codeblocks.")),
|
|
70
70
|
default: isMacintosh ? 12 : 14,
|
|
71
71
|
},
|
|
72
72
|
'chat.editor.fontFamily': {
|
|
73
73
|
type: 'string',
|
|
74
|
-
description: ( localize(
|
|
74
|
+
description: ( localize(3064, "Controls the font family in chat codeblocks.")),
|
|
75
75
|
default: 'default'
|
|
76
76
|
},
|
|
77
77
|
'chat.editor.fontWeight': {
|
|
78
78
|
type: 'string',
|
|
79
|
-
description: ( localize(
|
|
79
|
+
description: ( localize(3065, "Controls the font weight in chat codeblocks.")),
|
|
80
80
|
default: 'default'
|
|
81
81
|
},
|
|
82
82
|
'chat.editor.wordWrap': {
|
|
83
83
|
type: 'string',
|
|
84
|
-
description: ( localize(
|
|
84
|
+
description: ( localize(3066, "Controls whether lines should wrap in chat codeblocks.")),
|
|
85
85
|
default: 'off',
|
|
86
86
|
enum: ['on', 'off']
|
|
87
87
|
},
|
|
88
88
|
'chat.editor.lineHeight': {
|
|
89
89
|
type: 'number',
|
|
90
90
|
description: ( localize(
|
|
91
|
-
|
|
91
|
+
3067,
|
|
92
92
|
"Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
|
|
93
93
|
)),
|
|
94
94
|
default: 0
|
|
@@ -96,7 +96,7 @@ configurationRegistry.registerConfiguration({
|
|
|
96
96
|
'chat.experimental.implicitContext': {
|
|
97
97
|
type: 'boolean',
|
|
98
98
|
description: ( localize(
|
|
99
|
-
|
|
99
|
+
3068,
|
|
100
100
|
"Controls whether a checkbox is shown to allow the user to determine which implicit context is included with a chat participant's prompt."
|
|
101
101
|
)),
|
|
102
102
|
deprecated: true,
|
|
@@ -104,27 +104,27 @@ configurationRegistry.registerConfiguration({
|
|
|
104
104
|
},
|
|
105
105
|
'chat.experimental.variables.editor': {
|
|
106
106
|
type: 'boolean',
|
|
107
|
-
description: ( localize(
|
|
107
|
+
description: ( localize(3069, "Enables variables for editor chat.")),
|
|
108
108
|
default: true
|
|
109
109
|
},
|
|
110
110
|
'chat.experimental.variables.notebook': {
|
|
111
111
|
type: 'boolean',
|
|
112
|
-
description: ( localize(
|
|
112
|
+
description: ( localize(3070, "Enables variables for notebook chat.")),
|
|
113
113
|
default: false
|
|
114
114
|
},
|
|
115
115
|
'chat.experimental.variables.terminal': {
|
|
116
116
|
type: 'boolean',
|
|
117
|
-
description: ( localize(
|
|
117
|
+
description: ( localize(3071, "Enables variables for terminal chat.")),
|
|
118
118
|
default: false
|
|
119
119
|
},
|
|
120
120
|
'chat.experimental.detectParticipant.enabled': {
|
|
121
121
|
type: 'boolean',
|
|
122
|
-
description: ( localize(
|
|
122
|
+
description: ( localize(3072, "Enables chat participant autodetection for panel chat.")),
|
|
123
123
|
default: null
|
|
124
124
|
},
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
|
-
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(
|
|
127
|
+
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(3073, "Chat"))), [
|
|
128
128
|
( (new SyncDescriptor(ChatEditorInput)))
|
|
129
129
|
]);
|
|
130
130
|
let ChatResolverContribution = class ChatResolverContribution extends Disposable {
|
|
@@ -133,7 +133,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
|
|
|
133
133
|
super();
|
|
134
134
|
this._register(editorResolverService.registerEditor(`${Schemas.vscodeChatSesssion}:**/**`, {
|
|
135
135
|
id: ChatEditorInput.EditorID,
|
|
136
|
-
label: ( localize(
|
|
136
|
+
label: ( localize(3073, "Chat")),
|
|
137
137
|
priority: RegisteredEditorPriority.builtin
|
|
138
138
|
}, {
|
|
139
139
|
singlePerResource: true,
|
|
@@ -156,7 +156,7 @@ let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommand
|
|
|
156
156
|
super();
|
|
157
157
|
this._store.add(slashCommandService.registerSlashCommand({
|
|
158
158
|
command: 'clear',
|
|
159
|
-
detail: ( localize(
|
|
159
|
+
detail: ( localize(3074, "Start a new chat")),
|
|
160
160
|
sortText: 'z2_clear',
|
|
161
161
|
executeImmediately: true,
|
|
162
162
|
locations: [ChatAgentLocation.Panel]
|
|
@@ -205,7 +205,7 @@ let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommand
|
|
|
205
205
|
}
|
|
206
206
|
const variables = [
|
|
207
207
|
...chatVariablesService.getVariables(ChatAgentLocation.Panel),
|
|
208
|
-
{ name: 'file', description: ( localize(
|
|
208
|
+
{ name: 'file', description: ( localize(3075, "Choose a file in the workspace")) }
|
|
209
209
|
];
|
|
210
210
|
const variableText = ( (variables
|
|
211
211
|
.map(v => `* \`${chatVariableLeader}${v.name}\` - ${v.description}`)))
|
|
@@ -27,7 +27,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
27
27
|
const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
28
28
|
extensionPoint: 'chatParticipants',
|
|
29
29
|
jsonSchema: {
|
|
30
|
-
description: ( localize(
|
|
30
|
+
description: ( localize(7134, 'Contributes a chat participant')),
|
|
31
31
|
type: 'array',
|
|
32
32
|
items: {
|
|
33
33
|
additionalProperties: false,
|
|
@@ -36,12 +36,12 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
36
36
|
required: ['name', 'id'],
|
|
37
37
|
properties: {
|
|
38
38
|
id: {
|
|
39
|
-
description: ( localize(
|
|
39
|
+
description: ( localize(7135, "A unique id for this chat participant.")),
|
|
40
40
|
type: 'string'
|
|
41
41
|
},
|
|
42
42
|
name: {
|
|
43
43
|
description: ( localize(
|
|
44
|
-
|
|
44
|
+
7136,
|
|
45
45
|
"User-facing name for this chat participant. The user will use '@' with this name to invoke the participant. Name must not contain whitespace."
|
|
46
46
|
)),
|
|
47
47
|
type: 'string',
|
|
@@ -49,37 +49,37 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
49
49
|
},
|
|
50
50
|
fullName: {
|
|
51
51
|
markdownDescription: ( localize(
|
|
52
|
-
|
|
52
|
+
7137,
|
|
53
53
|
"The full name of this chat participant, which is shown as the label for responses coming from this participant. If not provided, {0} is used.",
|
|
54
54
|
'`name`'
|
|
55
55
|
)),
|
|
56
56
|
type: 'string'
|
|
57
57
|
},
|
|
58
58
|
description: {
|
|
59
|
-
description: ( localize(
|
|
59
|
+
description: ( localize(7138, "A description of this chat participant, shown in the UI.")),
|
|
60
60
|
type: 'string'
|
|
61
61
|
},
|
|
62
62
|
isSticky: {
|
|
63
63
|
description: ( localize(
|
|
64
|
-
|
|
64
|
+
7139,
|
|
65
65
|
"Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
|
|
66
66
|
)),
|
|
67
67
|
type: 'boolean'
|
|
68
68
|
},
|
|
69
69
|
sampleRequest: {
|
|
70
70
|
description: ( localize(
|
|
71
|
-
|
|
71
|
+
7140,
|
|
72
72
|
"When the user clicks this participant in `/help`, this text will be submitted to the participant."
|
|
73
73
|
)),
|
|
74
74
|
type: 'string'
|
|
75
75
|
},
|
|
76
76
|
when: {
|
|
77
|
-
description: ( localize(
|
|
77
|
+
description: ( localize(7141, "A condition which must be true to enable this participant.")),
|
|
78
78
|
type: 'string'
|
|
79
79
|
},
|
|
80
80
|
disambiguation: {
|
|
81
81
|
description: ( localize(
|
|
82
|
-
|
|
82
|
+
7142,
|
|
83
83
|
"Metadata to help with automatically routing user questions to this chat participant. You must add `contribChatParticipantDetection` to `enabledApiProposals` to use this API."
|
|
84
84
|
)),
|
|
85
85
|
type: 'array',
|
|
@@ -91,21 +91,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
91
91
|
properties: {
|
|
92
92
|
categoryName: {
|
|
93
93
|
markdownDescription: ( localize(
|
|
94
|
-
|
|
94
|
+
7143,
|
|
95
95
|
"A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
|
|
96
96
|
)),
|
|
97
97
|
type: 'string'
|
|
98
98
|
},
|
|
99
99
|
description: {
|
|
100
100
|
description: ( localize(
|
|
101
|
-
|
|
101
|
+
7144,
|
|
102
102
|
"A detailed description of the kinds of questions that are suitable for this chat participant."
|
|
103
103
|
)),
|
|
104
104
|
type: 'string'
|
|
105
105
|
},
|
|
106
106
|
examples: {
|
|
107
107
|
description: ( localize(
|
|
108
|
-
|
|
108
|
+
7145,
|
|
109
109
|
"A list of representative example questions that are suitable for this chat participant."
|
|
110
110
|
)),
|
|
111
111
|
type: 'array'
|
|
@@ -115,7 +115,7 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
115
115
|
},
|
|
116
116
|
commands: {
|
|
117
117
|
markdownDescription: ( localize(
|
|
118
|
-
|
|
118
|
+
7146,
|
|
119
119
|
"Commands available for this chat participant, which the user can invoke with a `/`."
|
|
120
120
|
)),
|
|
121
121
|
type: 'array',
|
|
@@ -127,36 +127,36 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
127
127
|
properties: {
|
|
128
128
|
name: {
|
|
129
129
|
description: ( localize(
|
|
130
|
-
|
|
130
|
+
7147,
|
|
131
131
|
"A short name by which this command is referred to in the UI, e.g. `fix` or * `explain` for commands that fix an issue or explain code. The name should be unique among the commands provided by this participant."
|
|
132
132
|
)),
|
|
133
133
|
type: 'string'
|
|
134
134
|
},
|
|
135
135
|
description: {
|
|
136
|
-
description: ( localize(
|
|
136
|
+
description: ( localize(7148, "A description of this command.")),
|
|
137
137
|
type: 'string'
|
|
138
138
|
},
|
|
139
139
|
when: {
|
|
140
|
-
description: ( localize(
|
|
140
|
+
description: ( localize(7149, "A condition which must be true to enable this command.")),
|
|
141
141
|
type: 'string'
|
|
142
142
|
},
|
|
143
143
|
sampleRequest: {
|
|
144
144
|
description: ( localize(
|
|
145
|
-
|
|
145
|
+
7150,
|
|
146
146
|
"When the user clicks this command in `/help`, this text will be submitted to the participant."
|
|
147
147
|
)),
|
|
148
148
|
type: 'string'
|
|
149
149
|
},
|
|
150
150
|
isSticky: {
|
|
151
151
|
description: ( localize(
|
|
152
|
-
|
|
152
|
+
7139,
|
|
153
153
|
"Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
|
|
154
154
|
)),
|
|
155
155
|
type: 'boolean'
|
|
156
156
|
},
|
|
157
157
|
disambiguation: {
|
|
158
158
|
description: ( localize(
|
|
159
|
-
|
|
159
|
+
7151,
|
|
160
160
|
"Metadata to help with automatically routing user questions to this chat command. You must add `contribChatParticipantDetection` to `enabledApiProposals` to use this API."
|
|
161
161
|
)),
|
|
162
162
|
type: 'array',
|
|
@@ -168,21 +168,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
168
168
|
properties: {
|
|
169
169
|
categoryName: {
|
|
170
170
|
markdownDescription: ( localize(
|
|
171
|
-
|
|
171
|
+
7152,
|
|
172
172
|
"A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
|
|
173
173
|
)),
|
|
174
174
|
type: 'string'
|
|
175
175
|
},
|
|
176
176
|
description: {
|
|
177
177
|
description: ( localize(
|
|
178
|
-
|
|
178
|
+
7153,
|
|
179
179
|
"A detailed description of the kinds of questions that are suitable for this chat command."
|
|
180
180
|
)),
|
|
181
181
|
type: 'string'
|
|
182
182
|
},
|
|
183
183
|
examples: {
|
|
184
184
|
description: ( localize(
|
|
185
|
-
|
|
185
|
+
7154,
|
|
186
186
|
"A list of representative example questions that are suitable for this chat command."
|
|
187
187
|
)),
|
|
188
188
|
type: 'array'
|
|
@@ -195,7 +195,7 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
195
195
|
},
|
|
196
196
|
supportsToolReferences: {
|
|
197
197
|
description: ( localize(
|
|
198
|
-
|
|
198
|
+
7155,
|
|
199
199
|
"Whether this participant supports {0}.",
|
|
200
200
|
'ChatRequest#toolReferences'
|
|
201
201
|
)),
|
|
@@ -306,7 +306,7 @@ let ChatExtensionPointHandler = class ChatExtensionPointHandler {
|
|
|
306
306
|
});
|
|
307
307
|
}
|
|
308
308
|
registerViewContainer() {
|
|
309
|
-
const title = ( localize2(
|
|
309
|
+
const title = ( localize2(7156, "Chat"));
|
|
310
310
|
const icon = Codicon.commentDiscussion;
|
|
311
311
|
const viewContainerId = CHAT_SIDEBAR_PANEL_ID;
|
|
312
312
|
const viewContainer = ( (Registry.as(Extensions.ViewContainersRegistry))).registerViewContainer({
|
|
@@ -356,9 +356,9 @@ let ChatCompatibilityNotifier = class ChatCompatibilityNotifier {
|
|
|
356
356
|
extensionsWorkbenchService.queryLocal().then(exts => {
|
|
357
357
|
const chat = exts.find(ext => ext.identifier.id === 'github.copilot-chat');
|
|
358
358
|
if (chat?.local?.validations.some(v => v[0] === Severity$1.Error)) {
|
|
359
|
-
const showExtensionLabel = ( localize(
|
|
359
|
+
const showExtensionLabel = ( localize(7157, "Show Extension"));
|
|
360
360
|
const mainMessage = ( localize(
|
|
361
|
-
|
|
361
|
+
7158,
|
|
362
362
|
"Chat failed to load because the installed version of the {0} extension is not compatible with this version of {1}. Please ensure that the GitHub Copilot Chat extension is up to date.",
|
|
363
363
|
'GitHub Copilot Chat',
|
|
364
364
|
productService.nameLong
|
|
@@ -282,7 +282,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
282
282
|
{
|
|
283
283
|
label: `${chatVariableLeader}file`,
|
|
284
284
|
insertText: `${chatVariableLeader}file:`,
|
|
285
|
-
detail: ( localize(
|
|
285
|
+
detail: ( localize(7161, "Pick a file")),
|
|
286
286
|
range,
|
|
287
287
|
kind: CompletionItemKind.Text,
|
|
288
288
|
command: { id: SelectAndInsertFileAction.ID, title: SelectAndInsertFileAction.ID, arguments: [{ widget, range: afterRange }] },
|
|
@@ -61,7 +61,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
|
61
61
|
);
|
|
62
62
|
}
|
|
63
63
|
getAccessibleContent(hoverPart) {
|
|
64
|
-
return ( localize(
|
|
64
|
+
return ( localize(7162, 'There is a chat agent hover part here.'));
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
ChatAgentHoverParticipant = ( (__decorate([
|
|
@@ -252,7 +252,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
252
252
|
const liveSessionItems = ( (Array.from(( (this._sessionModels.values())))
|
|
253
253
|
.filter(session => !session.isImported)
|
|
254
254
|
.map(session => {
|
|
255
|
-
const title = session.title || ( localize(
|
|
255
|
+
const title = session.title || ( localize(3050, "New Chat"));
|
|
256
256
|
return {
|
|
257
257
|
sessionId: session.sessionId,
|
|
258
258
|
title,
|
|
@@ -537,7 +537,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
537
537
|
else {
|
|
538
538
|
if (!rawResult) {
|
|
539
539
|
this.trace('sendRequest', `Provider returned no response for session ${model.sessionId}`);
|
|
540
|
-
rawResult = { errorDetails: { message: ( localize(
|
|
540
|
+
rawResult = { errorDetails: { message: ( localize(3051, "Provider returned null response")) } };
|
|
541
541
|
}
|
|
542
542
|
const result = rawResult.errorDetails?.responseIsFiltered ? 'filtered' :
|
|
543
543
|
rawResult.errorDetails && gotProgress ? 'errorWithOutput' :
|
|
@@ -121,8 +121,8 @@ LanguageModelStatsService = LanguageModelStatsService_1 = ( (__decorate([
|
|
|
121
121
|
], LanguageModelStatsService)));
|
|
122
122
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
123
123
|
id: 'languageModels',
|
|
124
|
-
label: ( localize(
|
|
125
|
-
description: ( localize(
|
|
124
|
+
label: ( localize(3060, "Language Models")),
|
|
125
|
+
description: ( localize(3061, "Language models usage statistics of this extension.")),
|
|
126
126
|
access: {
|
|
127
127
|
canToggle: false
|
|
128
128
|
},
|
|
@@ -16,7 +16,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
jsonSchema: {
|
|
19
|
-
description: ( localize(
|
|
19
|
+
description: ( localize(7163, 'Contributes a tool that can be invoked by a language model.')),
|
|
20
20
|
type: 'array',
|
|
21
21
|
items: {
|
|
22
22
|
additionalProperties: false,
|
|
@@ -25,13 +25,13 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
25
25
|
required: ['id', 'modelDescription'],
|
|
26
26
|
properties: {
|
|
27
27
|
id: {
|
|
28
|
-
description: ( localize(
|
|
28
|
+
description: ( localize(7164, "A unique id for this tool.")),
|
|
29
29
|
type: 'string',
|
|
30
30
|
pattern: '^[\\w-]+$'
|
|
31
31
|
},
|
|
32
32
|
name: {
|
|
33
33
|
description: ( localize(
|
|
34
|
-
|
|
34
|
+
7165,
|
|
35
35
|
"If {0} is enabled for this tool, the user may use '#' with this name to invoke the tool in a query. Otherwise, the name is not required. Name must not contain whitespace.",
|
|
36
36
|
'`canBeInvokedManually`'
|
|
37
37
|
)),
|
|
@@ -40,34 +40,34 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
40
40
|
},
|
|
41
41
|
displayName: {
|
|
42
42
|
description: ( localize(
|
|
43
|
-
|
|
43
|
+
7166,
|
|
44
44
|
"A human-readable name for this tool that may be used to describe it in the UI."
|
|
45
45
|
)),
|
|
46
46
|
type: 'string'
|
|
47
47
|
},
|
|
48
48
|
userDescription: {
|
|
49
|
-
description: ( localize(
|
|
49
|
+
description: ( localize(7167, "A description of this tool that may be shown to the user.")),
|
|
50
50
|
type: 'string'
|
|
51
51
|
},
|
|
52
52
|
modelDescription: {
|
|
53
|
-
description: ( localize(
|
|
53
|
+
description: ( localize(7168, "A description of this tool that may be passed to a language model.")),
|
|
54
54
|
type: 'string'
|
|
55
55
|
},
|
|
56
56
|
parametersSchema: {
|
|
57
|
-
description: ( localize(
|
|
57
|
+
description: ( localize(7169, "A JSON schema for the parameters this tool accepts.")),
|
|
58
58
|
type: 'object',
|
|
59
59
|
$ref: 'http://json-schema.org/draft-07/schema#'
|
|
60
60
|
},
|
|
61
61
|
canBeInvokedManually: {
|
|
62
62
|
description: ( localize(
|
|
63
|
-
|
|
63
|
+
7170,
|
|
64
64
|
"Whether this tool can be invoked manually by the user through the chat UX."
|
|
65
65
|
)),
|
|
66
66
|
type: 'boolean'
|
|
67
67
|
},
|
|
68
68
|
icon: {
|
|
69
69
|
description: ( localize(
|
|
70
|
-
|
|
70
|
+
7171,
|
|
71
71
|
"An icon that represents this tool. Either a file path, an object with file paths for dark and light themes, or a theme icon reference, like `\\$(zap)`"
|
|
72
72
|
)),
|
|
73
73
|
anyOf: [{
|
|
@@ -77,11 +77,11 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
77
77
|
type: 'object',
|
|
78
78
|
properties: {
|
|
79
79
|
light: {
|
|
80
|
-
description: ( localize(
|
|
80
|
+
description: ( localize(7172, 'Icon path when a light theme is used')),
|
|
81
81
|
type: 'string'
|
|
82
82
|
},
|
|
83
83
|
dark: {
|
|
84
|
-
description: ( localize(
|
|
84
|
+
description: ( localize(7173, 'Icon path when a dark theme is used')),
|
|
85
85
|
type: 'string'
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -89,7 +89,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
89
89
|
},
|
|
90
90
|
when: {
|
|
91
91
|
markdownDescription: ( localize(
|
|
92
|
-
|
|
92
|
+
7174,
|
|
93
93
|
"Condition which must be true for this tool to be enabled. Note that a tool may still be invoked by another extension even when its `when` condition is false."
|
|
94
94
|
)),
|
|
95
95
|
type: 'string'
|
|
@@ -20,7 +20,7 @@ var PhraseTextType;
|
|
|
20
20
|
const VoiceChatInProgress = ( (new RawContextKey(
|
|
21
21
|
'voiceChatInProgress',
|
|
22
22
|
false,
|
|
23
|
-
{ type: 'boolean', description: ( localize(
|
|
23
|
+
{ type: 'boolean', description: ( localize(7175, "A speech-to-text session is in progress for chat.")) }
|
|
24
24
|
)));
|
|
25
25
|
let VoiceChatService = class VoiceChatService extends Disposable {
|
|
26
26
|
static { VoiceChatService_1 = this; }
|
|
@@ -28,7 +28,7 @@ const editActionMenuItem = {
|
|
|
28
28
|
order: 0,
|
|
29
29
|
command: {
|
|
30
30
|
id: SubmitAction.ID,
|
|
31
|
-
title: ( localize(
|
|
31
|
+
title: ( localize(3076, "Edit Code")),
|
|
32
32
|
},
|
|
33
33
|
when: ( (ContextKeyExpr.and(
|
|
34
34
|
CONTEXT_CHAT_INPUT_HAS_TEXT,
|
|
@@ -41,7 +41,7 @@ const generateActionMenuItem = {
|
|
|
41
41
|
order: 0,
|
|
42
42
|
command: {
|
|
43
43
|
id: SubmitAction.ID,
|
|
44
|
-
title: ( localize(
|
|
44
|
+
title: ( localize(3077, "Generate")),
|
|
45
45
|
},
|
|
46
46
|
when: ( (ContextKeyExpr.and(
|
|
47
47
|
CONTEXT_CHAT_INPUT_HAS_TEXT,
|
|
@@ -58,8 +58,8 @@ const cancelActionMenuItem = {
|
|
|
58
58
|
order: 0,
|
|
59
59
|
command: {
|
|
60
60
|
id: CancelAction.ID,
|
|
61
|
-
title: ( localize(
|
|
62
|
-
shortTitle: ( localize(
|
|
61
|
+
title: ( localize(3078, "Stop Request")),
|
|
62
|
+
shortTitle: ( localize(3079, "Stop")),
|
|
63
63
|
},
|
|
64
64
|
when: ( (ContextKeyExpr.and(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS))),
|
|
65
65
|
};
|
|
@@ -15,7 +15,7 @@ import { AbstractInlineChatAction } from 'vscode/vscode/vs/workbench/contrib/inl
|
|
|
15
15
|
import { EditorContextKeys } from 'vscode/vscode/vs/editor/common/editorContextKeys';
|
|
16
16
|
|
|
17
17
|
const CTX_INLINE_CHAT_EXPANSION = ( (new RawContextKey('inlineChatExpansion', false, ( localize(
|
|
18
|
-
|
|
18
|
+
7200,
|
|
19
19
|
"Whether the inline chat expansion is enabled when at the end of a just-typed line"
|
|
20
20
|
)))));
|
|
21
21
|
let InlineChatExansionContextKey = class InlineChatExansionContextKey {
|
|
@@ -85,7 +85,7 @@ class InlineChatExpandLineAction extends EditorAction2 {
|
|
|
85
85
|
super({
|
|
86
86
|
id: 'inlineChat.startWithCurrentLine',
|
|
87
87
|
category: AbstractInlineChatAction.category,
|
|
88
|
-
title: ( localize2(
|
|
88
|
+
title: ( localize2(7201, "Start in Editor with Current Line")),
|
|
89
89
|
f1: true,
|
|
90
90
|
precondition: ( (ContextKeyExpr.and(
|
|
91
91
|
(CTX_INLINE_CHAT_VISIBLE.negate()),
|
|
@@ -103,9 +103,9 @@ let InlineChatSavingServiceImpl = class InlineChatSavingServiceImpl {
|
|
|
103
103
|
}
|
|
104
104
|
progress.report({
|
|
105
105
|
message: sessions.size === 1
|
|
106
|
-
? ( localize(
|
|
106
|
+
? ( localize(3058, "Waiting for Inline Chat changes to be Accepted or Discarded..."))
|
|
107
107
|
: ( localize(
|
|
108
|
-
|
|
108
|
+
3059,
|
|
109
109
|
"Waiting for Inline Chat changes in {0} editors to be Accepted or Discarded...",
|
|
110
110
|
sessions.size
|
|
111
111
|
))
|