@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.
Files changed (78) hide show
  1. package/index.js +9 -9
  2. package/package.json +20 -20
  3. package/vscode/src/vs/base/common/objectCache.d.ts +13 -0
  4. package/vscode/src/vs/base/common/objectCache.js +39 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +12 -5
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +95 -23
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +10 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +81 -19
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +144 -66
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +6 -3
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +17 -11
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +8 -7
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -10
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +11 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +168 -167
  20. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +116 -54
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +11 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.js +34 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.d.ts +11 -11
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingService.js +105 -70
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +17 -16
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +154 -83
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +3 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +0 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +150 -130
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +13 -7
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +3 -3
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +11 -6
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +449 -229
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +7 -6
  42. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.js +11 -9
  46. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +7 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +76 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewSetup.css.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +5 -18
  51. package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.js +4 -122
  52. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +3 -1
  53. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +5 -4
  54. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +6 -3
  55. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +42 -11
  56. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +13 -0
  57. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +49 -0
  58. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkProvider.d.ts +14 -0
  59. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkProvider.js +69 -0
  60. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +10 -0
  61. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +24 -0
  62. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +73 -17
  63. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +11 -0
  64. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +22 -0
  65. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +9 -6
  68. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.d.ts +2 -2
  69. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +2 -2
  70. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController2.d.ts +39 -0
  71. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController2.js +314 -0
  72. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +34 -19
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +0 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +0 -334
  75. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.d.ts +0 -31
  76. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +0 -46
  77. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.d.ts +0 -29
  78. 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 { isNative, isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
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-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/editor';
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-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
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 '../common/chatWidgetHistoryService.js';
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-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/languageModelStats';
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-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
44
- import { ACTION_ID_NEW_CHAT, registerNewChatActions } from './actions/chatClearActions.js';
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-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatEditorActions';
61
- import { ChatEditorController } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatEditorController';
62
- import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
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-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatQuotasService';
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(4295, "Chat")),
88
+ title: ( localize(4385, "Chat")),
88
89
  type: 'object',
89
90
  properties: {
90
91
  'chat.editor.fontSize': {
91
92
  type: 'number',
92
- description: ( localize(4296, "Controls the font size in pixels in chat codeblocks.")),
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(4297, "Controls the font family in chat codeblocks.")),
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(4298, "Controls the font weight in chat codeblocks.")),
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(4299, "Controls whether lines should wrap in chat codeblocks.")),
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
- 4300,
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
- 4301,
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.experimental.offerSetup': {
130
- type: 'boolean',
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
- 4303,
141
- "Whether files that have changes made by chat can be saved without confirmation."
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: false,
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
- 4304,
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
- 4305,
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
- 4306,
160
+ 4395,
167
161
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
168
162
  )),
169
- description: ( localize(4307, "Enables chat participant autodetection for panel chat.")),
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(4308, "Enables chat participant autodetection for panel chat.")),
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(4309, "Chat"))), [
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(4309, "Chat")),
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(4310, "Start a new chat")),
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(4311, "Choose a file in the workspace")) }
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-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatViewModel";
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;
@@ -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
+ }
@@ -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 { IProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service";
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-9d05a43d-c330-5ff1-937e-fde4a3852931-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService";
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, _progressService: IProgressService, _editorService: IEditorService, decorationsService: IDecorationsService, _fileService: IFileService, lifecycleService: ILifecycleService, _workbenchAssignmentService: IWorkbenchAssignmentService, storageService: IStorageService);
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>;