@codingame/monaco-vscode-chat-service-override 11.0.2 → 11.1.1
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/chat.js +2 -2
- package/package.json +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +17 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +14 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +22 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +167 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorActions.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorController.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipantContributions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeContributions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +6 -6
|
@@ -2,12 +2,13 @@ import { isCodeEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
|
2
2
|
import { localize2 } from 'vscode/vscode/vs/nls';
|
|
3
3
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
4
4
|
import { Action2, MenuId, registerAction2 } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
5
|
-
import
|
|
5
|
+
import '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
6
6
|
import { ctxHasEditorModification, ChatEditorController } from './chatEditorController.js';
|
|
7
7
|
import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
8
8
|
import { EditorContextKeys } from 'vscode/vscode/vs/editor/common/editorContextKeys';
|
|
9
9
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
10
10
|
import { IChatEditingService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
|
|
11
|
+
import { CHAT_CATEGORY } from 'vscode/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
11
12
|
|
|
12
13
|
class NavigateAction extends Action2 {
|
|
13
14
|
constructor(next) {
|
|
@@ -16,8 +17,8 @@ class NavigateAction extends Action2 {
|
|
|
16
17
|
? 'chatEditor.action.navigateNext'
|
|
17
18
|
: 'chatEditor.action.navigatePrevious',
|
|
18
19
|
title: next
|
|
19
|
-
? ( localize2(
|
|
20
|
-
: ( localize2(
|
|
20
|
+
? ( localize2(7588, 'Go to Next Chat Edit'))
|
|
21
|
+
: ( localize2(7589, 'Go to Previous Chat Edit')),
|
|
21
22
|
category: CHAT_CATEGORY,
|
|
22
23
|
icon: next ? Codicon.arrowDown : Codicon.arrowUp,
|
|
23
24
|
keybinding: {
|
|
@@ -57,8 +58,8 @@ class AcceptDiscardAction extends Action2 {
|
|
|
57
58
|
? 'chatEditor.action.accept'
|
|
58
59
|
: 'chatEditor.action.reject',
|
|
59
60
|
title: accept
|
|
60
|
-
? ( localize2(
|
|
61
|
-
: ( localize2(
|
|
61
|
+
? ( localize2(7590, 'Accept Chat Edit'))
|
|
62
|
+
: ( localize2(7591, 'Reject Chat Edit')),
|
|
62
63
|
category: CHAT_CATEGORY,
|
|
63
64
|
icon: accept
|
|
64
65
|
? Codicon.check
|
|
@@ -21,7 +21,7 @@ import { overviewRulerModifiedForeground, minimapGutterModifiedBackground, overv
|
|
|
21
21
|
import { IChatEditingService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
|
|
22
22
|
|
|
23
23
|
var ChatEditorController_1;
|
|
24
|
-
const ctxHasEditorModification = ( (new RawContextKey('chat.hasEditorModifications', undefined, ( localize(
|
|
24
|
+
const ctxHasEditorModification = ( (new RawContextKey('chat.hasEditorModifications', undefined, ( localize(7594, "The current editor contains chat modifications")))));
|
|
25
25
|
let ChatEditorController = class ChatEditorController extends Disposable {
|
|
26
26
|
static { ChatEditorController_1 = this; }
|
|
27
27
|
static { this.ID = 'editor.contrib.chatEditorController'; }
|
|
@@ -21,13 +21,13 @@ import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/
|
|
|
21
21
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
22
22
|
import { IChatAgentService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
23
23
|
import { CONTEXT_CHAT_PANEL_PARTICIPANT_REGISTERED, CONTEXT_CHAT_EXTENSION_INVALID, CONTEXT_CHAT_EDITING_PARTICIPANT_REGISTERED } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
24
|
-
import { CHAT_VIEW_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
24
|
+
import { CHAT_VIEW_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
25
25
|
import { CHAT_SIDEBAR_PANEL_ID, ChatViewPane, CHAT_EDITING_SIDEBAR_PANEL_ID } from './chatViewPane.js';
|
|
26
26
|
|
|
27
27
|
const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
28
28
|
extensionPoint: 'chatParticipants',
|
|
29
29
|
jsonSchema: {
|
|
30
|
-
description: ( localize(
|
|
30
|
+
description: ( localize(7610, '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(7611, "A unique id for this chat participant.")),
|
|
40
40
|
type: 'string'
|
|
41
41
|
},
|
|
42
42
|
name: {
|
|
43
43
|
description: ( localize(
|
|
44
|
-
|
|
44
|
+
7612,
|
|
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
|
+
7613,
|
|
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(7614, "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
|
+
7615,
|
|
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
|
+
7616,
|
|
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(7617, "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
|
+
7618,
|
|
83
83
|
"Metadata to help with automatically routing user questions to this chat participant."
|
|
84
84
|
)),
|
|
85
85
|
type: 'array',
|
|
@@ -91,21 +91,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
91
91
|
properties: {
|
|
92
92
|
category: {
|
|
93
93
|
markdownDescription: ( localize(
|
|
94
|
-
|
|
94
|
+
7619,
|
|
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
|
+
7620,
|
|
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
|
+
7621,
|
|
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
|
+
7622,
|
|
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
|
+
7623,
|
|
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(7624, "A description of this command.")),
|
|
137
137
|
type: 'string'
|
|
138
138
|
},
|
|
139
139
|
when: {
|
|
140
|
-
description: ( localize(
|
|
140
|
+
description: ( localize(7625, "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
|
+
7626,
|
|
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
|
+
7615,
|
|
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
|
+
7627,
|
|
160
160
|
"Metadata to help with automatically routing user questions to this chat command."
|
|
161
161
|
)),
|
|
162
162
|
type: 'array',
|
|
@@ -168,21 +168,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
168
168
|
properties: {
|
|
169
169
|
category: {
|
|
170
170
|
markdownDescription: ( localize(
|
|
171
|
-
|
|
171
|
+
7628,
|
|
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
|
+
7629,
|
|
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
|
+
7630,
|
|
186
186
|
"A list of representative example questions that are suitable for this chat command."
|
|
187
187
|
)),
|
|
188
188
|
type: 'array'
|
|
@@ -294,7 +294,7 @@ let ChatExtensionPointHandler = class ChatExtensionPointHandler {
|
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
296
|
registerViewContainer() {
|
|
297
|
-
const title = ( localize2(
|
|
297
|
+
const title = ( localize2(7631, "Chat"));
|
|
298
298
|
const icon = Codicon.commentDiscussion;
|
|
299
299
|
const viewContainerId = CHAT_SIDEBAR_PANEL_ID;
|
|
300
300
|
const viewContainer = ( (Registry.as(Extensions.ViewContainersRegistry))).registerViewContainer({
|
|
@@ -340,7 +340,7 @@ let ChatExtensionPointHandler = class ChatExtensionPointHandler {
|
|
|
340
340
|
});
|
|
341
341
|
}
|
|
342
342
|
registerChatEditingView() {
|
|
343
|
-
const title = ( localize2(
|
|
343
|
+
const title = ( localize2(7632, "Copilot Edits"));
|
|
344
344
|
const icon = Codicon.editSession;
|
|
345
345
|
const viewContainerId = CHAT_EDITING_SIDEBAR_PANEL_ID;
|
|
346
346
|
const viewContainer = ( (Registry.as(Extensions.ViewContainersRegistry))).registerViewContainer({
|
|
@@ -405,9 +405,9 @@ let ChatCompatibilityNotifier = class ChatCompatibilityNotifier extends Disposab
|
|
|
405
405
|
return;
|
|
406
406
|
}
|
|
407
407
|
this.registeredWelcomeView = true;
|
|
408
|
-
const showExtensionLabel = ( localize(
|
|
408
|
+
const showExtensionLabel = ( localize(7633, "Show Extension"));
|
|
409
409
|
const mainMessage = ( localize(
|
|
410
|
-
|
|
410
|
+
7634,
|
|
411
411
|
"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.",
|
|
412
412
|
'GitHub Copilot Chat',
|
|
413
413
|
this.productService.nameLong
|
|
@@ -49,7 +49,7 @@ class PasteImageProvider {
|
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
const attachedVariables = widget.attachmentModel.attachments;
|
|
52
|
-
const displayName = ( localize(
|
|
52
|
+
const displayName = ( localize(7635, 'Pasted Image'));
|
|
53
53
|
let tempDisplayName = displayName;
|
|
54
54
|
for (let appendValue = 2; ( (attachedVariables.some(attachment => attachment.name === tempDisplayName))); appendValue++) {
|
|
55
55
|
tempDisplayName = `${displayName} ${appendValue}`;
|
|
@@ -22,8 +22,8 @@ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
|
22
22
|
import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
|
|
23
23
|
import { quickInputForeground, quickInputBackground } from 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
24
24
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
25
|
-
import { showChatView } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
26
|
-
import { ChatWidget } from '@codingame/monaco-vscode-chat-
|
|
25
|
+
import { showChatView } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
26
|
+
import { ChatWidget } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
|
|
27
27
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
28
28
|
import { IChatService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
29
29
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
@@ -2,7 +2,7 @@ import { renderMarkdownAsPlaintext } from 'vscode/vscode/vs/base/browser/markdow
|
|
|
2
2
|
import { MarkdownString } from 'vscode/vscode/vs/base/common/htmlContent';
|
|
3
3
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
4
4
|
import { CONTEXT_IN_CHAT_SESSION } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
5
|
-
import { isResponseVM } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
5
|
+
import { isResponseVM } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
|
|
6
6
|
import { IChatWidgetService } from 'vscode/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
7
7
|
|
|
8
8
|
class ChatResponseAccessibleView {
|
|
@@ -7,10 +7,10 @@ import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
|
7
7
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
8
8
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
9
9
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
10
|
-
import { ChatRequestVariablePart, ChatRequestDynamicVariablePart, ChatRequestToolPart } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
11
|
-
import { showChatView } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
10
|
+
import { ChatRequestVariablePart, ChatRequestDynamicVariablePart, ChatRequestToolPart } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
11
|
+
import { showChatView } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
12
12
|
import { IChatWidgetService } from 'vscode/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
13
|
-
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-chat-
|
|
13
|
+
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
|
|
14
14
|
|
|
15
15
|
let ChatVariablesService = class ChatVariablesService {
|
|
16
16
|
constructor(chatWidgetService, viewsService) {
|
|
@@ -30,11 +30,11 @@ import { SIDE_BAR_FOREGROUND } from 'vscode/vscode/vs/workbench/common/theme';
|
|
|
30
30
|
import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
|
|
31
31
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
32
32
|
import { IChatAgentService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
33
|
-
import { ChatModelInitState } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
34
|
-
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
33
|
+
import { ChatModelInitState } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
34
|
+
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
|
|
35
35
|
import { IChatService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
36
|
-
import { ChatWidget } from '@codingame/monaco-vscode-chat-
|
|
37
|
-
import { ChatViewWelcomeController } from '@codingame/monaco-vscode-chat-
|
|
36
|
+
import { ChatWidget } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
|
|
37
|
+
import { ChatViewWelcomeController } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController';
|
|
38
38
|
|
|
39
39
|
const CHAT_SIDEBAR_PANEL_ID = 'workbench.panel.chat';
|
|
40
40
|
const CHAT_EDITING_SIDEBAR_PANEL_ID = 'workbench.panel.chatEditing';
|
|
@@ -16,11 +16,11 @@ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
|
|
|
16
16
|
import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
17
17
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
18
18
|
import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
|
|
19
|
-
import { ChatWidget } from '@codingame/monaco-vscode-chat-
|
|
20
|
-
import { dynamicVariableDecorationType } from '@codingame/monaco-vscode-chat-
|
|
19
|
+
import { ChatWidget } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
|
|
20
|
+
import { dynamicVariableDecorationType } from '@codingame/monaco-vscode-chat-notebook-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
|
|
21
21
|
import { IChatAgentService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
22
|
-
import { chatSlashCommandForeground, chatSlashCommandBackground } from '@codingame/monaco-vscode-chat-
|
|
23
|
-
import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestTextPart, ChatRequestVariablePart, ChatRequestToolPart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
22
|
+
import { chatSlashCommandForeground, chatSlashCommandBackground } from '@codingame/monaco-vscode-chat-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatColors';
|
|
23
|
+
import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestTextPart, ChatRequestVariablePart, ChatRequestToolPart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
24
24
|
import { ChatRequestParser } from '@codingame/monaco-vscode-chat-extensions-notebook-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
|
|
25
25
|
|
|
26
26
|
const decorationDescription = 'chat';
|
|
@@ -5,9 +5,9 @@ import { RenderedHoverParts, HoverParticipantRegistry } from 'vscode/vscode/vs/e
|
|
|
5
5
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
6
6
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
7
|
import { IChatWidgetService } from 'vscode/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
8
|
-
import { ChatAgentHover, getChatAgentHoverOptions } from '@codingame/monaco-vscode-chat-
|
|
8
|
+
import { ChatAgentHover, getChatAgentHoverOptions } from '@codingame/monaco-vscode-chat-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/browser/chatAgentHover';
|
|
9
9
|
import { ChatEditorHoverWrapper } from './editorHoverWrapper.js';
|
|
10
|
-
import { extractAgentAndCommand } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
10
|
+
import { extractAgentAndCommand } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
11
11
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
12
12
|
|
|
13
13
|
let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
@@ -61,7 +61,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
|
61
61
|
);
|
|
62
62
|
}
|
|
63
63
|
getAccessibleContent(hoverPart) {
|
|
64
|
-
return ( localize(
|
|
64
|
+
return ( localize(7638, 'There is a chat agent hover part here.'));
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
ChatAgentHoverParticipant = ( (__decorate([
|
|
@@ -105,7 +105,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
105
105
|
const prepared = tool.impl.prepareToolInvocation ?
|
|
106
106
|
await tool.impl.prepareToolInvocation(dto.parameters, token)
|
|
107
107
|
: undefined;
|
|
108
|
-
const defaultMessage = ( localize(
|
|
108
|
+
const defaultMessage = ( localize(2733, "Using {0}", `"${tool.data.displayName}"`));
|
|
109
109
|
const invocationMessage = prepared?.invocationMessage ?? defaultMessage;
|
|
110
110
|
toolInvocation = ( (new ChatToolInvocation(invocationMessage, prepared?.confirmationMessages)));
|
|
111
111
|
token.onCancellationRequested(() => {
|
package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeContributions.js
CHANGED
|
@@ -11,7 +11,7 @@ import { ExtensionsRegistry } from 'vscode/vscode/vs/workbench/services/extensio
|
|
|
11
11
|
const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
12
12
|
extensionPoint: 'chatViewsWelcome',
|
|
13
13
|
jsonSchema: {
|
|
14
|
-
description: ( localize(
|
|
14
|
+
description: ( localize(7639, 'Contributes a welcome message to a chat view')),
|
|
15
15
|
type: 'array',
|
|
16
16
|
items: {
|
|
17
17
|
additionalProperties: false,
|
|
@@ -19,22 +19,22 @@ const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint
|
|
|
19
19
|
properties: {
|
|
20
20
|
icon: {
|
|
21
21
|
type: 'string',
|
|
22
|
-
description: ( localize(
|
|
22
|
+
description: ( localize(7640, 'The icon for the welcome message.')),
|
|
23
23
|
},
|
|
24
24
|
title: {
|
|
25
25
|
type: 'string',
|
|
26
|
-
description: ( localize(
|
|
26
|
+
description: ( localize(7641, 'The title of the welcome message.')),
|
|
27
27
|
},
|
|
28
28
|
content: {
|
|
29
29
|
type: 'string',
|
|
30
30
|
description: ( localize(
|
|
31
|
-
|
|
31
|
+
7642,
|
|
32
32
|
'The content of the welcome message. The first command link will be rendered as a button.'
|
|
33
33
|
)),
|
|
34
34
|
},
|
|
35
35
|
when: {
|
|
36
36
|
type: 'string',
|
|
37
|
-
description: ( localize(
|
|
37
|
+
description: ( localize(7643, 'Condition when the welcome message is shown.')),
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
},
|
|
@@ -23,8 +23,8 @@ import { IWorkbenchAssignmentService } from 'vscode/vscode/vs/workbench/services
|
|
|
23
23
|
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
24
24
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
25
25
|
import { IChatAgentService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
26
|
-
import { normalizeSerializableChatData, ChatModel, updateRanges, toChatHistoryContent, ChatRequestModel } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
27
|
-
import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
26
|
+
import { normalizeSerializableChatData, ChatModel, updateRanges, toChatHistoryContent, ChatRequestModel } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
27
|
+
import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
28
28
|
import { ChatRequestParser } from '@codingame/monaco-vscode-chat-extensions-notebook-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
|
|
29
29
|
import { ChatServiceTelemetry } from './chatServiceTelemetry.js';
|
|
30
30
|
import { IChatSlashCommandService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service';
|
|
@@ -246,7 +246,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
246
246
|
const liveSessionItems = ( (Array.from(( (this._sessionModels.values())))
|
|
247
247
|
.filter(session => !session.isImported && session.initialLocation !== ChatAgentLocation.EditingSession)
|
|
248
248
|
.map(session => {
|
|
249
|
-
const title = session.title || ( localize(
|
|
249
|
+
const title = session.title || ( localize(2698, "New Chat"));
|
|
250
250
|
return {
|
|
251
251
|
sessionId: session.sessionId,
|
|
252
252
|
title,
|
|
@@ -546,7 +546,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
546
546
|
else {
|
|
547
547
|
if (!rawResult) {
|
|
548
548
|
this.trace('sendRequest', `Provider returned no response for session ${model.sessionId}`);
|
|
549
|
-
rawResult = { errorDetails: { message: ( localize(
|
|
549
|
+
rawResult = { errorDetails: { message: ( localize(2699, "Provider returned null response")) } };
|
|
550
550
|
}
|
|
551
551
|
const result = rawResult.errorDetails?.responseIsFiltered ? 'filtered' :
|
|
552
552
|
rawResult.errorDetails && gotProgress ? 'errorWithOutput' :
|
|
@@ -3,7 +3,7 @@ import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
|
3
3
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
4
4
|
import { Memento } from 'vscode/vscode/vs/workbench/common/memento';
|
|
5
5
|
import { ChatAgentLocation } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
6
|
-
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-
|
|
6
|
+
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
|
|
7
7
|
|
|
8
8
|
let ChatWidgetHistoryService = class ChatWidgetHistoryService {
|
|
9
9
|
constructor(storageService) {
|
|
@@ -120,8 +120,8 @@ LanguageModelStatsService = LanguageModelStatsService_1 = ( (__decorate([
|
|
|
120
120
|
], LanguageModelStatsService)));
|
|
121
121
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
122
122
|
id: 'languageModels',
|
|
123
|
-
label: ( localize(
|
|
124
|
-
description: ( localize(
|
|
123
|
+
label: ( localize(2712, "Language Models")),
|
|
124
|
+
description: ( localize(2713, "Language models usage statistics of this extension.")),
|
|
125
125
|
access: {
|
|
126
126
|
canToggle: false
|
|
127
127
|
},
|
|
@@ -17,14 +17,14 @@ const languageModelType = {
|
|
|
17
17
|
properties: {
|
|
18
18
|
vendor: {
|
|
19
19
|
type: 'string',
|
|
20
|
-
description: ( localize(
|
|
20
|
+
description: ( localize(2700, "A globally unique vendor of language models."))
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
const languageModelExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
25
25
|
extensionPoint: 'languageModels',
|
|
26
26
|
jsonSchema: {
|
|
27
|
-
description: ( localize(
|
|
27
|
+
description: ( localize(2701, "Contribute language models of a specific vendor.")),
|
|
28
28
|
oneOf: [
|
|
29
29
|
languageModelType,
|
|
30
30
|
{
|
|
@@ -54,24 +54,24 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
54
54
|
this._vendors.clear();
|
|
55
55
|
for (const extension of extensions) {
|
|
56
56
|
if (!isProposedApiEnabled(extension.description, 'chatProvider')) {
|
|
57
|
-
extension.collector.error(( localize(
|
|
57
|
+
extension.collector.error(( localize(2702, "This contribution point requires the 'chatProvider' proposal.")));
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
60
|
for (const item of Iterable.wrap(extension.value)) {
|
|
61
61
|
if (( (this._vendors.has(item.vendor)))) {
|
|
62
62
|
extension.collector.error(( localize(
|
|
63
|
-
|
|
63
|
+
2703,
|
|
64
64
|
"The vendor '{0}' is already registered and cannot be registered twice",
|
|
65
65
|
item.vendor
|
|
66
66
|
)));
|
|
67
67
|
continue;
|
|
68
68
|
}
|
|
69
69
|
if (isFalsyOrWhitespace(item.vendor)) {
|
|
70
|
-
extension.collector.error(( localize(
|
|
70
|
+
extension.collector.error(( localize(2704, "The vendor field cannot be empty.")));
|
|
71
71
|
continue;
|
|
72
72
|
}
|
|
73
73
|
if (item.vendor.trim() !== item.vendor) {
|
|
74
|
-
extension.collector.error(( localize(
|
|
74
|
+
extension.collector.error(( localize(2705, "The vendor field cannot start or end with whitespace.")));
|
|
75
75
|
continue;
|
|
76
76
|
}
|
|
77
77
|
this._vendors.add(item.vendor);
|
|
@@ -18,7 +18,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
18
18
|
},
|
|
19
19
|
jsonSchema: {
|
|
20
20
|
description: ( localize(
|
|
21
|
-
|
|
21
|
+
7451,
|
|
22
22
|
'Contributes a tool that can be invoked by a language model in a chat session, or from a standalone command. Registered tools can be used by all extensions.'
|
|
23
23
|
)),
|
|
24
24
|
type: 'array',
|
|
@@ -44,7 +44,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
44
44
|
properties: {
|
|
45
45
|
name: {
|
|
46
46
|
description: ( localize(
|
|
47
|
-
|
|
47
|
+
7452,
|
|
48
48
|
"A unique name for this tool. This name must be a globally unique identifier, and is also used as a name when presenting this tool to a language model."
|
|
49
49
|
)),
|
|
50
50
|
type: 'string',
|
|
@@ -52,7 +52,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
52
52
|
},
|
|
53
53
|
toolReferenceName: {
|
|
54
54
|
markdownDescription: ( localize(
|
|
55
|
-
|
|
55
|
+
7453,
|
|
56
56
|
"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.",
|
|
57
57
|
'`canBeReferencedInPrompt`'
|
|
58
58
|
)),
|
|
@@ -61,32 +61,32 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
61
61
|
},
|
|
62
62
|
displayName: {
|
|
63
63
|
description: ( localize(
|
|
64
|
-
|
|
64
|
+
7454,
|
|
65
65
|
"A human-readable name for this tool that may be used to describe it in the UI."
|
|
66
66
|
)),
|
|
67
67
|
type: 'string'
|
|
68
68
|
},
|
|
69
69
|
userDescription: {
|
|
70
|
-
description: ( localize(
|
|
70
|
+
description: ( localize(7455, "A description of this tool that may be shown to the user.")),
|
|
71
71
|
type: 'string'
|
|
72
72
|
},
|
|
73
73
|
modelDescription: {
|
|
74
74
|
description: ( localize(
|
|
75
|
-
|
|
75
|
+
7456,
|
|
76
76
|
"A description of this tool that may be used by a language model to select it."
|
|
77
77
|
)),
|
|
78
78
|
type: 'string'
|
|
79
79
|
},
|
|
80
80
|
inputSchema: {
|
|
81
81
|
description: ( localize(
|
|
82
|
-
|
|
82
|
+
7457,
|
|
83
83
|
"A JSON schema for the input this tool accepts. The input must be an object at the top level. A particular language model may not support all JSON schema features. See the documentation for the language model family you are using for more information."
|
|
84
84
|
)),
|
|
85
85
|
$ref: toolsParametersSchemaSchemaId,
|
|
86
86
|
},
|
|
87
87
|
canBeReferencedInPrompt: {
|
|
88
88
|
markdownDescription: ( localize(
|
|
89
|
-
|
|
89
|
+
7458,
|
|
90
90
|
"If true, this tool shows up as an attachment that the user can add manually to their request. Chat participants will receive the tool in {0}.",
|
|
91
91
|
'`ChatRequest#toolReferences`'
|
|
92
92
|
)),
|
|
@@ -94,7 +94,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
94
94
|
},
|
|
95
95
|
icon: {
|
|
96
96
|
markdownDescription: ( localize(
|
|
97
|
-
|
|
97
|
+
7459,
|
|
98
98
|
"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)`"
|
|
99
99
|
)),
|
|
100
100
|
anyOf: [{
|
|
@@ -104,11 +104,11 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
104
104
|
type: 'object',
|
|
105
105
|
properties: {
|
|
106
106
|
light: {
|
|
107
|
-
description: ( localize(
|
|
107
|
+
description: ( localize(7460, 'Icon path when a light theme is used')),
|
|
108
108
|
type: 'string'
|
|
109
109
|
},
|
|
110
110
|
dark: {
|
|
111
|
-
description: ( localize(
|
|
111
|
+
description: ( localize(7461, 'Icon path when a dark theme is used')),
|
|
112
112
|
type: 'string'
|
|
113
113
|
}
|
|
114
114
|
}
|
|
@@ -116,14 +116,14 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
116
116
|
},
|
|
117
117
|
when: {
|
|
118
118
|
markdownDescription: ( localize(
|
|
119
|
-
|
|
119
|
+
7462,
|
|
120
120
|
"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."
|
|
121
121
|
)),
|
|
122
122
|
type: 'string'
|
|
123
123
|
},
|
|
124
124
|
tags: {
|
|
125
125
|
description: ( localize(
|
|
126
|
-
|
|
126
|
+
7463,
|
|
127
127
|
"A set of tags that roughly describe the tool's capabilities. A tool user may use these to filter the set of tools to just ones that are relevant for the task at hand, or they may want to pick a tag that can be used to identify just the tools contributed by this extension."
|
|
128
128
|
)),
|
|
129
129
|
type: 'array',
|