@codingame/monaco-vscode-chat-service-override 13.1.7 → 14.0.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/index.js +9 -9
- package/package.json +20 -20
- package/vscode/src/vs/base/common/objectCache.d.ts +13 -0
- package/vscode/src/vs/base/common/objectCache.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +12 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +95 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +81 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +144 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +17 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +168 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +116 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.d.ts +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.js +105 -70
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +17 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +154 -83
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +150 -130
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +449 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.js +11 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +76 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewSetup.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +5 -18
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.js +4 -122
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +42 -11
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +49 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkProvider.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkProvider.js +69 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +73 -17
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +9 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController2.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController2.js +314 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +34 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +0 -334
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +0 -46
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +0 -168
|
@@ -4,7 +4,7 @@ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asyn
|
|
|
4
4
|
import { isMarkdownString, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
5
5
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
7
|
-
import {
|
|
7
|
+
import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
8
8
|
import { registerEditorContribution, EditorContributionInstantiation } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
|
|
9
9
|
import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
|
|
10
10
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -15,34 +15,28 @@ import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
15
15
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
16
16
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
17
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
18
|
-
import { EditorPaneDescriptor } from '@codingame/monaco-vscode-
|
|
18
|
+
import { EditorPaneDescriptor } from '@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common/vscode/vs/workbench/browser/editor';
|
|
19
19
|
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
20
20
|
import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
21
21
|
import { RegisteredEditorPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService';
|
|
22
22
|
import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService.service';
|
|
23
23
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
24
24
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
25
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
|
|
26
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
27
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
28
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
|
|
29
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
30
|
-
import '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
31
25
|
import '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/chatColors';
|
|
32
|
-
import { chatVariableLeader } from '@codingame/monaco-vscode-
|
|
26
|
+
import { chatVariableLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
33
27
|
import '../common/chatServiceImpl.js';
|
|
34
28
|
import '../common/chatSlashCommands.js';
|
|
35
29
|
import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service';
|
|
36
30
|
import { IChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service';
|
|
37
|
-
import '
|
|
31
|
+
import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatWidgetHistoryService';
|
|
38
32
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
39
|
-
import '@codingame/monaco-vscode-
|
|
33
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
|
|
40
34
|
import { LanguageModelToolsExtensionPointHandler } from '../common/tools/languageModelToolsContribution.js';
|
|
41
35
|
import '../common/voiceChatService.js';
|
|
42
|
-
import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
|
|
43
|
-
import { ChatCommandCenterRendering, registerChatActions } from '@codingame/monaco-vscode-
|
|
44
|
-
import { ACTION_ID_NEW_CHAT, registerNewChatActions } from '
|
|
45
|
-
import { registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
|
|
36
|
+
import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp, EditsChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
|
|
37
|
+
import { ChatCommandCenterRendering, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
38
|
+
import { ACTION_ID_NEW_CHAT, registerNewChatActions } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatClearActions';
|
|
39
|
+
import { CodeBlockActionRendering, registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
|
|
46
40
|
import { registerChatContextActions } from './actions/chatContextActions.js';
|
|
47
41
|
import { registerChatCopyActions } from './actions/chatCopyActions.js';
|
|
48
42
|
import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
|
|
@@ -57,11 +51,10 @@ import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vsc
|
|
|
57
51
|
import '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
58
52
|
import './chatEditing/chatEditingService.js';
|
|
59
53
|
import { ChatEditor } from './chatEditor.js';
|
|
60
|
-
import { registerChatEditorActions } from '@codingame/monaco-vscode-
|
|
61
|
-
import { ChatEditorController } from '@codingame/monaco-vscode-
|
|
62
|
-
import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-
|
|
54
|
+
import { registerChatEditorActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorActions';
|
|
55
|
+
import { ChatEditorController } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorController';
|
|
56
|
+
import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
63
57
|
import { ChatInputBoxContentProvider } from './chatEdinputInputContentProvider.js';
|
|
64
|
-
import { ChatEditorSaving, ChatEditorAutoSaveDisabler } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorSaving';
|
|
65
58
|
import { agentToMarkdown, agentSlashCommandToMarkdown } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer';
|
|
66
59
|
import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
|
|
67
60
|
import { ChatPasteProvidersFeature } from './chatPasteProviders.js';
|
|
@@ -77,76 +70,77 @@ import './languageModelToolsService.js';
|
|
|
77
70
|
import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
|
|
78
71
|
import { ChatGettingStartedContribution } from './actions/chatGettingStarted.js';
|
|
79
72
|
import { Extensions as Extensions$1 } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/configuration';
|
|
80
|
-
import { ChatEditorOverlayController } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatEditorOverlay';
|
|
81
73
|
import { ChatRelatedFilesContribution } from './contrib/chatInputRelatedFilesContrib.js';
|
|
82
|
-
import { ChatQuotasStatusBarEntry } from '@codingame/monaco-vscode-
|
|
74
|
+
import { ChatQuotasStatusBarEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatQuotasService';
|
|
75
|
+
import { ChatSetupContribution } from './chatSetup.js';
|
|
76
|
+
import { ChatEditorOverlayController } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorOverlay';
|
|
77
|
+
import '../common/promptSyntax/languageFeatures/promptLinkProvider.js';
|
|
78
|
+
import { PromptFilesConfig } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config';
|
|
79
|
+
import { BuiltinToolsContribution } from '../common/tools/tools.js';
|
|
80
|
+
import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
|
|
81
|
+
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
82
|
+
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
83
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
83
84
|
|
|
84
85
|
const configurationRegistry = ( Registry.as(Extensions.Configuration));
|
|
85
86
|
configurationRegistry.registerConfiguration({
|
|
86
87
|
id: 'chatSidebar',
|
|
87
|
-
title: ( localize(
|
|
88
|
+
title: ( localize(4385, "Chat")),
|
|
88
89
|
type: 'object',
|
|
89
90
|
properties: {
|
|
90
91
|
'chat.editor.fontSize': {
|
|
91
92
|
type: 'number',
|
|
92
|
-
description: ( localize(
|
|
93
|
+
description: ( localize(4386, "Controls the font size in pixels in chat codeblocks.")),
|
|
93
94
|
default: isMacintosh ? 12 : 14,
|
|
94
95
|
},
|
|
95
96
|
'chat.editor.fontFamily': {
|
|
96
97
|
type: 'string',
|
|
97
|
-
description: ( localize(
|
|
98
|
+
description: ( localize(4387, "Controls the font family in chat codeblocks.")),
|
|
98
99
|
default: 'default'
|
|
99
100
|
},
|
|
100
101
|
'chat.editor.fontWeight': {
|
|
101
102
|
type: 'string',
|
|
102
|
-
description: ( localize(
|
|
103
|
+
description: ( localize(4388, "Controls the font weight in chat codeblocks.")),
|
|
103
104
|
default: 'default'
|
|
104
105
|
},
|
|
105
106
|
'chat.editor.wordWrap': {
|
|
106
107
|
type: 'string',
|
|
107
|
-
description: ( localize(
|
|
108
|
+
description: ( localize(4389, "Controls whether lines should wrap in chat codeblocks.")),
|
|
108
109
|
default: 'off',
|
|
109
110
|
enum: ['on', 'off']
|
|
110
111
|
},
|
|
111
112
|
'chat.editor.lineHeight': {
|
|
112
113
|
type: 'number',
|
|
113
114
|
description: ( localize(
|
|
114
|
-
|
|
115
|
+
4390,
|
|
115
116
|
"Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
|
|
116
117
|
)),
|
|
117
118
|
default: 0
|
|
118
119
|
},
|
|
119
120
|
'chat.commandCenter.enabled': {
|
|
120
121
|
type: 'boolean',
|
|
121
|
-
tags: ['preview'],
|
|
122
122
|
markdownDescription: ( localize(
|
|
123
|
-
|
|
123
|
+
4391,
|
|
124
124
|
"Controls whether the command center shows a menu for actions to control Copilot (requires {0}).",
|
|
125
125
|
'`#window.commandCenter#`'
|
|
126
126
|
)),
|
|
127
127
|
default: true
|
|
128
128
|
},
|
|
129
|
-
'chat.
|
|
130
|
-
type: '
|
|
131
|
-
default: isNative,
|
|
132
|
-
scope: ConfigurationScope.APPLICATION,
|
|
133
|
-
markdownDescription: ( localize(4302, "Controls whether setup is offered for Chat if not done already.")),
|
|
134
|
-
tags: ['experimental', 'onExP']
|
|
135
|
-
},
|
|
136
|
-
'chat.editing.alwaysSaveWithGeneratedChanges': {
|
|
137
|
-
type: 'boolean',
|
|
138
|
-
scope: ConfigurationScope.APPLICATION,
|
|
129
|
+
'chat.editing.autoAcceptDelay': {
|
|
130
|
+
type: 'number',
|
|
139
131
|
markdownDescription: ( localize(
|
|
140
|
-
|
|
141
|
-
"
|
|
132
|
+
4392,
|
|
133
|
+
"Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
|
|
142
134
|
)),
|
|
143
|
-
default:
|
|
135
|
+
default: 0,
|
|
136
|
+
minimum: 0,
|
|
137
|
+
maximum: 100
|
|
144
138
|
},
|
|
145
139
|
'chat.editing.confirmEditRequestRemoval': {
|
|
146
140
|
type: 'boolean',
|
|
147
141
|
scope: ConfigurationScope.APPLICATION,
|
|
148
142
|
markdownDescription: ( localize(
|
|
149
|
-
|
|
143
|
+
4393,
|
|
150
144
|
"Whether to show a confirmation before removing a request and its associated edits."
|
|
151
145
|
)),
|
|
152
146
|
default: true,
|
|
@@ -155,7 +149,7 @@ configurationRegistry.registerConfiguration({
|
|
|
155
149
|
type: 'boolean',
|
|
156
150
|
scope: ConfigurationScope.APPLICATION,
|
|
157
151
|
markdownDescription: ( localize(
|
|
158
|
-
|
|
152
|
+
4394,
|
|
159
153
|
"Whether to show a confirmation before retrying a request and its associated edits."
|
|
160
154
|
)),
|
|
161
155
|
default: true,
|
|
@@ -163,20 +157,32 @@ configurationRegistry.registerConfiguration({
|
|
|
163
157
|
'chat.experimental.detectParticipant.enabled': {
|
|
164
158
|
type: 'boolean',
|
|
165
159
|
deprecationMessage: ( localize(
|
|
166
|
-
|
|
160
|
+
4395,
|
|
167
161
|
"This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
|
|
168
162
|
)),
|
|
169
|
-
description: ( localize(
|
|
163
|
+
description: ( localize(4396, "Enables chat participant autodetection for panel chat.")),
|
|
170
164
|
default: null
|
|
171
165
|
},
|
|
172
166
|
'chat.detectParticipant.enabled': {
|
|
173
167
|
type: 'boolean',
|
|
174
|
-
description: ( localize(
|
|
168
|
+
description: ( localize(4397, "Enables chat participant autodetection for panel chat.")),
|
|
175
169
|
default: true
|
|
176
170
|
},
|
|
171
|
+
[PromptFilesConfig.CONFIG_KEY]: {
|
|
172
|
+
type: ['string', 'array', 'object', 'boolean', 'null'],
|
|
173
|
+
title: ( localize(4398, "Prompt Files")),
|
|
174
|
+
markdownDescription: ( localize(
|
|
175
|
+
4399,
|
|
176
|
+
"Enable support for attaching reusable prompt files (`*{0}`) for Chat, Edits, and Inline Chat sessions. [Learn More]({1}).",
|
|
177
|
+
'.prompt.md',
|
|
178
|
+
PromptFilesConfig.DOCUMENTATION_URL
|
|
179
|
+
)),
|
|
180
|
+
default: null,
|
|
181
|
+
tags: ['experimental'],
|
|
182
|
+
},
|
|
177
183
|
}
|
|
178
184
|
});
|
|
179
|
-
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(
|
|
185
|
+
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(4400, "Chat"))), [
|
|
180
186
|
( new SyncDescriptor(ChatEditorInput))
|
|
181
187
|
]);
|
|
182
188
|
( Registry.as(Extensions$1.ConfigurationMigration)).registerConfigurationMigrations([
|
|
@@ -194,7 +200,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
|
|
|
194
200
|
super();
|
|
195
201
|
this._register(editorResolverService.registerEditor(`${Schemas.vscodeChatSesssion}:**/**`, {
|
|
196
202
|
id: ChatEditorInput.EditorID,
|
|
197
|
-
label: ( localize(
|
|
203
|
+
label: ( localize(4400, "Chat")),
|
|
198
204
|
priority: RegisteredEditorPriority.builtin
|
|
199
205
|
}, {
|
|
200
206
|
singlePerResource: true,
|
|
@@ -210,9 +216,63 @@ ChatResolverContribution = ( __decorate([
|
|
|
210
216
|
( __param(0, IEditorResolverService)),
|
|
211
217
|
( __param(1, IInstantiationService))
|
|
212
218
|
], ChatResolverContribution));
|
|
219
|
+
let ChatAgentSettingContribution = class ChatAgentSettingContribution {
|
|
220
|
+
static { this.ID = 'workbench.contrib.chatAgentSetting'; }
|
|
221
|
+
constructor(experimentService, productService, contextKeyService) {
|
|
222
|
+
this.productService = productService;
|
|
223
|
+
if (this.productService.quality !== 'stable') {
|
|
224
|
+
this.registerSetting();
|
|
225
|
+
}
|
|
226
|
+
const expDisabledKey = ChatContextKeys.Editing.agentModeDisallowed.bindTo(contextKeyService);
|
|
227
|
+
experimentService.getTreatment('chatAgentEnabled').then(value => {
|
|
228
|
+
if (value) {
|
|
229
|
+
this.registerSetting();
|
|
230
|
+
}
|
|
231
|
+
else if (value === false) {
|
|
232
|
+
this.deregisterSetting();
|
|
233
|
+
}
|
|
234
|
+
expDisabledKey.set(!value);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
registerSetting() {
|
|
238
|
+
if (this.registeredNode) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
this.registeredNode = {
|
|
242
|
+
id: 'chatAgent',
|
|
243
|
+
title: ( localize(4385, "Chat")),
|
|
244
|
+
type: 'object',
|
|
245
|
+
properties: {
|
|
246
|
+
'chat.agent.enabled': {
|
|
247
|
+
type: 'boolean',
|
|
248
|
+
description: ( localize(
|
|
249
|
+
4401,
|
|
250
|
+
"Enable agent mode for {0}. When this is enabled, a dropdown appears in the {0} view to toggle agent mode.",
|
|
251
|
+
'Copilot Edits'
|
|
252
|
+
)),
|
|
253
|
+
default: this.productService.quality !== 'stable',
|
|
254
|
+
tags: ['experimental', 'onExp'],
|
|
255
|
+
},
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
configurationRegistry.registerConfiguration(this.registeredNode);
|
|
259
|
+
}
|
|
260
|
+
deregisterSetting() {
|
|
261
|
+
if (this.registeredNode) {
|
|
262
|
+
configurationRegistry.deregisterConfigurations([this.registeredNode]);
|
|
263
|
+
this.registeredNode = undefined;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
ChatAgentSettingContribution = ( __decorate([
|
|
268
|
+
( __param(0, IWorkbenchAssignmentService)),
|
|
269
|
+
( __param(1, IProductService)),
|
|
270
|
+
( __param(2, IContextKeyService))
|
|
271
|
+
], ChatAgentSettingContribution));
|
|
213
272
|
AccessibleViewRegistry.register(( new ChatResponseAccessibleView()));
|
|
214
273
|
AccessibleViewRegistry.register(( new PanelChatAccessibilityHelp()));
|
|
215
274
|
AccessibleViewRegistry.register(( new QuickChatAccessibilityHelp()));
|
|
275
|
+
AccessibleViewRegistry.register(( new EditsChatAccessibilityHelp()));
|
|
216
276
|
registerEditorFeature(ChatInputBoxContentProvider);
|
|
217
277
|
let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommandsContribution extends Disposable {
|
|
218
278
|
static { this.ID = 'workbench.contrib.chatSlashStaticSlashCommands'; }
|
|
@@ -220,7 +280,7 @@ let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommand
|
|
|
220
280
|
super();
|
|
221
281
|
this._store.add(slashCommandService.registerSlashCommand({
|
|
222
282
|
command: 'clear',
|
|
223
|
-
detail: ( localize(
|
|
283
|
+
detail: ( localize(4402, "Start a new chat")),
|
|
224
284
|
sortText: 'z2_clear',
|
|
225
285
|
executeImmediately: true,
|
|
226
286
|
locations: [ChatAgentLocation.Panel]
|
|
@@ -269,7 +329,7 @@ let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommand
|
|
|
269
329
|
}
|
|
270
330
|
const variables = [
|
|
271
331
|
...chatVariablesService.getVariables(ChatAgentLocation.Panel),
|
|
272
|
-
{ name: 'file', description: ( localize(
|
|
332
|
+
{ name: 'file', description: ( localize(4403, "Choose a file in the workspace")) }
|
|
273
333
|
];
|
|
274
334
|
const variableText = ( variables
|
|
275
335
|
.map(v => `* \`${chatVariableLeader}${v.name}\` - ${v.description}`))
|
|
@@ -303,13 +363,15 @@ registerWorkbenchContribution2(ChatExtensionPointHandler.ID, ChatExtensionPointH
|
|
|
303
363
|
registerWorkbenchContribution2(LanguageModelToolsExtensionPointHandler.ID, LanguageModelToolsExtensionPointHandler, WorkbenchPhase.BlockRestore);
|
|
304
364
|
registerWorkbenchContribution2(ChatCompatibilityNotifier.ID, ChatCompatibilityNotifier, WorkbenchPhase.Eventually);
|
|
305
365
|
registerWorkbenchContribution2(ChatCommandCenterRendering.ID, ChatCommandCenterRendering, WorkbenchPhase.BlockRestore);
|
|
366
|
+
registerWorkbenchContribution2(CodeBlockActionRendering.ID, CodeBlockActionRendering, WorkbenchPhase.BlockRestore);
|
|
306
367
|
registerWorkbenchContribution2(ChatImplicitContextContribution.ID, ChatImplicitContextContribution, WorkbenchPhase.Eventually);
|
|
307
368
|
registerWorkbenchContribution2(ChatRelatedFilesContribution.ID, ChatRelatedFilesContribution, WorkbenchPhase.Eventually);
|
|
308
|
-
registerWorkbenchContribution2(ChatEditorSaving.ID, ChatEditorSaving, WorkbenchPhase.AfterRestored);
|
|
309
|
-
registerWorkbenchContribution2(ChatEditorAutoSaveDisabler.ID, ChatEditorAutoSaveDisabler, WorkbenchPhase.BlockRestore);
|
|
310
369
|
registerWorkbenchContribution2(ChatViewsWelcomeHandler.ID, ChatViewsWelcomeHandler, WorkbenchPhase.BlockStartup);
|
|
311
370
|
registerWorkbenchContribution2(ChatGettingStartedContribution.ID, ChatGettingStartedContribution, WorkbenchPhase.Eventually);
|
|
371
|
+
registerWorkbenchContribution2(ChatSetupContribution.ID, ChatSetupContribution, WorkbenchPhase.BlockRestore);
|
|
312
372
|
registerWorkbenchContribution2(ChatQuotasStatusBarEntry.ID, ChatQuotasStatusBarEntry, WorkbenchPhase.Eventually);
|
|
373
|
+
registerWorkbenchContribution2(BuiltinToolsContribution.ID, BuiltinToolsContribution, WorkbenchPhase.Eventually);
|
|
374
|
+
registerWorkbenchContribution2(ChatAgentSettingContribution.ID, ChatAgentSettingContribution, WorkbenchPhase.BlockRestore);
|
|
313
375
|
registerChatActions();
|
|
314
376
|
registerChatCopyActions();
|
|
315
377
|
registerChatCodeBlockActions();
|
|
@@ -325,5 +387,5 @@ registerChatContextActions();
|
|
|
325
387
|
registerChatDeveloperActions();
|
|
326
388
|
registerChatEditorActions();
|
|
327
389
|
registerEditorFeature(ChatPasteProvidersFeature);
|
|
390
|
+
registerEditorContribution(ChatEditorOverlayController.ID, ChatEditorOverlayController, EditorContributionInstantiation.Lazy);
|
|
328
391
|
registerEditorContribution(ChatEditorController.ID, ChatEditorController, EditorContributionInstantiation.Eventually);
|
|
329
|
-
registerEditorContribution(ChatEditorOverlayController.ID, ChatEditorOverlayController, EditorContributionInstantiation.Eventually);
|
|
@@ -2,7 +2,7 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
2
2
|
import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
|
|
3
3
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
4
|
import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
5
|
-
import { IChatResponseViewModel } from "@codingame/monaco-vscode-
|
|
5
|
+
import { IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatViewModel";
|
|
6
6
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
7
7
|
export declare class ChatAccessibilityService extends Disposable implements IChatAccessibilityService {
|
|
8
8
|
private readonly _accessibilitySignalService;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { InlineAnchorWidget } from "@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget";
|
|
3
|
+
import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service";
|
|
4
|
+
export declare class ChatMarkdownAnchorService extends Disposable implements IChatMarkdownAnchorService {
|
|
5
|
+
readonly _serviceBrand: undefined;
|
|
6
|
+
private _widgets;
|
|
7
|
+
private _lastFocusedWidget;
|
|
8
|
+
get lastFocusedAnchor(): InlineAnchorWidget | undefined;
|
|
9
|
+
private setLastFocusedList;
|
|
10
|
+
register(widget: InlineAnchorWidget): IDisposable;
|
|
11
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
import { isActiveElement, addDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { Disposable, combinedDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
|
|
5
|
+
class ChatMarkdownAnchorService extends Disposable {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this._widgets = [];
|
|
9
|
+
this._lastFocusedWidget = undefined;
|
|
10
|
+
}
|
|
11
|
+
get lastFocusedAnchor() {
|
|
12
|
+
return this._lastFocusedWidget;
|
|
13
|
+
}
|
|
14
|
+
setLastFocusedList(widget) {
|
|
15
|
+
this._lastFocusedWidget = widget;
|
|
16
|
+
}
|
|
17
|
+
register(widget) {
|
|
18
|
+
if (( this._widgets.some(other => other === widget))) {
|
|
19
|
+
throw ( new Error('Cannot register the same widget multiple times'));
|
|
20
|
+
}
|
|
21
|
+
this._widgets.push(widget);
|
|
22
|
+
const element = widget.getHTMLElement();
|
|
23
|
+
if (isActiveElement(element)) {
|
|
24
|
+
this.setLastFocusedList(widget);
|
|
25
|
+
}
|
|
26
|
+
return combinedDisposable(addDisposableListener(element, 'focus', () => this.setLastFocusedList(widget)), toDisposable(() => this._widgets.splice(this._widgets.indexOf(widget), 1)), addDisposableListener(element, 'blur', () => {
|
|
27
|
+
if (this._lastFocusedWidget === widget) {
|
|
28
|
+
this.setLastFocusedList(undefined);
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { ChatMarkdownAnchorService };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CancellationToken, CancellationTokenSource } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
-
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
2
|
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
3
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
5
4
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
@@ -7,14 +6,17 @@ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor
|
|
|
7
6
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
8
7
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
9
8
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
10
|
-
import {
|
|
9
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
10
|
+
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
11
11
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
12
12
|
import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
|
|
13
13
|
import { IDecorationsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/decorations/common/decorations.service";
|
|
14
14
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
15
|
+
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
15
16
|
import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
|
|
16
|
-
import { IMultiDiffSourceResolver, IResolvedMultiDiffSource } from "@codingame/monaco-vscode-
|
|
17
|
+
import { IMultiDiffSourceResolver, IResolvedMultiDiffSource } from "@codingame/monaco-vscode-168b98e5-dc20-5807-b1f9-798f1f92b37f-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService";
|
|
17
18
|
import { IMultiDiffSourceResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service";
|
|
19
|
+
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
18
20
|
import { IChatEditingSession, IChatRelatedFile, IChatRelatedFilesProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
19
21
|
import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service";
|
|
20
22
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
@@ -22,33 +24,33 @@ import { ChatEditingSession } from "./chatEditingSession.js";
|
|
|
22
24
|
export declare class ChatEditingService extends Disposable implements IChatEditingService {
|
|
23
25
|
private readonly _instantiationService;
|
|
24
26
|
private readonly _chatService;
|
|
25
|
-
private readonly _progressService;
|
|
26
27
|
private readonly _editorService;
|
|
27
28
|
private readonly _fileService;
|
|
28
29
|
private readonly lifecycleService;
|
|
29
30
|
private readonly _workbenchAssignmentService;
|
|
31
|
+
private readonly _chatAgentService;
|
|
30
32
|
_serviceBrand: undefined;
|
|
31
33
|
private readonly _currentSessionObs;
|
|
32
34
|
private readonly _currentSessionDisposables;
|
|
35
|
+
private readonly _adhocSessionsObs;
|
|
36
|
+
readonly editingSessionsObs: IObservable<readonly IChatEditingSession[]>;
|
|
33
37
|
private readonly _currentAutoApplyOperationObs;
|
|
34
38
|
get currentAutoApplyOperation(): CancellationTokenSource | null;
|
|
35
39
|
get currentEditingSession(): IChatEditingSession | null;
|
|
36
40
|
get currentEditingSessionObs(): IObservable<IChatEditingSession | null>;
|
|
37
|
-
private readonly _onDidCreateEditingSession;
|
|
38
|
-
get onDidCreateEditingSession(): Event<IChatEditingSession>;
|
|
39
|
-
private readonly _onDidChangeEditingSession;
|
|
40
|
-
readonly onDidChangeEditingSession: Event<void>;
|
|
41
41
|
private _editingSessionFileLimitPromise;
|
|
42
42
|
private _editingSessionFileLimit;
|
|
43
43
|
get editingSessionFileLimit(): number;
|
|
44
44
|
private _restoringEditingSession;
|
|
45
45
|
private _applyingChatEditsFailedContextKey;
|
|
46
46
|
private _chatRelatedFilesProviders;
|
|
47
|
-
constructor(_instantiationService: IInstantiationService, multiDiffSourceResolverService: IMultiDiffSourceResolverService, textModelService: ITextModelService, contextKeyService: IContextKeyService, _chatService: IChatService,
|
|
47
|
+
constructor(_instantiationService: IInstantiationService, multiDiffSourceResolverService: IMultiDiffSourceResolverService, textModelService: ITextModelService, contextKeyService: IContextKeyService, _chatService: IChatService, _editorService: IEditorService, decorationsService: IDecorationsService, _fileService: IFileService, lifecycleService: ILifecycleService, _workbenchAssignmentService: IWorkbenchAssignmentService, _chatAgentService: IChatAgentService, storageService: IStorageService, logService: ILogService, extensionService: IExtensionService, productService: IProductService);
|
|
48
48
|
getOrRestoreEditingSession(): Promise<IChatEditingSession | null>;
|
|
49
49
|
dispose(): void;
|
|
50
50
|
startOrContinueEditingSession(chatSessionId: string): Promise<IChatEditingSession>;
|
|
51
|
+
private _lookupEntry;
|
|
51
52
|
private _createEditingSession;
|
|
53
|
+
createAdhocEditingSession(chatSessionId: string): Promise<IChatEditingSession & IDisposable>;
|
|
52
54
|
private installAutoApplyObserver;
|
|
53
55
|
private _continueEditingSession;
|
|
54
56
|
hasRelatedFilesProviders(): boolean;
|
|
@@ -61,8 +63,6 @@ export declare class ChatEditingService extends Disposable implements IChatEditi
|
|
|
61
63
|
export declare class ChatEditingMultiDiffSourceResolver implements IMultiDiffSourceResolver {
|
|
62
64
|
private readonly _currentSession;
|
|
63
65
|
private readonly _instantiationService;
|
|
64
|
-
static readonly scheme = "chat-editing-multi-diff-source";
|
|
65
|
-
static getMultiDiffSourceUri(): URI;
|
|
66
66
|
constructor(_currentSession: IObservable<ChatEditingSession | null>, _instantiationService: IInstantiationService);
|
|
67
67
|
canHandleUri(uri: URI): boolean;
|
|
68
68
|
resolveDiffSource(uri: URI): Promise<IResolvedMultiDiffSource>;
|