@codingame/monaco-vscode-chat-service-override 20.1.1 → 20.2.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/package.json +36 -36
- package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +73 -0
- package/vscode/src/vs/base/common/policy.d.ts +27 -0
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/editorHoverWrapper.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/media/editorHoverWrapper.css +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +32 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +41 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +39 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +39 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +64 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +39 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +70 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceBase.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +144 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/objectCache.d.ts +83 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.service.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +4 -0
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/
|
|
|
11
11
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
12
12
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
13
13
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
14
|
+
/**
|
|
15
|
+
* Utility class to locate prompt files.
|
|
16
|
+
*/
|
|
14
17
|
export declare class PromptFilesLocator extends Disposable {
|
|
15
18
|
private readonly fileService;
|
|
16
19
|
private readonly configService;
|
|
@@ -20,6 +23,11 @@ export declare class PromptFilesLocator extends Disposable {
|
|
|
20
23
|
private readonly userDataService;
|
|
21
24
|
private readonly logService;
|
|
22
25
|
constructor(fileService: IFileService, configService: IConfigurationService, workspaceService: IWorkspaceContextService, environmentService: IWorkbenchEnvironmentService, searchService: ISearchService, userDataService: IUserDataProfileService, logService: ILogService);
|
|
26
|
+
/**
|
|
27
|
+
* List all prompt files from the filesystem.
|
|
28
|
+
*
|
|
29
|
+
* @returns List of prompt files found in the workspace.
|
|
30
|
+
*/
|
|
23
31
|
listFiles(type: PromptsType, storage: TPromptsStorage, token: CancellationToken): Promise<readonly URI[]>;
|
|
24
32
|
private listFilesInUserData;
|
|
25
33
|
getCopilotInstructionsFiles(instructionFilePaths: Iterable<string>): Promise<URI[]>;
|
|
@@ -27,11 +35,42 @@ export declare class PromptFilesLocator extends Disposable {
|
|
|
27
35
|
readonly event: Event<void>;
|
|
28
36
|
dispose: () => void;
|
|
29
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Get all possible unambiguous prompt file source folders based on
|
|
40
|
+
* the current workspace folder structure.
|
|
41
|
+
*
|
|
42
|
+
* This method is currently primarily used by the `> Create Prompt`
|
|
43
|
+
* command that providers users with the list of destination folders
|
|
44
|
+
* for a newly created prompt file. Because such a list cannot contain
|
|
45
|
+
* paths that include `glob pattern` in them, we need to process config
|
|
46
|
+
* values and try to create a list of clear and unambiguous locations.
|
|
47
|
+
*
|
|
48
|
+
* @returns List of possible unambiguous prompt file folders.
|
|
49
|
+
*/
|
|
30
50
|
getConfigBasedSourceFolders(type: PromptsType): readonly URI[];
|
|
51
|
+
/**
|
|
52
|
+
* Finds all existent prompt files in the configured local source folders.
|
|
53
|
+
*
|
|
54
|
+
* @returns List of prompt files found in the local source folders.
|
|
55
|
+
*/
|
|
31
56
|
private listFilesInLocal;
|
|
32
57
|
private getLocalParentFolders;
|
|
58
|
+
/**
|
|
59
|
+
* Converts locations defined in `settings` to absolute filesystem path URIs.
|
|
60
|
+
* This conversion is needed because locations in settings can be relative,
|
|
61
|
+
* hence we need to resolve them based on the current workspace folders.
|
|
62
|
+
*/
|
|
33
63
|
private toAbsoluteLocations;
|
|
64
|
+
/**
|
|
65
|
+
* Uses the file service to resolve the provided location and return either the file at the location of files in the directory.
|
|
66
|
+
*/
|
|
34
67
|
private resolveFilesAtLocation;
|
|
68
|
+
/**
|
|
69
|
+
* Uses the search service to find all files at the provided location
|
|
70
|
+
*/
|
|
35
71
|
private searchFilesInLocation;
|
|
36
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Checks if the provided `pattern` could be a valid glob pattern.
|
|
75
|
+
*/
|
|
37
76
|
export declare function isValidGlob(pattern: string): boolean;
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A schema for parametersSchema
|
|
3
|
+
* This is a subset of https://json-schema.org/draft-07/schema to capture what is actually supported by language models for tools, mainly, that they must be an object at the top level.
|
|
4
|
+
* Possibly it can be whittled down some more based on which attributes are supported by language models.
|
|
5
|
+
*/
|
|
1
6
|
export declare const toolsParametersSchemaSchemaId = "vscode://schemas/toolsParameters";
|
|
@@ -13,6 +13,11 @@ export interface IVoiceChatSessionOptions {
|
|
|
13
13
|
readonly model?: IChatModel;
|
|
14
14
|
}
|
|
15
15
|
export interface IVoiceChatTextEvent extends ISpeechToTextEvent {
|
|
16
|
+
/**
|
|
17
|
+
* This property will be `true` when the text recognized
|
|
18
|
+
* so far only consists of agent prefixes (`@workspace`)
|
|
19
|
+
* and/or command prefixes (`@workspace /fix`).
|
|
20
|
+
*/
|
|
16
21
|
readonly waitingForInput?: boolean;
|
|
17
22
|
}
|
|
18
23
|
export interface IVoiceChatSession {
|
|
@@ -3,5 +3,11 @@ import { IVoiceChatSessionOptions, IVoiceChatSession } from "./voiceChatService.
|
|
|
3
3
|
export declare const IVoiceChatService: import("@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation").ServiceIdentifier<IVoiceChatService>;
|
|
4
4
|
export interface IVoiceChatService {
|
|
5
5
|
readonly _serviceBrand: undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Similar to `ISpeechService.createSpeechToTextSession`, but with
|
|
8
|
+
* support for agent prefixes and command prefixes. For example,
|
|
9
|
+
* if the user says "at workspace slash fix this problem", the result
|
|
10
|
+
* will be "@workspace /fix this problem".
|
|
11
|
+
*/
|
|
6
12
|
createVoiceChatSession(token: CancellationToken, options: IVoiceChatSessionOptions): Promise<IVoiceChatSession>;
|
|
7
13
|
}
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
1
6
|
.monaco-workbench .terminal-inline-chat {
|
|
2
7
|
position: absolute;
|
|
3
8
|
left: 0;
|
|
@@ -5,6 +10,7 @@
|
|
|
5
10
|
z-index: 100;
|
|
6
11
|
height: auto !important;
|
|
7
12
|
}
|
|
13
|
+
|
|
8
14
|
.monaco-workbench .terminal-inline-chat .inline-chat {
|
|
9
15
|
margin-top: 0 !important;
|
|
10
16
|
color: inherit;
|
|
@@ -14,6 +20,7 @@
|
|
|
14
20
|
background: var(--vscode-inlineChat-background);
|
|
15
21
|
position: relative;
|
|
16
22
|
outline: none;
|
|
23
|
+
|
|
17
24
|
border-top-style: solid;
|
|
18
25
|
border-bottom-style: solid;
|
|
19
26
|
border-top-color: rgb(0, 122, 204);
|
|
@@ -21,34 +28,44 @@
|
|
|
21
28
|
border-top-width: 1px;
|
|
22
29
|
border-bottom-width: 1px;
|
|
23
30
|
}
|
|
31
|
+
|
|
24
32
|
.monaco-workbench .terminal-inline-chat .interactive-session {
|
|
25
33
|
margin: initial;
|
|
26
34
|
}
|
|
35
|
+
|
|
27
36
|
.monaco-workbench .terminal-inline-chat.hide {
|
|
28
37
|
visibility: hidden;
|
|
29
38
|
}
|
|
39
|
+
|
|
30
40
|
.monaco-workbench .terminal-inline-chat .chatMessageContent .value {
|
|
31
41
|
padding-top: 10px;
|
|
32
42
|
}
|
|
43
|
+
|
|
33
44
|
.monaco-workbench .terminal-inline-chat .inline-chat-input .monaco-editor-background {
|
|
45
|
+
/* Override the global panel rule for monaco backgrounds */
|
|
34
46
|
background-color: var(--vscode-inlineChatInput-background) !important;
|
|
35
47
|
}
|
|
48
|
+
|
|
36
49
|
@property --inline-chat-frame-progress {
|
|
37
50
|
syntax: '<percentage>';
|
|
38
51
|
initial-value: 0%;
|
|
39
52
|
inherits: false;
|
|
40
53
|
}
|
|
54
|
+
|
|
41
55
|
@keyframes shift {
|
|
42
56
|
0% {
|
|
43
57
|
--inline-chat-frame-progress: 0%;
|
|
44
58
|
}
|
|
59
|
+
|
|
45
60
|
50% {
|
|
46
61
|
--inline-chat-frame-progress: 100%;
|
|
47
62
|
}
|
|
63
|
+
|
|
48
64
|
100% {
|
|
49
65
|
--inline-chat-frame-progress: 0%;
|
|
50
66
|
}
|
|
51
67
|
}
|
|
68
|
+
|
|
52
69
|
.monaco-workbench .terminal-inline-chat.busy .inline-chat {
|
|
53
70
|
--inline-chat-frame-progress: 0%;
|
|
54
71
|
border-image: linear-gradient(90deg, var(--vscode-editorGutter-addedBackground) var(--inline-chat-frame-progress), var(--vscode-button-background)) 1;
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts
CHANGED
|
@@ -14,7 +14,15 @@ export declare class TerminalChatController extends Disposable implements ITermi
|
|
|
14
14
|
private readonly _terminalService;
|
|
15
15
|
static readonly ID = "terminal.chat";
|
|
16
16
|
static get(instance: ITerminalInstance): TerminalChatController | null;
|
|
17
|
+
/**
|
|
18
|
+
* The chat widget for the controller, this is lazy as we don't want to instantiate it until
|
|
19
|
+
* both it's required and xterm is ready.
|
|
20
|
+
*/
|
|
17
21
|
private _terminalChatWidget;
|
|
22
|
+
/**
|
|
23
|
+
* The terminal chat widget for the controller, this will be undefined if xterm is not ready yet (ie. the
|
|
24
|
+
* terminal is still initializing). This wraps the inline chat widget.
|
|
25
|
+
*/
|
|
18
26
|
get terminalChatWidget(): TerminalChatWidget | undefined;
|
|
19
27
|
private _lastResponseContent;
|
|
20
28
|
get lastResponseContent(): string | undefined;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { TerminalChatController } from "./terminalChatController.js";
|
|
2
|
+
/**
|
|
3
|
+
* The controller for the currently focused chat widget. This is used to track action context since 'active terminals'
|
|
4
|
+
* are only tracked for non-detached terminal instanecs.
|
|
5
|
+
*/
|
|
2
6
|
export declare let activeChatController: TerminalChatController | undefined;
|
|
3
7
|
export declare function setActiveChatController(_activeChatController: TerminalChatController | undefined): void;
|
|
@@ -6,12 +6,16 @@ import { IToolInvocationContext } from "@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
6
6
|
import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
7
7
|
import type { IMarker as IXtermMarker } from "@xterm/xterm";
|
|
8
8
|
export declare enum PollingConsts {
|
|
9
|
-
MinNoDataEvents = 2
|
|
9
|
+
MinNoDataEvents = 2,// Minimum number of no data checks before considering the terminal idle
|
|
10
10
|
MinPollingDuration = 500,
|
|
11
|
-
FirstPollingMaxDuration = 20000
|
|
12
|
-
ExtendedPollingMaxDuration = 120000
|
|
11
|
+
FirstPollingMaxDuration = 20000,// 20 seconds
|
|
12
|
+
ExtendedPollingMaxDuration = 120000,// 2 minutes
|
|
13
13
|
MaxPollingIntervalDuration = 2000
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Waits for either polling to complete (terminal idle or timeout) or for the user to respond to a prompt.
|
|
17
|
+
* If polling completes first, the prompt is removed. If the prompt completes first and is accepted, polling continues.
|
|
18
|
+
*/
|
|
15
19
|
export declare function racePollingOrPrompt(pollFn: () => Promise<{
|
|
16
20
|
terminalExecutionIdleBeforeTimeout: boolean;
|
|
17
21
|
output: string;
|
|
@@ -3,6 +3,28 @@ import type { ICommandDetectionCapability } from "@codingame/monaco-vscode-a9da9
|
|
|
3
3
|
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
4
4
|
import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
5
5
|
import { type ITerminalExecuteStrategy, type ITerminalExecuteStrategyResult } from "./executeStrategy.js";
|
|
6
|
+
/**
|
|
7
|
+
* This strategy is used when shell integration is enabled, but rich command detection was not
|
|
8
|
+
* declared by the shell script. This is the large spectrum between rich command detection and no
|
|
9
|
+
* shell integration, here are some problems that are expected:
|
|
10
|
+
*
|
|
11
|
+
* - `133;C` command executed may not happen.
|
|
12
|
+
* - `633;E` comamnd line reporting will likely not happen, so the command line contained in the
|
|
13
|
+
* execution start and end events will be of low confidence and chances are it will be wrong.
|
|
14
|
+
* - Execution tracking may be incorrect, particularly when `executeCommand` calls are overlapped,
|
|
15
|
+
* such as Python activating the environment at the same time as Copilot executing a command. So
|
|
16
|
+
* the end event for the execution may actually correspond to a different command.
|
|
17
|
+
*
|
|
18
|
+
* This strategy focuses on trying to get the most accurate output given these limitations and
|
|
19
|
+
* unknowns. Basically we cannot fully trust the extension APIs in this case, so polling of the data
|
|
20
|
+
* stream is used to detect idling, and we listen to the terminal's data stream instead of the
|
|
21
|
+
* execution's data stream.
|
|
22
|
+
*
|
|
23
|
+
* This is best effort with the goal being the output is accurate, though it may contain some
|
|
24
|
+
* content above and below the command output, such as prompts or even possibly other command
|
|
25
|
+
* output. We lean on the LLM to be able to differentiate the actual output from prompts and bad
|
|
26
|
+
* output when it's not ideal.
|
|
27
|
+
*/
|
|
6
28
|
export declare class BasicExecuteStrategy implements ITerminalExecuteStrategy {
|
|
7
29
|
private readonly _instance;
|
|
8
30
|
private readonly _commandDetection;
|
|
@@ -4,6 +4,10 @@ import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
4
4
|
import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
5
5
|
export interface ITerminalExecuteStrategy {
|
|
6
6
|
readonly type: "rich" | "basic" | "none";
|
|
7
|
+
/**
|
|
8
|
+
* Executes a command line and gets a result designed to be passed directly to an LLM. The
|
|
9
|
+
* result will include information about the exit code.
|
|
10
|
+
*/
|
|
7
11
|
execute(commandLine: string, token: CancellationToken): Promise<ITerminalExecuteStrategyResult>;
|
|
8
12
|
}
|
|
9
13
|
export interface ITerminalExecuteStrategyResult {
|
|
@@ -13,4 +17,8 @@ export interface ITerminalExecuteStrategyResult {
|
|
|
13
17
|
error?: string;
|
|
14
18
|
}
|
|
15
19
|
export declare function waitForIdle(onData: Event<unknown>, idleDurationMs: number): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Tracks the terminal for being idle on a prompt input. This must be called before `executeCommand`
|
|
22
|
+
* is called.
|
|
23
|
+
*/
|
|
16
24
|
export declare function trackIdleOnPrompt(instance: ITerminalInstance, idleDurationMs: number, store: DisposableStore): Promise<void>;
|
|
@@ -2,6 +2,12 @@ import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/b
|
|
|
2
2
|
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
3
3
|
import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
4
4
|
import { type ITerminalExecuteStrategy, type ITerminalExecuteStrategyResult } from "./executeStrategy.js";
|
|
5
|
+
/**
|
|
6
|
+
* This strategy is used when no shell integration is available. There are very few extension APIs
|
|
7
|
+
* available in this case. This uses similar strategies to the basic integration strategy, but
|
|
8
|
+
* with `sendText` instead of `shellIntegration.executeCommand` and relying on idle events instead
|
|
9
|
+
* of execution events.
|
|
10
|
+
*/
|
|
5
11
|
export declare class NoneExecuteStrategy implements ITerminalExecuteStrategy {
|
|
6
12
|
private readonly _instance;
|
|
7
13
|
private readonly _logService;
|
|
@@ -3,6 +3,13 @@ import type { ICommandDetectionCapability } from "@codingame/monaco-vscode-a9da9
|
|
|
3
3
|
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
4
4
|
import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
5
5
|
import { type ITerminalExecuteStrategy, type ITerminalExecuteStrategyResult } from "./executeStrategy.js";
|
|
6
|
+
/**
|
|
7
|
+
* This strategy is used when the terminal has rich shell integration/command detection is
|
|
8
|
+
* available, meaning every sequence we rely upon should be exactly where we expect it to be. In
|
|
9
|
+
* particular (`633;`) `A, B, E, C, D` all happen in exactly that order. While things still could go
|
|
10
|
+
* wrong in this state, minimal verification is done in this mode since rich command detection is a
|
|
11
|
+
* strong signal that it's behaving correctly.
|
|
12
|
+
*/
|
|
6
13
|
export declare class RichExecuteStrategy implements ITerminalExecuteStrategy {
|
|
7
14
|
private readonly _instance;
|
|
8
15
|
private readonly _commandDetection;
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts
CHANGED
|
@@ -10,6 +10,19 @@ export declare function getTaskForTool(id: string | undefined, taskDefinition: {
|
|
|
10
10
|
taskLabel?: string;
|
|
11
11
|
taskType?: string;
|
|
12
12
|
}, workspaceFolder: string, configurationService: IConfigurationService, taskService: ITaskService): Promise<Task | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* Represents a configured task in the system.
|
|
15
|
+
*
|
|
16
|
+
* This interface is used to define tasks that can be executed within the workspace.
|
|
17
|
+
* It includes optional properties for identifying and describing the task.
|
|
18
|
+
*
|
|
19
|
+
* Properties:
|
|
20
|
+
* - `type`: (optional) The type of the task, which categorizes it (e.g., "build", "test").
|
|
21
|
+
* - `label`: (optional) A user-facing label for the task, typically used for display purposes.
|
|
22
|
+
* - `script`: (optional) A script associated with the task, if applicable.
|
|
23
|
+
* - `command`: (optional) A command associated with the task, if applicable.
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
13
26
|
export interface IConfiguredTask {
|
|
14
27
|
label?: string;
|
|
15
28
|
type?: string;
|
|
@@ -12,6 +12,10 @@ export interface IToolTerminal {
|
|
|
12
12
|
}
|
|
13
13
|
export declare class ToolTerminalCreator {
|
|
14
14
|
private readonly _terminalService;
|
|
15
|
+
/**
|
|
16
|
+
* The shell preference cached for the lifetime of the window. This allows skipping previous
|
|
17
|
+
* shell approaches that failed in previous runs to save time.
|
|
18
|
+
*/
|
|
15
19
|
private static _lastSuccessfulShell;
|
|
16
20
|
constructor(_terminalService: ITerminalService);
|
|
17
21
|
createTerminal(token: CancellationToken): Promise<IToolTerminal>;
|