@codingame/monaco-vscode-chat-service-override 18.4.0 → 19.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 +17 -10
- package/package.json +31 -35
- package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +11 -0
- package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.js +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +52 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +16 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +32 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +21 -9
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +179 -0
- 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 +44 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +32 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +46 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +116 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +10 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +42 -312
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +10 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +42 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +52 -70
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +332 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +10 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +30 -235
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +1 -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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +14 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +172 -348
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +150 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +15 -10
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +40 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +6 -90
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.d.ts → promptSyntax/attachInstructionsAction.d.ts} +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.js → promptSyntax/attachInstructionsAction.js} +43 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.d.ts → newPromptFileActions.d.ts} +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.js → newPromptFileActions.js} +95 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.js +27 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.js +33 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +15 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +153 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatRunPromptAction.js → promptSyntax/runPromptAction.js} +38 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatSaveToPromptAction.js → promptSyntax/saveToPromptAction.js} +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +20 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.js +107 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.js +150 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.js +69 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.js +33 -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/constants.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.js +118 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.js +134 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.js +134 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.js +41 -0
- 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/frontMatterString.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.js +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.js +100 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.js +72 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.js +113 -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/markdownImage.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.js +99 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.js +54 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.js +199 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.js +27 -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/markdownExtensionsCodec/tokens/markdownExtensionsToken.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.js +30 -0
- 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/simpleDecoder.js +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.js +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.js +80 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.js +81 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.js +100 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.js +149 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.js +25 -0
- 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/promptToken.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.js +48 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +97 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +67 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +241 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +155 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +162 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.js +17 -27
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.js +11 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +333 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +101 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.js +17 -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/applyTo.js +87 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +54 -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/description.js +43 -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/mode.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.js +43 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.js +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.js +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +50 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/index.d.ts → promptFileContributions.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.d.ts → promptsServiceImpl.d.ts} +14 -11
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.js → promptsServiceImpl.js} +78 -121
- package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.d.ts +1 -1
- package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +64 -34
- 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 +7 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +13 -17
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +100 -0
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +0 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.js +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +0 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +0 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +0 -56
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +0 -13
- /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.d.ts +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
|
|
5
|
+
import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
|
|
6
|
+
import { ITextModel, ITextSnapshot } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
7
|
+
import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
|
|
8
|
+
import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
|
|
9
|
+
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
10
|
+
import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
11
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
12
|
+
export declare class ChatEditingTextModelChangeService extends Disposable {
|
|
13
|
+
private readonly originalModel;
|
|
14
|
+
private readonly modifiedModel;
|
|
15
|
+
private readonly state;
|
|
16
|
+
private readonly _editorWorkerService;
|
|
17
|
+
private readonly _accessibilitySignalService;
|
|
18
|
+
private static readonly _lastEditDecorationOptions;
|
|
19
|
+
private static readonly _pendingEditDecorationOptions;
|
|
20
|
+
private static readonly _atomicEditDecorationOptions;
|
|
21
|
+
private _isEditFromUs;
|
|
22
|
+
get isEditFromUs(): boolean;
|
|
23
|
+
private _allEditsAreFromUs;
|
|
24
|
+
get allEditsAreFromUs(): boolean;
|
|
25
|
+
private _diffOperation;
|
|
26
|
+
private _diffOperationIds;
|
|
27
|
+
private readonly _diffInfo;
|
|
28
|
+
get diffInfo(): IObservable<{
|
|
29
|
+
originalModel: ITextModel;
|
|
30
|
+
modifiedModel: ITextModel;
|
|
31
|
+
keep: (changes: DetailedLineRangeMapping) => Promise<boolean>;
|
|
32
|
+
undo: (changes: DetailedLineRangeMapping) => Promise<boolean>;
|
|
33
|
+
identical: boolean;
|
|
34
|
+
quitEarly: boolean;
|
|
35
|
+
changes: readonly DetailedLineRangeMapping[];
|
|
36
|
+
moves: readonly import("@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/linesDiffComputer").MovedText[];
|
|
37
|
+
}>;
|
|
38
|
+
private readonly _editDecorationClear;
|
|
39
|
+
private _editDecorations;
|
|
40
|
+
private readonly _didAcceptOrRejectAllHunks;
|
|
41
|
+
readonly onDidAcceptOrRejectAllHunks: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<ModifiedFileEntryState.Accepted | ModifiedFileEntryState.Rejected>;
|
|
42
|
+
private readonly _didUserEditModel;
|
|
43
|
+
readonly onDidUserEditModel: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
44
|
+
private _originalToModifiedEdit;
|
|
45
|
+
constructor(originalModel: ITextModel, modifiedModel: ITextModel, state: IObservable<ModifiedFileEntryState>, _editorWorkerService: IEditorWorkerService, _accessibilitySignalService: IAccessibilitySignalService);
|
|
46
|
+
clearCurrentEditLineDecoration(): void;
|
|
47
|
+
areOriginalAndModifiedIdentical(): Promise<boolean>;
|
|
48
|
+
acceptAgentEdits(resource: URI, textEdits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<{
|
|
49
|
+
rewriteRatio: number;
|
|
50
|
+
maxLineNumber: number;
|
|
51
|
+
}>;
|
|
52
|
+
private _applyEdits;
|
|
53
|
+
keep(): void;
|
|
54
|
+
undo(): void;
|
|
55
|
+
resetDocumentValues(newOriginal: string | ITextSnapshot | undefined, newModified: string | undefined): Promise<void>;
|
|
56
|
+
private _mirrorEdits;
|
|
57
|
+
private _keepHunk;
|
|
58
|
+
private _undoHunk;
|
|
59
|
+
private _updateDiffInfoSeq;
|
|
60
|
+
private _updateDiffInfo;
|
|
61
|
+
}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { addDisposableListener, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
5
|
+
import { RunOnceScheduler, DeferredPromise, timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
6
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
7
|
+
import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
9
|
+
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
10
|
+
import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
11
|
+
import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
12
|
+
import { EditOperation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation';
|
|
13
|
+
import { StringEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/edits/stringEdit';
|
|
14
|
+
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
15
|
+
import { nullDocumentDiff } from '../../../../../editor/common/diff/documentDiffProvider.js';
|
|
16
|
+
import { TextEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
17
|
+
import { OverviewRulerLane, MinimapPosition } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
18
|
+
import { ModelDecorationOptions } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
|
|
19
|
+
import { offsetEditFromContentChanges, offsetEditToEditOperations, offsetEditFromLineRangeMapping } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModelStringEdit';
|
|
20
|
+
import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
|
|
21
|
+
import { EditReasons } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditReason';
|
|
22
|
+
import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
23
|
+
import { IAccessibilitySignalService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
|
|
24
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
25
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
|
|
26
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
27
|
+
import { editorSelectionBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
|
|
28
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
|
|
29
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
|
|
30
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
|
|
31
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
32
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
|
|
33
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
34
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
35
|
+
import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
36
|
+
import { pendingRewriteMinimap } from './chatEditingModifiedFileEntry.js';
|
|
37
|
+
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
38
|
+
|
|
39
|
+
var ChatEditingTextModelChangeService_1;
|
|
40
|
+
let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService extends Disposable {
|
|
41
|
+
static { ChatEditingTextModelChangeService_1 = this; }
|
|
42
|
+
static { this._lastEditDecorationOptions = ModelDecorationOptions.register({
|
|
43
|
+
isWholeLine: true,
|
|
44
|
+
description: 'chat-last-edit',
|
|
45
|
+
className: 'chat-editing-last-edit-line',
|
|
46
|
+
marginClassName: 'chat-editing-last-edit',
|
|
47
|
+
overviewRuler: {
|
|
48
|
+
position: OverviewRulerLane.Full,
|
|
49
|
+
color: themeColorFromId(editorSelectionBackground)
|
|
50
|
+
},
|
|
51
|
+
}); }
|
|
52
|
+
static { this._pendingEditDecorationOptions = ModelDecorationOptions.register({
|
|
53
|
+
isWholeLine: true,
|
|
54
|
+
description: 'chat-pending-edit',
|
|
55
|
+
className: 'chat-editing-pending-edit',
|
|
56
|
+
minimap: {
|
|
57
|
+
position: MinimapPosition.Inline,
|
|
58
|
+
color: themeColorFromId(pendingRewriteMinimap)
|
|
59
|
+
}
|
|
60
|
+
}); }
|
|
61
|
+
static { this._atomicEditDecorationOptions = ModelDecorationOptions.register({
|
|
62
|
+
isWholeLine: true,
|
|
63
|
+
description: 'chat-atomic-edit',
|
|
64
|
+
className: 'chat-editing-atomic-edit',
|
|
65
|
+
minimap: {
|
|
66
|
+
position: MinimapPosition.Inline,
|
|
67
|
+
color: themeColorFromId(pendingRewriteMinimap)
|
|
68
|
+
}
|
|
69
|
+
}); }
|
|
70
|
+
get isEditFromUs() {
|
|
71
|
+
return this._isEditFromUs;
|
|
72
|
+
}
|
|
73
|
+
get allEditsAreFromUs() {
|
|
74
|
+
return this._allEditsAreFromUs;
|
|
75
|
+
}
|
|
76
|
+
get diffInfo() {
|
|
77
|
+
return ( this._diffInfo.map(value => {
|
|
78
|
+
return {
|
|
79
|
+
...value,
|
|
80
|
+
originalModel: this.originalModel,
|
|
81
|
+
modifiedModel: this.modifiedModel,
|
|
82
|
+
keep: changes => this._keepHunk(changes),
|
|
83
|
+
undo: changes => this._undoHunk(changes)
|
|
84
|
+
};
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
constructor(originalModel, modifiedModel, state, _editorWorkerService, _accessibilitySignalService) {
|
|
88
|
+
super();
|
|
89
|
+
this.originalModel = originalModel;
|
|
90
|
+
this.modifiedModel = modifiedModel;
|
|
91
|
+
this.state = state;
|
|
92
|
+
this._editorWorkerService = _editorWorkerService;
|
|
93
|
+
this._accessibilitySignalService = _accessibilitySignalService;
|
|
94
|
+
this._isEditFromUs = false;
|
|
95
|
+
this._allEditsAreFromUs = true;
|
|
96
|
+
this._diffOperationIds = 0;
|
|
97
|
+
this._diffInfo = observableValue(this, nullDocumentDiff);
|
|
98
|
+
this._editDecorationClear = this._register(( new RunOnceScheduler(
|
|
99
|
+
() => { this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []); },
|
|
100
|
+
500
|
|
101
|
+
)));
|
|
102
|
+
this._editDecorations = [];
|
|
103
|
+
this._didAcceptOrRejectAllHunks = this._register(( new Emitter()));
|
|
104
|
+
this.onDidAcceptOrRejectAllHunks = this._didAcceptOrRejectAllHunks.event;
|
|
105
|
+
this._didUserEditModel = this._register(( new Emitter()));
|
|
106
|
+
this.onDidUserEditModel = this._didUserEditModel.event;
|
|
107
|
+
this._originalToModifiedEdit = StringEdit.empty;
|
|
108
|
+
this._register(this.modifiedModel.onDidChangeContent(e => {
|
|
109
|
+
this._mirrorEdits(e);
|
|
110
|
+
}));
|
|
111
|
+
this._register(toDisposable(() => {
|
|
112
|
+
this.clearCurrentEditLineDecoration();
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
clearCurrentEditLineDecoration() {
|
|
116
|
+
this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []);
|
|
117
|
+
}
|
|
118
|
+
async areOriginalAndModifiedIdentical() {
|
|
119
|
+
const diff = await this._diffOperation;
|
|
120
|
+
return diff ? diff.identical : false;
|
|
121
|
+
}
|
|
122
|
+
async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
|
|
123
|
+
assertType(textEdits.every(TextEdit.isTextEdit), 'INVALID args, can only handle text edits');
|
|
124
|
+
assert(isEqual(resource, this.modifiedModel.uri), ' INVALID args, can only edit THIS document');
|
|
125
|
+
const isAtomicEdits = textEdits.length > 0 && isLastEdits;
|
|
126
|
+
let maxLineNumber = 0;
|
|
127
|
+
let rewriteRatio = 0;
|
|
128
|
+
const modelId = responseModel.session.getRequests().at(-1)?.modelId;
|
|
129
|
+
const reason = EditReasons.chatApplyEdits({ modelId: modelId });
|
|
130
|
+
if (isAtomicEdits) {
|
|
131
|
+
const minimalEdits = (await this._editorWorkerService.computeMoreMinimalEdits(this.modifiedModel.uri, textEdits)) ?? textEdits;
|
|
132
|
+
const ops = ( minimalEdits.map(TextEdit.asEditOperation));
|
|
133
|
+
const undoEdits = this._applyEdits(ops, reason);
|
|
134
|
+
if (undoEdits.length > 0) {
|
|
135
|
+
let range;
|
|
136
|
+
for (let i = 0; i < undoEdits.length; i++) {
|
|
137
|
+
const op = undoEdits[i];
|
|
138
|
+
if (!range) {
|
|
139
|
+
range = Range.lift(op.range);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
range = Range.plusRange(range, op.range);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (range) {
|
|
146
|
+
const defer = ( new DeferredPromise());
|
|
147
|
+
const listener = addDisposableListener(getWindow(undefined), 'animationend', e => {
|
|
148
|
+
if (e.animationName === 'kf-chat-editing-atomic-edit') {
|
|
149
|
+
defer.complete();
|
|
150
|
+
listener.dispose();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, [{
|
|
154
|
+
options: ChatEditingTextModelChangeService_1._atomicEditDecorationOptions,
|
|
155
|
+
range
|
|
156
|
+
}]);
|
|
157
|
+
await Promise.any([defer.p, timeout(500)]);
|
|
158
|
+
listener.dispose();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
const ops = ( textEdits.map(TextEdit.asEditOperation));
|
|
164
|
+
const undoEdits = this._applyEdits(ops, reason);
|
|
165
|
+
maxLineNumber = undoEdits.reduce((max, op) => Math.max(max, op.range.startLineNumber), 0);
|
|
166
|
+
rewriteRatio = Math.min(1, maxLineNumber / this.modifiedModel.getLineCount());
|
|
167
|
+
const newDecorations = [
|
|
168
|
+
{
|
|
169
|
+
options: ChatEditingTextModelChangeService_1._pendingEditDecorationOptions,
|
|
170
|
+
range: ( new Range(maxLineNumber + 1, 1, Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER))
|
|
171
|
+
}
|
|
172
|
+
];
|
|
173
|
+
if (maxLineNumber > 0) {
|
|
174
|
+
newDecorations.push({
|
|
175
|
+
options: ChatEditingTextModelChangeService_1._lastEditDecorationOptions,
|
|
176
|
+
range: ( new Range(maxLineNumber, 1, maxLineNumber, Number.MAX_SAFE_INTEGER))
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, newDecorations);
|
|
180
|
+
}
|
|
181
|
+
if (isLastEdits) {
|
|
182
|
+
this._updateDiffInfoSeq();
|
|
183
|
+
this._editDecorationClear.schedule();
|
|
184
|
+
}
|
|
185
|
+
return { rewriteRatio, maxLineNumber };
|
|
186
|
+
}
|
|
187
|
+
_applyEdits(edits, reason) {
|
|
188
|
+
if (!reason) {
|
|
189
|
+
reason = EditReasons.chatApplyEdits({ modelId: undefined });
|
|
190
|
+
}
|
|
191
|
+
try {
|
|
192
|
+
this._isEditFromUs = true;
|
|
193
|
+
let result = [];
|
|
194
|
+
this.modifiedModel.pushEditOperations(null, edits, (undoEdits) => {
|
|
195
|
+
result = undoEdits;
|
|
196
|
+
return null;
|
|
197
|
+
}, undefined, reason);
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
this._isEditFromUs = false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
keep() {
|
|
205
|
+
this.originalModel.setValue(this.modifiedModel.createSnapshot());
|
|
206
|
+
this._diffInfo.set(nullDocumentDiff, undefined);
|
|
207
|
+
this._originalToModifiedEdit = StringEdit.empty;
|
|
208
|
+
}
|
|
209
|
+
undo() {
|
|
210
|
+
this.modifiedModel.pushStackElement();
|
|
211
|
+
this._applyEdits([(EditOperation.replace(this.modifiedModel.getFullModelRange(), this.originalModel.getValue()))]);
|
|
212
|
+
this.modifiedModel.pushStackElement();
|
|
213
|
+
this._originalToModifiedEdit = StringEdit.empty;
|
|
214
|
+
this._diffInfo.set(nullDocumentDiff, undefined);
|
|
215
|
+
}
|
|
216
|
+
async resetDocumentValues(newOriginal, newModified) {
|
|
217
|
+
let didChange = false;
|
|
218
|
+
if (newOriginal !== undefined) {
|
|
219
|
+
this.originalModel.setValue(newOriginal);
|
|
220
|
+
didChange = true;
|
|
221
|
+
}
|
|
222
|
+
if (newModified !== undefined && this.modifiedModel.getValue() !== newModified) {
|
|
223
|
+
this.modifiedModel.pushStackElement();
|
|
224
|
+
this._applyEdits([(EditOperation.replace(this.modifiedModel.getFullModelRange(), newModified))]);
|
|
225
|
+
this.modifiedModel.pushStackElement();
|
|
226
|
+
didChange = true;
|
|
227
|
+
}
|
|
228
|
+
if (didChange) {
|
|
229
|
+
await this._updateDiffInfoSeq();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
_mirrorEdits(event) {
|
|
233
|
+
const edit = offsetEditFromContentChanges(event.changes);
|
|
234
|
+
if (this._isEditFromUs) {
|
|
235
|
+
const e_sum = this._originalToModifiedEdit;
|
|
236
|
+
const e_ai = edit;
|
|
237
|
+
this._originalToModifiedEdit = e_sum.compose(e_ai);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
const e_ai = this._originalToModifiedEdit;
|
|
241
|
+
const e_user = edit;
|
|
242
|
+
const e_user_r = e_user.tryRebase(e_ai.inverse(this.originalModel.getValue()), true);
|
|
243
|
+
if (e_user_r === undefined) {
|
|
244
|
+
this._originalToModifiedEdit = e_ai.compose(e_user);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
const edits = offsetEditToEditOperations(e_user_r, this.originalModel);
|
|
248
|
+
this.originalModel.applyEdits(edits);
|
|
249
|
+
this._originalToModifiedEdit = e_ai.tryRebase(e_user_r);
|
|
250
|
+
}
|
|
251
|
+
this._allEditsAreFromUs = false;
|
|
252
|
+
this._updateDiffInfoSeq();
|
|
253
|
+
this._didUserEditModel.fire();
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
async _keepHunk(change) {
|
|
257
|
+
if (!this._diffInfo.get().changes.includes(change)) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
const edits = [];
|
|
261
|
+
for (const edit of change.innerChanges ?? []) {
|
|
262
|
+
const newText = this.modifiedModel.getValueInRange(edit.modifiedRange);
|
|
263
|
+
edits.push(EditOperation.replace(edit.originalRange, newText));
|
|
264
|
+
}
|
|
265
|
+
this.originalModel.pushEditOperations(null, edits, _ => null);
|
|
266
|
+
await this._updateDiffInfoSeq();
|
|
267
|
+
if (this._diffInfo.get().identical) {
|
|
268
|
+
this._didAcceptOrRejectAllHunks.fire(ModifiedFileEntryState.Accepted);
|
|
269
|
+
}
|
|
270
|
+
this._accessibilitySignalService.playSignal(AccessibilitySignal.editsKept, { allowManyInParallel: true });
|
|
271
|
+
return true;
|
|
272
|
+
}
|
|
273
|
+
async _undoHunk(change) {
|
|
274
|
+
if (!this._diffInfo.get().changes.includes(change)) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
const edits = [];
|
|
278
|
+
for (const edit of change.innerChanges ?? []) {
|
|
279
|
+
const newText = this.originalModel.getValueInRange(edit.originalRange);
|
|
280
|
+
edits.push(EditOperation.replace(edit.modifiedRange, newText));
|
|
281
|
+
}
|
|
282
|
+
this.modifiedModel.pushEditOperations(null, edits, _ => null);
|
|
283
|
+
await this._updateDiffInfoSeq();
|
|
284
|
+
if (this._diffInfo.get().identical) {
|
|
285
|
+
this._didAcceptOrRejectAllHunks.fire(ModifiedFileEntryState.Rejected);
|
|
286
|
+
}
|
|
287
|
+
this._accessibilitySignalService.playSignal(AccessibilitySignal.editsUndone, { allowManyInParallel: true });
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
async _updateDiffInfoSeq() {
|
|
291
|
+
const myDiffOperationId = ++this._diffOperationIds;
|
|
292
|
+
await Promise.resolve(this._diffOperation);
|
|
293
|
+
if (this._diffOperationIds === myDiffOperationId) {
|
|
294
|
+
const thisDiffOperation = this._updateDiffInfo();
|
|
295
|
+
this._diffOperation = thisDiffOperation;
|
|
296
|
+
await thisDiffOperation;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
async _updateDiffInfo() {
|
|
300
|
+
if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed() || this._store.isDisposed) {
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
if (this.state.get() !== ModifiedFileEntryState.Modified) {
|
|
304
|
+
this._diffInfo.set(nullDocumentDiff, undefined);
|
|
305
|
+
this._originalToModifiedEdit = StringEdit.empty;
|
|
306
|
+
return nullDocumentDiff;
|
|
307
|
+
}
|
|
308
|
+
const docVersionNow = this.modifiedModel.getVersionId();
|
|
309
|
+
const snapshotVersionNow = this.originalModel.getVersionId();
|
|
310
|
+
const diff = await this._editorWorkerService.computeDiff(this.originalModel.uri, this.modifiedModel.uri, {
|
|
311
|
+
ignoreTrimWhitespace: false,
|
|
312
|
+
computeMoves: false,
|
|
313
|
+
maxComputationTimeMs: 3000
|
|
314
|
+
}, 'advanced');
|
|
315
|
+
if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed() || this._store.isDisposed) {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
if (this.modifiedModel.getVersionId() === docVersionNow && this.originalModel.getVersionId() === snapshotVersionNow) {
|
|
319
|
+
const diff2 = diff ?? nullDocumentDiff;
|
|
320
|
+
this._diffInfo.set(diff2, undefined);
|
|
321
|
+
this._originalToModifiedEdit = offsetEditFromLineRangeMapping(this.originalModel, this.modifiedModel, diff2.changes);
|
|
322
|
+
return diff2;
|
|
323
|
+
}
|
|
324
|
+
return undefined;
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
ChatEditingTextModelChangeService = ChatEditingTextModelChangeService_1 = ( __decorate([
|
|
328
|
+
( __param(3, IEditorWorkerService)),
|
|
329
|
+
( __param(4, IAccessibilitySignalService))
|
|
330
|
+
], ChatEditingTextModelChangeService));
|
|
331
|
+
|
|
332
|
+
export { ChatEditingTextModelChangeService };
|
|
@@ -3,7 +3,6 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
4
4
|
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
5
5
|
import { chatEditingSnapshotScheme } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
6
|
-
import { ChatEditingSession } from './chatEditingSession.js';
|
|
7
6
|
|
|
8
7
|
var ChatEditingTextModelContentProvider_1;
|
|
9
8
|
let ChatEditingTextModelContentProvider = class ChatEditingTextModelContentProvider {
|
|
@@ -56,7 +55,7 @@ let ChatEditingSnapshotTextModelContentProvider = class ChatEditingSnapshotTextM
|
|
|
56
55
|
}
|
|
57
56
|
const data = JSON.parse(resource.query);
|
|
58
57
|
const session = this._chatEditingService.getEditingSession(data.sessionId);
|
|
59
|
-
if (!
|
|
58
|
+
if (!session || !data.requestId) {
|
|
60
59
|
return null;
|
|
61
60
|
}
|
|
62
61
|
return session.getSnapshotModel(data.requestId, data.undoStop || undefined, resource);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service";
|
|
2
2
|
import { INotebookLoggingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service";
|
|
3
3
|
import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
|
|
4
|
-
import { IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
5
|
-
import { ISnapshotEntry } from "../chatEditingModifiedFileEntry.js";
|
|
4
|
+
import { IEditSessionEntryDiff, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
6
5
|
export declare class ChatEditingModifiedNotebookDiff {
|
|
7
6
|
private readonly original;
|
|
8
7
|
private readonly modified;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { VSBuffer, encodeBase64, decodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
3
3
|
import { filter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
|
|
4
4
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
5
|
-
import { SnapshotContext } from '@codingame/monaco-vscode-
|
|
5
|
+
import { SnapshotContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
|
|
6
6
|
import { NotebookCellTextModel } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel';
|
|
7
7
|
import { NotebookSetting, CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
8
8
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
|
|
2
|
+
import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel";
|
|
3
|
+
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
4
|
+
import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
|
|
5
|
+
export declare class ChatEditingNewNotebookContentEdits {
|
|
6
|
+
private readonly notebook;
|
|
7
|
+
private readonly _notebookService;
|
|
8
|
+
private readonly textEdits;
|
|
9
|
+
constructor(notebook: NotebookTextModel, _notebookService: INotebookService);
|
|
10
|
+
acceptTextEdits(edits: TextEdit[]): void;
|
|
11
|
+
generateEdits(): Promise<ICellEditOperation[]>;
|
|
12
|
+
private generateContent;
|
|
13
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
4
|
+
import { CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
5
|
+
import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
|
|
6
|
+
|
|
7
|
+
let ChatEditingNewNotebookContentEdits = class ChatEditingNewNotebookContentEdits {
|
|
8
|
+
constructor(notebook, _notebookService) {
|
|
9
|
+
this.notebook = notebook;
|
|
10
|
+
this._notebookService = _notebookService;
|
|
11
|
+
this.textEdits = [];
|
|
12
|
+
}
|
|
13
|
+
acceptTextEdits(edits) {
|
|
14
|
+
if (edits.length) {
|
|
15
|
+
this.textEdits.push(...edits);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async generateEdits() {
|
|
19
|
+
if (this.notebook.cells.length) {
|
|
20
|
+
console.error(`Notebook edits not generated as notebook already has cells`);
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const content = this.generateContent();
|
|
24
|
+
if (!content) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
const notebookEdits = [];
|
|
28
|
+
try {
|
|
29
|
+
const { serializer } = await this._notebookService.withNotebookDataProvider(this.notebook.viewType);
|
|
30
|
+
const data = await serializer.dataToNotebook(VSBuffer.fromString(content));
|
|
31
|
+
for (let i = 0; i < data.cells.length; i++) {
|
|
32
|
+
notebookEdits.push({
|
|
33
|
+
editType: CellEditType.Replace,
|
|
34
|
+
index: i,
|
|
35
|
+
count: 0,
|
|
36
|
+
cells: [data.cells[i]]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (ex) {
|
|
41
|
+
console.error(`Failed to generate notebook edits from text edits ${content}`, ex);
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
return notebookEdits;
|
|
45
|
+
}
|
|
46
|
+
generateContent() {
|
|
47
|
+
try {
|
|
48
|
+
return applyTextEdits(this.textEdits);
|
|
49
|
+
}
|
|
50
|
+
catch (ex) {
|
|
51
|
+
console.error('Failed to generate content from text edits', ex);
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
ChatEditingNewNotebookContentEdits = ( __decorate([
|
|
57
|
+
( __param(1, INotebookService))
|
|
58
|
+
], ChatEditingNewNotebookContentEdits));
|
|
59
|
+
function applyTextEdits(edits) {
|
|
60
|
+
let output = '';
|
|
61
|
+
for (const edit of edits) {
|
|
62
|
+
output = output.slice(0, edit.range.startColumn)
|
|
63
|
+
+ edit.text
|
|
64
|
+
+ output.slice(edit.range.endColumn);
|
|
65
|
+
}
|
|
66
|
+
return output;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { ChatEditingNewNotebookContentEdits };
|
|
@@ -1,57 +1,36 @@
|
|
|
1
|
-
import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
-
import {
|
|
3
|
-
import { ObservableDisposable } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/base/common/observableDisposable";
|
|
1
|
+
import { Disposable, DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
4
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
4
|
import { IDocumentDiff } from "../../../../../../editor/common/diff/documentDiffProvider.js";
|
|
6
5
|
import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
|
|
7
6
|
import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
|
|
8
7
|
import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
9
|
-
import {
|
|
10
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
8
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
11
9
|
import { INotebookEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service";
|
|
12
10
|
import { NotebookCellTextModel } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel";
|
|
13
11
|
import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
14
|
-
import { IChatResponseModel } from "@codingame/monaco-vscode-
|
|
15
|
-
export declare class ChatEditingNotebookCellEntry extends
|
|
12
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
13
|
+
export declare class ChatEditingNotebookCellEntry extends Disposable {
|
|
16
14
|
readonly notebookUri: URI;
|
|
17
15
|
readonly cell: NotebookCellTextModel;
|
|
18
16
|
private readonly modifiedModel;
|
|
19
17
|
private readonly originalModel;
|
|
20
|
-
private readonly _editorWorkerService;
|
|
21
18
|
private readonly notebookEditorService;
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
private _edit;
|
|
25
|
-
private _isEditFromUs;
|
|
19
|
+
private readonly instantiationService;
|
|
20
|
+
get isDisposed(): boolean;
|
|
26
21
|
get isEditFromUs(): boolean;
|
|
27
|
-
private _allEditsAreFromUs;
|
|
28
22
|
get allEditsAreFromUs(): boolean;
|
|
29
|
-
private _diffOperation;
|
|
30
|
-
private _diffOperationIds;
|
|
31
|
-
private readonly _diffInfo;
|
|
32
23
|
get diffInfo(): IObservable<IDocumentDiff>;
|
|
33
24
|
private readonly _maxModifiedLineNumber;
|
|
34
25
|
readonly maxModifiedLineNumber: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<number, void>;
|
|
35
|
-
private readonly _editDecorationClear;
|
|
36
|
-
private _editDecorations;
|
|
37
|
-
private readonly _diffTrimWhitespace;
|
|
38
26
|
protected readonly _stateObs: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<ModifiedFileEntryState, void>;
|
|
39
27
|
readonly state: IObservable<ModifiedFileEntryState>;
|
|
40
|
-
protected readonly _isCurrentlyBeingModifiedByObs: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<IChatResponseModel | undefined, void>;
|
|
41
|
-
readonly isCurrentlyBeingModifiedBy: IObservable<IChatResponseModel | undefined>;
|
|
42
28
|
private readonly initialContent;
|
|
43
|
-
|
|
29
|
+
private readonly _textModelChangeService;
|
|
30
|
+
constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, disposables: DisposableStore, notebookEditorService: INotebookEditorService, instantiationService: IInstantiationService);
|
|
44
31
|
clearCurrentEditLineDecoration(): void;
|
|
45
|
-
|
|
46
|
-
acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel): void;
|
|
47
|
-
scheduleEditDecorations(): void;
|
|
32
|
+
acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<void>;
|
|
48
33
|
revertMarkdownPreviewState(): void;
|
|
49
|
-
protected _resetEditsState(tx: ITransaction): void;
|
|
50
34
|
keep(change: DetailedLineRangeMapping): Promise<boolean>;
|
|
51
|
-
private _acceptHunk;
|
|
52
35
|
undo(change: DetailedLineRangeMapping): Promise<boolean>;
|
|
53
|
-
private _rejectHunk;
|
|
54
|
-
private _applyEdits;
|
|
55
|
-
private _updateDiffInfoSeq;
|
|
56
|
-
private _updateDiffInfo;
|
|
57
36
|
}
|