@codingame/monaco-vscode-chat-service-override 19.1.4 → 20.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 +20 -8
- package/package.json +36 -31
- package/vscode/src/vs/base/common/policy.d.ts +14 -0
- package/vscode/src/vs/base/common/policy.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +54 -24
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +23 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
- 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.js +83 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +421 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +215 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +18 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +16 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +7 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +58 -326
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +33 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +39 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +380 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +4 -2
- 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 +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +44 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +145 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
- 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 +36 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +407 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +738 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +142 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +23 -7
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +52 -90
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
- 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 +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +137 -30
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +8 -0
- 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/chatTodoListService.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
- 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 +9 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +104 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +667 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +14 -14
- 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/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +56 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +111 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +262 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +129 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.js +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +30 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +411 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +59 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +163 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +164 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +101 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +94 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.js +603 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +113 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.js +227 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +88 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.js +140 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +80 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +114 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +0 -3
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
5
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
6
|
+
import { Memento } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/common/memento';
|
|
7
|
+
|
|
8
|
+
let ChatTodoListStorage = class ChatTodoListStorage {
|
|
9
|
+
constructor(storageService) {
|
|
10
|
+
this.memento = ( new Memento('chat-todo-list', storageService));
|
|
11
|
+
}
|
|
12
|
+
getSessionData(sessionId) {
|
|
13
|
+
const storage = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
14
|
+
return storage[sessionId] || [];
|
|
15
|
+
}
|
|
16
|
+
setSessionData(sessionId, todoList) {
|
|
17
|
+
const storage = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
18
|
+
storage[sessionId] = todoList;
|
|
19
|
+
this.memento.saveMemento();
|
|
20
|
+
}
|
|
21
|
+
getTodoList(sessionId) {
|
|
22
|
+
return this.getSessionData(sessionId);
|
|
23
|
+
}
|
|
24
|
+
setTodoList(sessionId, todoList) {
|
|
25
|
+
this.setSessionData(sessionId, todoList);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
ChatTodoListStorage = ( __decorate([
|
|
29
|
+
( __param(0, IStorageService))
|
|
30
|
+
], ChatTodoListStorage));
|
|
31
|
+
let ChatTodoListService = class ChatTodoListService extends Disposable {
|
|
32
|
+
constructor(storageService) {
|
|
33
|
+
super();
|
|
34
|
+
this.todoListStorage = ( new ChatTodoListStorage(storageService));
|
|
35
|
+
}
|
|
36
|
+
getChatTodoListStorage() {
|
|
37
|
+
return this.todoListStorage;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
ChatTodoListService = ( __decorate([
|
|
41
|
+
( __param(0, IStorageService))
|
|
42
|
+
], ChatTodoListService));
|
|
43
|
+
|
|
44
|
+
export { ChatTodoListService, ChatTodoListStorage };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
4
4
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
5
|
-
import { PromptsConfig, asBoolean } from '@codingame/monaco-vscode-
|
|
5
|
+
import { PromptsConfig, asBoolean } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
6
6
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
7
7
|
|
|
8
8
|
let ConfigMigration = class ConfigMigration {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
3
|
+
import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
4
4
|
import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
5
5
|
import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
6
6
|
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
7
7
|
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
|
|
8
|
-
import { isPromptOrInstructionsFile } from '@codingame/monaco-vscode-
|
|
8
|
+
import { isPromptOrInstructionsFile } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
9
9
|
import { PromptContentsProviderBase } from './promptContentsProviderBase.js';
|
|
10
10
|
import { FolderReference, NotPromptFile, ResolveError, OpenFailed } from '../../promptFileReferenceErrors.js';
|
|
11
11
|
import { FileChangeType } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
@@ -3,7 +3,7 @@ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/c
|
|
|
3
3
|
import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
4
4
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
5
|
import { ResolveError } from "../../promptFileReferenceErrors.js";
|
|
6
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
6
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
7
7
|
import { ObservableDisposable } from "../utils/observableDisposable.js";
|
|
8
8
|
import { IPromptContentsProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types";
|
|
9
9
|
export interface IPromptContentsProviderOptions {
|
|
@@ -5,7 +5,7 @@ import { cancelPreviousCalls } from '../../../../../../base/common/decorators/ca
|
|
|
5
5
|
import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
6
6
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
7
7
|
import { ResolveError, FailedToResolveContentsStream } from '../../promptFileReferenceErrors.js';
|
|
8
|
-
import { PROMPT_LANGUAGE_ID, PromptsType, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
8
|
+
import { PROMPT_LANGUAGE_ID, PromptsType, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
9
9
|
import { ObservableDisposable } from '../utils/observableDisposable.js';
|
|
10
10
|
|
|
11
11
|
class PromptContentsProviderBase extends ObservableDisposable {
|
|
@@ -11,7 +11,7 @@ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
11
11
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
|
|
12
12
|
import { ModeHeader } from '../parsers/promptHeader/modeHeader.js';
|
|
13
13
|
import { PromptHeader } from '../parsers/promptHeader/promptHeader.js';
|
|
14
|
-
import { ALL_PROMPTS_LANGUAGE_SELECTOR, getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-
|
|
14
|
+
import { ALL_PROMPTS_LANGUAGE_SELECTOR, getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
15
15
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
16
16
|
|
|
17
17
|
let PromptHeaderAutocompletion = class PromptHeaderAutocompletion extends Disposable {
|
|
@@ -40,7 +40,6 @@ let PromptHeaderDiagnosticsProvider = class PromptHeaderDiagnosticsProvider exte
|
|
|
40
40
|
if (!completed || token.isCancellationRequested) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
-
console.log(`Prompt header diagnostics for ${( this.model.uri.toString())}:`);
|
|
44
43
|
const markers = [];
|
|
45
44
|
for (const diagnostic of header.diagnostics) {
|
|
46
45
|
markers.push(toMarker(diagnostic));
|
|
@@ -54,7 +53,6 @@ let PromptHeaderDiagnosticsProvider = class PromptHeaderDiagnosticsProvider exte
|
|
|
54
53
|
this.validateModel(header.metadataUtility.model, ChatModeKind.Agent, markers);
|
|
55
54
|
}
|
|
56
55
|
if (markers.length === 0) {
|
|
57
|
-
console.warn(`No markers for ${( this.model.uri.toString())}`);
|
|
58
56
|
this.markerService.remove(MARKERS_OWNER_ID, [this.model.uri]);
|
|
59
57
|
return;
|
|
60
58
|
}
|
|
@@ -72,14 +70,14 @@ let PromptHeaderDiagnosticsProvider = class PromptHeaderDiagnosticsProvider exte
|
|
|
72
70
|
const modelMetadata = this.findModelByName(languageModes, modelNode.value);
|
|
73
71
|
if (!modelMetadata) {
|
|
74
72
|
markers.push({
|
|
75
|
-
message: ( localize(
|
|
73
|
+
message: ( localize(5439, "Unknown model '{0}'", modelNode.value)),
|
|
76
74
|
severity: MarkerSeverity.Warning,
|
|
77
75
|
...modelNode.range,
|
|
78
76
|
});
|
|
79
77
|
}
|
|
80
78
|
else if (modeKind === ChatModeKind.Agent && !ILanguageModelChatMetadata.suitableForAgentMode(modelMetadata)) {
|
|
81
79
|
markers.push({
|
|
82
|
-
message: ( localize(
|
|
80
|
+
message: ( localize(5440, "Model '{0}' is not suited for agent mode", modelNode.value)),
|
|
83
81
|
severity: MarkerSeverity.Warning,
|
|
84
82
|
...modelNode.range,
|
|
85
83
|
});
|
|
@@ -112,7 +110,7 @@ let PromptHeaderDiagnosticsProvider = class PromptHeaderDiagnosticsProvider exte
|
|
|
112
110
|
const range = tools.getToolRange(toolName);
|
|
113
111
|
if (range) {
|
|
114
112
|
markers.push({
|
|
115
|
-
message: ( localize(
|
|
113
|
+
message: ( localize(5441, "Unknown tool '{0}'", toolName)),
|
|
116
114
|
severity: MarkerSeverity.Warning,
|
|
117
115
|
...range,
|
|
118
116
|
});
|
|
@@ -9,7 +9,7 @@ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
9
9
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
|
|
10
10
|
import { InstructionsHeader } from '../parsers/promptHeader/instructionsHeader.js';
|
|
11
11
|
import { ModeHeader } from '../parsers/promptHeader/modeHeader.js';
|
|
12
|
-
import { ALL_PROMPTS_LANGUAGE_SELECTOR, getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-
|
|
12
|
+
import { ALL_PROMPTS_LANGUAGE_SELECTOR, getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
13
13
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
14
14
|
|
|
15
15
|
let PromptHeaderHoverProvider = class PromptHeaderHoverProvider extends Disposable {
|
|
@@ -50,14 +50,14 @@ let PromptHeaderHoverProvider = class PromptHeaderHoverProvider extends Disposab
|
|
|
50
50
|
const descriptionRange = header.metadataUtility.description?.range;
|
|
51
51
|
if (descriptionRange?.containsPosition(position)) {
|
|
52
52
|
return this.createHover(( localize(
|
|
53
|
-
|
|
53
|
+
5442,
|
|
54
54
|
'The description of the instruction file. It can be used to provide additional context or information about the instructions and is passed to the language model as part of the prompt.'
|
|
55
55
|
)), descriptionRange);
|
|
56
56
|
}
|
|
57
57
|
const applyToRange = header.metadataUtility.applyTo?.range;
|
|
58
58
|
if (applyToRange?.containsPosition(position)) {
|
|
59
59
|
return this.createHover(( localize(
|
|
60
|
-
|
|
60
|
+
5443,
|
|
61
61
|
'One or more glob pattern (separated by comma) that describe for which files the instructions apply to. Based on these patterns, the file is automatically included in the prompt, when the context contains a file that matches one or more of these patterns. Use `**` when you want this file to always be added.\nExample: **/*.ts, **/*.js, client/**'
|
|
62
62
|
)), applyToRange);
|
|
63
63
|
}
|
|
@@ -66,38 +66,38 @@ let PromptHeaderHoverProvider = class PromptHeaderHoverProvider extends Disposab
|
|
|
66
66
|
const descriptionRange = header.metadataUtility.description?.range;
|
|
67
67
|
if (descriptionRange?.containsPosition(position)) {
|
|
68
68
|
return this.createHover(( localize(
|
|
69
|
-
|
|
69
|
+
5444,
|
|
70
70
|
'The description of the mode file. It can be used to provide additional context or information about the mode to the mode author.'
|
|
71
71
|
)), descriptionRange);
|
|
72
72
|
}
|
|
73
73
|
const model = header.metadataUtility.model;
|
|
74
74
|
if (model?.range.containsPosition(position)) {
|
|
75
|
-
return this.getModelHover(model, model.range, ( localize(
|
|
75
|
+
return this.getModelHover(model, model.range, ( localize(5445, 'The model to use in this mode.')));
|
|
76
76
|
}
|
|
77
77
|
const tools = header.metadataUtility.tools;
|
|
78
78
|
if (tools?.range?.containsPosition(position)) {
|
|
79
|
-
return this.getToolHover(tools, position, ( localize(
|
|
79
|
+
return this.getToolHover(tools, position, ( localize(5446, 'The tools to use in this mode.')));
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
83
|
const descriptionRange = header.metadataUtility.description?.range;
|
|
84
84
|
if (descriptionRange?.containsPosition(position)) {
|
|
85
85
|
return this.createHover(( localize(
|
|
86
|
-
|
|
86
|
+
5447,
|
|
87
87
|
'The description of the prompt file. It can be used to provide additional context or information about the prompt to the prompt author.'
|
|
88
88
|
)), descriptionRange);
|
|
89
89
|
}
|
|
90
90
|
const model = header.metadataUtility.model;
|
|
91
91
|
if (model?.range.containsPosition(position)) {
|
|
92
|
-
return this.getModelHover(model, model.range, ( localize(
|
|
92
|
+
return this.getModelHover(model, model.range, ( localize(5448, 'The model to use in this prompt.')));
|
|
93
93
|
}
|
|
94
94
|
const tools = header.metadataUtility.tools;
|
|
95
95
|
if (tools?.range?.containsPosition(position)) {
|
|
96
|
-
return this.getToolHover(tools, position, ( localize(
|
|
96
|
+
return this.getToolHover(tools, position, ( localize(5449, 'The tools to use in this prompt.')));
|
|
97
97
|
}
|
|
98
98
|
const modeRange = header.metadataUtility.mode?.range;
|
|
99
99
|
if (modeRange?.containsPosition(position)) {
|
|
100
|
-
return this.createHover(( localize(
|
|
100
|
+
return this.createHover(( localize(5450, 'The mode (ask, edit or agent) to use when running this prompt.')), modeRange);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
return undefined;
|
|
@@ -122,7 +122,7 @@ let PromptHeaderHoverProvider = class PromptHeaderHoverProvider extends Disposab
|
|
|
122
122
|
}
|
|
123
123
|
getToolsetHover(toolSet, range) {
|
|
124
124
|
const lines = [];
|
|
125
|
-
lines.push(( localize(
|
|
125
|
+
lines.push(( localize(5451, 'ToolSet: {0}\n\n', toolSet.referenceName)));
|
|
126
126
|
if (toolSet.description) {
|
|
127
127
|
lines.push(toolSet.description);
|
|
128
128
|
}
|
|
@@ -139,9 +139,9 @@ let PromptHeaderHoverProvider = class PromptHeaderHoverProvider extends Disposab
|
|
|
139
139
|
if (meta && ILanguageModelChatMetadata.asQualifiedName(meta) === modelName) {
|
|
140
140
|
const lines = [];
|
|
141
141
|
lines.push(baseMessage + '\n');
|
|
142
|
-
lines.push(( localize(
|
|
143
|
-
lines.push(( localize(
|
|
144
|
-
lines.push(( localize(
|
|
142
|
+
lines.push(( localize(5452, '- Name: {0}', meta.name)));
|
|
143
|
+
lines.push(( localize(5453, '- Family: {0}', meta.family)));
|
|
144
|
+
lines.push(( localize(5454, '- Vendor: {0}', meta.vendor)));
|
|
145
145
|
if (meta.description) {
|
|
146
146
|
lines.push('', '', meta.description);
|
|
147
147
|
}
|
|
@@ -22,7 +22,7 @@ let PromptLinkDiagnosticsProvider = class PromptLinkDiagnosticsProvider extends
|
|
|
22
22
|
const stats = await this.fileService.resolveAll(( this.parser.references.map(ref => ({ resource: ref.uri }))));
|
|
23
23
|
for (let i = 0; i < stats.length; i++) {
|
|
24
24
|
if (!stats[i].success) {
|
|
25
|
-
markers.push(toMarker(this.parser.references[i], ( localize(
|
|
25
|
+
markers.push(toMarker(this.parser.references[i], ( localize(5455, 'File not found.'))));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
this.markerService.changeOne(MARKERS_OWNER_ID, this.model.uri, markers);
|
|
@@ -5,7 +5,7 @@ import { isOneOf } from '@codingame/monaco-vscode-api/vscode/vs/base/common/type
|
|
|
5
5
|
import { dirname, extUri } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
6
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
7
|
import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
8
|
-
import { ALL_PROMPTS_LANGUAGE_SELECTOR } from '@codingame/monaco-vscode-
|
|
8
|
+
import { ALL_PROMPTS_LANGUAGE_SELECTOR } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
9
9
|
import { assert, assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
10
10
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
11
11
|
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
|
|
@@ -4,9 +4,9 @@ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asser
|
|
|
4
4
|
import { assertDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
5
5
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { ObjectCache } from '../utils/objectCache.js';
|
|
7
|
-
import { PROMPT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
7
|
+
import { PROMPT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
8
8
|
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
9
|
-
import { PromptsConfig } from '@codingame/monaco-vscode-
|
|
9
|
+
import { PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
10
10
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
11
11
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
12
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js
CHANGED
|
@@ -19,7 +19,7 @@ import { basename, joinPath, dirname } from '@codingame/monaco-vscode-api/vscode
|
|
|
19
19
|
import { BaseToken } from '../codecs/base/baseToken.js';
|
|
20
20
|
import { PromptHeader } from './promptHeader/promptHeader.js';
|
|
21
21
|
import { ObservableDisposable } from '../utils/observableDisposable.js';
|
|
22
|
-
import { PROMPT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
22
|
+
import { PROMPT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
23
23
|
import { LinesDecoder } from '../codecs/base/linesCodec/linesDecoder.js';
|
|
24
24
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
25
25
|
import { MarkdownLink } from '../codecs/base/markdownCodec/tokens/markdownLink.js';
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js
CHANGED
|
@@ -65,12 +65,12 @@ class HeaderBase extends Disposable {
|
|
|
65
65
|
if (token instanceof SimpleToken) {
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
this.issues.push(( new PromptMetadataError(token.range, ( localize(
|
|
68
|
+
this.issues.push(( new PromptMetadataError(token.range, ( localize(5456, "Unexpected token '{0}'.", token.text)))));
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
const recordName = token.nameToken.text;
|
|
72
72
|
if (( this.recordNames.has(recordName))) {
|
|
73
|
-
this.issues.push(( new PromptMetadataWarning(token.range, ( localize(
|
|
73
|
+
this.issues.push(( new PromptMetadataWarning(token.range, ( localize(5457, "Duplicate property '{0}' will be ignored.", recordName)))));
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
this.recordNames.add(recordName);
|
|
@@ -84,10 +84,10 @@ class HeaderBase extends Disposable {
|
|
|
84
84
|
if (this.handleToken(token)) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
-
this.issues.push(( new PromptMetadataWarning(token.range, ( localize(
|
|
87
|
+
this.issues.push(( new PromptMetadataWarning(token.range, ( localize(5458, "Unknown property '{0}' will be ignored.", recordName)))));
|
|
88
88
|
}
|
|
89
89
|
onError(error) {
|
|
90
|
-
this.issues.push(( new PromptMetadataError(this.token.range, ( localize(
|
|
90
|
+
this.issues.push(( new PromptMetadataError(this.token.range, ( localize(5459, "Failed to parse prompt header: {0}", error.message)))));
|
|
91
91
|
}
|
|
92
92
|
get settled() {
|
|
93
93
|
return this.stream.settled;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PromptApplyToMetadata } from "./metadata/applyTo.js";
|
|
2
2
|
import { HeaderBase, IHeaderMetadata, type TDehydrated } from "./headerBase.js";
|
|
3
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
3
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
4
4
|
import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
|
|
5
5
|
interface IInstructionsMetadata extends IHeaderMetadata {
|
|
6
6
|
applyTo: PromptApplyToMetadata;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { PromptStringMetadata } from './base/string.js';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
-
import { INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
4
|
+
import { INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
5
5
|
import { splitGlobAware, parse, isEmptyPattern } from '@codingame/monaco-vscode-api/vscode/vs/base/common/glob';
|
|
6
6
|
import { PromptMetadataError, PromptMetadataWarning } from '../diagnostics.js';
|
|
7
7
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
@@ -40,7 +40,7 @@ class PromptApplyToMetadata extends PromptStringMetadata {
|
|
|
40
40
|
}
|
|
41
41
|
if (this.languageId !== INSTRUCTIONS_LANGUAGE_ID) {
|
|
42
42
|
this.issues.push(( new PromptMetadataError(this.range, ( localize(
|
|
43
|
-
|
|
43
|
+
5460,
|
|
44
44
|
"The '{0}' header property is only valid in instruction files.",
|
|
45
45
|
this.recordName
|
|
46
46
|
)))));
|
|
@@ -49,7 +49,7 @@ class PromptApplyToMetadata extends PromptStringMetadata {
|
|
|
49
49
|
}
|
|
50
50
|
const { cleanText } = this.valueToken;
|
|
51
51
|
if (this.isValidGlob(cleanText) === false) {
|
|
52
|
-
this.issues.push(( new PromptMetadataWarning(this.valueToken.range, ( localize(
|
|
52
|
+
this.issues.push(( new PromptMetadataWarning(this.valueToken.range, ( localize(5461, "Invalid glob pattern '{0}'.", cleanText)))));
|
|
53
53
|
delete this.valueToken;
|
|
54
54
|
return this.issues;
|
|
55
55
|
}
|
|
@@ -46,7 +46,7 @@ class PromptEnumMetadata extends PromptStringMetadata {
|
|
|
46
46
|
return this.issues;
|
|
47
47
|
}
|
|
48
48
|
this.issues.push(( new PromptMetadataError(this.valueToken.range, ( localize(
|
|
49
|
-
|
|
49
|
+
5462,
|
|
50
50
|
"The '{0}' metadata must be one of {1}, got '{2}'.",
|
|
51
51
|
this.recordName,
|
|
52
52
|
( this.validValues
|
|
@@ -40,7 +40,7 @@ class PromptStringMetadata extends PromptMetadataRecord {
|
|
|
40
40
|
return this.issues;
|
|
41
41
|
}
|
|
42
42
|
this.issues.push(( new PromptMetadataError(valueToken.range, ( localize(
|
|
43
|
-
|
|
43
|
+
5463,
|
|
44
44
|
"The '{0}' metadata must be a '{1}', got '{2}'.",
|
|
45
45
|
this.recordName,
|
|
46
46
|
'string',
|
|
@@ -44,7 +44,7 @@ class PromptToolsMetadata extends PromptMetadataRecord {
|
|
|
44
44
|
const { valueToken } = this.recordToken;
|
|
45
45
|
if ((valueToken instanceof FrontMatterArray) === false) {
|
|
46
46
|
this.issues.push(( new PromptMetadataError(valueToken.range, ( localize(
|
|
47
|
-
|
|
47
|
+
5464,
|
|
48
48
|
"Must be an array of tool names, got '{0}'.",
|
|
49
49
|
(valueToken.valueTypeName.toString())
|
|
50
50
|
)))));
|
|
@@ -66,7 +66,7 @@ class PromptToolsMetadata extends PromptMetadataRecord {
|
|
|
66
66
|
if ((valueToken instanceof FrontMatterString) === false &&
|
|
67
67
|
(valueToken instanceof FrontMatterSequence) === false) {
|
|
68
68
|
issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(
|
|
69
|
-
|
|
69
|
+
5465,
|
|
70
70
|
"Unexpected tool name '{0}', expected a string literal.",
|
|
71
71
|
valueToken.text
|
|
72
72
|
)))));
|
|
@@ -74,11 +74,11 @@ class PromptToolsMetadata extends PromptMetadataRecord {
|
|
|
74
74
|
}
|
|
75
75
|
const cleanToolName = valueToken.cleanText.trim();
|
|
76
76
|
if (cleanToolName.length === 0) {
|
|
77
|
-
issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(
|
|
77
|
+
issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(5466, "Tool name cannot be empty.")))));
|
|
78
78
|
return issues;
|
|
79
79
|
}
|
|
80
80
|
if (( validToolNames.has(cleanToolName))) {
|
|
81
|
-
issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(
|
|
81
|
+
issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(5467, "Duplicate tool name '{0}'.", cleanToolName)))));
|
|
82
82
|
return issues;
|
|
83
83
|
}
|
|
84
84
|
validToolNames.set(cleanToolName, valueToken.range);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HeaderBase, IHeaderMetadata, type TDehydrated } from "./headerBase.js";
|
|
2
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
2
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
3
3
|
import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
|
|
4
4
|
import { PromptModelMetadata } from "./metadata/model.js";
|
|
5
5
|
import { PromptToolsMetadata } from "./metadata/tools.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HeaderBase, IHeaderMetadata, type TDehydrated } from "./headerBase.js";
|
|
2
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
2
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
3
3
|
import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
|
|
4
4
|
import { PromptModelMetadata } from "./metadata/model.js";
|
|
5
5
|
import { PromptToolsMetadata } from "./metadata/tools.js";
|
|
@@ -52,7 +52,7 @@ class PromptHeader extends HeaderBase {
|
|
|
52
52
|
assertDefined(mode, 'Mode metadata must have been present.');
|
|
53
53
|
assert(mode.value !== ChatModeKind.Agent, 'Mode metadata must not be agent mode.');
|
|
54
54
|
this.issues.push(( new PromptMetadataWarning(tools.range, ( localize(
|
|
55
|
-
|
|
55
|
+
5468,
|
|
56
56
|
"Tools can only be used when in 'agent' mode, but the mode is set to '{0}'. The tools will be ignored.",
|
|
57
57
|
mode.value
|
|
58
58
|
)))));
|
|
@@ -15,29 +15,29 @@ class TopError {
|
|
|
15
15
|
const { originalError, parentUri, errorSubject: subject, errorsCount } = this;
|
|
16
16
|
assert(errorsCount >= 1, `Error count must be at least 1, got '${errorsCount}'.`);
|
|
17
17
|
const moreIssuesLabel = (errorsCount > 1)
|
|
18
|
-
? ( localize(
|
|
18
|
+
? ( localize(5469, "\n(+{0} more issues)", errorsCount - 1))
|
|
19
19
|
: '';
|
|
20
20
|
if (subject === 'root') {
|
|
21
21
|
if (originalError instanceof OpenFailed) {
|
|
22
|
-
return localize(
|
|
22
|
+
return localize(5470, "Cannot open '{0}'.{1}", originalError.uri.path, moreIssuesLabel);
|
|
23
23
|
}
|
|
24
24
|
if (originalError instanceof FailedToResolveContentsStream) {
|
|
25
|
-
return localize(
|
|
25
|
+
return localize(5471, "Cannot read '{0}'.{1}", originalError.uri.path, moreIssuesLabel);
|
|
26
26
|
}
|
|
27
27
|
if (originalError instanceof RecursiveReference) {
|
|
28
|
-
return localize(
|
|
28
|
+
return localize(5472, "Recursion to itself.");
|
|
29
29
|
}
|
|
30
30
|
return originalError.message + moreIssuesLabel;
|
|
31
31
|
}
|
|
32
32
|
assertDefined(parentUri, 'Parent URI must be defined for error of non-root link.');
|
|
33
33
|
const errorMessageStart = (subject === 'child')
|
|
34
|
-
? ( localize(
|
|
35
|
-
: ( localize(
|
|
34
|
+
? ( localize(5473, "Contains"))
|
|
35
|
+
: ( localize(5474, "Indirectly referenced prompt '{0}' contains", parentUri.path));
|
|
36
36
|
const linkIssueName = (originalError instanceof RecursiveReference)
|
|
37
|
-
? ( localize(
|
|
38
|
-
: ( localize(
|
|
37
|
+
? ( localize(5475, "recursive"))
|
|
38
|
+
: ( localize(5476, "broken"));
|
|
39
39
|
return localize(
|
|
40
|
-
|
|
40
|
+
5477,
|
|
41
41
|
"{0} a {1} link to '{2}' that will be ignored.{3}",
|
|
42
42
|
errorMessageStart,
|
|
43
43
|
linkIssueName,
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
1
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
2
2
|
import { type URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
-
import { PromptsType, getPromptsTypeForLanguageId, PROMPT_LANGUAGE_ID, MODE_LANGUAGE_ID, getLanguageIdForPromptsType } from '@codingame/monaco-vscode-
|
|
4
|
+
import { PromptsType, getPromptsTypeForLanguageId, PROMPT_LANGUAGE_ID, MODE_LANGUAGE_ID, getLanguageIdForPromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
5
5
|
import { PromptParser } from '../parsers/promptParser.js';
|
|
6
6
|
import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
7
7
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
@@ -15,9 +15,9 @@ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/com
|
|
|
15
15
|
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
16
16
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
17
|
import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
18
|
-
import { getCleanPromptName, PROMPT_FILE_EXTENSION } from '@codingame/monaco-vscode-
|
|
18
|
+
import { getCleanPromptName, PROMPT_FILE_EXTENSION } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
19
19
|
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
|
|
20
|
-
import { PromptsConfig } from '@codingame/monaco-vscode-
|
|
20
|
+
import { PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
21
21
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
22
22
|
|
|
23
23
|
let PromptsService = class PromptsService extends Disposable {
|
|
@@ -81,8 +81,8 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
81
81
|
return result;
|
|
82
82
|
}
|
|
83
83
|
asPromptSlashCommand(command) {
|
|
84
|
-
if (command.match(/^[\
|
|
85
|
-
return { command, detail: ( localize(
|
|
84
|
+
if (command.match(/^[\p{L}\d_\-\.]+$/u)) {
|
|
85
|
+
return { command, detail: ( localize(5478, 'Prompt file: {0}', command)) };
|
|
86
86
|
}
|
|
87
87
|
return undefined;
|
|
88
88
|
}
|
|
@@ -116,7 +116,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
116
116
|
return {
|
|
117
117
|
command,
|
|
118
118
|
detail: ( localize(
|
|
119
|
-
|
|
119
|
+
5478,
|
|
120
120
|
'Prompt file: {0}',
|
|
121
121
|
this.labelService.getUriLabel(promptPath.uri, { relative: true })
|
|
122
122
|
)),
|
|
@@ -142,7 +142,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
142
142
|
parser = this.instantiationService.createInstance(PromptParser, uri, { allowNonPromptFiles: true, languageId: MODE_LANGUAGE_ID, updateOnChange: false }).start(token);
|
|
143
143
|
const completed = await parser.settled();
|
|
144
144
|
if (!completed) {
|
|
145
|
-
throw ( new Error(( localize(
|
|
145
|
+
throw ( new Error(( localize(5479, "Prompt parser for {0} did not complete.", (uri.toString())))));
|
|
146
146
|
}
|
|
147
147
|
const body = await parser.getBody();
|
|
148
148
|
const name = getCleanPromptName(uri);
|
|
@@ -166,7 +166,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
166
166
|
parser = this.instantiationService.createInstance(PromptParser, uri, { allowNonPromptFiles: true, languageId, updateOnChange: false }).start(token);
|
|
167
167
|
const completed = await parser.settled();
|
|
168
168
|
if (!completed) {
|
|
169
|
-
throw ( new Error(( localize(
|
|
169
|
+
throw ( new Error(( localize(5479, "Prompt parser for {0} did not complete.", (uri.toString())))));
|
|
170
170
|
}
|
|
171
171
|
return {
|
|
172
172
|
uri: parser.uri,
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
|
2
2
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
3
3
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
4
4
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
|
-
import { PromptsType } from "@codingame/monaco-vscode-
|
|
5
|
+
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
6
6
|
import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
7
7
|
import { ISearchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service";
|
|
8
8
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js
CHANGED
|
@@ -4,11 +4,11 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
|
4
4
|
import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
5
5
|
import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
6
6
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
7
|
-
import { getPromptFileLocationsConfigKey, PromptsConfig } from '@codingame/monaco-vscode-
|
|
7
|
+
import { getPromptFileLocationsConfigKey, PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
8
8
|
import { joinPath, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
9
9
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
10
10
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
11
|
-
import { getPromptFileType, getPromptFileExtension } from '@codingame/monaco-vscode-
|
|
11
|
+
import { getPromptFileType, getPromptFileExtension } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
12
12
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
13
13
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
14
14
|
import { getExcludes, QueryType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search';
|