@codingame/monaco-vscode-chat-service-override 18.4.0 → 19.0.1

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.
Files changed (371) hide show
  1. package/index.js +17 -10
  2. package/package.json +31 -35
  3. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +11 -0
  4. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.js +42 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +52 -43
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +16 -14
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +32 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +17 -17
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +41 -19
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +21 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.d.ts +1 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +179 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +44 -27
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +32 -28
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +46 -32
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +116 -109
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +38 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +234 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +5 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -18
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +10 -33
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +42 -312
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +10 -29
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -13
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +7 -7
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +42 -22
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -4
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +52 -70
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +0 -3
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +61 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +332 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +1 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +1 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.d.ts +13 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +69 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +10 -31
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +30 -235
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +1 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +8 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +14 -13
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +2 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -2
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +172 -348
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +4 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +150 -67
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -5
  74. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +15 -10
  76. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +3 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +40 -12
  80. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +6 -90
  81. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +32 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +3 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +3 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.d.ts → promptSyntax/attachInstructionsAction.d.ts} +8 -9
  85. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.js → promptSyntax/attachInstructionsAction.js} +43 -45
  86. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +68 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.d.ts → newPromptFileActions.d.ts} +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.js → newPromptFileActions.js} +95 -36
  90. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.js +11 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.d.ts +3 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.js +27 -34
  94. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.d.ts +3 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.js +33 -24
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.d.ts +11 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +35 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.d.ts +22 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +117 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +16 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +15 -33
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.d.ts +27 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +153 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatRunPromptAction.js → promptSyntax/runPromptAction.js} +38 -33
  107. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +9 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatSaveToPromptAction.js → promptSyntax/saveToPromptAction.js} +26 -26
  109. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +20 -21
  110. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +2 -2
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +13 -13
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +3 -3
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -3
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +40 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.js +107 -0
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +9 -0
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.js +45 -0
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +35 -0
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.js +150 -0
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +15 -0
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.js +69 -0
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +10 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.js +33 -0
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.d.ts +4 -0
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.js +29 -0
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +15 -0
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.js +118 -0
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +14 -0
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.js +134 -0
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.d.ts +27 -0
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.js +34 -0
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +18 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.js +134 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +13 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.js +64 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +17 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.js +75 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +11 -0
  143. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.js +41 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.d.ts +9 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.js +63 -0
  146. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +21 -0
  147. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.js +127 -0
  148. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +11 -0
  149. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.js +25 -0
  150. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +14 -0
  151. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.js +64 -0
  152. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +22 -0
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.js +37 -0
  154. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +9 -0
  155. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.js +57 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +13 -0
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.js +18 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +9 -0
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.js +9 -0
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +16 -0
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.js +100 -0
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +9 -0
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.js +19 -0
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +6 -0
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.js +20 -0
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +9 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.js +19 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +12 -0
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.js +72 -0
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +22 -0
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.js +113 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.d.ts +10 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.js +68 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +19 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.js +99 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.js +19 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +12 -0
  179. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.js +54 -0
  180. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +12 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.js +53 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +3 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.js +7 -0
  184. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +13 -0
  185. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.js +68 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +20 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.js +199 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +16 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.js +37 -0
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +14 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.js +27 -0
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.d.ts +3 -0
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.js +7 -0
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +24 -0
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.js +30 -0
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.d.ts +15 -0
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.js +66 -0
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +12 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.js +23 -0
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +6 -0
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.js +14 -0
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +12 -0
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.js +23 -0
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +6 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.js +14 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +6 -0
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.js +14 -0
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +12 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.js +23 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +6 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.js +14 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +6 -0
  213. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.js +14 -0
  214. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +8 -0
  215. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.js +17 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +6 -0
  217. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.js +14 -0
  218. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +6 -0
  219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.js +14 -0
  220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +6 -0
  221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.js +14 -0
  222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +12 -0
  223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.js +23 -0
  224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +8 -0
  225. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.js +17 -0
  226. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +12 -0
  227. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.js +19 -0
  228. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +6 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.js +14 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +6 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.js +14 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +6 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.js +14 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +6 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.js +14 -0
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +9 -0
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.js +29 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +5 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.js +10 -0
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +25 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.js +126 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +5 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.js +25 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +12 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.js +13 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +16 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.js +109 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +11 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.js +80 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +11 -0
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.js +81 -0
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +15 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.js +100 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +16 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.js +149 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.js +20 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +8 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.js +25 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +8 -0
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.js +19 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +8 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.js +25 -0
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.d.ts +3 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.js +7 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +14 -0
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.js +48 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.js +8 -9
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +23 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +97 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +32 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +67 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +22 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +46 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +241 -0
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +28 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +155 -0
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +22 -0
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +162 -0
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.d.ts +5 -3
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.js +17 -27
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +9 -0
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +39 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.d.ts +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.js +11 -13
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.d.ts +4 -4
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.js +2 -2
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +72 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +333 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +14 -0
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.js +20 -0
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +36 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +101 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +14 -0
  297. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.js +17 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.d.ts +10 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +87 -0
  300. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +10 -0
  301. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +63 -0
  302. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +23 -0
  303. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.js +37 -0
  304. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +10 -0
  305. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +54 -0
  306. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.d.ts +7 -0
  307. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.js +43 -0
  308. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +7 -0
  309. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +41 -0
  310. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +7 -0
  311. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.js +43 -0
  312. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +15 -0
  313. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +98 -0
  314. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +16 -0
  315. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.js +24 -0
  316. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +19 -0
  317. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +62 -0
  318. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +12 -0
  319. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.js +36 -0
  320. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +4 -4
  321. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +9 -0
  323. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +50 -0
  324. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/index.d.ts → promptFileContributions.d.ts} +1 -1
  325. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +29 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.d.ts → promptsServiceImpl.d.ts} +14 -11
  327. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.js → promptsServiceImpl.js} +78 -121
  328. package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.d.ts +1 -1
  329. package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.js +1 -1
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +17 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.js +41 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +64 -34
  334. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  335. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  336. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +13 -17
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  343. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +9 -0
  344. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +100 -0
  345. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.d.ts +24 -0
  346. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +62 -0
  347. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +0 -1
  348. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +0 -54
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.d.ts +0 -4
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +0 -9
  351. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +0 -30
  353. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +0 -15
  354. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.js +0 -12
  355. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
  356. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +0 -14
  357. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.d.ts +0 -9
  358. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +0 -17
  359. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +0 -9
  360. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +0 -23
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +0 -21
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.d.ts +0 -2
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +0 -18
  364. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +0 -16
  365. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +0 -66
  366. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.d.ts +0 -12
  367. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +0 -56
  368. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +0 -22
  369. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +0 -13
  370. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.d.ts +0 -0
  371. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.d.ts +0 -0
@@ -3,11 +3,9 @@ import { ITransaction } from "@codingame/monaco-vscode-api/vscode/vs/base/common
3
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
4
  import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
5
5
  import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
6
- import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
7
6
  import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
8
7
  import { IResolvedTextEditorModel } from "@codingame/monaco-vscode-model-service-override/vscode/vs/editor/common/services/resolverService";
9
8
  import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
10
- import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
11
9
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
12
10
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
13
11
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
@@ -18,53 +16,32 @@ import { IEditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/co
18
16
  import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service";
19
17
  import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service";
20
18
  import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
21
- import { ChatEditKind, IModifiedFileEntry, IModifiedFileEntryEditorIntegration } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
22
- import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
19
+ import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
20
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
23
21
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
24
- import { AbstractChatEditingModifiedFileEntry, IModifiedEntryTelemetryInfo, ISnapshotEntry } from "./chatEditingModifiedFileEntry.js";
22
+ import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
25
23
  export declare class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifiedFileEntry implements IModifiedFileEntry {
26
24
  private readonly _multiDiffEntryDelegate;
27
- private readonly _editorWorkerService;
28
25
  private readonly _textFileService;
29
- private readonly _accessibilitySignalService;
30
- private static readonly _lastEditDecorationOptions;
31
- private static readonly _pendingEditDecorationOptions;
32
- private static readonly _atomicEditDecorationOptions;
33
26
  readonly initialContent: string;
34
27
  private readonly originalModel;
35
28
  private readonly modifiedModel;
36
29
  private readonly _docFileEditorModel;
37
- private _edit;
38
- private _isEditFromUs;
39
- private _allEditsAreFromUs;
40
- private _diffOperation;
41
- private _diffOperationIds;
42
- private readonly _diffInfo;
43
- readonly changesCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservable<number>;
44
- private readonly _editDecorationClear;
45
- private _editDecorations;
30
+ get changesCount(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservable<number>;
46
31
  readonly originalURI: URI;
32
+ private readonly _textModelChangeService;
47
33
  constructor(resourceRef: IReference<IResolvedTextEditorModel>, _multiDiffEntryDelegate: {
48
34
  collapse: (transaction: ITransaction | undefined) => void;
49
- }, telemetryInfo: IModifiedEntryTelemetryInfo, kind: ChatEditKind, initialContent: string | undefined, markerService: IMarkerService, modelService: IModelService, textModelService: ITextModelService, languageService: ILanguageService, configService: IConfigurationService, fileConfigService: IFilesConfigurationService, chatService: IChatService, _editorWorkerService: IEditorWorkerService, _textFileService: ITextFileService, fileService: IFileService, undoRedoService: IUndoRedoService, instantiationService: IInstantiationService, _accessibilitySignalService: IAccessibilitySignalService);
50
- private _clearCurrentEditLineDecoration;
35
+ }, telemetryInfo: IModifiedEntryTelemetryInfo, kind: ChatEditKind, initialContent: string | undefined, markerService: IMarkerService, modelService: IModelService, textModelService: ITextModelService, languageService: ILanguageService, configService: IConfigurationService, fileConfigService: IFilesConfigurationService, chatService: IChatService, _textFileService: ITextFileService, fileService: IFileService, undoRedoService: IUndoRedoService, instantiationService: IInstantiationService);
51
36
  equalsSnapshot(snapshot: ISnapshotEntry | undefined): boolean;
52
37
  createSnapshot(requestId: string | undefined, undoStop: string | undefined): ISnapshotEntry;
53
- restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): void;
54
- resetToInitialContent(): void;
38
+ restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): Promise<void>;
39
+ resetToInitialContent(): Promise<void>;
55
40
  protected _areOriginalAndModifiedIdentical(): Promise<boolean>;
56
41
  protected _resetEditsState(tx: ITransaction): void;
57
- private _mirrorEdits;
58
42
  protected _createUndoRedoElement(response: IChatResponseModel): IUndoRedoElement;
59
43
  acceptAgentEdits(resource: URI, textEdits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<void>;
60
- private _acceptHunk;
61
- private _rejectHunk;
62
- private _applyEdits;
63
- private _updateDiffInfoSeq;
64
- private _updateDiffInfo;
65
- protected _doAccept(tx: ITransaction | undefined): Promise<void>;
66
- protected _doReject(tx: ITransaction | undefined): Promise<void>;
67
- private _setDocValue;
68
- private _collapse;
44
+ protected _doAccept(): Promise<void>;
45
+ protected _doReject(): Promise<void>;
69
46
  protected _createEditorIntegration(editor: IEditorPane): IModifiedFileEntryEditorIntegration;
70
47
  }
@@ -1,46 +1,19 @@
1
1
 
2
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 { toDisposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import { MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
4
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
8
- import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
- import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
10
5
  import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
11
6
  import { getCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
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
7
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
18
- import { OverviewRulerLane, MinimapPosition } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
19
8
  import { SingleModelEditStackElement } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/editStack';
20
- import { ModelDecorationOptions, createTextBufferFactoryFromSnapshot } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
21
- import { offsetEditFromContentChanges, offsetEditToEditOperations, offsetEditFromLineRangeMapping } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModelStringEdit';
22
- import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
9
+ import { createTextBufferFactoryFromSnapshot } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
23
10
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
24
11
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
25
- import { TextModelEditReason } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditReason';
26
12
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
27
- import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
28
- import { IAccessibilitySignalService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
29
13
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
30
14
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
31
15
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
32
16
  import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
33
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
34
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
35
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
36
- import { editorSelectionBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
37
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
38
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
39
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
40
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
41
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
42
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
43
- import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
44
17
  import { IUndoRedoService } from '@codingame/monaco-vscode-api/vscode/vs/platform/undoRedo/common/undoRedo.service';
45
18
  import { SaveReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
46
19
  import { IFilesConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service';
@@ -49,65 +22,30 @@ import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workben
49
22
  import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
50
23
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
51
24
  import { ChatEditingCodeEditorIntegration } from './chatEditingCodeEditorIntegration.js';
52
- import { AbstractChatEditingModifiedFileEntry, pendingRewriteMinimap } from './chatEditingModifiedFileEntry.js';
25
+ import { AbstractChatEditingModifiedFileEntry } from './chatEditingModifiedFileEntry.js';
26
+ import { ChatEditingTextModelChangeService } from './chatEditingTextModelChangeService.js';
53
27
  import { ChatEditingTextModelContentProvider, ChatEditingSnapshotTextModelContentProvider } from './chatEditingTextModelContentProviders.js';
54
- import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
55
28
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
56
29
  import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
57
30
 
58
- var ChatEditingModifiedDocumentEntry_1;
59
31
  let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifiedFileEntry {
60
- static { ChatEditingModifiedDocumentEntry_1 = this; }
61
- static { this._lastEditDecorationOptions = ModelDecorationOptions.register({
62
- isWholeLine: true,
63
- description: 'chat-last-edit',
64
- className: 'chat-editing-last-edit-line',
65
- marginClassName: 'chat-editing-last-edit',
66
- overviewRuler: {
67
- position: OverviewRulerLane.Full,
68
- color: themeColorFromId(editorSelectionBackground)
69
- },
70
- }); }
71
- static { this._pendingEditDecorationOptions = ModelDecorationOptions.register({
72
- isWholeLine: true,
73
- description: 'chat-pending-edit',
74
- className: 'chat-editing-pending-edit',
75
- minimap: {
76
- position: MinimapPosition.Inline,
77
- color: themeColorFromId(pendingRewriteMinimap)
78
- }
79
- }); }
80
- static { this._atomicEditDecorationOptions = ModelDecorationOptions.register({
81
- isWholeLine: true,
82
- description: 'chat-atomic-edit',
83
- className: 'chat-editing-atomic-edit',
84
- minimap: {
85
- position: MinimapPosition.Inline,
86
- color: themeColorFromId(pendingRewriteMinimap)
87
- }
88
- }); }
89
- constructor(resourceRef, _multiDiffEntryDelegate, telemetryInfo, kind, initialContent, markerService, modelService, textModelService, languageService, configService, fileConfigService, chatService, _editorWorkerService, _textFileService, fileService, undoRedoService, instantiationService, _accessibilitySignalService) {
32
+ get changesCount() {
33
+ return ( this._textModelChangeService.diffInfo.map(diff => diff.changes.length));
34
+ }
35
+ constructor(resourceRef, _multiDiffEntryDelegate, telemetryInfo, kind, initialContent, markerService, modelService, textModelService, languageService, configService, fileConfigService, chatService, _textFileService, fileService, undoRedoService, instantiationService) {
90
36
  super(resourceRef.object.textEditorModel.uri, telemetryInfo, kind, configService, fileConfigService, chatService, fileService, undoRedoService, instantiationService);
91
37
  this._multiDiffEntryDelegate = _multiDiffEntryDelegate;
92
- this._editorWorkerService = _editorWorkerService;
93
38
  this._textFileService = _textFileService;
94
- this._accessibilitySignalService = _accessibilitySignalService;
95
- this._edit = StringEdit.empty;
96
- this._isEditFromUs = false;
97
- this._allEditsAreFromUs = true;
98
- this._diffOperationIds = 0;
99
- this._diffInfo = observableValue(this, nullDocumentDiff);
100
- this.changesCount = ( this._diffInfo.map(diff => diff.changes.length));
101
- this._editDecorationClear = this._register(( new RunOnceScheduler(
102
- () => { this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []); },
103
- 500
104
- )));
105
- this._editDecorations = [];
106
39
  this._docFileEditorModel = this._register(resourceRef).object;
107
40
  this.modifiedModel = resourceRef.object.textEditorModel;
108
41
  this.originalURI = ChatEditingTextModelContentProvider.getFileURI(telemetryInfo.sessionId, this.entryId, this.modifiedURI.path);
109
42
  this.initialContent = initialContent ?? this.modifiedModel.getValue();
110
43
  const docSnapshot = this.originalModel = this._register(modelService.createModel(createTextBufferFactoryFromSnapshot(initialContent ? stringToSnapshot(initialContent) : this.modifiedModel.createSnapshot()), languageService.createById(this.modifiedModel.getLanguageId()), this.originalURI, false));
44
+ this._textModelChangeService = this._register(instantiationService.createInstance(ChatEditingTextModelChangeService, this.originalModel, this.modifiedModel, this._stateObs));
45
+ this._register(this._textModelChangeService.onDidAcceptOrRejectAllHunks(action => {
46
+ this._stateObs.set(action, undefined);
47
+ this._notifyAction(action === ModifiedFileEntryState.Accepted ? 'accepted' : 'rejected');
48
+ }));
111
49
  (async () => {
112
50
  const reference = await textModelService.createModelReference(docSnapshot.uri);
113
51
  if (this._store.isDisposed) {
@@ -116,9 +54,12 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
116
54
  }
117
55
  this._register(reference);
118
56
  })();
119
- this._register(this.modifiedModel.onDidChangeContent(e => this._mirrorEdits(e)));
120
- this._register(toDisposable(() => {
121
- this._clearCurrentEditLineDecoration();
57
+ this._register(this._textModelChangeService.onDidUserEditModel(() => {
58
+ this._userEditScheduler.schedule();
59
+ const didResetToOriginalContent = this.modifiedModel.getValue() === this.initialContent;
60
+ if (this._stateObs.get() === ModifiedFileEntryState.Modified && didResetToOriginalContent) {
61
+ this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
62
+ }
122
63
  }));
123
64
  const resourceFilter = this._register(( new MutableDisposable()));
124
65
  this._register(autorun(r => {
@@ -126,23 +67,19 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
126
67
  if (inProgress) {
127
68
  const res = this._lastModifyingResponseObs.read(r);
128
69
  const req = res && res.session.getRequests().find(value => value.id === res.requestId);
129
- resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(4791, "Chat Edits")));
70
+ resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(4873, "Chat Edits")));
130
71
  }
131
72
  else {
132
73
  resourceFilter.clear();
133
74
  }
134
75
  }));
135
76
  }
136
- _clearCurrentEditLineDecoration() {
137
- this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []);
138
- }
139
77
  equalsSnapshot(snapshot) {
140
78
  return !!snapshot &&
141
79
  ( this.modifiedURI.toString()) === ( snapshot.resource.toString()) &&
142
80
  this.modifiedModel.getLanguageId() === snapshot.languageId &&
143
81
  this.originalModel.getValue() === snapshot.original &&
144
82
  this.modifiedModel.getValue() === snapshot.current &&
145
- this._edit.equals(snapshot.originalToCurrentEdit) &&
146
83
  this.state.get() === snapshot.state;
147
84
  }
148
85
  createSnapshot(requestId, undoStop) {
@@ -152,137 +89,41 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
152
89
  snapshotUri: ChatEditingSnapshotTextModelContentProvider.getSnapshotFileURI(this._telemetryInfo.sessionId, requestId, undoStop, this.modifiedURI.path),
153
90
  original: this.originalModel.getValue(),
154
91
  current: this.modifiedModel.getValue(),
155
- originalToCurrentEdit: this._edit,
156
92
  state: this.state.get(),
157
93
  telemetryInfo: this._telemetryInfo
158
94
  };
159
95
  }
160
- restoreFromSnapshot(snapshot, restoreToDisk = true) {
96
+ async restoreFromSnapshot(snapshot, restoreToDisk = true) {
161
97
  this._stateObs.set(snapshot.state, undefined);
162
- this.originalModel.setValue(snapshot.original);
163
- if (restoreToDisk) {
164
- this._setDocValue(snapshot.current);
165
- }
166
- this._edit = snapshot.originalToCurrentEdit;
167
- this._updateDiffInfoSeq();
98
+ await this._textModelChangeService.resetDocumentValues(snapshot.original, restoreToDisk ? snapshot.current : undefined);
168
99
  }
169
- resetToInitialContent() {
170
- this._setDocValue(this.initialContent);
100
+ async resetToInitialContent() {
101
+ await this._textModelChangeService.resetDocumentValues(undefined, this.initialContent);
171
102
  }
172
103
  async _areOriginalAndModifiedIdentical() {
173
- const diff = await this._diffOperation;
174
- return diff ? diff.identical : false;
104
+ return this._textModelChangeService.areOriginalAndModifiedIdentical();
175
105
  }
176
106
  _resetEditsState(tx) {
177
107
  super._resetEditsState(tx);
178
- this._clearCurrentEditLineDecoration();
179
- }
180
- _mirrorEdits(event) {
181
- const edit = offsetEditFromContentChanges(event.changes);
182
- if (this._isEditFromUs) {
183
- const e_sum = this._edit;
184
- const e_ai = edit;
185
- this._edit = e_sum.compose(e_ai);
186
- }
187
- else {
188
- const e_ai = this._edit;
189
- const e_user = edit;
190
- const e_user_r = e_user.tryRebase(e_ai.inverse(this.originalModel.getValue()), true);
191
- if (e_user_r === undefined) {
192
- this._edit = e_ai.compose(e_user);
193
- }
194
- else {
195
- const edits = offsetEditToEditOperations(e_user_r, this.originalModel);
196
- this.originalModel.applyEdits(edits);
197
- this._edit = e_ai.tryRebase(e_user_r);
198
- }
199
- this._allEditsAreFromUs = false;
200
- this._userEditScheduler.schedule();
201
- this._updateDiffInfoSeq();
202
- const didResetToOriginalContent = this.modifiedModel.getValue() === this.initialContent;
203
- const currentState = this._stateObs.get();
204
- switch (currentState) {
205
- case ModifiedFileEntryState.Modified:
206
- if (didResetToOriginalContent) {
207
- this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
208
- break;
209
- }
210
- }
211
- }
108
+ this._textModelChangeService.clearCurrentEditLineDecoration();
212
109
  }
213
110
  _createUndoRedoElement(response) {
214
111
  const request = response.session.getRequests().find(req => req.id === response.requestId);
215
- const label = request?.message.text ? ( localize(4792, "Chat Edit: '{0}'", request.message.text)) : ( localize(4793, "Chat Edit"));
112
+ const label = request?.message.text ? ( localize(4874, "Chat Edit: '{0}'", request.message.text)) : ( localize(4875, "Chat Edit"));
216
113
  return ( new SingleModelEditStackElement(label, 'chat.edit', this.modifiedModel, null));
217
114
  }
218
115
  async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
219
- assertType(textEdits.every(TextEdit.isTextEdit), 'INVALID args, can only handle text edits');
220
- assert(isEqual(resource, this.modifiedURI), ' INVALID args, can only edit THIS document');
221
- const isAtomicEdits = textEdits.length > 0 && isLastEdits;
222
- let rewriteRatio = 0;
223
- if (isAtomicEdits) {
224
- const minimalEdits = (await this._editorWorkerService.computeMoreMinimalEdits(this.modifiedModel.uri, textEdits)) ?? textEdits;
225
- const ops = ( minimalEdits.map(TextEdit.asEditOperation));
226
- const undoEdits = this._applyEdits(ops);
227
- if (undoEdits.length > 0) {
228
- let range;
229
- for (let i = 0; i < undoEdits.length; i++) {
230
- const op = undoEdits[i];
231
- if (!range) {
232
- range = Range.lift(op.range);
233
- }
234
- else {
235
- range = Range.plusRange(range, op.range);
236
- }
237
- }
238
- if (range) {
239
- const defer = ( new DeferredPromise());
240
- const listener = addDisposableListener(getWindow(undefined), 'animationend', e => {
241
- if (e.animationName === 'kf-chat-editing-atomic-edit') {
242
- defer.complete();
243
- listener.dispose();
244
- }
245
- });
246
- this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, [{
247
- options: ChatEditingModifiedDocumentEntry_1._atomicEditDecorationOptions,
248
- range
249
- }]);
250
- await Promise.any([defer.p, timeout(500)]);
251
- listener.dispose();
252
- }
253
- }
254
- }
255
- else {
256
- const ops = ( textEdits.map(TextEdit.asEditOperation));
257
- const undoEdits = this._applyEdits(ops);
258
- const maxLineNumber = undoEdits.reduce((max, op) => Math.max(max, op.range.startLineNumber), 0);
259
- rewriteRatio = Math.min(1, maxLineNumber / this.modifiedModel.getLineCount());
260
- const newDecorations = [
261
- {
262
- options: ChatEditingModifiedDocumentEntry_1._pendingEditDecorationOptions,
263
- range: ( new Range(maxLineNumber + 1, 1, Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER))
264
- }
265
- ];
266
- if (maxLineNumber > 0) {
267
- newDecorations.push({
268
- options: ChatEditingModifiedDocumentEntry_1._lastEditDecorationOptions,
269
- range: ( new Range(maxLineNumber, 1, maxLineNumber, Number.MAX_SAFE_INTEGER))
270
- });
271
- }
272
- this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, newDecorations);
273
- }
116
+ const result = await this._textModelChangeService.acceptAgentEdits(resource, textEdits, isLastEdits, responseModel);
274
117
  transaction((tx) => {
275
118
  this._waitsForLastEdits.set(!isLastEdits, tx);
276
119
  this._stateObs.set(ModifiedFileEntryState.Modified, tx);
277
120
  if (!isLastEdits) {
278
121
  this._isCurrentlyBeingModifiedByObs.set(responseModel, tx);
279
- this._rewriteRatioObs.set(rewriteRatio, tx);
122
+ this._rewriteRatioObs.set(result.rewriteRatio, tx);
280
123
  }
281
124
  else {
282
125
  this._resetEditsState(tx);
283
- this._updateDiffInfoSeq();
284
126
  this._rewriteRatioObs.set(1, tx);
285
- this._editDecorationClear.schedule();
286
127
  }
287
128
  });
288
129
  if (isLastEdits) {
@@ -292,98 +133,9 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
292
133
  });
293
134
  }
294
135
  }
295
- async _acceptHunk(change) {
296
- if (!this._diffInfo.get().changes.includes(change)) {
297
- return false;
298
- }
299
- const edits = [];
300
- for (const edit of change.innerChanges ?? []) {
301
- const newText = this.modifiedModel.getValueInRange(edit.modifiedRange);
302
- edits.push(EditOperation.replace(edit.originalRange, newText));
303
- }
304
- this.originalModel.pushEditOperations(null, edits, _ => null);
305
- await this._updateDiffInfoSeq();
306
- if (this._diffInfo.get().identical) {
307
- this._stateObs.set(ModifiedFileEntryState.Accepted, undefined);
308
- this._notifyAction('accepted');
309
- }
310
- this._accessibilitySignalService.playSignal(AccessibilitySignal.editsKept, { allowManyInParallel: true });
311
- return true;
312
- }
313
- async _rejectHunk(change) {
314
- if (!this._diffInfo.get().changes.includes(change)) {
315
- return false;
316
- }
317
- const edits = [];
318
- for (const edit of change.innerChanges ?? []) {
319
- const newText = this.originalModel.getValueInRange(edit.originalRange);
320
- edits.push(EditOperation.replace(edit.modifiedRange, newText));
321
- }
322
- this.modifiedModel.pushEditOperations(null, edits, _ => null);
323
- await this._updateDiffInfoSeq();
324
- if (this._diffInfo.get().identical) {
325
- this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
326
- this._notifyAction('rejected');
327
- }
328
- this._accessibilitySignalService.playSignal(AccessibilitySignal.editsUndone, { allowManyInParallel: true });
329
- return true;
330
- }
331
- _applyEdits(edits) {
332
- this._isEditFromUs = true;
333
- try {
334
- let result = [];
335
- TextModelEditReason.editWithReason(( new TextModelEditReason({ source: 'Chat.applyEdits' })), () => {
336
- this.modifiedModel.pushEditOperations(null, edits, (undoEdits) => {
337
- result = undoEdits;
338
- return null;
339
- });
340
- });
341
- return result;
342
- }
343
- finally {
344
- this._isEditFromUs = false;
345
- }
346
- }
347
- async _updateDiffInfoSeq() {
348
- const myDiffOperationId = ++this._diffOperationIds;
349
- await Promise.resolve(this._diffOperation);
350
- if (this._diffOperationIds === myDiffOperationId) {
351
- const thisDiffOperation = this._updateDiffInfo();
352
- this._diffOperation = thisDiffOperation;
353
- await thisDiffOperation;
354
- }
355
- }
356
- async _updateDiffInfo() {
357
- if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed()) {
358
- return undefined;
359
- }
360
- if (this.state.get() !== ModifiedFileEntryState.Modified) {
361
- this._diffInfo.set(nullDocumentDiff, undefined);
362
- return nullDocumentDiff;
363
- }
364
- const docVersionNow = this.modifiedModel.getVersionId();
365
- const snapshotVersionNow = this.originalModel.getVersionId();
366
- const diff = await this._editorWorkerService.computeDiff(this.originalModel.uri, this.modifiedModel.uri, {
367
- ignoreTrimWhitespace: false,
368
- computeMoves: false,
369
- maxComputationTimeMs: 3000
370
- }, 'advanced');
371
- if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed()) {
372
- return undefined;
373
- }
374
- if (this.modifiedModel.getVersionId() === docVersionNow && this.originalModel.getVersionId() === snapshotVersionNow) {
375
- const diff2 = diff ?? nullDocumentDiff;
376
- this._diffInfo.set(diff2, undefined);
377
- this._edit = offsetEditFromLineRangeMapping(this.originalModel, this.modifiedModel, diff2.changes);
378
- return diff2;
379
- }
380
- return undefined;
381
- }
382
- async _doAccept(tx) {
383
- this.originalModel.setValue(this.modifiedModel.createSnapshot());
384
- this._diffInfo.set(nullDocumentDiff, tx);
385
- this._edit = StringEdit.empty;
386
- await this._collapse(tx);
136
+ async _doAccept() {
137
+ this._textModelChangeService.keep();
138
+ this._multiDiffEntryDelegate.collapse(undefined);
387
139
  const config = this._fileConfigService.getAutoSaveConfiguration(this.modifiedURI);
388
140
  if (!config.autoSave || !this._textFileService.isDirty(this.modifiedURI)) {
389
141
  try {
@@ -397,7 +149,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
397
149
  }
398
150
  }
399
151
  }
400
- async _doReject(tx) {
152
+ async _doReject() {
401
153
  if (this.createdInRequestId === this._telemetryInfo.requestId) {
402
154
  if (isTextFileEditorModel(this._docFileEditorModel)) {
403
155
  await this._docFileEditorModel.revert({ soft: true });
@@ -406,41 +158,21 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
406
158
  this._onDidDelete.fire();
407
159
  }
408
160
  else {
409
- this._setDocValue(this.originalModel.getValue());
410
- if (this._allEditsAreFromUs && isTextFileEditorModel(this._docFileEditorModel)) {
161
+ this._textModelChangeService.undo();
162
+ if (this._textModelChangeService.allEditsAreFromUs && isTextFileEditorModel(this._docFileEditorModel)) {
411
163
  await this._docFileEditorModel.save({ reason: SaveReason.EXPLICIT, skipSaveParticipants: true });
412
164
  }
413
- await this._collapse(tx);
414
- }
415
- }
416
- _setDocValue(value) {
417
- if (this.modifiedModel.getValue() !== value) {
418
- this.modifiedModel.pushStackElement();
419
- const edit = EditOperation.replace(this.modifiedModel.getFullModelRange(), value);
420
- this._applyEdits([edit]);
421
- this._updateDiffInfoSeq();
422
- this.modifiedModel.pushStackElement();
165
+ this._multiDiffEntryDelegate.collapse(undefined);
423
166
  }
424
167
  }
425
- async _collapse(transaction) {
426
- this._multiDiffEntryDelegate.collapse(transaction);
427
- }
428
168
  _createEditorIntegration(editor) {
429
169
  const codeEditor = getCodeEditor(editor.getControl());
430
170
  assertType(codeEditor);
431
- const diffInfo = ( this._diffInfo.map(value => {
432
- return {
433
- ...value,
434
- originalModel: this.originalModel,
435
- modifiedModel: this.modifiedModel,
436
- keep: changes => this._acceptHunk(changes),
437
- undo: changes => this._rejectHunk(changes)
438
- };
439
- }));
171
+ const diffInfo = this._textModelChangeService.diffInfo;
440
172
  return this._instantiationService.createInstance(ChatEditingCodeEditorIntegration, this, codeEditor, diffInfo, false);
441
173
  }
442
174
  };
443
- ChatEditingModifiedDocumentEntry = ChatEditingModifiedDocumentEntry_1 = ( __decorate([
175
+ ChatEditingModifiedDocumentEntry = ( __decorate([
444
176
  ( __param(5, IMarkerService)),
445
177
  ( __param(6, IModelService)),
446
178
  ( __param(7, ITextModelService)),
@@ -448,12 +180,10 @@ ChatEditingModifiedDocumentEntry = ChatEditingModifiedDocumentEntry_1 = ( __deco
448
180
  ( __param(9, IConfigurationService)),
449
181
  ( __param(10, IFilesConfigurationService)),
450
182
  ( __param(11, IChatService)),
451
- ( __param(12, IEditorWorkerService)),
452
- ( __param(13, ITextFileService)),
453
- ( __param(14, IFileService)),
454
- ( __param(15, IUndoRedoService)),
455
- ( __param(16, IInstantiationService)),
456
- ( __param(17, IAccessibilitySignalService))
183
+ ( __param(12, ITextFileService)),
184
+ ( __param(13, IFileService)),
185
+ ( __param(14, IUndoRedoService)),
186
+ ( __param(15, IInstantiationService))
457
187
  ], ChatEditingModifiedDocumentEntry));
458
188
 
459
189
  export { ChatEditingModifiedDocumentEntry };
@@ -3,7 +3,6 @@ import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/even
3
3
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
4
  import { IObservable, ITransaction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
5
5
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
- import { StringEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/edits/stringEdit";
7
6
  import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
8
7
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
8
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
@@ -13,9 +12,8 @@ import { IUndoRedoService } from "@codingame/monaco-vscode-api/vscode/vs/platfor
13
12
  import { IEditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
14
13
  import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service";
15
14
  import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
16
- import { IChatAgentResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents";
17
- import { ChatEditKind, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
18
- import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
15
+ import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ISnapshotEntry, ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
16
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
19
17
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
20
18
  declare class AutoAcceptControl {
21
19
  readonly total: number;
@@ -64,10 +62,10 @@ export declare abstract class AbstractChatEditingModifiedFileEntry extends Dispo
64
62
  acquire(): this;
65
63
  enableReviewModeUntilSettled(): void;
66
64
  updateTelemetryInfo(telemetryInfo: IModifiedEntryTelemetryInfo): void;
67
- accept(tx: ITransaction | undefined): Promise<void>;
68
- protected abstract _doAccept(tx: ITransaction | undefined): Promise<void>;
69
- reject(tx: ITransaction | undefined): Promise<void>;
70
- protected abstract _doReject(tx: ITransaction | undefined): Promise<void>;
65
+ accept(): Promise<void>;
66
+ protected abstract _doAccept(): Promise<void>;
67
+ reject(): Promise<void>;
68
+ protected abstract _doReject(): Promise<void>;
71
69
  protected _notifyAction(outcome: "accepted" | "rejected" | "userModified"): void;
72
70
  private readonly _editorIntegrations;
73
71
  getEditorIntegration(pane: IEditorPane): IModifiedFileEntryEditorIntegration;
@@ -76,30 +74,13 @@ export declare abstract class AbstractChatEditingModifiedFileEntry extends Dispo
76
74
  acceptStreamingEditsStart(responseModel: IChatResponseModel, tx: ITransaction): void;
77
75
  protected abstract _createUndoRedoElement(response: IChatResponseModel): IUndoRedoElement | undefined;
78
76
  abstract acceptAgentEdits(uri: URI, edits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<void>;
79
- acceptStreamingEditsEnd(tx: ITransaction): Promise<void>;
77
+ acceptStreamingEditsEnd(): Promise<void>;
80
78
  protected abstract _areOriginalAndModifiedIdentical(): Promise<boolean>;
81
- protected _resetEditsState(tx: ITransaction): void;
79
+ protected _resetEditsState(tx: ITransaction | undefined): void;
82
80
  abstract createSnapshot(requestId: string | undefined, undoStop: string | undefined): ISnapshotEntry;
83
81
  abstract equalsSnapshot(snapshot: ISnapshotEntry | undefined): boolean;
84
- abstract restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): void;
85
- abstract resetToInitialContent(): void;
82
+ abstract restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): Promise<void>;
83
+ abstract resetToInitialContent(): Promise<void>;
86
84
  abstract initialContent: string;
87
85
  }
88
- export interface IModifiedEntryTelemetryInfo {
89
- readonly agentId: string | undefined;
90
- readonly command: string | undefined;
91
- readonly sessionId: string;
92
- readonly requestId: string;
93
- readonly result: IChatAgentResult | undefined;
94
- }
95
- export interface ISnapshotEntry {
96
- readonly resource: URI;
97
- readonly languageId: string;
98
- readonly snapshotUri: URI;
99
- readonly original: string;
100
- readonly current: string;
101
- readonly originalToCurrentEdit: StringEdit;
102
- readonly state: ModifiedFileEntryState;
103
- telemetryInfo: IModifiedEntryTelemetryInfo;
104
- }
105
86
  export {};