@codingame/monaco-vscode-api 23.0.3 → 23.1.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 (72) hide show
  1. package/package.json +8 -8
  2. package/services.d.ts +6 -0
  3. package/services.js +9 -3
  4. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  5. package/vscode/src/vs/editor/contrib/format/browser/format.js +0 -7
  6. package/vscode/src/vs/platform/policy/common/policy.js +27 -4
  7. package/vscode/src/vs/platform/product/common/product.js +3 -3
  8. package/vscode/src/vs/platform/request/common/request.d.ts +1 -0
  9. package/vscode/src/vs/platform/request/common/request.js +3 -2
  10. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +8 -6
  11. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  12. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +50 -50
  13. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +2 -2
  15. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +1 -0
  16. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +1 -0
  17. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +3 -3
  18. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +11 -11
  21. package/vscode/src/vs/workbench/contrib/chat/common/tools/runSubagentTool.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  24. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  25. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  27. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  30. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  32. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  33. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  35. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  36. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  37. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  39. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
  41. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  42. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  43. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  44. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  45. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  47. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  49. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  50. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  52. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  53. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  54. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  57. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  59. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
  60. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +2 -1
  61. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +19 -11
  62. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  63. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  64. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +87 -87
  65. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  66. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  67. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  68. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  69. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  70. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  71. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  72. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-api",
3
- "version": "23.0.3",
3
+ "version": "23.1.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor",
6
6
  "keywords": [],
@@ -15,13 +15,13 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-base-service-override": "23.0.3",
19
- "@codingame/monaco-vscode-environment-service-override": "23.0.3",
20
- "@codingame/monaco-vscode-extensions-service-override": "23.0.3",
21
- "@codingame/monaco-vscode-files-service-override": "23.0.3",
22
- "@codingame/monaco-vscode-host-service-override": "23.0.3",
23
- "@codingame/monaco-vscode-layout-service-override": "23.0.3",
24
- "@codingame/monaco-vscode-quickaccess-service-override": "23.0.3",
18
+ "@codingame/monaco-vscode-base-service-override": "23.1.0",
19
+ "@codingame/monaco-vscode-environment-service-override": "23.1.0",
20
+ "@codingame/monaco-vscode-extensions-service-override": "23.1.0",
21
+ "@codingame/monaco-vscode-files-service-override": "23.1.0",
22
+ "@codingame/monaco-vscode-host-service-override": "23.1.0",
23
+ "@codingame/monaco-vscode-layout-service-override": "23.1.0",
24
+ "@codingame/monaco-vscode-quickaccess-service-override": "23.1.0",
25
25
  "@vscode/iconv-lite-umd": "0.7.1",
26
26
  "dompurify": "3.3.0",
27
27
  "jschardet": "3.1.4",
package/services.d.ts CHANGED
@@ -331,3 +331,9 @@ export { IAiEditTelemetryService } from "./vscode/src/vs/workbench/contrib/editT
331
331
  export { IInlineCompletionsUnificationService } from "./vscode/src/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service.js";
332
332
  export { IMcpGalleryManifestService } from "./vscode/src/vs/platform/mcp/common/mcpGalleryManifest.service.js";
333
333
  export { IDataChannelService } from "./vscode/src/vs/platform/dataChannel/common/dataChannel.service.js";
334
+ export { IProgressService } from "./vscode/src/vs/platform/progress/common/progress.service.js";
335
+ export { IMarkdownRendererService } from "./vscode/src/vs/platform/markdown/browser/markdownRenderer.service.js";
336
+ export { IChatContextService } from "./vscode/src/vs/workbench/contrib/chat/browser/chatContextService.service.js";
337
+ export { ILanguageModelToolsConfirmationService } from "./vscode/src/vs/workbench/contrib/chat/common/languageModelToolsConfirmationService.service.js";
338
+ export { IRandomService } from "./vscode/src/vs/workbench/contrib/editTelemetry/browser/randomService.service.js";
339
+ export { ISCMRepositorySelectionMode } from "./vscode/src/vs/workbench/contrib/scm/common/scm.js";
package/services.js CHANGED
@@ -401,11 +401,17 @@ export { IAiEditTelemetryService } from './vscode/src/vs/workbench/contrib/editT
401
401
  export { IInlineCompletionsUnificationService } from './vscode/src/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service.js';
402
402
  export { IMcpGalleryManifestService } from './vscode/src/vs/platform/mcp/common/mcpGalleryManifest.service.js';
403
403
  export { IDataChannelService } from './vscode/src/vs/platform/dataChannel/common/dataChannel.service.js';
404
+ export { IProgressService } from './vscode/src/vs/platform/progress/common/progress.service.js';
405
+ export { IMarkdownRendererService } from './vscode/src/vs/platform/markdown/browser/markdownRenderer.service.js';
406
+ export { IChatContextService } from './vscode/src/vs/workbench/contrib/chat/browser/chatContextService.service.js';
407
+ export { ILanguageModelToolsConfirmationService } from './vscode/src/vs/workbench/contrib/chat/common/languageModelToolsConfirmationService.service.js';
408
+ export { IRandomService } from './vscode/src/vs/workbench/contrib/editTelemetry/browser/randomService.service.js';
409
+ export { ISCMRepositorySelectionMode } from './vscode/src/vs/workbench/contrib/scm/common/scm.js';
404
410
 
405
- if (window.monacoVscodeApiBuildId != null && window.monacoVscodeApiBuildId !== "1.106.0-a1e4a034-d585-4ad9-9481-956d5cf9db9f") {
406
- throw new Error(`Another version of monaco-vscode-api has already been loaded. Trying to load ${"1.106.0-a1e4a034-d585-4ad9-9481-956d5cf9db9f"}, ${window.monacoVscodeApiBuildId} is already loaded`);
411
+ if (window.monacoVscodeApiBuildId != null && window.monacoVscodeApiBuildId !== "1.106.2-c63c98fc-8246-44ec-b7ec-70709778eacf") {
412
+ throw new Error(`Another version of monaco-vscode-api has already been loaded. Trying to load ${"1.106.2-c63c98fc-8246-44ec-b7ec-70709778eacf"}, ${window.monacoVscodeApiBuildId} is already loaded`);
407
413
  }
408
- window.monacoVscodeApiBuildId = "1.106.0-a1e4a034-d585-4ad9-9481-956d5cf9db9f";
414
+ window.monacoVscodeApiBuildId = "1.106.2-c63c98fc-8246-44ec-b7ec-70709778eacf";
409
415
  function registerCommands(options) {
410
416
  function asMenuId(menu) {
411
417
  switch (menu) {
@@ -353,15 +353,10 @@ function getOnTypeFormattingEdits(workerService, languageFeaturesService, model,
353
353
  return workerService.computeMoreMinimalEdits(model.uri, edits);
354
354
  });
355
355
  }
356
- function isFormattingOptions(obj) {
357
- const candidate = obj;
358
- return !!candidate && typeof candidate === 'object' && typeof candidate.tabSize === 'number' && typeof candidate.insertSpaces === 'boolean';
359
- }
360
356
  CommandsRegistry.registerCommand('_executeFormatRangeProvider', async function (accessor, ...args) {
361
357
  const [resource, range, options] = args;
362
358
  assertType(URI.isUri(resource));
363
359
  assertType(Range.isIRange(range));
364
- assertType(isFormattingOptions(options));
365
360
  const resolverService = accessor.get(ITextModelService);
366
361
  const workerService = accessor.get(IEditorWorkerService);
367
362
  const languageFeaturesService = accessor.get(ILanguageFeaturesService);
@@ -376,7 +371,6 @@ CommandsRegistry.registerCommand('_executeFormatRangeProvider', async function (
376
371
  CommandsRegistry.registerCommand('_executeFormatDocumentProvider', async function (accessor, ...args) {
377
372
  const [resource, options] = args;
378
373
  assertType(URI.isUri(resource));
379
- assertType(isFormattingOptions(options));
380
374
  const resolverService = accessor.get(ITextModelService);
381
375
  const workerService = accessor.get(IEditorWorkerService);
382
376
  const languageFeaturesService = accessor.get(ILanguageFeaturesService);
@@ -393,7 +387,6 @@ CommandsRegistry.registerCommand('_executeFormatOnTypeProvider', async function
393
387
  assertType(URI.isUri(resource));
394
388
  assertType(Position.isIPosition(position));
395
389
  assertType(typeof ch === 'string');
396
- assertType(isFormattingOptions(options));
397
390
  const resolverService = accessor.get(ITextModelService);
398
391
  const workerService = accessor.get(IEditorWorkerService);
399
392
  const languageFeaturesService = accessor.get(ILanguageFeaturesService);
@@ -1,8 +1,31 @@
1
1
 
2
- import { Event } from '../../../base/common/event.js';
3
- import '../../../base/common/iterator.js';
4
- import '../../../base/common/lifecycle.js';
2
+ import { Emitter, Event } from '../../../base/common/event.js';
3
+ import { Iterable } from '../../../base/common/iterator.js';
4
+ import { Disposable } from '../../../base/common/lifecycle.js';
5
5
 
6
+ class AbstractPolicyService extends Disposable {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.policyDefinitions = {};
10
+ this.policies = ( new Map());
11
+ this._onDidChange = this._register(( new Emitter()));
12
+ this.onDidChange = this._onDidChange.event;
13
+ }
14
+ async updatePolicyDefinitions(policyDefinitions) {
15
+ const size = ( Object.keys(this.policyDefinitions)).length;
16
+ this.policyDefinitions = { ...policyDefinitions, ...this.policyDefinitions };
17
+ if (size !== ( Object.keys(this.policyDefinitions)).length) {
18
+ await this._updatePolicyDefinitions(this.policyDefinitions);
19
+ }
20
+ return Iterable.reduce(this.policies.entries(), (r, [name, value]) => ({ ...r, [name]: value }), {});
21
+ }
22
+ getPolicyValue(name) {
23
+ return this.policies.get(name);
24
+ }
25
+ serialize() {
26
+ return Iterable.reduce(Object.entries(this.policyDefinitions), (r, [name, definition]) => ({ ...r, [name]: { definition, value: this.policies.get(name) } }), {});
27
+ }
28
+ }
6
29
  class NullPolicyService {
7
30
  constructor() {
8
31
  this.onDidChange = Event.None;
@@ -13,4 +36,4 @@ class NullPolicyService {
13
36
  serialize() { return undefined; }
14
37
  }
15
38
 
16
- export { NullPolicyService };
39
+ export { AbstractPolicyService, NullPolicyService };
@@ -4,9 +4,9 @@ import productJson from '../../../../../product.json.js';
4
4
  var product = {
5
5
  ...productJson,
6
6
  quality: 'stable',
7
- version: '1.106.0',
8
- commit: 'ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57',
9
- date: '2025-11-17T17:31:14.407Z',
7
+ version: '1.106.2',
8
+ commit: '1e3c50d64110be466c0b4a45222e81d2c9352888',
9
+ date: '2025-11-21T09:46:24.372Z',
10
10
  ...(globalThis._VSCODE_PRODUCT_JSON ?? {})
11
11
  };
12
12
 
@@ -36,3 +36,4 @@ export declare function asTextOrError(context: IRequestContext): Promise<string
36
36
  export declare function asJson<T = {}>(context: IRequestContext): Promise<T | null>;
37
37
  export declare function updateProxyConfigurationsScope(useHostProxy: boolean, useHostProxyDefault: boolean): void;
38
38
  export declare const USER_LOCAL_AND_REMOTE_SETTINGS: string[];
39
+ export declare const systemCertificatesNodeDefault = false;
@@ -101,6 +101,7 @@ const USER_LOCAL_AND_REMOTE_SETTINGS = [
101
101
  'http.fetchAdditionalSupport',
102
102
  'http.experimental.networkInterfaceCheckInterval',
103
103
  ];
104
+ const systemCertificatesNodeDefault = false;
104
105
  let proxyConfiguration = [];
105
106
  let previousUseHostProxy = undefined;
106
107
  let previousUseHostProxyDefault = undefined;
@@ -238,7 +239,7 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault =
238
239
  'http.systemCertificatesNode': {
239
240
  type: 'boolean',
240
241
  tags: ['experimental'],
241
- default: true,
242
+ default: systemCertificatesNodeDefault,
242
243
  markdownDescription: ( localize(
243
244
  2038,
244
245
  "Controls whether system certificates should be loaded using Node.js built-in support. Reload the window after changing this setting. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.",
@@ -294,4 +295,4 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault =
294
295
  }
295
296
  registerProxyConfigurations();
296
297
 
297
- export { AbstractRequestService, USER_LOCAL_AND_REMOTE_SETTINGS, asJson, asText, asTextOrError, hasNoContent, isClientError, isServerError, isSuccess };
298
+ export { AbstractRequestService, USER_LOCAL_AND_REMOTE_SETTINGS, asJson, asText, asTextOrError, hasNoContent, isClientError, isServerError, isSuccess, systemCertificatesNodeDefault };
@@ -291,12 +291,14 @@ function createExtHostQuickOpen(mainContext, workspace, commands) {
291
291
  return this._buttons;
292
292
  }
293
293
  set buttons(buttons) {
294
- if (( buttons.some(button => button.location || button.toggle))) {
294
+ if (( buttons.some(button => typeof button.location === 'number' ||
295
+ typeof button.toggle === 'object' && typeof button.toggle.checked === 'boolean'))) {
295
296
  checkProposedApiEnabled(this._extension, 'quickInputButtonLocation');
296
297
  }
297
- if (( buttons.some(
298
- button => button.toggle && button.location !== QuickInputButtonLocation.Input
299
- ))) {
298
+ if (( buttons.some(button => typeof button.location === 'number' &&
299
+ button.location !== QuickInputButtonLocation.Input &&
300
+ typeof button.toggle === 'object' &&
301
+ typeof button.toggle.checked === 'boolean'))) {
300
302
  throw ( new Error(
301
303
  'QuickInputButtons with toggle set are only supported in the Input location.'
302
304
  ));
@@ -313,8 +315,8 @@ function createExtHostQuickOpen(mainContext, workspace, commands) {
313
315
  iconPathDto: IconPath.from(button.iconPath),
314
316
  tooltip: button.tooltip,
315
317
  handle: button === QuickInputButtons.Back ? -1 : i,
316
- location: button.location,
317
- checked: button.toggle?.checked
318
+ location: typeof button.location === 'number' ? button.location : undefined,
319
+ checked: typeof button.toggle === 'object' && typeof button.toggle.checked === 'boolean' ? button.toggle.checked : undefined
318
320
  };
319
321
  }))
320
322
  });
@@ -17,16 +17,16 @@ import { autorun } from '../../../../../base/common/observableInternal/reactions
17
17
  import { derived } from '../../../../../base/common/observableInternal/observables/derived.js';
18
18
  import { constObservable } from '../../../../../base/common/observableInternal/observables/constObservable.js';
19
19
 
20
- const ctxIsGlobalEditingSession = ( new RawContextKey('chatEdits.isGlobalEditingSession', undefined, ( localize(5159, "The current editor is part of the global edit session"))));
21
- const ctxHasEditorModification = ( new RawContextKey('chatEdits.hasEditorModifications', undefined, ( localize(5160, "The current editor contains chat modifications"))));
22
- const ctxIsCurrentlyBeingModified = ( new RawContextKey('chatEdits.isCurrentlyBeingModified', undefined, ( localize(5161, "The current editor is currently being modified"))));
23
- const ctxReviewModeEnabled = ( new RawContextKey('chatEdits.isReviewModeEnabled', true, ( localize(5162, "Review mode for chat changes is enabled"))));
20
+ const ctxIsGlobalEditingSession = ( new RawContextKey('chatEdits.isGlobalEditingSession', undefined, ( localize(5160, "The current editor is part of the global edit session"))));
21
+ const ctxHasEditorModification = ( new RawContextKey('chatEdits.hasEditorModifications', undefined, ( localize(5161, "The current editor contains chat modifications"))));
22
+ const ctxIsCurrentlyBeingModified = ( new RawContextKey('chatEdits.isCurrentlyBeingModified', undefined, ( localize(5162, "The current editor is currently being modified"))));
23
+ const ctxReviewModeEnabled = ( new RawContextKey('chatEdits.isReviewModeEnabled', true, ( localize(5163, "Review mode for chat changes is enabled"))));
24
24
  const ctxHasRequestInProgress = ( new RawContextKey('chatEdits.isRequestInProgress', false, ( localize(
25
- 5163,
25
+ 5164,
26
26
  "The current editor shows a file from an edit session which is still in progress"
27
27
  ))));
28
- const ctxRequestCount = ( new RawContextKey('chatEdits.requestCount', 0, ( localize(5164, "The number of turns the editing session in this editor has"))));
29
- const ctxCursorInChangeRange = ( new RawContextKey('chatEdits.cursorInChangeRange', false, ( localize(5165, "The cursor is inside a change range made by chat editing."))));
28
+ const ctxRequestCount = ( new RawContextKey('chatEdits.requestCount', 0, ( localize(5165, "The number of turns the editing session in this editor has"))));
29
+ const ctxCursorInChangeRange = ( new RawContextKey('chatEdits.cursorInChangeRange', false, ( localize(5166, "The cursor is inside a change range made by chat editing."))));
30
30
  let ChatEditingEditorContextKeys = class ChatEditingEditorContextKeys {
31
31
  static { this.ID = 'chat.edits.editorContextKeys'; }
32
32
  constructor(instaService, editorGroupsService) {
@@ -12,114 +12,114 @@ var ChatContextKeys;
12
12
  'chatSessionResponseVote',
13
13
  '',
14
14
  { type: 'string', description: ( localize(
15
- 5743,
15
+ 5747,
16
16
  "When the response has been voted up, is set to 'up'. When voted down, is set to 'down'. Otherwise an empty string."
17
17
  )) }
18
18
  ));
19
19
  ChatContextKeys.responseDetectedAgentCommand = ( new RawContextKey(
20
20
  'chatSessionResponseDetectedAgentOrCommand',
21
21
  false,
22
- { type: 'boolean', description: ( localize(5744, "When the agent or command was automatically detected")) }
22
+ { type: 'boolean', description: ( localize(5748, "When the agent or command was automatically detected")) }
23
23
  ));
24
24
  ChatContextKeys.responseSupportsIssueReporting = ( new RawContextKey(
25
25
  'chatResponseSupportsIssueReporting',
26
26
  false,
27
- { type: 'boolean', description: ( localize(5745, "True when the current chat response supports issue reporting.")) }
27
+ { type: 'boolean', description: ( localize(5749, "True when the current chat response supports issue reporting.")) }
28
28
  ));
29
29
  ChatContextKeys.responseIsFiltered = ( new RawContextKey(
30
30
  'chatSessionResponseFiltered',
31
31
  false,
32
- { type: 'boolean', description: ( localize(5746, "True when the chat response was filtered out by the server.")) }
32
+ { type: 'boolean', description: ( localize(5750, "True when the chat response was filtered out by the server.")) }
33
33
  ));
34
34
  ChatContextKeys.responseHasError = ( new RawContextKey(
35
35
  'chatSessionResponseError',
36
36
  false,
37
- { type: 'boolean', description: ( localize(5747, "True when the chat response resulted in an error.")) }
37
+ { type: 'boolean', description: ( localize(5751, "True when the chat response resulted in an error.")) }
38
38
  ));
39
39
  ChatContextKeys.requestInProgress = ( new RawContextKey(
40
40
  'chatSessionRequestInProgress',
41
41
  false,
42
- { type: 'boolean', description: ( localize(5748, "True when the current request is still in progress.")) }
42
+ { type: 'boolean', description: ( localize(5752, "True when the current request is still in progress.")) }
43
43
  ));
44
44
  ChatContextKeys.currentlyEditing = ( new RawContextKey(
45
45
  'chatSessionCurrentlyEditing',
46
46
  false,
47
- { type: 'boolean', description: ( localize(5749, "True when the current request is being edited.")) }
47
+ { type: 'boolean', description: ( localize(5753, "True when the current request is being edited.")) }
48
48
  ));
49
49
  ChatContextKeys.currentlyEditingInput = ( new RawContextKey(
50
50
  'chatSessionCurrentlyEditingInput',
51
51
  false,
52
- { type: 'boolean', description: ( localize(5750, "True when the current request input at the bottom is being edited.")) }
53
- ));
54
- ChatContextKeys.isResponse = ( new RawContextKey('chatResponse', false, { type: 'boolean', description: ( localize(5751, "The chat item is a response.")) }));
55
- ChatContextKeys.isRequest = ( new RawContextKey('chatRequest', false, { type: 'boolean', description: ( localize(5752, "The chat item is a request")) }));
56
- ChatContextKeys.itemId = ( new RawContextKey('chatItemId', '', { type: 'string', description: ( localize(5753, "The id of the chat item.")) }));
57
- ChatContextKeys.lastItemId = ( new RawContextKey('chatLastItemId', [], { type: 'string', description: ( localize(5754, "The id of the last chat item.")) }));
58
- ChatContextKeys.editApplied = ( new RawContextKey('chatEditApplied', false, { type: 'boolean', description: ( localize(5755, "True when the chat text edits have been applied.")) }));
59
- ChatContextKeys.inputHasText = ( new RawContextKey('chatInputHasText', false, { type: 'boolean', description: ( localize(5756, "True when the chat input has text.")) }));
60
- ChatContextKeys.inputHasFocus = ( new RawContextKey('chatInputHasFocus', false, { type: 'boolean', description: ( localize(5757, "True when the chat input has focus.")) }));
61
- ChatContextKeys.inChatInput = ( new RawContextKey('inChatInput', false, { type: 'boolean', description: ( localize(5758, "True when focus is in the chat input, false otherwise.")) }));
62
- ChatContextKeys.inChatSession = ( new RawContextKey('inChat', false, { type: 'boolean', description: ( localize(5759, "True when focus is in the chat widget, false otherwise.")) }));
63
- ChatContextKeys.inChatEditor = ( new RawContextKey('inChatEditor', false, { type: 'boolean', description: ( localize(5760, "Whether focus is in a chat editor.")) }));
52
+ { type: 'boolean', description: ( localize(5754, "True when the current request input at the bottom is being edited.")) }
53
+ ));
54
+ ChatContextKeys.isResponse = ( new RawContextKey('chatResponse', false, { type: 'boolean', description: ( localize(5755, "The chat item is a response.")) }));
55
+ ChatContextKeys.isRequest = ( new RawContextKey('chatRequest', false, { type: 'boolean', description: ( localize(5756, "The chat item is a request")) }));
56
+ ChatContextKeys.itemId = ( new RawContextKey('chatItemId', '', { type: 'string', description: ( localize(5757, "The id of the chat item.")) }));
57
+ ChatContextKeys.lastItemId = ( new RawContextKey('chatLastItemId', [], { type: 'string', description: ( localize(5758, "The id of the last chat item.")) }));
58
+ ChatContextKeys.editApplied = ( new RawContextKey('chatEditApplied', false, { type: 'boolean', description: ( localize(5759, "True when the chat text edits have been applied.")) }));
59
+ ChatContextKeys.inputHasText = ( new RawContextKey('chatInputHasText', false, { type: 'boolean', description: ( localize(5760, "True when the chat input has text.")) }));
60
+ ChatContextKeys.inputHasFocus = ( new RawContextKey('chatInputHasFocus', false, { type: 'boolean', description: ( localize(5761, "True when the chat input has focus.")) }));
61
+ ChatContextKeys.inChatInput = ( new RawContextKey('inChatInput', false, { type: 'boolean', description: ( localize(5762, "True when focus is in the chat input, false otherwise.")) }));
62
+ ChatContextKeys.inChatSession = ( new RawContextKey('inChat', false, { type: 'boolean', description: ( localize(5763, "True when focus is in the chat widget, false otherwise.")) }));
63
+ ChatContextKeys.inChatEditor = ( new RawContextKey('inChatEditor', false, { type: 'boolean', description: ( localize(5764, "Whether focus is in a chat editor.")) }));
64
64
  ChatContextKeys.hasPromptFile = ( new RawContextKey(
65
65
  'chatPromptFileAttached',
66
66
  false,
67
- { type: 'boolean', description: ( localize(5761, "True when the chat has a prompt file attached.")) }
67
+ { type: 'boolean', description: ( localize(5765, "True when the chat has a prompt file attached.")) }
68
68
  ));
69
69
  ChatContextKeys.chatModeKind = ( new RawContextKey(
70
70
  'chatAgentKind',
71
71
  ChatModeKind.Ask,
72
- { type: 'string', description: ( localize(5762, "The 'kind' of the current agent.")) }
72
+ { type: 'string', description: ( localize(5766, "The 'kind' of the current agent.")) }
73
73
  ));
74
- ChatContextKeys.chatToolCount = ( new RawContextKey('chatToolCount', 0, { type: 'number', description: ( localize(5763, "The number of tools available in the current agent.")) }));
74
+ ChatContextKeys.chatToolCount = ( new RawContextKey('chatToolCount', 0, { type: 'number', description: ( localize(5767, "The number of tools available in the current agent.")) }));
75
75
  ChatContextKeys.chatToolGroupingThreshold = ( new RawContextKey(
76
76
  'chat.toolGroupingThreshold',
77
77
  0,
78
- { type: 'number', description: ( localize(5764, "The number of tools at which we start doing virtual grouping.")) }
78
+ { type: 'number', description: ( localize(5768, "The number of tools at which we start doing virtual grouping.")) }
79
79
  ));
80
80
  ChatContextKeys.supported = ( ContextKeyExpr.or(( IsWebContext.negate()), ( RemoteNameContext.notEqualsTo('')), ( ContextKeyExpr.has('config.chat.experimental.serverlessWebEnabled'))));
81
81
  ChatContextKeys.enabled = ( new RawContextKey('chatIsEnabled', false, { type: 'boolean', description: ( localize(
82
- 5765,
82
+ 5769,
83
83
  "True when chat is enabled because a default chat participant is activated with an implementation."
84
84
  )) }));
85
85
  ChatContextKeys.lockedToCodingAgent = ( new RawContextKey(
86
86
  'lockedToCodingAgent',
87
87
  false,
88
- { type: 'boolean', description: ( localize(5766, "True when the chat widget is locked to the coding agent session.")) }
88
+ { type: 'boolean', description: ( localize(5770, "True when the chat widget is locked to the coding agent session.")) }
89
89
  ));
90
90
  ChatContextKeys.agentSupportsAttachments = ( new RawContextKey(
91
91
  'agentSupportsAttachments',
92
92
  false,
93
- { type: 'boolean', description: ( localize(5767, "True when the chat agent supports attachments.")) }
93
+ { type: 'boolean', description: ( localize(5771, "True when the chat agent supports attachments.")) }
94
94
  ));
95
95
  ChatContextKeys.withinEditSessionDiff = ( new RawContextKey(
96
96
  'withinEditSessionDiff',
97
97
  false,
98
- { type: 'boolean', description: ( localize(5768, "True when the chat widget dispatches to the edit session chat.")) }
98
+ { type: 'boolean', description: ( localize(5772, "True when the chat widget dispatches to the edit session chat.")) }
99
99
  ));
100
100
  ChatContextKeys.filePartOfEditSession = ( new RawContextKey(
101
101
  'filePartOfEditSession',
102
102
  false,
103
- { type: 'boolean', description: ( localize(5769, "True when the chat widget is within a file with an edit session.")) }
103
+ { type: 'boolean', description: ( localize(5773, "True when the chat widget is within a file with an edit session.")) }
104
104
  ));
105
105
  ChatContextKeys.extensionParticipantRegistered = ( new RawContextKey(
106
106
  'chatPanelExtensionParticipantRegistered',
107
107
  false,
108
108
  { type: 'boolean', description: ( localize(
109
- 5770,
109
+ 5774,
110
110
  "True when a default chat participant is registered for the panel from an extension."
111
111
  )) }
112
112
  ));
113
113
  ChatContextKeys.panelParticipantRegistered = ( new RawContextKey(
114
114
  'chatPanelParticipantRegistered',
115
115
  false,
116
- { type: 'boolean', description: ( localize(5771, "True when a default chat participant is registered for the panel.")) }
116
+ { type: 'boolean', description: ( localize(5775, "True when a default chat participant is registered for the panel.")) }
117
117
  ));
118
118
  ChatContextKeys.chatEditingCanUndo = ( new RawContextKey(
119
119
  'chatEditingCanUndo',
120
120
  false,
121
121
  { type: 'boolean', description: ( localize(
122
- 5772,
122
+ 5776,
123
123
  "True when it is possible to undo an interaction in the editing panel."
124
124
  )) }
125
125
  ));
@@ -127,20 +127,20 @@ var ChatContextKeys;
127
127
  'chatEditingCanRedo',
128
128
  false,
129
129
  { type: 'boolean', description: ( localize(
130
- 5773,
130
+ 5777,
131
131
  "True when it is possible to redo an interaction in the editing panel."
132
132
  )) }
133
133
  ));
134
134
  ChatContextKeys.languageModelsAreUserSelectable = ( new RawContextKey(
135
135
  'chatModelsAreUserSelectable',
136
136
  false,
137
- { type: 'boolean', description: ( localize(5774, "True when the chat model can be selected manually by the user.")) }
137
+ { type: 'boolean', description: ( localize(5778, "True when the chat model can be selected manually by the user.")) }
138
138
  ));
139
139
  ChatContextKeys.chatSessionHasModels = ( new RawContextKey(
140
140
  'chatSessionHasModels',
141
141
  false,
142
142
  { type: 'boolean', description: ( localize(
143
- 5775,
143
+ 5779,
144
144
  "True when the chat is in a contributed chat session that has available 'models' to display."
145
145
  )) }
146
146
  ));
@@ -148,34 +148,34 @@ var ChatContextKeys;
148
148
  'chatExtensionInvalid',
149
149
  false,
150
150
  { type: 'boolean', description: ( localize(
151
- 5776,
151
+ 5780,
152
152
  "True when the installed chat extension is invalid and needs to be updated."
153
153
  )) }
154
154
  ));
155
155
  ChatContextKeys.inputCursorAtTop = ( new RawContextKey('chatCursorAtTop', false));
156
156
  ChatContextKeys.inputHasAgent = ( new RawContextKey('chatInputHasAgent', false));
157
157
  ChatContextKeys.location = ( new RawContextKey('chatLocation', undefined));
158
- ChatContextKeys.inQuickChat = ( new RawContextKey('quickChatHasFocus', false, { type: 'boolean', description: ( localize(5777, "True when the quick chat UI has focus, false otherwise.")) }));
158
+ ChatContextKeys.inQuickChat = ( new RawContextKey('quickChatHasFocus', false, { type: 'boolean', description: ( localize(5781, "True when the quick chat UI has focus, false otherwise.")) }));
159
159
  ChatContextKeys.hasFileAttachments = ( new RawContextKey(
160
160
  'chatHasFileAttachments',
161
161
  false,
162
- { type: 'boolean', description: ( localize(5778, "True when the chat has file attachments.")) }
162
+ { type: 'boolean', description: ( localize(5782, "True when the chat has file attachments.")) }
163
163
  ));
164
164
  ChatContextKeys.remoteJobCreating = ( new RawContextKey(
165
165
  'chatRemoteJobCreating',
166
166
  false,
167
- { type: 'boolean', description: ( localize(5779, "True when a remote coding agent job is being created.")) }
167
+ { type: 'boolean', description: ( localize(5783, "True when a remote coding agent job is being created.")) }
168
168
  ));
169
- ChatContextKeys.hasRemoteCodingAgent = ( new RawContextKey('hasRemoteCodingAgent', false, ( localize(5780, "Whether any remote coding agent is available"))));
169
+ ChatContextKeys.hasRemoteCodingAgent = ( new RawContextKey('hasRemoteCodingAgent', false, ( localize(5784, "Whether any remote coding agent is available"))));
170
170
  ChatContextKeys.hasCloudButtonV2 = ( ContextKeyExpr.has('config.chat.useCloudButtonV2'));
171
171
  ChatContextKeys.enableRemoteCodingAgentPromptFileOverlay = ( new RawContextKey('enableRemoteCodingAgentPromptFileOverlay', false, ( localize(
172
- 5781,
172
+ 5785,
173
173
  "Whether the remote coding agent prompt file overlay feature is enabled"
174
174
  ))));
175
175
  ChatContextKeys.skipChatRequestInProgressMessage = ( new RawContextKey(
176
176
  'chatSkipRequestInProgressMessage',
177
177
  false,
178
- { type: 'boolean', description: ( localize(5782, "True when the chat request in progress message should be skipped.")) }
178
+ { type: 'boolean', description: ( localize(5786, "True when the chat request in progress message should be skipped.")) }
179
179
  ));
180
180
  ChatContextKeys.Setup = ChatEntitlementContextKeys.Setup;
181
181
  ChatContextKeys.Entitlement = ChatEntitlementContextKeys.Entitlement;
@@ -185,43 +185,43 @@ var ChatContextKeys;
185
185
  hasToolConfirmation: ( new RawContextKey(
186
186
  'chatHasToolConfirmation',
187
187
  false,
188
- { type: 'boolean', description: ( localize(5783, "True when a tool confirmation is present.")) }
188
+ { type: 'boolean', description: ( localize(5787, "True when a tool confirmation is present.")) }
189
189
  )),
190
190
  };
191
191
  ChatContextKeys.Tools = {
192
- toolsCount: ( new RawContextKey('toolsCount', 0, { type: 'number', description: ( localize(5784, "The count of tools available in the chat.")) }))
192
+ toolsCount: ( new RawContextKey('toolsCount', 0, { type: 'number', description: ( localize(5788, "The count of tools available in the chat.")) }))
193
193
  };
194
194
  ChatContextKeys.Modes = {
195
195
  hasCustomChatModes: ( new RawContextKey(
196
196
  'chatHasCustomAgents',
197
197
  false,
198
- { type: 'boolean', description: ( localize(5785, "True when the chat has custom agents available.")) }
198
+ { type: 'boolean', description: ( localize(5789, "True when the chat has custom agents available.")) }
199
199
  )),
200
200
  };
201
201
  ChatContextKeys.panelLocation = ( new RawContextKey(
202
202
  'chatPanelLocation',
203
203
  undefined,
204
- { type: 'number', description: ( localize(5786, "The location of the chat panel.")) }
204
+ { type: 'number', description: ( localize(5790, "The location of the chat panel.")) }
205
205
  ));
206
206
  ChatContextKeys.inEmptyStateWithHistoryEnabled = ( new RawContextKey(
207
207
  'chatInEmptyStateWithHistoryEnabled',
208
208
  false,
209
209
  { type: 'boolean', description: ( localize(
210
- 5787,
210
+ 5791,
211
211
  "True when chat empty state history is enabled AND chat is in empty state."
212
212
  )) }
213
213
  ));
214
- ChatContextKeys.sessionType = ( new RawContextKey('chatSessionType', '', { type: 'string', description: ( localize(5788, "The type of the current chat session item.")) }));
215
- ChatContextKeys.isHistoryItem = ( new RawContextKey('chatIsHistoryItem', false, { type: 'boolean', description: ( localize(5789, "True when the chat session item is from history.")) }));
214
+ ChatContextKeys.sessionType = ( new RawContextKey('chatSessionType', '', { type: 'string', description: ( localize(5792, "The type of the current chat session item.")) }));
215
+ ChatContextKeys.isHistoryItem = ( new RawContextKey('chatIsHistoryItem', false, { type: 'boolean', description: ( localize(5793, "True when the chat session item is from history.")) }));
216
216
  ChatContextKeys.isActiveSession = ( new RawContextKey(
217
217
  'chatIsActiveSession',
218
218
  false,
219
- { type: 'boolean', description: ( localize(5790, "True when the chat session is currently active (not deletable).")) }
219
+ { type: 'boolean', description: ( localize(5794, "True when the chat session is currently active (not deletable).")) }
220
220
  ));
221
221
  ChatContextKeys.isKatexMathElement = ( new RawContextKey(
222
222
  'chatIsKatexMathElement',
223
223
  false,
224
- { type: 'boolean', description: ( localize(5791, "True when focusing a KaTeX math element.")) }
224
+ { type: 'boolean', description: ( localize(5795, "True when focusing a KaTeX math element.")) }
225
225
  ));
226
226
  })(ChatContextKeys || (ChatContextKeys = {}));
227
227
  var ChatContextKeyExprs;
@@ -18,9 +18,9 @@ var ChatEditingSessionState;
18
18
  ChatEditingSessionState[ChatEditingSessionState["Disposed"] = 3] = "Disposed";
19
19
  })(ChatEditingSessionState || (ChatEditingSessionState = {}));
20
20
  const CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME = 'chat-editing-multi-diff-source';
21
- const chatEditingWidgetFileStateContextKey = ( new RawContextKey('chatEditingWidgetFileState', undefined, ( localize(5792, "The current state of the file in the chat editing widget"))));
21
+ const chatEditingWidgetFileStateContextKey = ( new RawContextKey('chatEditingWidgetFileState', undefined, ( localize(5796, "The current state of the file in the chat editing widget"))));
22
22
  const chatEditingAgentSupportsReadonlyReferencesContextKey = ( new RawContextKey('chatEditingAgentSupportsReadonlyReferences', undefined, ( localize(
23
- 5793,
23
+ 5797,
24
24
  "Whether the chat editing agent supports readonly references (temporary)"
25
25
  ))));
26
26
  const decidedChatEditingResourceContextKey = ( new RawContextKey('decidedChatEditingResource', []));
@@ -55,9 +55,9 @@ var IDiagnosticVariableEntryFilterData;
55
55
  }
56
56
  return data.problemMessage.substring(0, lastSpace) + '…';
57
57
  }
58
- let labelStr = ( localize(5807, "All Problems"));
58
+ let labelStr = ( localize(5811, "All Problems"));
59
59
  if (data.filterUri) {
60
- labelStr = ( localize(5808, "Problems in {0}", basename(data.filterUri)));
60
+ labelStr = ( localize(5812, "Problems in {0}", basename(data.filterUri)));
61
61
  }
62
62
  return labelStr;
63
63
  }
@@ -7,6 +7,7 @@ export declare enum ChatConfiguration {
7
7
  EditRequests = "chat.editRequests",
8
8
  GlobalAutoApprove = "chat.tools.global.autoApprove",
9
9
  AutoApproveEdits = "chat.tools.edits.autoApprove",
10
+ EligibleForAutoApproval = "chat.tools.eligibleForAutoApproval",
10
11
  EnableMath = "chat.math.enabled",
11
12
  CheckpointsEnabled = "chat.checkpoints.enabled",
12
13
  AgentSessionsViewLocation = "chat.agentSessionsViewLocation",
@@ -11,6 +11,7 @@ var ChatConfiguration;
11
11
  ChatConfiguration["EditRequests"] = "chat.editRequests";
12
12
  ChatConfiguration["GlobalAutoApprove"] = "chat.tools.global.autoApprove";
13
13
  ChatConfiguration["AutoApproveEdits"] = "chat.tools.edits.autoApprove";
14
+ ChatConfiguration["EligibleForAutoApproval"] = "chat.tools.eligibleForAutoApproval";
14
15
  ChatConfiguration["EnableMath"] = "chat.math.enabled";
15
16
  ChatConfiguration["CheckpointsEnabled"] = "chat.checkpoints.enabled";
16
17
  ChatConfiguration["AgentSessionsViewLocation"] = "chat.agentSessionsViewLocation";
@@ -30,13 +30,13 @@ var ToolDataSource;
30
30
  ToolDataSource.equals = equals;
31
31
  function classify(source) {
32
32
  if (source.type === 'internal') {
33
- return { ordinal: 1, label: ( localize(5812, 'Built-In')) };
33
+ return { ordinal: 1, label: ( localize(5816, 'Built-In')) };
34
34
  }
35
35
  else if (source.type === 'mcp') {
36
36
  return { ordinal: 2, label: source.label };
37
37
  }
38
38
  else if (source.type === 'user') {
39
- return { ordinal: 0, label: ( localize(5813, 'User Defined')) };
39
+ return { ordinal: 0, label: ( localize(5817, 'User Defined')) };
40
40
  }
41
41
  else {
42
42
  return { ordinal: 3, label: source.label };
@@ -62,7 +62,7 @@ function toolContentToA11yString(part) {
62
62
  return p.value;
63
63
  case 'data':
64
64
  return localize(
65
- 5814,
65
+ 5818,
66
66
  "{0} of {1} binary data",
67
67
  ByteSize.formatSize(p.value.data.byteLength),
68
68
  p.value.mimeType || 'unknown'