@codingame/monaco-vscode-chat-service-override 17.2.1 → 18.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 (159) hide show
  1. package/index.js +7 -4
  2. package/package.json +36 -30
  3. package/vscode/src/vs/base/common/objectCache.d.ts +2 -2
  4. package/vscode/src/vs/base/common/objectCache.js +3 -3
  5. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +10 -0
  6. package/vscode/src/vs/platform/browserElements/common/browserElements.js +9 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +40 -40
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +6 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +158 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -13
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +8 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +256 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +3 -4
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +234 -572
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -3
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +5 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +29 -19
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +107 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +3 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +344 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +84 -37
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +18 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +137 -14
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +54 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +40 -10
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +15 -5
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +171 -101
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +2 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +176 -69
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +15 -29
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +22 -22
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +35 -29
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +80 -32
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +5 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +11 -9
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +12 -11
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +13 -11
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +15 -13
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +10 -9
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +18 -8
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +118 -33
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +46 -48
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +49 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +379 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +31 -10
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +382 -152
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +99 -56
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +11 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +1 -3
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +9 -21
  82. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +10 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +18 -5
  86. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +95 -24
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +92 -5
  88. package/vscode/src/vs/workbench/contrib/chat/browser/media/github.svg +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/media/google.svg +6 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +10 -4
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +1 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +111 -111
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +3 -4
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +36 -10
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +91 -17
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +1 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +95 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +348 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -2
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +30 -0
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +93 -0
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +46 -36
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
  112. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -1
  113. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +21 -11
  114. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +6 -1
  115. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +3 -2
  116. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +4 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +12 -8
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +1 -2
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptPathAutocompletion.js +5 -5
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +9 -5
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +3 -2
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +12 -8
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +21 -10
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +111 -124
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +22 -8
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +159 -97
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +15 -3
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +2 -14
  134. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +8 -2
  135. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +198 -33
  136. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
  138. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +28 -18
  140. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +0 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +0 -73
  145. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +0 -29
  146. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +0 -74
  147. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +0 -14
  148. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +0 -40
  149. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +0 -23
  150. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +0 -40
  151. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +0 -5
  152. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +0 -9
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +0 -23
  154. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +0 -68
  155. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +0 -13
  156. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +0 -19
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +0 -121
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +0 -13
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.js +0 -13
@@ -1,7 +1,7 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
3
3
  import { IStatusbarService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service";
4
- import { ChatEntitlementService } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService";
4
+ import { ChatEntitlementService } from "@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService";
5
5
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
6
6
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
7
7
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
@@ -9,7 +9,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
9
  import { StatusbarAlignment, ShowTooltipCommand } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar';
10
10
  import { IStatusbarService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
11
11
  import { $, clearNode, append, EventType, addDisposableListener, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
12
- import { ChatSentiment, ChatEntitlement } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService';
12
+ import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService';
13
13
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEntitlementService.service';
14
14
  import { defaultButtonStyles, defaultCheckboxStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
15
15
  import { Checkbox } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/toggle/toggle';
@@ -58,43 +58,43 @@ const gaugeBackground = registerColor('gauge.background', {
58
58
  light: inputValidationInfoBorder,
59
59
  hcDark: contrastBorder,
60
60
  hcLight: contrastBorder
61
- }, ( localize(4901, "Gauge background color.")));
61
+ }, ( localize(4962, "Gauge background color.")));
62
62
  registerColor('gauge.foreground', {
63
63
  dark: ( transparent(gaugeBackground, 0.3)),
64
64
  light: ( transparent(gaugeBackground, 0.3)),
65
65
  hcDark: Color.white,
66
66
  hcLight: Color.white
67
- }, ( localize(4902, "Gauge foreground color.")));
67
+ }, ( localize(4963, "Gauge foreground color.")));
68
68
  registerColor('gauge.border', {
69
69
  dark: null,
70
70
  light: null,
71
71
  hcDark: contrastBorder,
72
72
  hcLight: contrastBorder
73
- }, ( localize(4903, "Gauge border color.")));
73
+ }, ( localize(4964, "Gauge border color.")));
74
74
  const gaugeWarningBackground = registerColor('gauge.warningBackground', {
75
75
  dark: inputValidationWarningBorder,
76
76
  light: inputValidationWarningBorder,
77
77
  hcDark: contrastBorder,
78
78
  hcLight: contrastBorder
79
- }, ( localize(4904, "Gauge warning background color.")));
79
+ }, ( localize(4965, "Gauge warning background color.")));
80
80
  registerColor('gauge.warningForeground', {
81
81
  dark: ( transparent(gaugeWarningBackground, 0.3)),
82
82
  light: ( transparent(gaugeWarningBackground, 0.3)),
83
83
  hcDark: Color.white,
84
84
  hcLight: Color.white
85
- }, ( localize(4905, "Gauge warning foreground color.")));
85
+ }, ( localize(4966, "Gauge warning foreground color.")));
86
86
  const gaugeErrorBackground = registerColor('gauge.errorBackground', {
87
87
  dark: inputValidationErrorBorder,
88
88
  light: inputValidationErrorBorder,
89
89
  hcDark: contrastBorder,
90
90
  hcLight: contrastBorder
91
- }, ( localize(4906, "Gauge error background color.")));
91
+ }, ( localize(4967, "Gauge error background color.")));
92
92
  registerColor('gauge.errorForeground', {
93
93
  dark: ( transparent(gaugeErrorBackground, 0.3)),
94
94
  light: ( transparent(gaugeErrorBackground, 0.3)),
95
95
  hcDark: Color.white,
96
96
  hcLight: Color.white
97
- }, ( localize(4907, "Gauge error foreground color.")));
97
+ }, ( localize(4968, "Gauge error foreground color.")));
98
98
  const defaultChat = {
99
99
  completionsEnablementSetting: product.defaultChatAgent?.completionsEnablementSetting ?? '',
100
100
  nextEditSuggestionsSetting: product.defaultChatAgent?.nextEditSuggestionsSetting ?? '',
@@ -117,7 +117,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
117
117
  this.registerListeners();
118
118
  }
119
119
  update() {
120
- if (this.chatEntitlementService.sentiment !== ChatSentiment.Disabled) {
120
+ if (!this.chatEntitlementService.sentiment.hidden) {
121
121
  if (!this.entry) {
122
122
  this.entry = this.statusbarService.addEntry(this.getEntryProps(), 'chat.statusBarEntry', StatusbarAlignment.RIGHT, { location: { id: 'status.editor.mode', priority: 100.1 }, alignment: StatusbarAlignment.RIGHT });
123
123
  }
@@ -153,27 +153,45 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
153
153
  }
154
154
  getEntryProps() {
155
155
  let text = '$(copilot)';
156
- let ariaLabel = ( localize(4908, "Copilot Status"));
156
+ let ariaLabel = ( localize(4969, "Copilot Status"));
157
157
  let kind;
158
- if (!isNewUser(this.chatEntitlementService)) {
158
+ if (isNewUser(this.chatEntitlementService)) {
159
+ const entitlement = this.chatEntitlementService.entitlement;
160
+ if (((
161
+ this.chatEntitlementService.sentiment.later ||
162
+ entitlement === ChatEntitlement.Available ||
163
+ isProUser(entitlement) || entitlement === ChatEntitlement.Free)
164
+ ) &&
165
+ this.configurationService.getValue('chat.setup.continueLaterIndicator') === true) {
166
+ const finishSetup = ( localize(4970, "Finish Setup"));
167
+ text = `$(copilot) ${finishSetup}`;
168
+ ariaLabel = finishSetup;
169
+ kind = this.chatEntitlementService.sentiment.later ? 'prominent' : undefined;
170
+ }
171
+ }
172
+ else {
159
173
  const chatQuotaExceeded = this.chatEntitlementService.quotas.chat?.percentRemaining === 0;
160
174
  const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
161
- if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
162
- const signedOutWarning = ( localize(4909, "Signed out"));
175
+ if (this.chatEntitlementService.sentiment.disabled) {
176
+ text = `$(copilot-unavailable)`;
177
+ ariaLabel = ( localize(4971, "Copilot Disabled"));
178
+ }
179
+ else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
180
+ const signedOutWarning = ( localize(4972, "Signed out"));
163
181
  text = `$(copilot-not-connected) ${signedOutWarning}`;
164
182
  ariaLabel = signedOutWarning;
165
183
  kind = 'prominent';
166
184
  }
167
- else if (this.chatEntitlementService.entitlement === ChatEntitlement.Limited && (chatQuotaExceeded || completionsQuotaExceeded)) {
185
+ else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
168
186
  let quotaWarning;
169
187
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
170
- quotaWarning = ( localize(4910, "Chat quota reached"));
188
+ quotaWarning = ( localize(4973, "Chat quota reached"));
171
189
  }
172
190
  else if (completionsQuotaExceeded && !chatQuotaExceeded) {
173
- quotaWarning = ( localize(4911, "Completions quota reached"));
191
+ quotaWarning = ( localize(4974, "Completions quota reached"));
174
192
  }
175
193
  else {
176
- quotaWarning = ( localize(4912, "Quota reached"));
194
+ quotaWarning = ( localize(4975, "Quota reached"));
177
195
  }
178
196
  text = `$(copilot-warning) ${quotaWarning}`;
179
197
  ariaLabel = quotaWarning;
@@ -181,11 +199,11 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
181
199
  }
182
200
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
183
201
  text = `$(copilot-unavailable)`;
184
- ariaLabel = ( localize(4913, "Code Completions Disabled"));
202
+ ariaLabel = ( localize(4976, "Code completions disabled"));
185
203
  }
186
204
  }
187
205
  return {
188
- name: ( localize(4908, "Copilot Status")),
206
+ name: ( localize(4969, "Copilot Status")),
189
207
  text,
190
208
  ariaLabel,
191
209
  command: ShowTooltipCommand,
@@ -208,15 +226,16 @@ ChatStatusBarEntry = ( __decorate([
208
226
  ( __param(4, IConfigurationService))
209
227
  ], ChatStatusBarEntry));
210
228
  function isNewUser(chatEntitlementService) {
211
- return chatEntitlementService.sentiment !== ChatSentiment.Installed ||
229
+ return !chatEntitlementService.sentiment.installed ||
212
230
  chatEntitlementService.entitlement === ChatEntitlement.Available;
213
231
  }
214
232
  function canUseCopilot(chatEntitlementService) {
215
233
  const newUser = isNewUser(chatEntitlementService);
234
+ const disabled = chatEntitlementService.sentiment.disabled;
216
235
  const signedOut = chatEntitlementService.entitlement === ChatEntitlement.Unknown;
217
- const limited = chatEntitlementService.entitlement === ChatEntitlement.Limited;
218
- const allFreeQuotaReached = limited && chatEntitlementService.quotas.chat?.percentRemaining === 0 && chatEntitlementService.quotas.completions?.percentRemaining === 0;
219
- return !newUser && !signedOut && !allFreeQuotaReached;
236
+ const free = chatEntitlementService.entitlement === ChatEntitlement.Free;
237
+ const allFreeQuotaReached = free && chatEntitlementService.quotas.chat?.percentRemaining === 0 && chatEntitlementService.quotas.completions?.percentRemaining === 0;
238
+ return !newUser && !signedOut && !allFreeQuotaReached && !disabled;
220
239
  }
221
240
  function isCompletionsEnabled(configurationService, modeId = '*') {
222
241
  const result = configurationService.getValue(defaultChat.completionsEnablementSetting);
@@ -242,9 +261,9 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
242
261
  this.telemetryService = telemetryService;
243
262
  this.textResourceConfigurationService = textResourceConfigurationService;
244
263
  this.element = $('div.chat-status-bar-entry-tooltip');
245
- this.dateFormatter = ( new Lazy(
246
- () => safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric' })
247
- ));
264
+ this.dateFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric' });
265
+ this.quotaPercentageFormatter = safeIntl.NumberFormat(undefined, { maximumFractionDigits: 1, minimumFractionDigits: 0 });
266
+ this.quotaOverageFormatter = safeIntl.NumberFormat(undefined, { maximumFractionDigits: 2, minimumFractionDigits: 0 });
248
267
  this.entryDisposables = this._register(( new MutableDisposable()));
249
268
  }
250
269
  show(token) {
@@ -263,29 +282,29 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
263
282
  };
264
283
  const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate } = this.chatEntitlementService.quotas;
265
284
  if (chatQuota || completionsQuota || premiumChatQuota) {
266
- addSeparator(( localize(4914, "Copilot Usage")), toAction({
285
+ addSeparator(( localize(4977, "Copilot Usage")), toAction({
267
286
  id: 'workbench.action.manageCopilot',
268
- label: ( localize(4915, "Manage Copilot")),
269
- tooltip: ( localize(4916, "Manage Copilot")),
287
+ label: ( localize(4978, "Manage Copilot")),
288
+ tooltip: ( localize(4979, "Manage Copilot")),
270
289
  class: ThemeIcon.asClassName(Codicon.settings),
271
290
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
272
291
  }));
273
- const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(4917, "Code completions")), false) : undefined;
274
- const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(4918, "Chat messages")), false) : undefined;
275
- const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(4919, "Premium requests")), true) : undefined;
292
+ const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(4980, "Code completions")), false) : undefined;
293
+ const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(4981, "Chat messages")), false) : undefined;
294
+ const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(4982, "Premium requests")), true) : undefined;
276
295
  if (resetDate) {
277
296
  this.element.appendChild($('div.description', undefined, ( localize(
278
- 4920,
297
+ 4983,
279
298
  "Allowance resets {0}.",
280
299
  this.dateFormatter.value.format(( new Date(resetDate)))
281
300
  ))));
282
301
  }
283
- if (this.chatEntitlementService.entitlement === ChatEntitlement.Limited && (Number(chatQuota?.percentRemaining) <= 25 || Number(completionsQuota?.percentRemaining) <= 25)) {
302
+ if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (Number(chatQuota?.percentRemaining) <= 25 || Number(completionsQuota?.percentRemaining) <= 25)) {
284
303
  const upgradeProButton = disposables.add(( new Button(
285
304
  this.element,
286
305
  { ...defaultButtonStyles, secondary: canUseCopilot(this.chatEntitlementService) }
287
306
  )));
288
- upgradeProButton.label = ( localize(4921, "Upgrade to Copilot Pro"));
307
+ upgradeProButton.label = ( localize(4984, "Upgrade to Copilot Pro"));
289
308
  disposables.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
290
309
  }
291
310
  (async () => {
@@ -323,10 +342,11 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
323
342
  }
324
343
  }
325
344
  {
326
- addSeparator(( localize(4922, "Settings")), this.chatEntitlementService.sentiment === ChatSentiment.Installed ? toAction({
345
+ const chatSentiment = this.chatEntitlementService.sentiment;
346
+ addSeparator(( localize(4985, "Settings")), chatSentiment.installed && !chatSentiment.disabled ? toAction({
327
347
  id: 'workbench.action.openChatSettings',
328
- label: ( localize(4923, "Settings")),
329
- tooltip: ( localize(4924, "Open Settings")),
348
+ label: ( localize(4986, "Settings")),
349
+ tooltip: ( localize(4987, "Open Settings")),
330
350
  class: ThemeIcon.asClassName(Codicon.settingsGear),
331
351
  run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
332
352
  }) : undefined);
@@ -334,13 +354,34 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
334
354
  }
335
355
  {
336
356
  const newUser = isNewUser(this.chatEntitlementService);
357
+ const disabled = this.chatEntitlementService.sentiment.disabled;
337
358
  const signedOut = this.chatEntitlementService.entitlement === ChatEntitlement.Unknown;
338
- if (newUser || signedOut) {
359
+ if (newUser || signedOut || disabled) {
339
360
  addSeparator();
340
- this.element.appendChild($('div.description', undefined, newUser ? ( localize(4925, "Set up Copilot to use AI features.")) : ( localize(4926, "Sign in to use Copilot AI features."))));
361
+ let descriptionText;
362
+ if (newUser) {
363
+ descriptionText = ( localize(4988, "Set up Copilot to use AI features."));
364
+ }
365
+ else if (disabled) {
366
+ descriptionText = ( localize(4989, "Enable Copilot to use AI features."));
367
+ }
368
+ else {
369
+ descriptionText = ( localize(4990, "Sign in to use Copilot AI features."));
370
+ }
371
+ let buttonLabel;
372
+ if (newUser) {
373
+ buttonLabel = ( localize(4991, "Set up Copilot"));
374
+ }
375
+ else if (disabled) {
376
+ buttonLabel = ( localize(4992, "Enable Copilot"));
377
+ }
378
+ else {
379
+ buttonLabel = ( localize(4993, "Sign in to use Copilot"));
380
+ }
381
+ this.element.appendChild($('div.description', undefined, descriptionText));
341
382
  const button = disposables.add(( new Button(this.element, { ...defaultButtonStyles })));
342
- button.label = newUser ? ( localize(4927, "Set up Copilot")) : ( localize(4928, "Sign in to use Copilot"));
343
- disposables.add(button.onDidClick(() => this.runCommandAndClose(newUser ? 'workbench.action.chat.triggerSetup' : () => this.chatEntitlementService.requests?.value.signIn())));
383
+ button.label = buttonLabel;
384
+ disposables.add(button.onDidClick(() => this.runCommandAndClose('workbench.action.chat.triggerSetup')));
344
385
  }
345
386
  }
346
387
  return this.element;
@@ -359,8 +400,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
359
400
  const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
360
401
  this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
361
402
  id: 'workbench.action.openChatStatusItemLink',
362
- label: ( localize(4929, "Learn More")),
363
- tooltip: ( localize(4929, "Learn More")),
403
+ label: ( localize(4994, "Learn More")),
404
+ tooltip: ( localize(4994, "Learn More")),
364
405
  class: ThemeIcon.asClassName(Codicon.linkExternal),
365
406
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
366
407
  }) : undefined);
@@ -401,7 +442,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
401
442
  const quotaIndicator = container.appendChild($('div.quota-indicator', undefined, $('div.quota-label', undefined, $('span', undefined, label), quotaValue), $('div.quota-bar', undefined, quotaBit), $('div.description', undefined, overageLabel)));
402
443
  if (supportsOverage && (this.chatEntitlementService.entitlement === ChatEntitlement.Pro || this.chatEntitlementService.entitlement === ChatEntitlement.ProPlus)) {
403
444
  const manageOverageButton = disposables.add(( new Button(quotaIndicator, { ...defaultButtonStyles, secondary: true })));
404
- manageOverageButton.label = ( localize(4930, "Manage paid premium requests"));
445
+ manageOverageButton.label = ( localize(4995, "Manage paid premium requests"));
405
446
  disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
406
447
  }
407
448
  const update = (quota) => {
@@ -414,16 +455,18 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
414
455
  else {
415
456
  usedPercentage = Math.max(0, 100 - quota.percentRemaining);
416
457
  }
417
- const quotaPercentageFormatter = new Intl.NumberFormat(undefined, { maximumFractionDigits: 1, minimumFractionDigits: 0 });
418
- const overageFormatter = new Intl.NumberFormat(undefined, { maximumFractionDigits: 2, minimumFractionDigits: 0 });
419
458
  if (quota.unlimited) {
420
- quotaValue.textContent = ( localize(4931, "Included"));
459
+ quotaValue.textContent = ( localize(4996, "Included"));
421
460
  }
422
461
  else if (quota.overageCount) {
423
- quotaValue.textContent = ( localize(4932, "+{0} requests", overageFormatter.format(quota.overageCount)));
462
+ quotaValue.textContent = ( localize(
463
+ 4997,
464
+ "+{0} requests",
465
+ this.quotaOverageFormatter.value.format(quota.overageCount)
466
+ ));
424
467
  }
425
468
  else {
426
- quotaValue.textContent = ( localize(4933, "{0}%", quotaPercentageFormatter.format(usedPercentage)));
469
+ quotaValue.textContent = ( localize(4998, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
427
470
  }
428
471
  quotaBit.style.width = `${usedPercentage}%`;
429
472
  if (usedPercentage >= 90) {
@@ -434,10 +477,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
434
477
  }
435
478
  if (supportsOverage) {
436
479
  if (quota.overageEnabled) {
437
- overageLabel.textContent = ( localize(4934, "Additional paid premium requests enabled."));
480
+ overageLabel.textContent = ( localize(4999, "Additional paid premium requests enabled."));
438
481
  }
439
482
  else {
440
- overageLabel.textContent = ( localize(4935, "Additional paid premium requests disabled."));
483
+ overageLabel.textContent = ( localize(5000, "Additional paid premium requests disabled."));
441
484
  }
442
485
  }
443
486
  else {
@@ -452,19 +495,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
452
495
  const settings = container.appendChild($('div.settings'));
453
496
  {
454
497
  const globalSetting = append(settings, $('div.setting'));
455
- this.createCodeCompletionsSetting(globalSetting, ( localize(4936, "Code Completions (all files)")), '*', disposables);
498
+ this.createCodeCompletionsSetting(globalSetting, ( localize(5001, "Code completions (all files)")), '*', disposables);
456
499
  if (modeId) {
457
500
  const languageSetting = append(settings, $('div.setting'));
458
501
  this.createCodeCompletionsSetting(languageSetting, ( localize(
459
- 4937,
460
- "Code Completions ({0})",
502
+ 5002,
503
+ "Code completions ({0})",
461
504
  this.languageService.getLanguageName(modeId) ?? modeId
462
505
  )), modeId, disposables);
463
506
  }
464
507
  }
465
508
  {
466
509
  const setting = append(settings, $('div.setting'));
467
- this.createNextEditSuggestionsSetting(setting, ( localize(4938, "Next Edit Suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
510
+ this.createNextEditSuggestionsSetting(setting, ( localize(5003, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
468
511
  }
469
512
  return settings;
470
513
  }
@@ -1,6 +1,6 @@
1
1
  import { IDynamicVariable } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables";
2
2
  import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service";
3
- import { IToolData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
3
+ import { IToolData, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
4
4
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
5
5
  export declare class ChatVariablesService implements IChatVariablesService {
6
6
  private readonly chatWidgetService;
@@ -8,4 +8,5 @@ export declare class ChatVariablesService implements IChatVariablesService {
8
8
  constructor(chatWidgetService: IChatWidgetService);
9
9
  getDynamicVariables(sessionId: string): ReadonlyArray<IDynamicVariable>;
10
10
  getSelectedTools(sessionId: string): ReadonlyArray<IToolData>;
11
+ getSelectedToolSets(sessionId: string): ReadonlyArray<ToolSet>;
11
12
  }
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
3
4
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
4
5
  import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
5
6
 
@@ -23,7 +24,16 @@ let ChatVariablesService = class ChatVariablesService {
23
24
  if (!widget) {
24
25
  return [];
25
26
  }
26
- return widget.input.selectedToolsModel.tools.get();
27
+ return Array.from(widget.input.selectedToolsModel.entries.get())
28
+ .filter((t) => !(t instanceof ToolSet));
29
+ }
30
+ getSelectedToolSets(sessionId) {
31
+ const widget = this.chatWidgetService.getWidgetBySessionId(sessionId);
32
+ if (!widget) {
33
+ return [];
34
+ }
35
+ return Array.from(widget.input.selectedToolsModel.entries.get())
36
+ .filter((t) => t instanceof ToolSet);
27
37
  }
28
38
  };
29
39
  ChatVariablesService = ( __decorate([
@@ -9,7 +9,7 @@ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log
9
9
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
10
10
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
11
11
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
12
- import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common/vscode/vs/workbench/browser/parts/views/viewPane";
12
+ import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common/vscode/vs/workbench/browser/parts/views/viewPane";
13
13
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
14
14
  import { IChatViewTitleActionContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatActions";
15
15
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
@@ -31,8 +31,6 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
31
31
  private readonly modelDisposables;
32
32
  private memento;
33
33
  private readonly viewState;
34
- private defaultParticipantRegistrationFailed;
35
- private didUnregisterProvider;
36
34
  private _restoringSession;
37
35
  constructor(chatOptions: {
38
36
  location: ChatAgentLocation.Panel;
@@ -28,13 +28,14 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
28
28
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
29
29
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
30
30
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
31
- import { ViewPane } from '@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common/vscode/vs/workbench/browser/parts/views/viewPane';
32
- import { Memento } from '@codingame/monaco-vscode-25a9b730-95ad-54d3-8807-71421ad9b891-common/vscode/vs/workbench/common/memento';
31
+ import { ViewPane } from '@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common/vscode/vs/workbench/browser/parts/views/viewPane';
32
+ import { Memento } from '@codingame/monaco-vscode-924e8f00-6faf-5059-b518-e43427d29ab3-common/vscode/vs/workbench/common/memento';
33
33
  import { SIDE_BAR_FOREGROUND } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
34
+ import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
34
35
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
35
36
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
36
- import { ChatModelInitState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
37
- import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
37
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
38
+ import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
38
39
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
39
40
  import { ChatAgentLocation, ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
40
41
  import { ChatWidget } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
@@ -52,8 +53,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
52
53
  this.logService = logService;
53
54
  this.layoutService = layoutService;
54
55
  this.modelDisposables = this._register(( new DisposableStore()));
55
- this.defaultParticipantRegistrationFailed = false;
56
- this.didUnregisterProvider = false;
57
56
  this.memento = ( new Memento('interactive-session-view-' + CHAT_PROVIDER_ID, this.storageService));
58
57
  this.viewState = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
59
58
  if (this.chatOptions.location === ChatAgentLocation.Panel && !this.viewState.hasMigratedCurrentSession) {
@@ -89,9 +88,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
89
88
  try {
90
89
  this._widget.setVisible(false);
91
90
  await this.updateModel(model, info.inputValue || info.mode ? { inputState: { chatMode: info.mode }, inputValue: info.inputValue } : undefined);
92
- this.defaultParticipantRegistrationFailed = false;
93
- this.didUnregisterProvider = false;
94
- this._onDidChangeViewWelcomeState.fire();
95
91
  }
96
92
  finally {
97
93
  this.widget.setVisible(wasVisible);
@@ -100,11 +96,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
100
96
  this._restoringSession.finally(() => this._restoringSession = undefined);
101
97
  }
102
98
  }
103
- else if (this._widget?.viewModel?.initState === ChatModelInitState.Initialized) {
104
- this.didUnregisterProvider = true;
105
- }
106
99
  this._onDidChangeViewWelcomeState.fire();
107
100
  }));
101
+ ChatContextKeys.panelLocation.bindTo(contextKeyService).set(viewDescriptorService.getViewLocationById(options.id) ?? ViewContainerLocation.AuxiliaryBar);
108
102
  }
109
103
  getActionsContext() {
110
104
  return this.widget?.viewModel ? {
@@ -132,8 +126,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
132
126
  const hasCoreAgent = ( this.chatAgentService.getAgents().some(
133
127
  agent => agent.isCore && agent.locations.includes(this.chatOptions.location)
134
128
  ));
135
- const shouldShow = !hasCoreAgent && (this.didUnregisterProvider || !this._widget?.viewModel && noPersistedSessions || this.defaultParticipantRegistrationFailed);
136
- this.logService.trace(`ChatViewPane#shouldShowWelcome(${this.chatOptions.location}) = ${shouldShow}: hasCoreAgent=${hasCoreAgent} didUnregister=${this.didUnregisterProvider} || noViewModel=${!this._widget?.viewModel} && noPersistedSessions=${noPersistedSessions} || defaultParticipantRegistrationFailed=${this.defaultParticipantRegistrationFailed}`);
129
+ const hasDefaultAgent = this.chatAgentService.getDefaultAgent(this.chatOptions.location) !== undefined;
130
+ const shouldShow = !hasCoreAgent && (!hasDefaultAgent || !this._widget?.viewModel && noPersistedSessions);
131
+ this.logService.trace(`ChatViewPane#shouldShowWelcome(${this.chatOptions.location}) = ${shouldShow}: hasCoreAgent=${hasCoreAgent} hasDefaultAgent=${hasDefaultAgent} || noViewModel=${!this._widget?.viewModel} && noPersistedSessions=${noPersistedSessions}`);
137
132
  return !!shouldShow;
138
133
  }
139
134
  getTransferredOrPersistedSessionInfo() {
@@ -185,13 +180,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
185
180
  this._register(this._widget.onDidClear(() => this.clear()));
186
181
  this._widget.render(parent);
187
182
  const info = this.getTransferredOrPersistedSessionInfo();
188
- const disposeListener = this._register(this.chatService.onDidDisposeSession((e) => {
189
- if (e.reason === 'initializationFailed') {
190
- this.defaultParticipantRegistrationFailed = true;
191
- disposeListener?.dispose();
192
- this._onDidChangeViewWelcomeState.fire();
193
- }
194
- }));
195
183
  const model = info.sessionId ? await this.chatService.getOrRestoreSession(info.sessionId) : undefined;
196
184
  await this.updateModel(model, info.inputValue || info.mode ? { inputState: { chatMode: info.mode }, inputValue: info.inputValue } : undefined);
197
185
  }
@@ -1,5 +1,5 @@
1
1
  import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { ICodeBlockActionContextProvider } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chat";
2
+ import { ICodeBlockActionContextProvider } from "@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat";
3
3
  import { IChatCodeBlockContextProviderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
4
4
  export declare class ChatCodeBlockContextProviderService implements IChatCodeBlockContextProviderService {
5
5
  _serviceBrand: undefined;
@@ -21,7 +21,8 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/sear
21
21
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
22
22
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
23
23
  import { chatSlashCommandBackground, chatSlashCommandForeground } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/chatColors';
24
- import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestSlashPromptPart, ChatRequestTextPart, ChatRequestToolPart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
24
+ import { IChatModeService } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatModes.service';
25
+ import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestSlashPromptPart, ChatRequestTextPart, ChatRequestToolPart, ChatRequestToolSetPart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
25
26
  import { ChatRequestParser } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
26
27
  import { ChatWidget } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
27
28
  import { dynamicVariableDecorationType } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
@@ -34,12 +35,13 @@ function agentAndCommandToKey(agent, subcommand) {
34
35
  return subcommand ? `${agent.id}__${subcommand}` : agent.id;
35
36
  }
36
37
  let InputEditorDecorations = class InputEditorDecorations extends Disposable {
37
- constructor(widget, codeEditorService, themeService, chatAgentService) {
38
+ constructor(widget, codeEditorService, themeService, chatAgentService, chatModeService) {
38
39
  super();
39
40
  this.widget = widget;
40
41
  this.codeEditorService = codeEditorService;
41
42
  this.themeService = themeService;
42
43
  this.chatAgentService = chatAgentService;
44
+ this.chatModeService = chatModeService;
43
45
  this.id = 'inputEditorDecorations';
44
46
  this.previouslyUsedAgents = ( new Set());
45
47
  this.viewModelDisposables = this._register(( new MutableDisposable()));
@@ -57,6 +59,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
57
59
  this.previouslyUsedAgents.add(agentAndCommandToKey(e.agent, e.slashCommand?.name));
58
60
  }));
59
61
  this._register(this.chatAgentService.onDidChangeAgents(() => this.updateInputEditorDecorations()));
62
+ this._register(this.chatModeService.onDidChangeChatModes(() => this.updateInputEditorDecorations()));
60
63
  this.registerViewModelListeners();
61
64
  }
62
65
  registerViewModelListeners() {
@@ -101,7 +104,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
101
104
  return;
102
105
  }
103
106
  if (!inputValue) {
104
- const defaultAgent = this.chatAgentService.getDefaultAgent(this.widget.location, this.widget.input.currentMode);
107
+ const description = this.widget.input.currentMode2.description;
105
108
  const decoration = [
106
109
  {
107
110
  range: {
@@ -112,7 +115,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
112
115
  },
113
116
  renderOptions: {
114
117
  after: {
115
- contentText: viewModel.inputPlaceholder || (defaultAgent?.description ?? ''),
118
+ contentText: viewModel.inputPlaceholder || (description ?? ''),
116
119
  color: this.getPlaceholderColor()
117
120
  }
118
121
  }
@@ -203,7 +206,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
203
206
  }
204
207
  this.widget.inputEditor.setDecorationsByType(decorationDescription, slashCommandTextDecorationType, textDecorations);
205
208
  const varDecorations = [];
206
- const toolParts = parsedRequest.filter((p) => p instanceof ChatRequestToolPart);
209
+ const toolParts = parsedRequest.filter((p) => p instanceof ChatRequestToolPart || p instanceof ChatRequestToolSetPart);
207
210
  for (const tool of toolParts) {
208
211
  varDecorations.push({ range: tool.editorRange });
209
212
  }
@@ -213,7 +216,8 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
213
216
  InputEditorDecorations = ( __decorate([
214
217
  ( __param(1, ICodeEditorService)),
215
218
  ( __param(2, IThemeService)),
216
- ( __param(3, IChatAgentService))
219
+ ( __param(3, IChatAgentService)),
220
+ ( __param(4, IChatModeService))
217
221
  ], InputEditorDecorations));
218
222
  class InputEditorSlashCommandMode extends Disposable {
219
223
  constructor(widget) {
@@ -58,7 +58,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
58
58
  return ( new RenderedHoverParts([renderedHoverPart]));
59
59
  }
60
60
  getAccessibleContent(hoverPart) {
61
- return localize(4967, 'There is a chat agent hover part here.');
61
+ return localize(5034, 'There is a chat agent hover part here.');
62
62
  }
63
63
  };
64
64
  ChatAgentHoverParticipant = ( __decorate([