@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.
- package/index.js +7 -4
- package/package.json +36 -30
- package/vscode/src/vs/base/common/objectCache.d.ts +2 -2
- package/vscode/src/vs/base/common/objectCache.js +3 -3
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +10 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +40 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +256 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +234 -572
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +29 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +107 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +344 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +84 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +137 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +54 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +40 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +15 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +171 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +176 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +15 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +35 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +80 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +11 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +15 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +18 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +118 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +46 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +379 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +31 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +382 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +99 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +9 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +18 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +95 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +92 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/media/github.svg +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google.svg +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +10 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +111 -111
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +36 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +91 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +348 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +46 -36
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +21 -11
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptPathAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +21 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +111 -124
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +22 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +159 -97
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +15 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +2 -14
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +198 -33
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +28 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +0 -73
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +0 -74
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +0 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +0 -68
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +0 -121
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +0 -13
- 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-
|
|
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 {
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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(
|
|
156
|
+
let ariaLabel = ( localize(4969, "Copilot Status"));
|
|
157
157
|
let kind;
|
|
158
|
-
if (
|
|
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.
|
|
162
|
-
|
|
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.
|
|
185
|
+
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
|
|
168
186
|
let quotaWarning;
|
|
169
187
|
if (chatQuotaExceeded && !completionsQuotaExceeded) {
|
|
170
|
-
quotaWarning = ( localize(
|
|
188
|
+
quotaWarning = ( localize(4973, "Chat quota reached"));
|
|
171
189
|
}
|
|
172
190
|
else if (completionsQuotaExceeded && !chatQuotaExceeded) {
|
|
173
|
-
quotaWarning = ( localize(
|
|
191
|
+
quotaWarning = ( localize(4974, "Completions quota reached"));
|
|
174
192
|
}
|
|
175
193
|
else {
|
|
176
|
-
quotaWarning = ( localize(
|
|
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(
|
|
202
|
+
ariaLabel = ( localize(4976, "Code completions disabled"));
|
|
185
203
|
}
|
|
186
204
|
}
|
|
187
205
|
return {
|
|
188
|
-
name: ( localize(
|
|
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
|
|
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
|
|
218
|
-
const allFreeQuotaReached =
|
|
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 = (
|
|
246
|
-
|
|
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(
|
|
285
|
+
addSeparator(( localize(4977, "Copilot Usage")), toAction({
|
|
267
286
|
id: 'workbench.action.manageCopilot',
|
|
268
|
-
label: ( localize(
|
|
269
|
-
tooltip: ( localize(
|
|
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(
|
|
274
|
-
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(
|
|
275
|
-
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(
|
|
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
|
-
|
|
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.
|
|
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(
|
|
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
|
-
|
|
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(
|
|
329
|
-
tooltip: ( localize(
|
|
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
|
-
|
|
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 =
|
|
343
|
-
disposables.add(button.onDidClick(() => this.runCommandAndClose(
|
|
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(
|
|
363
|
-
tooltip: ( localize(
|
|
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(
|
|
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(
|
|
459
|
+
quotaValue.textContent = ( localize(4996, "Included"));
|
|
421
460
|
}
|
|
422
461
|
else if (quota.overageCount) {
|
|
423
|
-
quotaValue.textContent = ( localize(
|
|
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(
|
|
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(
|
|
480
|
+
overageLabel.textContent = ( localize(4999, "Additional paid premium requests enabled."));
|
|
438
481
|
}
|
|
439
482
|
else {
|
|
440
|
-
overageLabel.textContent = ( localize(
|
|
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(
|
|
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
|
-
|
|
460
|
-
"Code
|
|
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(
|
|
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.
|
|
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-
|
|
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-
|
|
32
|
-
import { Memento } from '@codingame/monaco-vscode-
|
|
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 {
|
|
37
|
-
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-
|
|
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
|
|
136
|
-
|
|
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-
|
|
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 {
|
|
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
|
|
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 || (
|
|
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(
|
|
61
|
+
return localize(5034, 'There is a chat agent hover part here.');
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
ChatAgentHoverParticipant = ( __decorate([
|