@codingame/monaco-vscode-chat-service-override 16.1.0 → 17.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 +6 -6
- package/package.json +30 -27
- package/vscode/src/vs/base/common/objectCache.d.ts +1 -1
- package/vscode/src/vs/base/common/objectCache.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +41 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +410 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +3 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +32 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +159 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +244 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -168
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +48 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +46 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +118 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +45 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +48 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +53 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +32 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +9 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +80 -268
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +214 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +26 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +186 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +129 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +313 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +12 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +42 -181
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +484 -384
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +187 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusItemService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +3 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +8 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +264 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +28 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +41 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +8 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +2 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +20 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +67 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +73 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +82 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +44 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +24 -14
- 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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +14 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +8 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +84 -80
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.js +27 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +74 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +65 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptLinkProvider.js +3 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptPathAutocompletion.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptPathAutocompletion.js +14 -19
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +17 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +223 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +28 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +20 -31
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +15 -12
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +12 -12
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceUtils.d.ts +0 -2
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceUtils.js +1 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/chatAttachPromptAction.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/chatAttachPromptAction.js +0 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/askToSelectPrompt.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/askToSelectPrompt.js +0 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/constants.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/constants.js +0 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/attachPrompts.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/attachPrompts.js +0 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPlaceholderText.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPlaceholderText.js +0 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPromptPickItem.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPromptPickItem.js +0 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/handleButtonClick.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/handleButtonClick.js +0 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/usePromptCommand.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/usePromptCommand.js +0 -80
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/constants.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/constants.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +0 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +0 -64
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkDiagnosticsProvider.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkDiagnosticsProvider.js +0 -117
- /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptLinkProvider.d.ts +0 -0
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { renderStringAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
4
|
+
import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
4
5
|
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
6
|
+
import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
5
7
|
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
6
8
|
import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
|
|
7
9
|
import { CancellationError, isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
8
10
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
9
|
-
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
10
11
|
import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
|
|
11
12
|
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
12
|
-
import { Disposable, DisposableStore, toDisposable
|
|
13
|
+
import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
13
14
|
import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
14
|
-
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
15
|
-
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
16
|
-
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
17
15
|
import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
|
|
18
16
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
19
17
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
@@ -30,7 +28,8 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
|
|
|
30
28
|
import { ChatToolInvocation } from '../common/chatProgressTypes/chatToolInvocation.js';
|
|
31
29
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
32
30
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
33
|
-
import { stringifyPromptTsxPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
31
|
+
import { createToolSchemaUri, stringifyPromptTsxPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
32
|
+
import { getToolConfirmationAlert } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatAccessibilityProvider';
|
|
34
33
|
|
|
35
34
|
var ToolConfirmStore_1;
|
|
36
35
|
const jsonSchemaRegistry = ( Registry.as(Extensions.JSONContribution));
|
|
@@ -82,9 +81,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
82
81
|
let store;
|
|
83
82
|
if (toolData.inputSchema) {
|
|
84
83
|
store = ( new DisposableStore());
|
|
85
|
-
const schemaUrl = ( (
|
|
86
|
-
{ scheme: Schemas.vscode, authority: 'schemas', path: `/lm/tool/${toolData.id}` }
|
|
87
|
-
)).toString());
|
|
84
|
+
const schemaUrl = ( createToolSchemaUri(toolData.id).toString());
|
|
88
85
|
jsonSchemaRegistry.registerSchema(schemaUrl, toolData.inputSchema, store);
|
|
89
86
|
store.add(jsonSchemaRegistry.registerSchemaAssociation(schemaUrl, `/lm/tool/${toolData.id}/tool_input.json`));
|
|
90
87
|
}
|
|
@@ -192,7 +189,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
192
189
|
if (!( this._callsByRequestId.has(requestId))) {
|
|
193
190
|
this._callsByRequestId.set(requestId, []);
|
|
194
191
|
}
|
|
195
|
-
|
|
192
|
+
const trackedCall = { store };
|
|
193
|
+
this._callsByRequestId.get(requestId).push(trackedCall);
|
|
196
194
|
const source = ( new CancellationTokenSource());
|
|
197
195
|
store.add(toDisposable(() => {
|
|
198
196
|
source.dispose(true);
|
|
@@ -207,12 +205,13 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
207
205
|
token = source.token;
|
|
208
206
|
const prepared = await this.prepareToolInvocation(tool, dto, token);
|
|
209
207
|
toolInvocation = ( new ChatToolInvocation(prepared, tool.data, dto.callId));
|
|
208
|
+
trackedCall.invocation = toolInvocation;
|
|
210
209
|
if (this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace)) {
|
|
211
210
|
toolInvocation.confirmed.complete(true);
|
|
212
211
|
}
|
|
213
212
|
model.acceptResponseProgress(request, toolInvocation);
|
|
214
213
|
if (prepared?.confirmationMessages) {
|
|
215
|
-
this._accessibilityService.alert((
|
|
214
|
+
this._accessibilityService.alert(this._instantiationService.invokeFunction(getToolConfirmationAlert, prepared.confirmationMessages.title));
|
|
216
215
|
const userConfirmed = await toolInvocation.confirmed.p;
|
|
217
216
|
if (!userConfirmed) {
|
|
218
217
|
throw ( new CancellationError());
|
|
@@ -236,7 +235,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
236
235
|
if (token.isCancellationRequested) {
|
|
237
236
|
throw ( new CancellationError());
|
|
238
237
|
}
|
|
239
|
-
toolResult = await tool.impl.invoke(dto, countTokens,
|
|
238
|
+
toolResult = await tool.impl.invoke(dto, countTokens, {
|
|
239
|
+
report: step => {
|
|
240
|
+
toolInvocation?.acceptProgress(step);
|
|
241
|
+
}
|
|
242
|
+
}, token);
|
|
240
243
|
this.ensureToolDetails(dto, toolResult, tool.data);
|
|
241
244
|
this._telemetryService.publicLog2('languageModelToolInvoked', {
|
|
242
245
|
result: 'success',
|
|
@@ -256,7 +259,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
256
259
|
toolExtensionId: tool.data.source.type === 'extension' ? tool.data.source.extensionId.value : undefined,
|
|
257
260
|
toolSourceKind: tool.data.source.type,
|
|
258
261
|
});
|
|
259
|
-
this._logService.error(`[LanguageModelToolsService#invokeTool] Error from tool ${dto.toolId}
|
|
262
|
+
this._logService.error(`[LanguageModelToolsService#invokeTool] Error from tool ${dto.toolId} with parameters ${JSON.stringify(dto.parameters)}:\n${toErrorMessage(err, true)}`);
|
|
263
|
+
toolResult ??= { content: [] };
|
|
264
|
+
toolResult.toolResultError = err instanceof Error ? err.message : String(err);
|
|
265
|
+
if (tool.data.alwaysDisplayInputOutput) {
|
|
266
|
+
toolResult.toolResultDetails = { input: this.formatToolInput(dto), output: [{ type: 'text', value: String(err) }], isError: true };
|
|
267
|
+
}
|
|
260
268
|
throw err;
|
|
261
269
|
}
|
|
262
270
|
finally {
|
|
@@ -267,28 +275,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
267
275
|
}
|
|
268
276
|
}
|
|
269
277
|
async prepareToolInvocation(tool, dto, token) {
|
|
270
|
-
|
|
278
|
+
const prepared = tool.impl.prepareToolInvocation ?
|
|
271
279
|
await tool.impl.prepareToolInvocation(dto.parameters, token)
|
|
272
280
|
: undefined;
|
|
273
|
-
if (!prepared?.confirmationMessages && tool.data.requiresConfirmation && tool.data.source.type === 'extension') {
|
|
274
|
-
if (!prepared) {
|
|
275
|
-
prepared = {};
|
|
276
|
-
}
|
|
277
|
-
const toolWarning = ( localize(
|
|
278
|
-
4906,
|
|
279
|
-
"{0} This tool is from the extension `{1}`. Please carefully review any requested actions.",
|
|
280
|
-
'$(info)',
|
|
281
|
-
tool.data.source.extensionId.value
|
|
282
|
-
));
|
|
283
|
-
prepared.confirmationMessages = {
|
|
284
|
-
title: ( localize(4907, "Run {0}", `"${tool.data.displayName}"`)),
|
|
285
|
-
message: ( new MarkdownString(
|
|
286
|
-
(tool.data.userDescription ?? tool.data.modelDescription) + '\n\n' + toolWarning,
|
|
287
|
-
{ supportThemeIcons: true }
|
|
288
|
-
)),
|
|
289
|
-
allowAutoConfirm: true,
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
281
|
if (prepared?.confirmationMessages) {
|
|
293
282
|
if (prepared.toolSpecificData?.kind !== 'terminal' && typeof prepared.confirmationMessages.allowAutoConfirm !== 'boolean') {
|
|
294
283
|
prepared.confirmationMessages.allowAutoConfirm = true;
|
|
@@ -305,22 +294,29 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
305
294
|
ensureToolDetails(dto, toolResult, toolData) {
|
|
306
295
|
if (!toolResult.toolResultDetails && toolData.alwaysDisplayInputOutput) {
|
|
307
296
|
toolResult.toolResultDetails = {
|
|
308
|
-
input:
|
|
309
|
-
output: this.
|
|
297
|
+
input: this.formatToolInput(dto),
|
|
298
|
+
output: this.toolResultToIO(toolResult),
|
|
310
299
|
};
|
|
311
300
|
}
|
|
312
301
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
302
|
+
formatToolInput(dto) {
|
|
303
|
+
return JSON.stringify(dto.parameters, undefined, 2);
|
|
304
|
+
}
|
|
305
|
+
toolResultToIO(toolResult) {
|
|
306
|
+
return ( toolResult.content.map(part => {
|
|
316
307
|
if (part.kind === 'text') {
|
|
317
|
-
|
|
308
|
+
return { type: 'text', value: part.value };
|
|
318
309
|
}
|
|
319
310
|
else if (part.kind === 'promptTsx') {
|
|
320
|
-
|
|
311
|
+
return { type: 'text', value: stringifyPromptTsxPart(part) };
|
|
321
312
|
}
|
|
322
|
-
|
|
323
|
-
|
|
313
|
+
else if (part.kind === 'data') {
|
|
314
|
+
return { type: 'data', value64: encodeBase64(part.value.data), mimeType: part.value.mimeType };
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
assertNever();
|
|
318
|
+
}
|
|
319
|
+
}));
|
|
324
320
|
}
|
|
325
321
|
shouldAutoConfirm(toolId, runsInWorkspace) {
|
|
326
322
|
if (this._workspaceToolConfirmStore.value.getAutoConfirm(toolId) || this._profileToolConfirmStore.value.getAutoConfirm(toolId) || ( this._memoryToolConfirmStore.has(toolId))) {
|
|
@@ -339,7 +335,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
339
335
|
cleanupCallDisposables(requestId, store) {
|
|
340
336
|
const disposables = this._callsByRequestId.get(requestId);
|
|
341
337
|
if (disposables) {
|
|
342
|
-
const index = disposables.
|
|
338
|
+
const index = disposables.findIndex(d => d.store === store);
|
|
343
339
|
if (index > -1) {
|
|
344
340
|
disposables.splice(index, 1);
|
|
345
341
|
}
|
|
@@ -352,13 +348,13 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
352
348
|
cancelToolCallsForRequest(requestId) {
|
|
353
349
|
const calls = this._callsByRequestId.get(requestId);
|
|
354
350
|
if (calls) {
|
|
355
|
-
calls.forEach(call => call.dispose());
|
|
351
|
+
calls.forEach(call => call.store.dispose());
|
|
356
352
|
this._callsByRequestId.delete(requestId);
|
|
357
353
|
}
|
|
358
354
|
}
|
|
359
355
|
dispose() {
|
|
360
356
|
super.dispose();
|
|
361
|
-
this._callsByRequestId.forEach(calls => dispose(
|
|
357
|
+
this._callsByRequestId.forEach(calls => calls.forEach(call => call.store.dispose()));
|
|
362
358
|
this._ctxToolsCount.reset();
|
|
363
359
|
}
|
|
364
360
|
};
|
|
@@ -27,49 +27,25 @@
|
|
|
27
27
|
.chat-editor-overlay-widget .chat-editor-overlay-progress {
|
|
28
28
|
align-items: center;
|
|
29
29
|
display: none;
|
|
30
|
-
padding:
|
|
30
|
+
padding: 5px 0 5px 5px;
|
|
31
31
|
font-size: 12px;
|
|
32
|
-
font-variant-numeric: tabular-nums;
|
|
33
32
|
overflow: hidden;
|
|
34
|
-
|
|
33
|
+
gap: 6px;
|
|
35
34
|
}
|
|
36
35
|
.chat-editor-overlay-widget.busy .chat-editor-overlay-progress {
|
|
37
36
|
display: inline-flex;
|
|
38
37
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
50% {
|
|
47
|
-
content: "..";
|
|
48
|
-
}
|
|
49
|
-
75% {
|
|
50
|
-
content: "...";
|
|
51
|
-
}
|
|
52
|
-
100% {
|
|
53
|
-
content: "";
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
.chat-editor-overlay-widget.busy.paused .chat-editor-overlay-progress {
|
|
57
|
-
.codicon-loading {
|
|
58
|
-
display: none;
|
|
59
|
-
}
|
|
38
|
+
.chat-editor-overlay-widget .chat-editor-overlay-progress .progress-message {
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
max-width: 13em;
|
|
41
|
+
overflow: hidden;
|
|
42
|
+
text-overflow: ellipsis;
|
|
43
|
+
padding-right: 8px;
|
|
60
44
|
}
|
|
61
45
|
.chat-editor-overlay-widget .action-item > .action-label {
|
|
62
46
|
padding: 5px;
|
|
63
47
|
font-size: 12px;
|
|
64
48
|
}
|
|
65
|
-
.chat-editor-overlay-widget.busy .action-item > .action-label.busy::after {
|
|
66
|
-
content: "";
|
|
67
|
-
display: inline-flex;
|
|
68
|
-
white-space: nowrap;
|
|
69
|
-
overflow: hidden;
|
|
70
|
-
width: 3ch;
|
|
71
|
-
animation: ellipsis steps(4, end) 1s infinite;
|
|
72
|
-
}
|
|
73
49
|
.chat-editor-overlay-widget .action-item:first-child > .action-label {
|
|
74
50
|
padding-left: 7px;
|
|
75
51
|
}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
.chat-
|
|
2
|
-
text-align: center;
|
|
3
|
-
.chat-features-container {
|
|
4
|
-
display: flex;
|
|
5
|
-
justify-content: center;
|
|
6
|
-
text-align: initial;
|
|
7
|
-
border-radius: 2px;
|
|
8
|
-
border: 1px solid var(--vscode-chat-requestBorder);
|
|
9
|
-
background-color: var(--vscode-chat-requestBackground);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
.dialog-message-body .chat-setup-view {
|
|
1
|
+
.chat-setup-dialog {
|
|
13
2
|
p {
|
|
14
3
|
margin-top: 0;
|
|
15
4
|
margin-bottom: 0;
|
|
5
|
+
width: 100%;
|
|
16
6
|
}
|
|
17
7
|
p.setup-legal {
|
|
18
8
|
font-size: 12px;
|
|
@@ -24,12 +14,6 @@
|
|
|
24
14
|
color: var(--vscode-descriptionForeground);
|
|
25
15
|
margin-top: 1em;
|
|
26
16
|
}
|
|
27
|
-
}
|
|
28
|
-
.dialog-message-body .chat-setup-view,
|
|
29
|
-
.chat-welcome-view .chat-setup-view {
|
|
30
|
-
p {
|
|
31
|
-
width: 100%;
|
|
32
|
-
}
|
|
33
17
|
.chat-feature-container {
|
|
34
18
|
display: flex;
|
|
35
19
|
align-items: center;
|
|
@@ -7,11 +7,17 @@
|
|
|
7
7
|
margin-bottom: 8px;
|
|
8
8
|
}
|
|
9
9
|
.chat-status-bar-entry-tooltip div.header {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
10
12
|
color: var(--vscode-descriptionForeground);
|
|
11
13
|
margin-bottom: 4px;
|
|
12
14
|
font-weight: 600;
|
|
13
15
|
}
|
|
16
|
+
.chat-status-bar-entry-tooltip div.header .monaco-action-bar {
|
|
17
|
+
margin-left: auto;
|
|
18
|
+
}
|
|
14
19
|
.chat-status-bar-entry-tooltip div.description {
|
|
20
|
+
font-size: 11px;
|
|
15
21
|
color: var(--vscode-descriptionForeground);
|
|
16
22
|
}
|
|
17
23
|
.chat-status-bar-entry-tooltip .monaco-button {
|
|
@@ -30,14 +36,19 @@
|
|
|
30
36
|
.chat-status-bar-entry-tooltip .quota-indicator .quota-label {
|
|
31
37
|
display: flex;
|
|
32
38
|
justify-content: space-between;
|
|
39
|
+
gap: 20px;
|
|
33
40
|
margin-bottom: 3px;
|
|
34
41
|
}
|
|
42
|
+
.chat-status-bar-entry-tooltip .quota-indicator .quota-label .quota-value {
|
|
43
|
+
color: var(--vscode-descriptionForeground);
|
|
44
|
+
}
|
|
35
45
|
.chat-status-bar-entry-tooltip .quota-indicator .quota-bar {
|
|
36
46
|
width: 100%;
|
|
37
47
|
height: 4px;
|
|
38
48
|
background-color: var(--vscode-gauge-foreground);
|
|
39
49
|
border-radius: 4px;
|
|
40
50
|
border: 1px solid var(--vscode-gauge-border);
|
|
51
|
+
margin: 4px 0;
|
|
41
52
|
}
|
|
42
53
|
.chat-status-bar-entry-tooltip .quota-indicator .quota-bar .quota-bit {
|
|
43
54
|
height: 100%;
|
|
@@ -70,9 +81,6 @@
|
|
|
70
81
|
width: 14px;
|
|
71
82
|
margin-right: 5px;
|
|
72
83
|
}
|
|
73
|
-
.chat-status-bar-entry-tooltip .settings .setting .codicon {
|
|
74
|
-
font-size: 12px;
|
|
75
|
-
}
|
|
76
84
|
.chat-status-bar-entry-tooltip .settings .setting .setting-label {
|
|
77
85
|
cursor: pointer;
|
|
78
86
|
}
|
|
@@ -82,8 +90,16 @@
|
|
|
82
90
|
.chat-status-bar-entry-tooltip .contribution .body {
|
|
83
91
|
display: flex;
|
|
84
92
|
flex-direction: row;
|
|
85
|
-
|
|
93
|
+
align-items: center;
|
|
94
|
+
gap: 5px;
|
|
95
|
+
.description,
|
|
86
96
|
.detail-item {
|
|
97
|
+
display: flex;
|
|
98
|
+
align-items: center;
|
|
99
|
+
gap: 3px;
|
|
100
|
+
}
|
|
101
|
+
.detail-item,
|
|
102
|
+
.detail-item a {
|
|
87
103
|
margin-left: auto;
|
|
88
104
|
color: var(--vscode-descriptionForeground);
|
|
89
105
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
.element-selection-message,
|
|
2
|
+
.element-expand-container {
|
|
3
|
+
position: absolute;
|
|
4
|
+
bottom: 10px;
|
|
5
|
+
right: 10px;
|
|
6
|
+
padding: 0px 10px;
|
|
7
|
+
background: var(--vscode-notifications-background);
|
|
8
|
+
color: var(--vscode-notifications-foreground);
|
|
9
|
+
border-radius: 4px;
|
|
10
|
+
font-size: 12px;
|
|
11
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
gap: 8px;
|
|
15
|
+
width: max-content;
|
|
16
|
+
z-index: 1;
|
|
17
|
+
height: 42px;
|
|
18
|
+
}
|
|
19
|
+
.element-selection-message {
|
|
20
|
+
bottom: 10px;
|
|
21
|
+
right: 10px;
|
|
22
|
+
}
|
|
23
|
+
.element-expand-container {
|
|
24
|
+
bottom: 15px;
|
|
25
|
+
right: 15px;
|
|
26
|
+
}
|
|
27
|
+
.element-selection-cancel,
|
|
28
|
+
.element-selection-start {
|
|
29
|
+
padding: 2px 8px;
|
|
30
|
+
width: fit-content;
|
|
31
|
+
}
|
|
32
|
+
.element-selection-message .monaco-button.codicon.codicon-close,
|
|
33
|
+
.element-expand-container .monaco-button.codicon.codicon-layout,
|
|
34
|
+
.element-selection-message .monaco-button.codicon.codicon-chevron-right,
|
|
35
|
+
.element-selection-message .monaco-button.codicon.codicon-gear {
|
|
36
|
+
width: 17px;
|
|
37
|
+
height: 17px;
|
|
38
|
+
padding: 2px 2px;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
font-size: 16px;
|
|
43
|
+
color: var(--vscode-descriptionForeground);
|
|
44
|
+
border: none;
|
|
45
|
+
outline: none;
|
|
46
|
+
padding: 0;
|
|
47
|
+
border-radius: 5px;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
}
|
|
50
|
+
.element-selection .monaco-button {
|
|
51
|
+
height: 17px;
|
|
52
|
+
width: fit-content;
|
|
53
|
+
padding: 2px 6px;
|
|
54
|
+
font-size: 11px;
|
|
55
|
+
background-color: var(--vscode-button-background);
|
|
56
|
+
border: 1px solid var(--vscode-button-border);
|
|
57
|
+
color: var(--vscode-button-foreground);
|
|
58
|
+
}
|
|
59
|
+
.element-selection-message .monaco-button:hover,
|
|
60
|
+
.element-expand-container .monaco-button:hover {
|
|
61
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
62
|
+
}
|
|
63
|
+
.element-selection-message .hidden,
|
|
64
|
+
.element-expand-container.hidden,
|
|
65
|
+
.element-selection-message.hidden {
|
|
66
|
+
display: none !important;
|
|
67
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { IChatWidget } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
3
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
export declare const INSTRUCTIONS_COMMAND_ID = "workbench.command.instructions.attach";
|
|
5
|
+
export declare function getFocusedChatWidget(accessor: ServicesAccessor): IChatWidget | undefined;
|
|
6
|
+
export declare const getActiveInstructionsFileUri: (accessor: ServicesAccessor) => URI | undefined;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
|
|
2
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
4
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
5
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
6
|
+
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
9
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
10
|
+
import { INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/constants';
|
|
11
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
|
+
import { PromptsConfig } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/config';
|
|
13
|
+
import '../../actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js';
|
|
14
|
+
import '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
15
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
16
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
17
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
18
|
+
import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
19
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
|
|
20
|
+
import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
21
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
22
|
+
import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions';
|
|
23
|
+
import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
24
|
+
import '../../../common/promptSyntax/service/promptsService.js';
|
|
25
|
+
import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
|
|
26
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
27
|
+
import { runAttachInstructionsAction } from '../../actions/promptActions/chatAttachInstructionsAction.js';
|
|
28
|
+
|
|
29
|
+
const INSTRUCTIONS_COMMAND_ID = 'workbench.command.instructions.attach';
|
|
30
|
+
const INSTRUCTIONS_COMMAND_KEY_BINDING = KeyMod.CtrlCmd | KeyCode.Slash | KeyMod.Alt;
|
|
31
|
+
const command = async (accessor) => {
|
|
32
|
+
const commandService = accessor.get(ICommandService);
|
|
33
|
+
await runAttachInstructionsAction(commandService, {
|
|
34
|
+
resource: getActiveInstructionsFileUri(accessor),
|
|
35
|
+
widget: getFocusedChatWidget(accessor),
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
function getFocusedChatWidget(accessor) {
|
|
39
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
40
|
+
const { lastFocusedWidget } = chatWidgetService;
|
|
41
|
+
if (!lastFocusedWidget) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (!lastFocusedWidget.hasInputFocus()) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return lastFocusedWidget;
|
|
48
|
+
}
|
|
49
|
+
const getActiveInstructionsFileUri = (accessor) => {
|
|
50
|
+
const codeEditorService = accessor.get(ICodeEditorService);
|
|
51
|
+
const model = codeEditorService.getActiveCodeEditor()?.getModel();
|
|
52
|
+
if (model?.getLanguageId() === INSTRUCTIONS_LANGUAGE_ID) {
|
|
53
|
+
return model.uri;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
};
|
|
57
|
+
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
58
|
+
id: INSTRUCTIONS_COMMAND_ID,
|
|
59
|
+
weight: KeybindingWeight.WorkbenchContrib,
|
|
60
|
+
primary: INSTRUCTIONS_COMMAND_KEY_BINDING,
|
|
61
|
+
handler: command,
|
|
62
|
+
when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
|
|
63
|
+
});
|
|
64
|
+
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
65
|
+
command: {
|
|
66
|
+
id: INSTRUCTIONS_COMMAND_ID,
|
|
67
|
+
title: ( localize(4973, "Attach Instructions...")),
|
|
68
|
+
category: CHAT_CATEGORY
|
|
69
|
+
},
|
|
70
|
+
when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled))
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export { INSTRUCTIONS_COMMAND_ID, getActiveInstructionsFileUri, getFocusedChatWidget };
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const NEW_PROMPT_COMMAND_ID = "workbench.command.new.prompt";
|
|
2
|
+
export declare const NEW_INSTRUCTIONS_COMMAND_ID = "workbench.command.new.instructions";
|