@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-chat-service-override",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - chat service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,41 +15,41 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common": "20.
|
|
19
|
-
"@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common": "20.
|
|
20
|
-
"@codingame/monaco-vscode-1021b67c-93e5-5c78-a270-cbdb2574d980-common": "20.
|
|
21
|
-
"@codingame/monaco-vscode-262ed59d-4f76-57cd-9e9f-1877f26ae049-common": "20.
|
|
22
|
-
"@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "20.
|
|
23
|
-
"@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.
|
|
24
|
-
"@codingame/monaco-vscode-615ce609-8555-545a-a549-47bd9f80e9f8-common": "20.
|
|
25
|
-
"@codingame/monaco-vscode-64322fa2-7385-5f46-935b-8f243d98004b-common": "20.
|
|
26
|
-
"@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common": "20.
|
|
27
|
-
"@codingame/monaco-vscode-6883db80-c313-54eb-8fbc-5872c56b0326-common": "20.
|
|
28
|
-
"@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common": "20.
|
|
29
|
-
"@codingame/monaco-vscode-72a1b7d3-3f58-5545-9b7e-f579bd003081-common": "20.
|
|
30
|
-
"@codingame/monaco-vscode-85f7fb0f-70f5-5a5e-831b-15c743a8bd11-common": "20.
|
|
31
|
-
"@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common": "20.
|
|
32
|
-
"@codingame/monaco-vscode-8c844347-a703-5de1-9eeb-5e0c7f503a58-common": "20.
|
|
33
|
-
"@codingame/monaco-vscode-9ed6fe06-a052-57c2-a234-5d9b94d2e7e0-common": "20.
|
|
34
|
-
"@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common": "20.
|
|
35
|
-
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "20.
|
|
36
|
-
"@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common": "20.
|
|
37
|
-
"@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "20.
|
|
38
|
-
"@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common": "20.
|
|
39
|
-
"@codingame/monaco-vscode-ac93482b-2178-52df-a200-ba0d1a4963fb-common": "20.
|
|
40
|
-
"@codingame/monaco-vscode-api": "20.
|
|
41
|
-
"@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "20.
|
|
42
|
-
"@codingame/monaco-vscode-bb83fe45-f4c7-5673-b9f1-5c409a63f19c-common": "20.
|
|
43
|
-
"@codingame/monaco-vscode-bc8c28cd-7a80-54a9-af1a-e6b1e7a7f34a-common": "20.
|
|
44
|
-
"@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "20.
|
|
45
|
-
"@codingame/monaco-vscode-d0569cfb-4706-5ad6-b0b0-5115ad8685db-common": "20.
|
|
46
|
-
"@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "20.
|
|
47
|
-
"@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "20.
|
|
48
|
-
"@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common": "20.
|
|
49
|
-
"@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common": "20.
|
|
50
|
-
"@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common": "20.
|
|
51
|
-
"@codingame/monaco-vscode-f1bbc6d3-6129-583c-a2ba-c80b832993d2-common": "20.
|
|
52
|
-
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "20.
|
|
18
|
+
"@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common": "20.2.0",
|
|
19
|
+
"@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common": "20.2.0",
|
|
20
|
+
"@codingame/monaco-vscode-1021b67c-93e5-5c78-a270-cbdb2574d980-common": "20.2.0",
|
|
21
|
+
"@codingame/monaco-vscode-262ed59d-4f76-57cd-9e9f-1877f26ae049-common": "20.2.0",
|
|
22
|
+
"@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "20.2.0",
|
|
23
|
+
"@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.2.0",
|
|
24
|
+
"@codingame/monaco-vscode-615ce609-8555-545a-a549-47bd9f80e9f8-common": "20.2.0",
|
|
25
|
+
"@codingame/monaco-vscode-64322fa2-7385-5f46-935b-8f243d98004b-common": "20.2.0",
|
|
26
|
+
"@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common": "20.2.0",
|
|
27
|
+
"@codingame/monaco-vscode-6883db80-c313-54eb-8fbc-5872c56b0326-common": "20.2.0",
|
|
28
|
+
"@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common": "20.2.0",
|
|
29
|
+
"@codingame/monaco-vscode-72a1b7d3-3f58-5545-9b7e-f579bd003081-common": "20.2.0",
|
|
30
|
+
"@codingame/monaco-vscode-85f7fb0f-70f5-5a5e-831b-15c743a8bd11-common": "20.2.0",
|
|
31
|
+
"@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common": "20.2.0",
|
|
32
|
+
"@codingame/monaco-vscode-8c844347-a703-5de1-9eeb-5e0c7f503a58-common": "20.2.0",
|
|
33
|
+
"@codingame/monaco-vscode-9ed6fe06-a052-57c2-a234-5d9b94d2e7e0-common": "20.2.0",
|
|
34
|
+
"@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common": "20.2.0",
|
|
35
|
+
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "20.2.0",
|
|
36
|
+
"@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common": "20.2.0",
|
|
37
|
+
"@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "20.2.0",
|
|
38
|
+
"@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common": "20.2.0",
|
|
39
|
+
"@codingame/monaco-vscode-ac93482b-2178-52df-a200-ba0d1a4963fb-common": "20.2.0",
|
|
40
|
+
"@codingame/monaco-vscode-api": "20.2.0",
|
|
41
|
+
"@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "20.2.0",
|
|
42
|
+
"@codingame/monaco-vscode-bb83fe45-f4c7-5673-b9f1-5c409a63f19c-common": "20.2.0",
|
|
43
|
+
"@codingame/monaco-vscode-bc8c28cd-7a80-54a9-af1a-e6b1e7a7f34a-common": "20.2.0",
|
|
44
|
+
"@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "20.2.0",
|
|
45
|
+
"@codingame/monaco-vscode-d0569cfb-4706-5ad6-b0b0-5115ad8685db-common": "20.2.0",
|
|
46
|
+
"@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "20.2.0",
|
|
47
|
+
"@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "20.2.0",
|
|
48
|
+
"@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common": "20.2.0",
|
|
49
|
+
"@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common": "20.2.0",
|
|
50
|
+
"@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common": "20.2.0",
|
|
51
|
+
"@codingame/monaco-vscode-f1bbc6d3-6129-583c-a2ba-c80b832993d2-common": "20.2.0",
|
|
52
|
+
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "20.2.0"
|
|
53
53
|
},
|
|
54
54
|
"main": "index.js",
|
|
55
55
|
"module": "index.js",
|
|
@@ -1,9 +1,82 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
3
|
+
/**
|
|
4
|
+
* Helper type that represents a function that has an optional {@linkcode CancellationToken}
|
|
5
|
+
* argument argument at the end of the arguments list.
|
|
6
|
+
*
|
|
7
|
+
* @typeparam `TFunction` - Type of the function arguments list of which will be extended
|
|
8
|
+
* with an optional {@linkcode CancellationToken} argument.
|
|
9
|
+
*/
|
|
3
10
|
type TWithOptionalCancellationToken<TFunction extends Function> = TFunction extends (...args: infer TArgs) => infer TReturn ? (...args: [
|
|
4
11
|
...TArgs,
|
|
5
12
|
cancellatioNToken?: CancellationToken
|
|
6
13
|
]) => TReturn : never;
|
|
14
|
+
/**
|
|
15
|
+
* Decorator that provides a mechanism to cancel previous calls of the decorated method
|
|
16
|
+
* by providing a `cancellation token` as the last argument of the method, which gets
|
|
17
|
+
* cancelled immediately on subsequent call of the decorated method.
|
|
18
|
+
*
|
|
19
|
+
* Therefore to use this decorator, the two conditions must be met:
|
|
20
|
+
*
|
|
21
|
+
* - the decorated method must have an *optional* {@linkcode CancellationToken} argument at
|
|
22
|
+
* the end of the arguments list
|
|
23
|
+
* - the object that the decorated method belongs to must implement the {@linkcode Disposable};
|
|
24
|
+
* this requirement comes from the internal implementation of the decorator that
|
|
25
|
+
* creates new resources that need to be eventually disposed by someone
|
|
26
|
+
*
|
|
27
|
+
* @typeparam `TObject` - Object type that the decorated method belongs to.
|
|
28
|
+
* @typeparam `TArgs` - Argument list of the decorated method.
|
|
29
|
+
* @typeparam `TReturn` - Return value type of the decorated method.
|
|
30
|
+
*
|
|
31
|
+
* ### Examples
|
|
32
|
+
*
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // let's say we have a class that implements the `Disposable` interface that we want
|
|
35
|
+
* // to use the decorator on
|
|
36
|
+
* class Example extends Disposable {
|
|
37
|
+
* async doSomethingAsync(arg1: number, arg2: string): Promise<void> {
|
|
38
|
+
* // do something async..
|
|
39
|
+
* await new Promise(resolve => setTimeout(resolve, 1000));
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // to do that we need to add the `CancellationToken` argument to the end of args list
|
|
46
|
+
* class Example extends Disposable {
|
|
47
|
+
* @cancelPreviousCalls
|
|
48
|
+
* async doSomethingAsync(arg1: number, arg2: string, cancellationToken?: CancellationToken): Promise<void> {
|
|
49
|
+
* console.log(`call with args ${arg1} and ${arg2} initiated`);
|
|
50
|
+
*
|
|
51
|
+
* // the decorator will create the cancellation token automatically
|
|
52
|
+
* assertDefined(
|
|
53
|
+
* cancellationToken,
|
|
54
|
+
* `The method must now have the `CancellationToken` passed to it.`,
|
|
55
|
+
* );
|
|
56
|
+
*
|
|
57
|
+
* cancellationToken.onCancellationRequested(() => {
|
|
58
|
+
* console.log(`call with args ${arg1} and ${arg2} was cancelled`);
|
|
59
|
+
* });
|
|
60
|
+
*
|
|
61
|
+
* // do something async..
|
|
62
|
+
* await new Promise(resolve => setTimeout(resolve, 1000));
|
|
63
|
+
*
|
|
64
|
+
* // check cancellation token state after the async operations
|
|
65
|
+
* console.log(
|
|
66
|
+
* `call with args ${arg1} and ${arg2} completed, canceled?: ${cancellationToken.isCancellationRequested}`,
|
|
67
|
+
* );
|
|
68
|
+
* }
|
|
69
|
+
* }
|
|
70
|
+
*
|
|
71
|
+
* const example = new Example();
|
|
72
|
+
* // call the decorate method first time
|
|
73
|
+
* example.doSomethingAsync(1, 'foo');
|
|
74
|
+
* // wait for 500ms which is less than 1000ms of the async operation in the first call
|
|
75
|
+
* await new Promise(resolve => setTimeout(resolve, 500));
|
|
76
|
+
* // calling the decorate method second time cancels the token passed to the first call
|
|
77
|
+
* example.doSomethingAsync(2, 'bar');
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
7
80
|
export declare function cancelPreviousCalls<TObject extends Disposable, TArgs extends unknown[], TReturn extends unknown>(_proto: TObject, methodName: string, descriptor: TypedPropertyDescriptor<TWithOptionalCancellationToken<(...args: TArgs) => TReturn>>): TypedPropertyDescriptor<(...args: [
|
|
8
81
|
...TArgs,
|
|
9
82
|
cancellatioNToken?: CancellationToken | undefined
|
|
@@ -6,9 +6,36 @@ export declare enum PolicyTag {
|
|
|
6
6
|
Agent = "AGENT"
|
|
7
7
|
}
|
|
8
8
|
export interface IPolicy {
|
|
9
|
+
/**
|
|
10
|
+
* The policy name.
|
|
11
|
+
*/
|
|
9
12
|
readonly name: PolicyName;
|
|
13
|
+
/**
|
|
14
|
+
* The Code version in which this policy was introduced.
|
|
15
|
+
*/
|
|
10
16
|
readonly minimumVersion: `${number}.${number}`;
|
|
17
|
+
/**
|
|
18
|
+
* The policy description (optional).
|
|
19
|
+
*/
|
|
11
20
|
readonly description?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The value that an ACCOUNT-based feature will use when its corresponding policy is active.
|
|
23
|
+
*
|
|
24
|
+
* Only applicable when policy is tagged with ACCOUNT. When an account-based feature's policy is enabled,
|
|
25
|
+
* this value determines what value the feature receives.
|
|
26
|
+
*
|
|
27
|
+
* For example:
|
|
28
|
+
* - If `defaultValue: true`, the feature's setting is locked to `true` WHEN the policy is in effect.
|
|
29
|
+
* - If `defaultValue: 'foo'`, the feature's setting is locked to 'foo' WHEN the policy is in effect.
|
|
30
|
+
*
|
|
31
|
+
* If omitted, 'false' is the assumed value.
|
|
32
|
+
*
|
|
33
|
+
* Note: This is unrelated to the default value of the VS Code setting itself. This specifically controls
|
|
34
|
+
* the value of an account-based feature's setting WHEN the policy is overriding it.
|
|
35
|
+
*/
|
|
12
36
|
readonly defaultValue?: string | number | boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Tags for categorizing policies
|
|
39
|
+
*/
|
|
13
40
|
readonly tags?: PolicyTag[];
|
|
14
41
|
}
|
|
@@ -3,20 +3,61 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
|
|
|
3
3
|
import { MovedText } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/linesDiffComputer";
|
|
4
4
|
import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
|
|
5
5
|
import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
6
|
+
/**
|
|
7
|
+
* A document diff provider computes the diff between two text models.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
6
10
|
export interface IDocumentDiffProvider {
|
|
11
|
+
/**
|
|
12
|
+
* Computes the diff between the text models `original` and `modified`.
|
|
13
|
+
*/
|
|
7
14
|
computeDiff(original: ITextModel, modified: ITextModel, options: IDocumentDiffProviderOptions, cancellationToken: CancellationToken): Promise<IDocumentDiff>;
|
|
15
|
+
/**
|
|
16
|
+
* Is fired when settings of the diff algorithm change that could alter the result of the diffing computation.
|
|
17
|
+
* Any user of this provider should recompute the diff when this event is fired.
|
|
18
|
+
*/
|
|
8
19
|
onDidChange: Event<void>;
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Options for the diff computation.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
10
25
|
export interface IDocumentDiffProviderOptions {
|
|
26
|
+
/**
|
|
27
|
+
* When set to true, the diff should ignore whitespace changes.
|
|
28
|
+
*/
|
|
11
29
|
ignoreTrimWhitespace: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* A diff computation should throw if it takes longer than this value.
|
|
32
|
+
*/
|
|
12
33
|
maxComputationTimeMs: number;
|
|
34
|
+
/**
|
|
35
|
+
* If set, the diff computation should compute moves in addition to insertions and deletions.
|
|
36
|
+
*/
|
|
13
37
|
computeMoves: boolean;
|
|
14
38
|
extendToSubwords?: boolean;
|
|
15
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Represents a diff between two text models.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
16
44
|
export interface IDocumentDiff {
|
|
45
|
+
/**
|
|
46
|
+
* If true, both text models are identical (byte-wise).
|
|
47
|
+
*/
|
|
17
48
|
readonly identical: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* If true, the diff computation timed out and the diff might not be accurate.
|
|
51
|
+
*/
|
|
18
52
|
readonly quitEarly: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Maps all modified line ranges in the original to the corresponding line ranges in the modified text model.
|
|
55
|
+
*/
|
|
19
56
|
readonly changes: readonly DetailedLineRangeMapping[];
|
|
57
|
+
/**
|
|
58
|
+
* Sorted by original line ranges.
|
|
59
|
+
* The original line ranges and the modified line ranges must be disjoint (but can be touching).
|
|
60
|
+
*/
|
|
20
61
|
readonly moves: readonly MovedText[];
|
|
21
62
|
}
|
|
22
63
|
export declare const nullDocumentDiff: IDocumentDiff;
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
export interface INewEditSessionActionContext {
|
|
2
|
+
/**
|
|
3
|
+
* An initial prompt to write to the chat.
|
|
4
|
+
*/
|
|
2
5
|
inputValue?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Selects opening in agent mode or not. If not set, the current mode is used.
|
|
8
|
+
* This is ignored when coming from a chat view title context.
|
|
9
|
+
*/
|
|
3
10
|
agentMode?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the inputValue is partial and should wait for further user input. If false or not set, the prompt is sent immediately.
|
|
13
|
+
*/
|
|
4
14
|
isPartialQuery?: boolean;
|
|
5
15
|
}
|
|
6
16
|
export declare function registerNewChatActions(): void;
|
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
2
2
|
import { IToolData, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
|
|
3
|
+
/**
|
|
4
|
+
* Main entry point for the tools picker. Supports both QuickPick and QuickTree implementations
|
|
5
|
+
* based on the 'chat.tools.useTreePicker' workspace setting.
|
|
6
|
+
*
|
|
7
|
+
* @param accessor - Service accessor for dependency injection
|
|
8
|
+
* @param placeHolder - Placeholder text shown in the picker
|
|
9
|
+
* @param description - Optional description text shown in the picker
|
|
10
|
+
* @param toolsEntries - Optional initial selection state for tools and toolsets
|
|
11
|
+
* @param onUpdate - Optional callback fired when the selection changes
|
|
12
|
+
* @returns Promise resolving to the final selection map, or undefined if cancelled
|
|
13
|
+
*/
|
|
3
14
|
export declare function showToolsPicker(accessor: ServicesAccessor, placeHolder: string, description?: string, toolsEntries?: ReadonlyMap<ToolSet | IToolData, boolean>, onUpdate?: (toolsEntries: ReadonlyMap<ToolSet | IToolData, boolean>) => void): Promise<ReadonlyMap<ToolSet | IToolData, boolean> | undefined>;
|
|
@@ -54,6 +54,11 @@ export declare class ApplyCodeBlockOperation {
|
|
|
54
54
|
private tryToRevealCodeBlock;
|
|
55
55
|
private notify;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Returns:
|
|
59
|
+
* - level: the line's the ident level in tabs
|
|
60
|
+
* - length: the number of characters of the leading whitespace
|
|
61
|
+
*/
|
|
57
62
|
export declare function computeIndentation(line: string, tabSize: number): {
|
|
58
63
|
level: number;
|
|
59
64
|
length: number;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts
CHANGED
|
@@ -71,6 +71,12 @@ export declare abstract class AbstractChatEditingModifiedFileEntry extends Dispo
|
|
|
71
71
|
protected _notifyAction(action: ChatUserAction): void;
|
|
72
72
|
private readonly _editorIntegrations;
|
|
73
73
|
getEditorIntegration(pane: IEditorPane): IModifiedFileEntryEditorIntegration;
|
|
74
|
+
/**
|
|
75
|
+
* Create the editor integration for this entry and the given editor pane. This will only be called
|
|
76
|
+
* once (and cached) per pane. The integration is meant to be scoped to this entry only and when the
|
|
77
|
+
* passed pane/editor changes input, then the editor integration must handle that, e.g use default/null
|
|
78
|
+
* values
|
|
79
|
+
*/
|
|
74
80
|
protected abstract _createEditorIntegration(editor: IEditorPane): IModifiedFileEntryEditorIntegration;
|
|
75
81
|
abstract readonly changesCount: IObservable<number>;
|
|
76
82
|
acceptStreamingEditsStart(responseModel: IChatResponseModel, tx: ITransaction): void;
|
|
@@ -38,10 +38,19 @@ export declare class ChatEditingModifiedNotebookEntry extends AbstractChatEditin
|
|
|
38
38
|
private readonly modifiedModel;
|
|
39
39
|
private readonly originalModel;
|
|
40
40
|
originalURI: URI;
|
|
41
|
+
/**
|
|
42
|
+
* JSON stringified version of the original notebook.
|
|
43
|
+
*/
|
|
41
44
|
initialContent: string;
|
|
45
|
+
/**
|
|
46
|
+
* Whether we're still generating diffs from a response.
|
|
47
|
+
*/
|
|
42
48
|
private _isProcessingResponse;
|
|
43
49
|
get isProcessingResponse(): IObservable<boolean>;
|
|
44
50
|
private _isEditFromUs;
|
|
51
|
+
/**
|
|
52
|
+
* Whether all edits are from us, e.g. is possible a user has made edits, then this will be false.
|
|
53
|
+
*/
|
|
45
54
|
private _allEditsAreFromUs;
|
|
46
55
|
private readonly _changesCount;
|
|
47
56
|
changesCount: IObservable<number>;
|
|
@@ -49,6 +58,12 @@ export declare class ChatEditingModifiedNotebookEntry extends AbstractChatEditin
|
|
|
49
58
|
private modifiedToOriginalCell;
|
|
50
59
|
private readonly _cellsDiffInfo;
|
|
51
60
|
get cellsDiffInfo(): IObservable<ICellDiffInfo[]>;
|
|
61
|
+
/**
|
|
62
|
+
* List of Cell URIs that are edited,
|
|
63
|
+
* Will be cleared once all edits have been accepted.
|
|
64
|
+
* I.e. this will only contain URIS while acceptAgentEdits is being called & before `isLastEdit` is sent.
|
|
65
|
+
* I.e. this is populated only when edits are being streamed.
|
|
66
|
+
*/
|
|
52
67
|
private readonly editedCells;
|
|
53
68
|
static create(uri: URI, _multiDiffEntryDelegate: {
|
|
54
69
|
collapse: (transaction: ITransaction | undefined) => void;
|
|
@@ -31,6 +31,9 @@ export declare class ChatEditingSession extends Disposable implements IChatEditi
|
|
|
31
31
|
private readonly _accessibilitySignalService;
|
|
32
32
|
private readonly _state;
|
|
33
33
|
private readonly _timeline;
|
|
34
|
+
/**
|
|
35
|
+
* Contains the contents of a file when the AI first began doing edits to it.
|
|
36
|
+
*/
|
|
34
37
|
private readonly _initialFileContents;
|
|
35
38
|
private readonly _entriesObs;
|
|
36
39
|
get entries(): IObservable<readonly IModifiedFileEntry[]>;
|
|
@@ -53,6 +56,9 @@ export declare class ChatEditingSession extends Disposable implements IChatEditi
|
|
|
53
56
|
getSnapshot(requestId: string, undoStop: string | undefined, snapshotUri: URI): ISnapshotEntry | undefined;
|
|
54
57
|
getSnapshotModel(requestId: string, undoStop: string | undefined, snapshotUri: URI): Promise<ITextModel | null>;
|
|
55
58
|
getSnapshotUri(requestId: string, uri: URI, stopId: string | undefined): URI | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* A snapshot representing the state of the working set before a new request has been sent
|
|
61
|
+
*/
|
|
56
62
|
private _pendingSnapshot;
|
|
57
63
|
restoreSnapshot(requestId: string | undefined, stopId: string | undefined): Promise<void>;
|
|
58
64
|
private _restoreSnapshot;
|
|
@@ -73,6 +79,11 @@ export declare class ChatEditingSession extends Disposable implements IChatEditi
|
|
|
73
79
|
private _acceptEdits;
|
|
74
80
|
private _getTelemetryInfoForModel;
|
|
75
81
|
private _resolve;
|
|
82
|
+
/**
|
|
83
|
+
* Retrieves or creates a modified file entry.
|
|
84
|
+
*
|
|
85
|
+
* @returns The modified file entry.
|
|
86
|
+
*/
|
|
76
87
|
private _getOrCreateModifiedFileEntry;
|
|
77
88
|
private _createModifiedFileEntry;
|
|
78
89
|
private _collapse;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts
CHANGED
|
@@ -25,11 +25,22 @@ export declare class ChatEditingSessionStorage {
|
|
|
25
25
|
clearState(): Promise<void>;
|
|
26
26
|
}
|
|
27
27
|
export interface IChatEditingSessionSnapshot {
|
|
28
|
+
/**
|
|
29
|
+
* Index of this session in the linear history. It's the sum of the lengths
|
|
30
|
+
* of all {@link stops} prior this one.
|
|
31
|
+
*/
|
|
28
32
|
readonly startIndex: number;
|
|
29
33
|
readonly requestId: string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Edit stops in the request. Always initially populatd with stopId: undefind
|
|
36
|
+
* for th request's initial state.
|
|
37
|
+
*
|
|
38
|
+
* Invariant: never empty.
|
|
39
|
+
*/
|
|
30
40
|
readonly stops: IChatEditingSessionStop[];
|
|
31
41
|
}
|
|
32
42
|
export interface IChatEditingSessionStop {
|
|
43
|
+
/** Edit stop ID, first for a request is always undefined. */
|
|
33
44
|
stopId: string | undefined;
|
|
34
45
|
readonly entries: ResourceMap<ISnapshotEntry>;
|
|
35
46
|
}
|
|
@@ -60,7 +60,13 @@ export declare class ChatEditingTextModelChangeService extends Disposable {
|
|
|
60
60
|
maxLineNumber: number;
|
|
61
61
|
}>;
|
|
62
62
|
private _applyEdits;
|
|
63
|
+
/**
|
|
64
|
+
* Keeps the current modified document as the final contents.
|
|
65
|
+
*/
|
|
63
66
|
keep(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Undoes the current modified document as the final contents.
|
|
69
|
+
*/
|
|
64
70
|
undo(): void;
|
|
65
71
|
resetDocumentValues(newOriginal: string | ITextSnapshot | undefined, newModified: string | undefined): Promise<void>;
|
|
66
72
|
private _mirrorEdits;
|
|
@@ -8,6 +8,9 @@ import { IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/wo
|
|
|
8
8
|
import { IChatRequestDisablement } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
9
9
|
import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
|
|
10
10
|
import { IChatEditingSessionSnapshot, IChatEditingSessionStop } from "./chatEditingSessionStorage.js";
|
|
11
|
+
/**
|
|
12
|
+
* Timeline/undo-redo stack for ChatEditingSession.
|
|
13
|
+
*/
|
|
11
14
|
export declare class ChatEditingTimeline {
|
|
12
15
|
private readonly _editorWorkerService;
|
|
13
16
|
private readonly _instantiationService;
|
|
@@ -23,24 +26,60 @@ export declare class ChatEditingTimeline {
|
|
|
23
26
|
readonly canRedo: IObservable<boolean>;
|
|
24
27
|
readonly requestDisablement: IObservable<IChatRequestDisablement[]>;
|
|
25
28
|
constructor(_editorWorkerService: IEditorWorkerService, _instantiationService: IInstantiationService, configurationService: IConfigurationService, _textModelService: ITextModelService);
|
|
29
|
+
/**
|
|
30
|
+
* Restore the timeline from a saved state (history array and index).
|
|
31
|
+
*/
|
|
26
32
|
restoreFromState(state: {
|
|
27
33
|
history: readonly IChatEditingSessionSnapshot[];
|
|
28
34
|
index: number;
|
|
29
35
|
}, tx: ITransaction): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get the snapshot and history index for restoring, given requestId and stopId.
|
|
38
|
+
* If requestId is undefined, returns undefined (pending snapshot is managed by session).
|
|
39
|
+
*/
|
|
30
40
|
getSnapshotForRestore(requestId: string | undefined, stopId: string | undefined): {
|
|
31
41
|
stop: IChatEditingSessionStop;
|
|
32
42
|
apply(): void;
|
|
33
43
|
} | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Ensures the state of the file in the given snapshot matches the current
|
|
46
|
+
* state of the {@param entry}. This is used to handle concurrent file edits.
|
|
47
|
+
*
|
|
48
|
+
* Given the case of two different edits, we will place and undo stop right
|
|
49
|
+
* before we `textEditGroup` in the underlying markdown stream, but at the
|
|
50
|
+
* time those are added the edits haven't been made yet, so both files will
|
|
51
|
+
* simply have the unmodified state.
|
|
52
|
+
*
|
|
53
|
+
* This method is called after each edit, so after the first file finishes
|
|
54
|
+
* being edits, it will update its content in the second undo snapshot such
|
|
55
|
+
* that it can be undone successfully.
|
|
56
|
+
*
|
|
57
|
+
* We ensure that the same file is not concurrently edited via the
|
|
58
|
+
* {@link _streamingEditLocks}, avoiding race conditions.
|
|
59
|
+
*
|
|
60
|
+
* @param next If true, this will edit the snapshot _after_ the undo stop
|
|
61
|
+
*/
|
|
34
62
|
ensureEditInUndoStopMatches(requestId: string, undoStop: string | undefined, entry: Pick<AbstractChatEditingModifiedFileEntry, "modifiedURI" | "createSnapshot" | "equalsSnapshot">, next: boolean, tx: ITransaction | undefined): void;
|
|
63
|
+
/**
|
|
64
|
+
* Get the undo snapshot (previous in history), or undefined if at start.
|
|
65
|
+
* If the timeline is at the end of the history, it will return the last stop
|
|
66
|
+
* pushed into the history.
|
|
67
|
+
*/
|
|
35
68
|
getUndoSnapshot(): {
|
|
36
69
|
stop: IChatEditingSessionStop;
|
|
37
70
|
apply(): void;
|
|
38
71
|
} | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Get the redo snapshot (next in history), or undefined if at end.
|
|
74
|
+
*/
|
|
39
75
|
getRedoSnapshot(): {
|
|
40
76
|
stop: IChatEditingSessionStop;
|
|
41
77
|
apply(): void;
|
|
42
78
|
} | undefined;
|
|
43
79
|
private getUndoRedoSnapshot;
|
|
80
|
+
/**
|
|
81
|
+
* Get the state for persistence (history and index).
|
|
82
|
+
*/
|
|
44
83
|
getStateForPersistence(): {
|
|
45
84
|
history: readonly IChatEditingSessionSnapshot[];
|
|
46
85
|
index: number;
|
|
@@ -49,6 +88,11 @@ export declare class ChatEditingTimeline {
|
|
|
49
88
|
private findEditStop;
|
|
50
89
|
private getHistoryEntryByLinearIndex;
|
|
51
90
|
pushSnapshot(requestId: string, undoStop: string | undefined, snapshot: IChatEditingSessionStop): void;
|
|
91
|
+
/**
|
|
92
|
+
* Gets diff for text entries between stops.
|
|
93
|
+
* @param entriesContent Observable that observes either snapshot entry
|
|
94
|
+
* @param modelUrisObservable Observable that observes only the snapshot URIs.
|
|
95
|
+
*/
|
|
52
96
|
private _entryDiffBetweenTextStops;
|
|
53
97
|
private _createDiffBetweenStopsObservable;
|
|
54
98
|
getEntryDiffBetweenStops(uri: URI, requestId: string | undefined, stopId: string | undefined): IObservable<IEditSessionEntryDiff | undefined>;
|
|
@@ -2,6 +2,17 @@ import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/l
|
|
|
2
2
|
import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel";
|
|
3
3
|
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
4
4
|
import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
|
|
5
|
+
/**
|
|
6
|
+
* When asking LLM to generate a new notebook, LLM might end up generating the notebook
|
|
7
|
+
* using the raw file format.
|
|
8
|
+
* E.g. assume we ask LLM to generate a new Github Issues notebook, LLM might end up
|
|
9
|
+
* genrating the notebook using the JSON format of github issues file.
|
|
10
|
+
* Such a format is not known to copilot extension and those are sent over as regular
|
|
11
|
+
* text edits for the Notebook URI.
|
|
12
|
+
*
|
|
13
|
+
* In such cases we should accumulate all of the edits, generate the content and deserialize the content
|
|
14
|
+
* into a notebook, then generate notebooke edits to insert these cells.
|
|
15
|
+
*/
|
|
5
16
|
export declare class ChatEditingNewNotebookContentEdits {
|
|
6
17
|
private readonly notebook;
|
|
7
18
|
private readonly _notebookService;
|
|
@@ -10,6 +10,11 @@ import { INotebookEditorService } from "@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
10
10
|
import { NotebookCellTextModel } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel";
|
|
11
11
|
import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
12
12
|
import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
13
|
+
/**
|
|
14
|
+
* This is very closely similar to the ChatEditingModifiedDocumentEntry class.
|
|
15
|
+
* Most of the code has been borrowed from there, as a cell is effectively a document.
|
|
16
|
+
* Hence most of the same functionality applies.
|
|
17
|
+
*/
|
|
13
18
|
export declare class ChatEditingNotebookCellEntry extends Disposable {
|
|
14
19
|
readonly notebookUri: URI;
|
|
15
20
|
readonly cell: NotebookCellTextModel;
|
|
@@ -6,10 +6,23 @@ export declare function adjustCellDiffForRevertingADeletedCell(originalCellIndex
|
|
|
6
6
|
export declare function adjustCellDiffForRevertingAnInsertedCell(modifiedCellIndex: number, cellDiffInfo: ICellDiffInfo[], applyEdits: typeof NotebookTextModel.prototype.applyEdits): ICellDiffInfo[];
|
|
7
7
|
export declare function adjustCellDiffForKeepingAnInsertedCell(modifiedCellIndex: number, cellDiffInfo: ICellDiffInfo[], cellToInsert: ICellDto2, applyEdits: typeof NotebookTextModel.prototype.applyEdits, createModifiedCellDiffInfo: (modifiedCellIndex: number, originalCellIndex: number) => ICellDiffInfo): ICellDiffInfo[];
|
|
8
8
|
export declare function adjustCellDiffAndOriginalModelBasedOnCellAddDelete(change: NotebookCellTextModelSplice<ICell>, cellDiffInfo: ICellDiffInfo[], modifiedModelCellCount: number, originalModelCellCount: number, applyEdits: typeof NotebookTextModel.prototype.applyEdits, createModifiedCellDiffInfo: (modifiedCellIndex: number, originalCellIndex: number) => ICellDiffInfo): ICellDiffInfo[];
|
|
9
|
+
/**
|
|
10
|
+
* Given the movements of cells in modified notebook, adjust the ICellDiffInfo[] array
|
|
11
|
+
* and generate edits for the old notebook (if required).
|
|
12
|
+
* TODO@DonJayamanne Handle bulk moves (movements of more than 1 cell).
|
|
13
|
+
*/
|
|
9
14
|
export declare function adjustCellDiffAndOriginalModelBasedOnCellMovements(event: NotebookCellsModelMoveEvent<ICell>, cellDiffInfo: ICellDiffInfo[]): [
|
|
10
15
|
ICellDiffInfo[],
|
|
11
16
|
ICellEditOperation[]
|
|
12
17
|
] | undefined;
|
|
13
18
|
export declare function getCorrespondingOriginalCellIndex(modifiedCellIndex: number, cellDiffInfo: ICellDiffInfo[]): number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* This isn't great, but necessary.
|
|
22
|
+
* ipynb extension updates metadata when new cells are inserted (to ensure the metadata is correct)
|
|
23
|
+
* Details of why thats required is in ipynb extension, but its necessary.
|
|
24
|
+
* However as a result of this, those edits appear here and are assumed to be user edits.
|
|
25
|
+
* As a result `_allEditsAreFromUs` is set to false.
|
|
26
|
+
*/
|
|
14
27
|
export declare function isTransientIPyNbExtensionEvent(notebookKind: string, e: NotebookTextModelChangedEvent): boolean;
|
|
15
28
|
export declare function calculateNotebookRewriteRatio(cellsDiff: ICellDiffInfo[], originalModel: NotebookTextModel, modifiedModel: NotebookTextModel): number;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts
CHANGED
|
@@ -2,6 +2,14 @@ import { ISettableObservable, ObservablePromise } from "@codingame/monaco-vscode
|
|
|
2
2
|
import { IDocumentDiff } from "../../../../../../editor/common/diff/documentDiffProvider.js";
|
|
3
3
|
import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
|
|
4
4
|
import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
5
|
+
/**
|
|
6
|
+
* This structure is used to represent the state of a Notebook document compared to the original.
|
|
7
|
+
* Its similar to the IDocumentDiff object, that tells us what cells are unmodified, modified, inserted or deleted.
|
|
8
|
+
*
|
|
9
|
+
* All entries will contain a IDocumentDiff
|
|
10
|
+
* Even when there are no changes, diff will contain the number of lines in the document.
|
|
11
|
+
* This way we can always calculate the total number of lines in the document.
|
|
12
|
+
*/
|
|
5
13
|
export type ICellDiffInfo = {
|
|
6
14
|
originalCellIndex: number;
|
|
7
15
|
modifiedCellIndex: number;
|
|
@@ -20,8 +28,19 @@ export type ICellDiffInfo = {
|
|
|
20
28
|
type: "insert";
|
|
21
29
|
} & IDocumentDiffWithModelsAndActions;
|
|
22
30
|
interface IDocumentDiffWithModelsAndActions {
|
|
31
|
+
/**
|
|
32
|
+
* The changes between the original and modified document.
|
|
33
|
+
*/
|
|
23
34
|
diff: ISettableObservable<IDocumentDiff>;
|
|
35
|
+
/**
|
|
36
|
+
* The original model.
|
|
37
|
+
* Cell text models load asynchronously, so this is an observable promise.
|
|
38
|
+
*/
|
|
24
39
|
originalModel: ObservablePromise<ITextModel>;
|
|
40
|
+
/**
|
|
41
|
+
* The modified model.
|
|
42
|
+
* Cell text models load asynchronously, so this is an observable promise.
|
|
43
|
+
*/
|
|
25
44
|
modifiedModel: ObservablePromise<ITextModel>;
|
|
26
45
|
keep(changes: DetailedLineRangeMapping): Promise<boolean>;
|
|
27
46
|
undo(changes: DetailedLineRangeMapping): Promise<boolean>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { IHoverAction } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
|
|
2
2
|
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
3
|
+
/**
|
|
4
|
+
* This borrows some of HoverWidget so that a chat editor hover can be rendered in the same way as a workbench hover.
|
|
5
|
+
* Maybe it can be reusable in a generic way.
|
|
6
|
+
*/
|
|
3
7
|
export declare class ChatEditorHoverWrapper {
|
|
4
8
|
private readonly keybindingService;
|
|
5
9
|
readonly domNode: HTMLElement;
|
|
@@ -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
|
.chat-editor-hover-wrapper-content {
|
|
2
7
|
padding: 2px 8px;
|
|
3
8
|
}
|