@codingame/monaco-vscode-chat-service-override 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 (77) hide show
  1. package/package.json +43 -43
  2. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +106 -74
  3. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +2 -2
  4. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +1 -1
  5. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  6. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +17 -17
  7. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +10 -10
  8. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  9. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  12. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  13. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  14. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +19 -19
  15. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +1 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +4 -4
  17. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +28 -28
  20. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  22. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +7 -7
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +33 -33
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +52 -52
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +65 -65
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +3 -1
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +6 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +32 -32
  36. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +2 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +57 -7
  38. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
  39. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  43. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  44. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  46. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +9 -9
  50. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +4 -4
  51. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +26 -26
  53. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +53 -53
  54. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  56. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  57. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +22 -23
  59. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +8 -8
  60. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  61. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  62. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +18 -18
  63. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +10 -10
  67. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  68. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  69. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  71. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  72. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  73. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +10 -7
  74. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  75. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  76. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  77. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
@@ -43,7 +43,7 @@ const VENDOR_ROW_HEIGHT = 30;
43
43
  const MODEL_ROW_HEIGHT = 26;
44
44
  class ModelsFilterAction extends Action {
45
45
  constructor() {
46
- super('workbench.models.filter', ( localize(5283, "Filter")), ThemeIcon.asClassName(Codicon.filter));
46
+ super('workbench.models.filter', ( localize(5284, "Filter")), ThemeIcon.asClassName(Codicon.filter));
47
47
  }
48
48
  async run() {
49
49
  }
@@ -81,7 +81,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
81
81
  return {
82
82
  id: `provider-${vendor}`,
83
83
  label: displayName,
84
- tooltip: ( localize(5284, "Filter by {0}", displayName)),
84
+ tooltip: ( localize(5285, "Filter by {0}", displayName)),
85
85
  class: undefined,
86
86
  enabled: true,
87
87
  checked: isChecked,
@@ -95,7 +95,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
95
95
  return {
96
96
  id: `capability-${capability}`,
97
97
  label,
98
- tooltip: ( localize(5285, "Filter by {0}", label)),
98
+ tooltip: ( localize(5286, "Filter by {0}", label)),
99
99
  class: undefined,
100
100
  enabled: true,
101
101
  checked: isChecked,
@@ -110,7 +110,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
110
110
  return {
111
111
  id: `visible-${visible}`,
112
112
  label,
113
- tooltip: ( localize(5286, "Filter by {0}", label)),
113
+ tooltip: ( localize(5287, "Filter by {0}", label)),
114
114
  class: undefined,
115
115
  enabled: true,
116
116
  checked: isChecked,
@@ -125,10 +125,10 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
125
125
  }
126
126
  getActions() {
127
127
  const actions = [];
128
- actions.push(this.createVisibleAction(true, ( localize(5287, 'Visible'))));
129
- actions.push(this.createVisibleAction(false, ( localize(5288, 'Hidden'))));
128
+ actions.push(this.createVisibleAction(true, ( localize(5288, 'Visible'))));
129
+ actions.push(this.createVisibleAction(false, ( localize(5289, 'Hidden'))));
130
130
  actions.push(( new Separator()));
131
- actions.push(this.createCapabilityAction('tools', ( localize(5289, 'Tools'))), this.createCapabilityAction('vision', ( localize(5290, 'Vision'))), this.createCapabilityAction('agent', ( localize(5291, 'Agent Mode'))));
131
+ actions.push(this.createCapabilityAction('tools', ( localize(5290, 'Tools'))), this.createCapabilityAction('vision', ( localize(5291, 'Vision'))), this.createCapabilityAction('agent', ( localize(5292, 'Agent Mode'))));
132
132
  const configuredVendors = this.viewModel.getConfiguredVendors();
133
133
  if (configuredVendors.length > 1) {
134
134
  actions.push(( new Separator()));
@@ -206,7 +206,7 @@ let GutterColumnRenderer = class GutterColumnRenderer extends ModelsTableColumnR
206
206
  }
207
207
  }
208
208
  createToggleCollapseAction(entry) {
209
- const label = entry.collapsed ? ( localize(5292, 'Expand')) : ( localize(5293, 'Collapse'));
209
+ const label = entry.collapsed ? ( localize(5293, 'Expand')) : ( localize(5294, 'Collapse'));
210
210
  return {
211
211
  id: 'toggleCollapse',
212
212
  label,
@@ -223,9 +223,9 @@ let GutterColumnRenderer = class GutterColumnRenderer extends ModelsTableColumnR
223
223
  const isVisible = modelEntry.metadata.isUserSelectable ?? false;
224
224
  const toggleVisibilityAction = toAction({
225
225
  id: 'toggleVisibility',
226
- label: isVisible ? ( localize(5294, 'Hide')) : ( localize(5295, 'Show')),
226
+ label: isVisible ? ( localize(5295, 'Hide')) : ( localize(5296, 'Show')),
227
227
  class: `model-visibility-toggle ${isVisible ? `${ThemeIcon.asClassName(Codicon.eyeClosed)} model-visible` : `${ThemeIcon.asClassName(Codicon.eye)} model-hidden`}`,
228
- tooltip: isVisible ? ( localize(5296, 'Hide in the chat model picker')) : ( localize(5297, 'Show in the chat model picker')),
228
+ tooltip: isVisible ? ( localize(5297, 'Hide in the chat model picker')) : ( localize(5298, 'Show in the chat model picker')),
229
229
  checked: !isVisible,
230
230
  run: async () => {
231
231
  const newVisibility = !isVisible;
@@ -299,7 +299,7 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
299
299
  markdown.appendText(`\n`);
300
300
  }
301
301
  if (!entry.modelEntry.metadata.isUserSelectable) {
302
- markdown.appendMarkdown(`\n\n${( localize(5298, 'This model is hidden in the chat model picker'))}`);
302
+ markdown.appendMarkdown(`\n\n${( localize(5299, 'This model is hidden in the chat model picker'))}`);
303
303
  }
304
304
  templateData.elementDisposables.add(this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
305
305
  content: markdown,
@@ -367,13 +367,13 @@ let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTa
367
367
  const markdown = ( new MarkdownString('', { isTrusted: true, supportThemeIcons: true }));
368
368
  if (modelEntry.metadata.maxInputTokens || modelEntry.metadata.maxOutputTokens) {
369
369
  let addSeparator = false;
370
- markdown.appendMarkdown(`${( localize(5299, 'Context Size'))}: `);
370
+ markdown.appendMarkdown(`${( localize(5300, 'Context Size'))}: `);
371
371
  if (modelEntry.metadata.maxInputTokens) {
372
372
  const inputDiv = append(templateData.tokenLimitsElement, $('.token-limit-item'));
373
373
  append(inputDiv, $('span.codicon.codicon-arrow-down'));
374
374
  const inputText = append(inputDiv, $('span'));
375
375
  inputText.textContent = formatTokenCount(modelEntry.metadata.maxInputTokens);
376
- markdown.appendMarkdown(`$(arrow-down) ${modelEntry.metadata.maxInputTokens} (${( localize(5300, 'Input'))})`);
376
+ markdown.appendMarkdown(`$(arrow-down) ${modelEntry.metadata.maxInputTokens} (${( localize(5301, 'Input'))})`);
377
377
  addSeparator = true;
378
378
  }
379
379
  if (modelEntry.metadata.maxOutputTokens) {
@@ -384,7 +384,7 @@ let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTa
384
384
  if (addSeparator) {
385
385
  markdown.appendText(` | `);
386
386
  }
387
- markdown.appendMarkdown(`$(arrow-up) ${modelEntry.metadata.maxOutputTokens} (${( localize(5301, 'Output'))})`);
387
+ markdown.appendMarkdown(`$(arrow-up) ${modelEntry.metadata.maxOutputTokens} (${( localize(5302, 'Output'))})`);
388
388
  }
389
389
  }
390
390
  templateData.elementDisposables.add(this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
@@ -427,10 +427,10 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
427
427
  renderModelElement(entry, index, templateData) {
428
428
  const { modelEntry, capabilityMatches } = entry;
429
429
  if (modelEntry.metadata.capabilities?.toolCalling) {
430
- templateData.elementDisposables.add(this.createCapabilityButton(templateData.metadataRow, capabilityMatches?.includes('toolCalling') || false, ( localize(5302, 'Tools')), 'tools'));
430
+ templateData.elementDisposables.add(this.createCapabilityButton(templateData.metadataRow, capabilityMatches?.includes('toolCalling') || false, ( localize(5303, 'Tools')), 'tools'));
431
431
  }
432
432
  if (modelEntry.metadata.capabilities?.vision) {
433
- templateData.elementDisposables.add(this.createCapabilityButton(templateData.metadataRow, capabilityMatches?.includes('vision') || false, ( localize(5303, 'Vision')), 'vision'));
433
+ templateData.elementDisposables.add(this.createCapabilityButton(templateData.metadataRow, capabilityMatches?.includes('vision') || false, ( localize(5304, 'Vision')), 'vision'));
434
434
  }
435
435
  }
436
436
  createCapabilityButton(container, isActive, label, capability) {
@@ -475,7 +475,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
475
475
  const { vendorEntry } = entry;
476
476
  const action = toAction({
477
477
  id: 'manageVendor',
478
- label: ( localize(5304, 'Manage {0}...', entry.vendorEntry.vendorDisplayName)),
478
+ label: ( localize(5305, 'Manage {0}...', entry.vendorEntry.vendorDisplayName)),
479
479
  class: ThemeIcon.asClassName(Codicon.gear),
480
480
  run: async () => {
481
481
  await this.commandService.executeCommand(vendorEntry.managementCommand, vendorEntry.vendor);
@@ -527,7 +527,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
527
527
  }
528
528
  create(container) {
529
529
  const searchAndButtonContainer = append(container, $('.models-search-and-button-container'));
530
- const placeholder = ( localize(5305, "Type to search..."));
530
+ const placeholder = ( localize(5306, "Type to search..."));
531
531
  const searchContainer = append(searchAndButtonContainer, $('.models-search-container'));
532
532
  this.searchWidget = this._register(this.instantiationService.createInstance(SuggestEnabledInput, 'chatModelsWidget.searchbox', searchContainer, {
533
533
  triggerCharacters: ['@', ':'],
@@ -558,7 +558,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
558
558
  }));
559
559
  this._register(this.searchWidget.onInputDidChange(() => this.filterModels()));
560
560
  const filterAction = this._register(( new ModelsFilterAction()));
561
- const clearSearchAction = this._register(( new Action('workbench.models.clearSearch', ( localize(5306, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => {
561
+ const clearSearchAction = this._register(( new Action('workbench.models.clearSearch', ( localize(5307, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => {
562
562
  this.searchWidget.setValue('');
563
563
  this.searchWidget.focus();
564
564
  })));
@@ -584,7 +584,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
584
584
  supportIcons: true,
585
585
  };
586
586
  this.addButton = this._register(( new Button(this.addButtonContainer, buttonOptions)));
587
- this.addButton.label = `$(${Codicon.add.id}) ${( localize(5307, 'Add Models...'))}`;
587
+ this.addButton.label = `$(${Codicon.add.id}) ${( localize(5308, 'Add Models...'))}`;
588
588
  this.addButton.element.classList.add('models-add-model-button');
589
589
  this.addButton.enabled = false;
590
590
  this._register(this.addButton.onDidClick((e) => {
@@ -633,7 +633,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
633
633
  project(row) { return row; }
634
634
  },
635
635
  {
636
- label: ( localize(5308, 'Name')),
636
+ label: ( localize(5309, 'Name')),
637
637
  tooltip: '',
638
638
  weight: 0.40,
639
639
  minimumWidth: 200,
@@ -641,7 +641,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
641
641
  project(row) { return row; }
642
642
  },
643
643
  {
644
- label: ( localize(5309, 'Capabilities')),
644
+ label: ( localize(5310, 'Capabilities')),
645
645
  tooltip: '',
646
646
  weight: 0.30,
647
647
  minimumWidth: 180,
@@ -649,7 +649,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
649
649
  project(row) { return row; }
650
650
  },
651
651
  {
652
- label: ( localize(5310, 'Context Size')),
652
+ label: ( localize(5311, 'Context Size')),
653
653
  tooltip: '',
654
654
  weight: 0.1,
655
655
  minimumWidth: 140,
@@ -657,7 +657,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
657
657
  project(row) { return row; }
658
658
  },
659
659
  {
660
- label: ( localize(5311, 'Multiplier')),
660
+ label: ( localize(5312, 'Multiplier')),
661
661
  tooltip: '',
662
662
  weight: 0.1,
663
663
  minimumWidth: 60,
@@ -686,16 +686,16 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
686
686
  accessibilityProvider: {
687
687
  getAriaLabel: (e) => {
688
688
  if (isVendorEntry(e)) {
689
- return localize(5312, '{0} provider', e.vendorEntry.vendorDisplayName);
689
+ return localize(5313, '{0} provider', e.vendorEntry.vendorDisplayName);
690
690
  }
691
691
  return localize(
692
- 5313,
692
+ 5314,
693
693
  '{0} from {1}',
694
694
  e.modelEntry.metadata.name,
695
695
  e.modelEntry.vendorDisplayName
696
696
  );
697
697
  },
698
- getWidgetAriaLabel: () => ( localize(5314, 'Language Models'))
698
+ getWidgetAriaLabel: () => ( localize(5315, 'Language Models'))
699
699
  },
700
700
  multipleSelectionSupport: false,
701
701
  setRowLineHeight: false,
@@ -711,7 +711,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
711
711
  const actions = [
712
712
  toAction({
713
713
  id: 'manageVendor',
714
- label: ( localize(5304, 'Manage {0}...', entry.vendorEntry.vendorDisplayName)),
714
+ label: ( localize(5305, 'Manage {0}...', entry.vendorEntry.vendorDisplayName)),
715
715
  run: async () => {
716
716
  await this.commandService.executeCommand(entry.vendorEntry.managementCommand, entry.vendorEntry.vendor);
717
717
  await this.viewModel.resolve();
@@ -33,27 +33,27 @@ let ChatUsageWidget = class ChatUsageWidget extends Disposable {
33
33
  clearNode(this.usageSection);
34
34
  const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate, resetDateHasTime } = this.chatEntitlementService.quotas;
35
35
  if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.installed && !completionsQuota && !chatQuota && !premiumChatQuota) {
36
- this.renderLimitedQuotaItem(this.usageSection, ( localize(5315, 'Inline Suggestions')));
37
- this.renderLimitedQuotaItem(this.usageSection, ( localize(5316, 'Chat messages')));
36
+ this.renderLimitedQuotaItem(this.usageSection, ( localize(5316, 'Inline Suggestions')));
37
+ this.renderLimitedQuotaItem(this.usageSection, ( localize(5317, 'Chat messages')));
38
38
  }
39
39
  else if (completionsQuota || chatQuota || premiumChatQuota) {
40
40
  if (completionsQuota) {
41
- this.renderQuotaItem(this.usageSection, ( localize(5317, 'Inline Suggestions')), completionsQuota);
41
+ this.renderQuotaItem(this.usageSection, ( localize(5318, 'Inline Suggestions')), completionsQuota);
42
42
  }
43
43
  if (chatQuota) {
44
- this.renderQuotaItem(this.usageSection, ( localize(5318, 'Chat messages')), chatQuota);
44
+ this.renderQuotaItem(this.usageSection, ( localize(5319, 'Chat messages')), chatQuota);
45
45
  }
46
46
  if (premiumChatQuota) {
47
- this.renderQuotaItem(this.usageSection, ( localize(5319, 'Premium requests')), premiumChatQuota);
47
+ this.renderQuotaItem(this.usageSection, ( localize(5320, 'Premium requests')), premiumChatQuota);
48
48
  if (premiumChatQuota.overageEnabled) {
49
49
  const overageMessage = append(this.usageSection, $('.overage-message'));
50
- overageMessage.textContent = ( localize(5320, 'Additional paid premium requests enabled.'));
50
+ overageMessage.textContent = ( localize(5321, 'Additional paid premium requests enabled.'));
51
51
  }
52
52
  }
53
53
  if (resetDate) {
54
54
  const resetText = append(this.usageSection, $('.allowance-resets'));
55
55
  resetText.textContent = ( localize(
56
- 5321,
56
+ 5322,
57
57
  'Allowance resets {0}.',
58
58
  resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
59
59
  ));
@@ -69,10 +69,10 @@ let ChatUsageWidget = class ChatUsageWidget extends Disposable {
69
69
  quotaItemLabel.textContent = label;
70
70
  const quotaItemValue = append(quotaItemHeader, $('.quota-item-value'));
71
71
  if (quota.unlimited) {
72
- quotaItemValue.textContent = ( localize(5322, 'Included'));
72
+ quotaItemValue.textContent = ( localize(5323, 'Included'));
73
73
  }
74
74
  else {
75
- quotaItemValue.textContent = ( localize(5322, 'Included'));
75
+ quotaItemValue.textContent = ( localize(5323, 'Included'));
76
76
  }
77
77
  const progressBarContainer = append(quotaItem, $('.quota-bar'));
78
78
  const progressBar = append(progressBarContainer, $('.quota-bit'));
@@ -97,7 +97,7 @@ let ChatUsageWidget = class ChatUsageWidget extends Disposable {
97
97
  const quotaItemLabel = append(quotaItemHeader, $('.quota-item-label'));
98
98
  quotaItemLabel.textContent = label;
99
99
  const quotaItemValue = append(quotaItemHeader, $('.quota-item-value'));
100
- quotaItemValue.textContent = ( localize(5323, 'Limited'));
100
+ quotaItemValue.textContent = ( localize(5324, 'Limited'));
101
101
  const progressBarContainer = append(quotaItem, $('.quota-bar'));
102
102
  append(progressBarContainer, $('.quota-bit'));
103
103
  }
@@ -118,11 +118,11 @@ const chatOutputRendererContributionSchema = {
118
118
  properties: {
119
119
  viewType: {
120
120
  type: 'string',
121
- description: ( localize(5324, 'Unique identifier for the renderer.')),
121
+ description: ( localize(5325, 'Unique identifier for the renderer.')),
122
122
  },
123
123
  mimeTypes: {
124
124
  type: 'array',
125
- description: ( localize(5325, 'MIME types that this renderer can handle')),
125
+ description: ( localize(5326, 'MIME types that this renderer can handle')),
126
126
  items: {
127
127
  type: 'string'
128
128
  }
@@ -137,7 +137,7 @@ const chatOutputRenderContributionPoint = ExtensionsRegistry.registerExtensionPo
137
137
  }
138
138
  },
139
139
  jsonSchema: {
140
- description: ( localize(5326, 'Contributes a renderer for specific MIME types in chat outputs')),
140
+ description: ( localize(5327, 'Contributes a renderer for specific MIME types in chat outputs')),
141
141
  type: 'array',
142
142
  items: chatOutputRendererContributionSchema,
143
143
  }
@@ -30,7 +30,7 @@ import { CHAT_SIDEBAR_PANEL_ID, ChatViewPane } from './chatViewPane.js';
30
30
 
31
31
  const chatViewContainer = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
32
32
  id: CHAT_SIDEBAR_PANEL_ID,
33
- title: ( localize2(5327, "Chat")),
33
+ title: ( localize2(5328, "Chat")),
34
34
  icon: Codicon.chatSparkle,
35
35
  ctorDescriptor: ( new SyncDescriptor(
36
36
  ViewPaneContainer,
@@ -45,13 +45,13 @@ const chatViewDescriptor = {
45
45
  containerIcon: chatViewContainer.icon,
46
46
  containerTitle: chatViewContainer.title.value,
47
47
  singleViewPaneContainerTitle: chatViewContainer.title.value,
48
- name: ( localize2(5327, "Chat")),
48
+ name: ( localize2(5328, "Chat")),
49
49
  canToggleVisibility: false,
50
50
  canMoveView: true,
51
51
  openCommandActionDescriptor: {
52
52
  id: CHAT_SIDEBAR_PANEL_ID,
53
53
  title: chatViewContainer.title,
54
- mnemonicTitle: ( localize(5328, "&&Chat")),
54
+ mnemonicTitle: ( localize(5329, "&&Chat")),
55
55
  keybindings: {
56
56
  primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyI,
57
57
  mac: {
@@ -67,7 +67,7 @@ const chatViewDescriptor = {
67
67
  const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
68
68
  extensionPoint: 'chatParticipants',
69
69
  jsonSchema: {
70
- description: ( localize(5329, 'Contributes a chat participant')),
70
+ description: ( localize(5330, 'Contributes a chat participant')),
71
71
  type: 'array',
72
72
  items: {
73
73
  additionalProperties: false,
@@ -76,12 +76,12 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
76
76
  required: ['name', 'id'],
77
77
  properties: {
78
78
  id: {
79
- description: ( localize(5330, "A unique id for this chat participant.")),
79
+ description: ( localize(5331, "A unique id for this chat participant.")),
80
80
  type: 'string'
81
81
  },
82
82
  name: {
83
83
  description: ( localize(
84
- 5331,
84
+ 5332,
85
85
  "User-facing name for this chat participant. The user will use '@' with this name to invoke the participant. Name must not contain whitespace."
86
86
  )),
87
87
  type: 'string',
@@ -89,37 +89,37 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
89
89
  },
90
90
  fullName: {
91
91
  markdownDescription: ( localize(
92
- 5332,
92
+ 5333,
93
93
  "The full name of this chat participant, which is shown as the label for responses coming from this participant. If not provided, {0} is used.",
94
94
  '`name`'
95
95
  )),
96
96
  type: 'string'
97
97
  },
98
98
  description: {
99
- description: ( localize(5333, "A description of this chat participant, shown in the UI.")),
99
+ description: ( localize(5334, "A description of this chat participant, shown in the UI.")),
100
100
  type: 'string'
101
101
  },
102
102
  isSticky: {
103
103
  description: ( localize(
104
- 5334,
104
+ 5335,
105
105
  "Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
106
106
  )),
107
107
  type: 'boolean'
108
108
  },
109
109
  sampleRequest: {
110
110
  description: ( localize(
111
- 5335,
111
+ 5336,
112
112
  "When the user clicks this participant in `/help`, this text will be submitted to the participant."
113
113
  )),
114
114
  type: 'string'
115
115
  },
116
116
  when: {
117
- description: ( localize(5336, "A condition which must be true to enable this participant.")),
117
+ description: ( localize(5337, "A condition which must be true to enable this participant.")),
118
118
  type: 'string'
119
119
  },
120
120
  disambiguation: {
121
121
  description: ( localize(
122
- 5337,
122
+ 5338,
123
123
  "Metadata to help with automatically routing user questions to this chat participant."
124
124
  )),
125
125
  type: 'array',
@@ -131,21 +131,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
131
131
  properties: {
132
132
  category: {
133
133
  markdownDescription: ( localize(
134
- 5338,
134
+ 5339,
135
135
  "A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
136
136
  )),
137
137
  type: 'string'
138
138
  },
139
139
  description: {
140
140
  description: ( localize(
141
- 5339,
141
+ 5340,
142
142
  "A detailed description of the kinds of questions that are suitable for this chat participant."
143
143
  )),
144
144
  type: 'string'
145
145
  },
146
146
  examples: {
147
147
  description: ( localize(
148
- 5340,
148
+ 5341,
149
149
  "A list of representative example questions that are suitable for this chat participant."
150
150
  )),
151
151
  type: 'array'
@@ -155,7 +155,7 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
155
155
  },
156
156
  commands: {
157
157
  markdownDescription: ( localize(
158
- 5341,
158
+ 5342,
159
159
  "Commands available for this chat participant, which the user can invoke with a `/`."
160
160
  )),
161
161
  type: 'array',
@@ -167,36 +167,36 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
167
167
  properties: {
168
168
  name: {
169
169
  description: ( localize(
170
- 5342,
170
+ 5343,
171
171
  "A short name by which this command is referred to in the UI, e.g. `fix` or `explain` for commands that fix an issue or explain code. The name should be unique among the commands provided by this participant."
172
172
  )),
173
173
  type: 'string'
174
174
  },
175
175
  description: {
176
- description: ( localize(5343, "A description of this command.")),
176
+ description: ( localize(5344, "A description of this command.")),
177
177
  type: 'string'
178
178
  },
179
179
  when: {
180
- description: ( localize(5344, "A condition which must be true to enable this command.")),
180
+ description: ( localize(5345, "A condition which must be true to enable this command.")),
181
181
  type: 'string'
182
182
  },
183
183
  sampleRequest: {
184
184
  description: ( localize(
185
- 5345,
185
+ 5346,
186
186
  "When the user clicks this command in `/help`, this text will be submitted to the participant."
187
187
  )),
188
188
  type: 'string'
189
189
  },
190
190
  isSticky: {
191
191
  description: ( localize(
192
- 5334,
192
+ 5335,
193
193
  "Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
194
194
  )),
195
195
  type: 'boolean'
196
196
  },
197
197
  disambiguation: {
198
198
  description: ( localize(
199
- 5346,
199
+ 5347,
200
200
  "Metadata to help with automatically routing user questions to this chat command."
201
201
  )),
202
202
  type: 'array',
@@ -208,21 +208,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
208
208
  properties: {
209
209
  category: {
210
210
  markdownDescription: ( localize(
211
- 5347,
211
+ 5348,
212
212
  "A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
213
213
  )),
214
214
  type: 'string'
215
215
  },
216
216
  description: {
217
217
  description: ( localize(
218
- 5348,
218
+ 5349,
219
219
  "A detailed description of the kinds of questions that are suitable for this chat command."
220
220
  )),
221
221
  type: 'string'
222
222
  },
223
223
  examples: {
224
224
  description: ( localize(
225
- 5349,
225
+ 5350,
226
226
  "A list of representative example questions that are suitable for this chat command."
227
227
  )),
228
228
  type: 'array'
@@ -353,9 +353,9 @@ let ChatCompatibilityNotifier = class ChatCompatibilityNotifier extends Disposab
353
353
  return;
354
354
  }
355
355
  this.registeredWelcomeView = true;
356
- const showExtensionLabel = ( localize(5350, "Show Extension"));
356
+ const showExtensionLabel = ( localize(5351, "Show Extension"));
357
357
  const mainMessage = ( localize(
358
- 5351,
358
+ 5352,
359
359
  "Chat failed to load because the installed version of the Copilot Chat extension is not compatible with this version of {0}. Please ensure that the Copilot Chat extension is up to date.",
360
360
  this.productService.nameLong
361
361
  ));
@@ -387,10 +387,10 @@ class ChatParticipantDataRenderer extends Disposable {
387
387
  return { data: { headers: [], rows: [] }, dispose: () => { } };
388
388
  }
389
389
  const headers = [
390
- ( localize(5352, "Name")),
391
- ( localize(5353, "Full Name")),
392
- ( localize(5354, "Description")),
393
- ( localize(5355, "Commands")),
390
+ ( localize(5353, "Name")),
391
+ ( localize(5354, "Full Name")),
392
+ ( localize(5355, "Description")),
393
+ ( localize(5356, "Commands")),
394
394
  ];
395
395
  const rows = ( nonDefaultContributions.map(d => {
396
396
  return [
@@ -411,7 +411,7 @@ class ChatParticipantDataRenderer extends Disposable {
411
411
  }
412
412
  ( Registry.as(Extensions$1.ExtensionFeaturesRegistry)).registerExtensionFeature({
413
413
  id: 'chatParticipants',
414
- label: ( localize(5356, "Chat Participants")),
414
+ label: ( localize(5357, "Chat Participants")),
415
415
  access: {
416
416
  canToggle: false
417
417
  },
@@ -230,7 +230,7 @@ let QuickChat = class QuickChat extends Disposable {
230
230
  disclaimerElement.classList.toggle('hidden', !showDisclaimer);
231
231
  if (showDisclaimer) {
232
232
  const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
233
- 5364,
233
+ 5365,
234
234
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
235
235
  product.defaultChatAgent?.provider?.default?.name ?? '',
236
236
  product.defaultChatAgent?.provider?.default?.name ?? '',
@@ -102,7 +102,7 @@ class ChatResponseAccessibleProvider extends Disposable {
102
102
  responseContent += `\n${message}\n`;
103
103
  }
104
104
  else if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
105
- responseContent += ( localize(5365, "Approve results of {0}? Result: ", toolInvocation.toolId)) + toolContentToA11yString(state.contentForModel) + '\n';
105
+ responseContent += ( localize(5366, "Approve results of {0}? Result: ", toolInvocation.toolId)) + toolContentToA11yString(state.contentForModel) + '\n';
106
106
  }
107
107
  else {
108
108
  const resultDetails = IChatToolInvocation.resultDetails(toolInvocation);
@@ -157,8 +157,8 @@ let LocalChatSessionsProvider = class LocalChatSessionsProvider extends Disposab
157
157
  const widgetSession = {
158
158
  id: LocalChatSessionsProvider_1.CHAT_WIDGET_VIEW_ID,
159
159
  resource: ( URI.parse(`${Schemas.vscodeLocalChatSession}://widget`)),
160
- label: chatWidget?.viewModel?.model.title || ( localize2(5399, "Chat")).value,
161
- description: ( localize(5400, "Chat View")),
160
+ label: chatWidget?.viewModel?.model.title || ( localize2(5400, "Chat")).value,
161
+ description: ( localize(5401, "Chat View")),
162
162
  iconPath: Codicon.chatSparkle,
163
163
  status,
164
164
  timing: { startTime: chatWidget?.viewModel?.model.getRequests().at(0)?.timestamp || 0 },
@@ -200,7 +200,7 @@ let LocalChatSessionsProvider = class LocalChatSessionsProvider extends Disposab
200
200
  const historyNode = {
201
201
  id: LocalChatSessionsProvider_1.HISTORY_NODE_ID,
202
202
  resource: ( URI.parse(`${Schemas.vscodeLocalChatSession}://history`)),
203
- label: ( localize(5401, "History")),
203
+ label: ( localize(5402, "History")),
204
204
  timing: { startTime: 0 }
205
205
  };
206
206
  return [...sessions, historyNode];
@@ -38,7 +38,7 @@ class ChatSessionsView extends Disposable {
38
38
  registerViewContainer() {
39
39
  ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
40
40
  id: AGENT_SESSIONS_VIEWLET_ID,
41
- title: ( localize2(5402, "Agent Sessions")),
41
+ title: ( localize2(5403, "Agent Sessions")),
42
42
  ctorDescriptor: ( new SyncDescriptor(ChatSessionsViewPaneContainer)),
43
43
  hideIfEmpty: true,
44
44
  icon: registerIcon('chat-sessions-icon', Codicon.commentDiscussionSparkle, 'Icon for Agent Sessions View'),
@@ -155,7 +155,7 @@ let ChatSessionsViewContrib = class ChatSessionsViewContrib extends Disposable {
155
155
  const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
156
156
  this._register(viewsRegistry.registerViewWelcomeContent(viewDescriptor.id, {
157
157
  content: ( localize(
158
- 5403,
158
+ 5404,
159
159
  "No local chat agent sessions\n[Start an Agent Session](command:{0})",
160
160
  ACTION_ID_OPEN_CHAT
161
161
  )),
@@ -169,7 +169,7 @@ let ChatSessionsViewContrib = class ChatSessionsViewContrib extends Disposable {
169
169
  const gettingStartedDescriptor = {
170
170
  id: gettingStartedViewId,
171
171
  name: {
172
- value: ( localize(5404, "Getting Started")),
172
+ value: ( localize(5405, "Getting Started")),
173
173
  original: 'Getting Started',
174
174
  },
175
175
  ctorDescriptor: ( new SyncDescriptor(SessionsViewPane, [null, this.sessionTracker, gettingStartedViewId])),
@@ -212,7 +212,7 @@ let ChatSessionsViewPaneContainer = class ChatSessionsViewPaneContainer extends
212
212
  }, instantiationService, configurationService, layoutService, contextMenuService, telemetryService, extensionService, themeService, storageService, contextService, viewDescriptorService, logService);
213
213
  }
214
214
  getTitle() {
215
- const title = ( localize(5405, "Agent Sessions"));
215
+ const title = ( localize(5406, "Agent Sessions"));
216
216
  return title;
217
217
  }
218
218
  };
@@ -239,7 +239,7 @@ let SessionsRenderer = class SessionsRenderer extends Disposable {
239
239
  if (session.timing?.startTime) {
240
240
  const fullDateTime = getLocalHistoryDateFormatter().format(session.timing.startTime);
241
241
  templateData.elementDisposable.add(this.hoverService.setupDelayedHover(templateData.timestamp, () => ({
242
- content: ( localize(5406, 'Last Activity: {0}', fullDateTime)),
242
+ content: ( localize(5407, 'Last Activity: {0}', fullDateTime)),
243
243
  style: HoverStyle.Pointer,
244
244
  position: { hoverPosition: this.getHoverPosition() }
245
245
  }), { groupId: 'chat.sessions' }));
@@ -300,7 +300,7 @@ let SessionsRenderer = class SessionsRenderer extends Disposable {
300
300
  };
301
301
  }
302
302
  },
303
- ariaLabel: ( localize(5407, "Type session name. Press Enter to confirm or Escape to cancel.")),
303
+ ariaLabel: ( localize(5408, "Type session name. Press Enter to confirm or Escape to cancel.")),
304
304
  inputBoxStyles: defaultInputBoxStyles,
305
305
  }));
306
306
  inputBox.value = session.label;