@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.
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
@@ -30,6 +30,7 @@ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/com
30
30
  import { observableValueOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValueOpts';
31
31
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
32
32
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
33
+ import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
33
34
 
34
35
  var AbstractChatEditingModifiedFileEntry_1;
35
36
  class AutoAcceptControl {
@@ -39,7 +40,7 @@ class AutoAcceptControl {
39
40
  this.cancel = cancel;
40
41
  }
41
42
  }
42
- const pendingRewriteMinimap = registerColor('minimap.chatEditHighlight', ( transparent(editorBackground, 0.6)), ( localize(4794, "Color of pending edit regions in the minimap")));
43
+ const pendingRewriteMinimap = registerColor('minimap.chatEditHighlight', ( transparent(editorBackground, 0.6)), ( localize(4876, "Color of pending edit regions in the minimap")));
43
44
  let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFileEntry extends Disposable {
44
45
  static { AbstractChatEditingModifiedFileEntry_1 = this; }
45
46
  static { this.scheme = 'modified-file-entry'; }
@@ -125,7 +126,7 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
125
126
  }
126
127
  const remain = Math.round(future - Date.now());
127
128
  if (remain <= 0) {
128
- this.accept(undefined);
129
+ this.accept();
129
130
  }
130
131
  else {
131
132
  const handle = setTimeout(update, 100);
@@ -162,23 +163,27 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
162
163
  updateTelemetryInfo(telemetryInfo) {
163
164
  this._telemetryInfo = telemetryInfo;
164
165
  }
165
- async accept(tx) {
166
+ async accept() {
166
167
  if (this._stateObs.get() !== ModifiedFileEntryState.Modified) {
167
168
  return;
168
169
  }
169
- await this._doAccept(tx);
170
- this._stateObs.set(ModifiedFileEntryState.Accepted, tx);
171
- this._autoAcceptCtrl.set(undefined, tx);
170
+ await this._doAccept();
171
+ transaction(tx => {
172
+ this._stateObs.set(ModifiedFileEntryState.Accepted, tx);
173
+ this._autoAcceptCtrl.set(undefined, tx);
174
+ });
172
175
  this._notifyAction('accepted');
173
176
  }
174
- async reject(tx) {
177
+ async reject() {
175
178
  if (this._stateObs.get() !== ModifiedFileEntryState.Modified) {
176
179
  return;
177
180
  }
178
181
  this._notifyAction('rejected');
179
- await this._doReject(tx);
180
- this._stateObs.set(ModifiedFileEntryState.Rejected, tx);
181
- this._autoAcceptCtrl.set(undefined, tx);
182
+ await this._doReject();
183
+ transaction(tx => {
184
+ this._stateObs.set(ModifiedFileEntryState.Rejected, tx);
185
+ this._autoAcceptCtrl.set(undefined, tx);
186
+ });
182
187
  }
183
188
  _notifyAction(outcome) {
184
189
  this._chatService.notifyUserAction({
@@ -208,10 +213,10 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
208
213
  this._undoRedoService.pushElement(undoRedoElement);
209
214
  }
210
215
  }
211
- async acceptStreamingEditsEnd(tx) {
212
- this._resetEditsState(tx);
216
+ async acceptStreamingEditsEnd() {
217
+ this._resetEditsState(undefined);
213
218
  if (await this._areOriginalAndModifiedIdentical()) {
214
- await this.accept(tx);
219
+ await this.accept();
215
220
  }
216
221
  }
217
222
  _resetEditsState(tx) {
@@ -18,10 +18,10 @@ import { ICellEditOperation, IResolvedNotebookEditorModel, NotebookTextModelChan
18
18
  import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service";
19
19
  import { INotebookLoggingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service";
20
20
  import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
21
- import { ChatEditKind, 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";
21
+ import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntryEditorIntegration, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
22
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
23
23
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
24
- import { AbstractChatEditingModifiedFileEntry, IModifiedEntryTelemetryInfo, ISnapshotEntry } from "./chatEditingModifiedFileEntry.js";
24
+ import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
25
25
  import { ChatEditingNotebookCellEntry } from "./notebook/chatEditingNotebookCellEntry.js";
26
26
  import { ICellDiffInfo } from "./notebook/notebookCellChanges.js";
27
27
  export declare class ChatEditingModifiedNotebookEntry extends AbstractChatEditingModifiedFileEntry {
@@ -64,8 +64,8 @@ export declare class ChatEditingModifiedNotebookEntry extends AbstractChatEditin
64
64
  initializeModelsFromDiff(): Promise<void>;
65
65
  updateCellDiffInfo(cellsDiffInfo: ICellDiffInfo[], transcation: ITransaction | undefined): void;
66
66
  mirrorNotebookEdits(e: NotebookTextModelChangedEvent): void;
67
- protected _doAccept(tx: ITransaction | undefined): Promise<void>;
68
- protected _doReject(tx: ITransaction | undefined): Promise<void>;
67
+ protected _doAccept(): Promise<void>;
68
+ protected _doReject(): Promise<void>;
69
69
  private _collapse;
70
70
  protected _createEditorIntegration(editor: IEditorPane): IModifiedFileEntryEditorIntegration;
71
71
  protected _resetEditsState(tx: ITransaction): void;
@@ -88,8 +88,8 @@ export declare class ChatEditingModifiedNotebookEntry extends AbstractChatEditin
88
88
  private _applyEditsSync;
89
89
  createSnapshot(requestId: string | undefined, undoStop: string | undefined): ISnapshotEntry;
90
90
  equalsSnapshot(snapshot: ISnapshotEntry | undefined): boolean;
91
- restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): void;
92
- resetToInitialContent(): void;
91
+ restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): Promise<void>;
92
+ resetToInitialContent(): Promise<void>;
93
93
  private restoreSnapshotInModifiedModel;
94
94
  private readonly cellTextModelMap;
95
95
  private resolveCellModel;
@@ -11,11 +11,10 @@ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/reso
11
11
  import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
12
12
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
13
13
  import { LineRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/lineRange';
14
- import { StringEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/edits/stringEdit';
15
14
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
16
15
  import { nullDocumentDiff } from '../../../../../editor/common/diff/documentDiffProvider.js';
17
16
  import { RangeMapping, DetailedLineRangeMapping } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping';
18
- import '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
17
+ import { TextEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
19
18
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
20
19
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
21
20
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -26,9 +25,9 @@ import { UndoRedoElementType } from '@codingame/monaco-vscode-api/vscode/vs/plat
26
25
  import { IUndoRedoService } from '@codingame/monaco-vscode-api/vscode/vs/platform/undoRedo/common/undoRedo.service';
27
26
  import { SaveReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
28
27
  import { IFilesConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service';
29
- import { SnapshotContext } from '@codingame/monaco-vscode-bba55be6-41a2-50cd-a3cc-8bafa35bfa89-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
28
+ import { SnapshotContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
30
29
  import { NotebookTextDiffEditor } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor';
31
- import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-4372ad43-a220-5e78-83e6-95a9cfd64384-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
30
+ import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-271a23cd-c7d7-5761-ae35-a923a42987b8-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
32
31
  import { CellEditType, NotebookCellsChangeType, NotebookSetting } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
33
32
  import { computeDiff } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/common/notebookDiff';
34
33
  import { INotebookEditorModelResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service';
@@ -39,6 +38,7 @@ import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/w
39
38
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
40
39
  import { AbstractChatEditingModifiedFileEntry } from './chatEditingModifiedFileEntry.js';
41
40
  import { getNotebookSnapshotFileURI, restoreSnapshot, createSnapshot, deserializeSnapshot, SnapshotComparer } from './notebook/chatEditingModifiedNotebookSnapshot.js';
41
+ import { ChatEditingNewNotebookContentEdits } from './notebook/chatEditingNewNotebookContentEdits.js';
42
42
  import { ChatEditingNotebookCellEntry } from './notebook/chatEditingNotebookCellEntry.js';
43
43
  import { ChatEditingNotebookDiffEditorIntegration, ChatEditingNotebookEditorIntegration } from './notebook/chatEditingNotebookEditorIntegration.js';
44
44
  import { ChatEditingNotebookFileSystemProvider } from './notebook/chatEditingNotebookFileSystemProvider.js';
@@ -337,12 +337,12 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
337
337
  return;
338
338
  }
339
339
  }
340
- async _doAccept(tx) {
341
- this.updateCellDiffInfo([], tx);
340
+ async _doAccept() {
341
+ this.updateCellDiffInfo([], undefined);
342
342
  const snapshot = createSnapshot(this.modifiedModel, this.transientOptions, this.configurationService);
343
343
  restoreSnapshot(this.originalModel, snapshot);
344
344
  this.initializeModelsFromDiff();
345
- await this._collapse(tx);
345
+ await this._collapse(undefined);
346
346
  const config = this._fileConfigService.getAutoSaveConfiguration(this.modifiedURI);
347
347
  if (this.modifiedModel.uri.scheme !== Schemas.untitled && (!config.autoSave || !this.notebookResolver.isDirty(this.modifiedURI))) {
348
348
  await this._applyEdits(async () => {
@@ -357,8 +357,8 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
357
357
  });
358
358
  }
359
359
  }
360
- async _doReject(tx) {
361
- this.updateCellDiffInfo([], tx);
360
+ async _doReject() {
361
+ this.updateCellDiffInfo([], undefined);
362
362
  if (this.createdInRequestId === this._telemetryInfo.requestId) {
363
363
  await this._applyEdits(async () => {
364
364
  await this.modifiedResourceRef.object.revert({ soft: true });
@@ -375,7 +375,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
375
375
  }
376
376
  });
377
377
  this.initializeModelsFromDiff();
378
- await this._collapse(tx);
378
+ await this._collapse(undefined);
379
379
  }
380
380
  }
381
381
  async _collapse(transaction) {
@@ -396,7 +396,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
396
396
  }
397
397
  _createUndoRedoElement(response) {
398
398
  const request = response.session.getRequests().find(req => req.id === response.requestId);
399
- const label = request?.message.text ? ( localize(4795, "Chat Edit: '{0}'", request.message.text)) : ( localize(4796, "Chat Edit"));
399
+ const label = request?.message.text ? ( localize(4877, "Chat Edit: '{0}'", request.message.text)) : ( localize(4878, "Chat Edit"));
400
400
  const transientOptions = this.transientOptions;
401
401
  const outputSizeLimit = this.configurationService.getValue(NotebookSetting.outputBackupSizeLimit) * 1024;
402
402
  let initial = createSnapshot(this.modifiedModel, transientOptions, outputSizeLimit);
@@ -451,6 +451,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
451
451
  async acceptAgentEdits(resource, edits, isLastEdits, responseModel) {
452
452
  const isCellUri = resource.scheme === Schemas.vscodeNotebookCell;
453
453
  const cell = isCellUri && this.modifiedModel.cells.find(cell => isEqual(cell.uri, resource));
454
+ let cellEntry;
454
455
  if (cell) {
455
456
  const index = this.modifiedModel.cells.indexOf(cell);
456
457
  const entry = this._cellsDiffInfo.get().slice().find(entry => entry.modifiedCellIndex === index);
@@ -458,20 +459,41 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
458
459
  console.error('Original cell model not found');
459
460
  return;
460
461
  }
461
- this.getOrCreateModifiedTextFileEntryForCell(cell, await entry.modifiedModel.promise, await entry.originalModel.promise);
462
+ cellEntry = this.getOrCreateModifiedTextFileEntryForCell(cell, await entry.modifiedModel.promise, await entry.originalModel.promise);
462
463
  }
463
- const finishPreviousCells = () => {
464
- this.editedCells.forEach(uri => {
464
+ const finishPreviousCells = async () => {
465
+ await Promise.all(( Array.from(this.editedCells).map(async (uri) => {
465
466
  const cell = this.modifiedModel.cells.find(cell => isEqual(cell.uri, uri));
466
467
  const cellEntry = cell && this.cellEntryMap.get(cell.uri);
467
- cellEntry?.acceptAgentEdits([], true, responseModel);
468
- });
468
+ await cellEntry?.acceptAgentEdits([], true, responseModel);
469
+ })));
469
470
  this.editedCells.clear();
470
471
  };
471
- this._applyEditsSync(async () => {
472
+ this._applyEdits(async () => {
473
+ await Promise.all(( edits.map(async (edit, idx) => {
474
+ const last = isLastEdits && idx === edits.length - 1;
475
+ if (TextEdit.isTextEdit(edit)) {
476
+ if (isEqual(resource, this.modifiedModel.uri)) {
477
+ this.newNotebookEditGenerator ??= this._instantiationService.createInstance(ChatEditingNewNotebookContentEdits, this.modifiedModel);
478
+ this.newNotebookEditGenerator.acceptTextEdits([edit]);
479
+ }
480
+ else {
481
+ this.newNotebookEditGenerator = undefined;
482
+ if (!( this.editedCells.has(resource))) {
483
+ await finishPreviousCells();
484
+ this.editedCells.add(resource);
485
+ }
486
+ await cellEntry?.acceptAgentEdits([edit], last, responseModel);
487
+ }
488
+ }
489
+ else {
490
+ this.newNotebookEditGenerator = undefined;
491
+ this.acceptNotebookEdit(edit);
492
+ }
493
+ })));
472
494
  });
473
495
  if (isLastEdits) {
474
- finishPreviousCells();
496
+ await finishPreviousCells();
475
497
  }
476
498
  isLastEdits = !isCellUri && isLastEdits;
477
499
  if (isLastEdits && this.newNotebookEditGenerator) {
@@ -487,7 +509,6 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
487
509
  this._rewriteRatioObs.set(Math.min(1, newRewriteRation), tx);
488
510
  }
489
511
  else {
490
- finishPreviousCells();
491
512
  this.editedCells.clear();
492
513
  this._resetEditsState(tx);
493
514
  this._rewriteRatioObs.set(1, tx);
@@ -746,7 +767,6 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
746
767
  snapshotUri: getNotebookSnapshotFileURI(this._telemetryInfo.sessionId, requestId, undoStop, this.modifiedURI.path, this.modifiedModel.viewType),
747
768
  original: createSnapshot(this.originalModel, this.transientOptions, this.configurationService),
748
769
  current: createSnapshot(this.modifiedModel, this.transientOptions, this.configurationService),
749
- originalToCurrentEdit: StringEdit.empty,
750
770
  state: this.state.get(),
751
771
  telemetryInfo: this.telemetryInfo,
752
772
  };
@@ -758,7 +778,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
758
778
  ( new SnapshotComparer(snapshot.original)).isEqual(this.originalModel) &&
759
779
  ( new SnapshotComparer(snapshot.current)).isEqual(this.modifiedModel);
760
780
  }
761
- restoreFromSnapshot(snapshot, restoreToDisk = true) {
781
+ async restoreFromSnapshot(snapshot, restoreToDisk = true) {
762
782
  this.updateCellDiffInfo([], undefined);
763
783
  this._stateObs.set(snapshot.state, undefined);
764
784
  restoreSnapshot(this.originalModel, snapshot.original);
@@ -767,7 +787,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
767
787
  }
768
788
  this.initializeModelsFromDiff();
769
789
  }
770
- resetToInitialContent() {
790
+ async resetToInitialContent() {
771
791
  this.updateCellDiffInfo([], undefined);
772
792
  this.restoreSnapshotInModifiedModel(this.initialContent);
773
793
  this.initializeModelsFromDiff();
@@ -18,7 +18,7 @@ import { IMultiDiffSourceResolverService } from "@codingame/monaco-vscode-api/vs
18
18
  import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
19
19
  import { IChatEditingSession, IChatRelatedFile, IChatRelatedFilesProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
20
20
  import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service";
21
- import { ChatModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
21
+ import { ChatModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
22
22
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
23
23
  export declare class ChatEditingService extends Disposable implements IChatEditingService {
24
24
  private readonly _instantiationService;
@@ -32,10 +32,10 @@ import { CellUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contri
32
32
  import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
33
33
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
34
34
  import { chatEditingSnapshotScheme, chatEditingAgentSupportsReadonlyReferencesContextKey, ChatEditingSessionState, ModifiedFileEntryState, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, parseChatMultiDiffUri, chatEditingResourceContextKey, inChatEditingSessionContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
35
- import { isCellTextEditOperation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
35
+ import { isCellTextEditOperation } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel';
36
36
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
37
37
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
38
- import { ChatEditorInput } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
38
+ import { ChatEditorInput } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
39
39
  import { AbstractChatEditingModifiedFileEntry } from './chatEditingModifiedFileEntry.js';
40
40
  import { ChatEditingSession } from './chatEditingSession.js';
41
41
  import { ChatEditingTextModelContentProvider, ChatEditingSnapshotTextModelContentProvider } from './chatEditingTextModelContentProviders.js';
@@ -95,7 +95,7 @@ let ChatEditingService = class ChatEditingService extends Disposable {
95
95
  }
96
96
  e.join(storageTask, {
97
97
  id: 'join.chatEditingSession',
98
- label: ( localize(4797, "Saving chat edits history"))
98
+ label: ( localize(4879, "Saving chat edits history"))
99
99
  });
100
100
  }));
101
101
  }
@@ -323,7 +323,7 @@ let ChatDecorationsProvider = class ChatDecorationsProvider extends Disposable {
323
323
  super();
324
324
  this._sessions = _sessions;
325
325
  this._chatAgentService = _chatAgentService;
326
- this.label = ( localize(4798, "Chat Editing"));
326
+ this.label = ( localize(4880, "Chat Editing"));
327
327
  this._currentEntries = derived(this, (r) => {
328
328
  const sessions = this._sessions.read(r);
329
329
  if (!sessions) {
@@ -363,7 +363,7 @@ let ChatDecorationsProvider = class ChatDecorationsProvider extends Disposable {
363
363
  return {
364
364
  weight: 1000,
365
365
  letter: Codicon.diffModified,
366
- tooltip: defaultAgentName ? ( localize(4799, "Pending changes from {0}", defaultAgentName)) : ( localize(4800, "Pending changes from chat")),
366
+ tooltip: defaultAgentName ? ( localize(4881, "Pending changes from {0}", defaultAgentName)) : ( localize(4882, "Pending changes from chat")),
367
367
  bubble: true
368
368
  };
369
369
  }
@@ -13,10 +13,10 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
13
13
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
14
14
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
15
15
  import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
16
- import { ChatEditingSessionState, IChatEditingSession, IEditSessionEntryDiff, IModifiedFileEntry, IStreamingEdits } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
17
- import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
16
+ import { ChatEditingSessionState, IChatEditingSession, IEditSessionEntryDiff, IModifiedFileEntry, ISnapshotEntry, IStreamingEdits } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
17
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
18
18
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
19
- import { AbstractChatEditingModifiedFileEntry, ISnapshotEntry } from "./chatEditingModifiedFileEntry.js";
19
+ import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
20
20
  export declare class ChatEditingSession extends Disposable implements IChatEditingSession {
21
21
  readonly chatSessionId: string;
22
22
  readonly isGlobalEditingSession: boolean;
@@ -69,7 +69,6 @@ export declare class ChatEditingSession extends Disposable implements IChatEditi
69
69
  private _pendingSnapshot;
70
70
  restoreSnapshot(requestId: string | undefined, stopId: string | undefined): Promise<void>;
71
71
  private _restoreSnapshot;
72
- remove(...uris: URI[]): void;
73
72
  private _assertNotDisposed;
74
73
  accept(...uris: URI[]): Promise<void>;
75
74
  reject(...uris: URI[]): Promise<void>;
@@ -11,6 +11,7 @@ import { Disposable, DisposableStore, dispose } from '@codingame/monaco-vscode-a
11
11
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
12
12
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
13
13
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
14
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
14
15
  import { IBulkEditService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/bulkEditService.service';
15
16
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
16
17
  import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
@@ -39,7 +40,7 @@ import { ChatEditingTextModelContentProvider } from './chatEditingTextModelConte
39
40
  import { ChatEditingModifiedNotebookDiff } from './notebook/chatEditingModifiedNotebookDiff.js';
40
41
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
41
42
  import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
42
- import { asyncTransaction, transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
43
+ import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
43
44
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
44
45
  import { ObservablePromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/promise';
45
46
 
@@ -185,9 +186,9 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
185
186
  for (const [uri, content] of restoredSessionState.initialFileContents) {
186
187
  this._initialFileContents.set(uri, content);
187
188
  }
188
- await asyncTransaction(async (tx) => {
189
- this._pendingSnapshot = restoredSessionState.pendingSnapshot;
190
- await this._restoreSnapshot(restoredSessionState.recentSnapshot, tx, false);
189
+ this._pendingSnapshot = restoredSessionState.pendingSnapshot;
190
+ await this._restoreSnapshot(restoredSessionState.recentSnapshot, false);
191
+ transaction(async (tx) => {
191
192
  this._linearHistory.set(restoredSessionState.linearHistory, tx);
192
193
  this._linearHistoryIndex.set(restoredSessionState.linearHistoryIndex, tx);
193
194
  this._state.set(ChatEditingSessionState.Idle, tx);
@@ -343,7 +344,10 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
343
344
  const linearHistoryPtr = this._linearHistoryIndex.get();
344
345
  const newLinearHistory = [];
345
346
  for (const entry of this._linearHistory.get()) {
346
- if (linearHistoryPtr - entry.startIndex < entry.stops.length) {
347
+ if (entry.startIndex >= linearHistoryPtr) {
348
+ break;
349
+ }
350
+ else if (linearHistoryPtr - entry.startIndex < entry.stops.length) {
347
351
  newLinearHistory.push({ requestId: entry.requestId, stops: entry.stops.slice(0, linearHistoryPtr - entry.startIndex), startIndex: entry.startIndex, postEdit: undefined });
348
352
  }
349
353
  else {
@@ -352,6 +356,12 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
352
356
  }
353
357
  const lastEntry = newLinearHistory.at(-1);
354
358
  if (requestId && lastEntry?.requestId === requestId) {
359
+ if (lastEntry.postEdit && undoStop) {
360
+ const rebaseUri = (uri) => ( URI.parse(( uri.toString()).replaceAll(POST_EDIT_STOP_ID, undoStop)));
361
+ for (const [uri, prev] of lastEntry.postEdit.entries()) {
362
+ snapshot.entries.set(uri, { ...prev, snapshotUri: rebaseUri(prev.snapshotUri), resource: rebaseUri(prev.resource) });
363
+ }
364
+ }
355
365
  newLinearHistory[newLinearHistory.length - 1] = { ...lastEntry, stops: [...lastEntry.stops, snapshot], postEdit: undefined };
356
366
  }
357
367
  else {
@@ -401,10 +411,8 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
401
411
  const stopRef = this._findEditStop(requestId, stopId);
402
412
  if (stopRef) {
403
413
  this._ensurePendingSnapshot();
404
- await asyncTransaction(async (tx) => {
405
- this._linearHistoryIndex.set(stopRef.historyIndex, tx);
406
- await this._restoreSnapshot(stopRef.stop, tx);
407
- });
414
+ this._linearHistoryIndex.set(stopRef.historyIndex, undefined);
415
+ await this._restoreSnapshot(stopRef.stop);
408
416
  this._updateRequestHiddenState();
409
417
  }
410
418
  }
@@ -417,11 +425,11 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
417
425
  await this._restoreSnapshot(pendingSnapshot, undefined);
418
426
  }
419
427
  }
420
- async _restoreSnapshot({ entries }, tx, restoreResolvedToDisk = true) {
428
+ async _restoreSnapshot({ entries }, restoreResolvedToDisk = true) {
421
429
  for (const entry of this._entriesObs.get()) {
422
430
  const snapshotEntry = entries.get(entry.modifiedURI);
423
431
  if (!snapshotEntry) {
424
- entry.resetToInitialContent();
432
+ await entry.resetToInitialContent();
425
433
  entry.dispose();
426
434
  }
427
435
  }
@@ -429,26 +437,10 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
429
437
  for (const snapshotEntry of ( entries.values())) {
430
438
  const entry = await this._getOrCreateModifiedFileEntry(snapshotEntry.resource, snapshotEntry.telemetryInfo);
431
439
  const restoreToDisk = snapshotEntry.state === ModifiedFileEntryState.Modified || restoreResolvedToDisk;
432
- entry.restoreFromSnapshot(snapshotEntry, restoreToDisk);
440
+ await entry.restoreFromSnapshot(snapshotEntry, restoreToDisk);
433
441
  entriesArr.push(entry);
434
442
  }
435
- this._entriesObs.set(entriesArr, tx);
436
- }
437
- remove(...uris) {
438
- this._assertNotDisposed();
439
- let didRemoveUris = false;
440
- for (const uri of uris) {
441
- const entry = this._entriesObs.get().find(e => isEqual(e.modifiedURI, uri));
442
- if (entry) {
443
- entry.dispose();
444
- const newEntries = this._entriesObs.get().filter(e => !isEqual(e.modifiedURI, uri));
445
- this._entriesObs.set(newEntries, undefined);
446
- didRemoveUris = true;
447
- }
448
- }
449
- if (!didRemoveUris) {
450
- return;
451
- }
443
+ this._entriesObs.set(entriesArr, undefined);
452
444
  }
453
445
  _assertNotDisposed() {
454
446
  if (this._state.get() === ChatEditingSessionState.Disposed) {
@@ -457,32 +449,28 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
457
449
  }
458
450
  async accept(...uris) {
459
451
  this._assertNotDisposed();
460
- await asyncTransaction(async (tx) => {
461
- if (uris.length === 0) {
462
- await Promise.all(( this._entriesObs.get().map(entry => entry.accept(tx))));
463
- }
464
- for (const uri of uris) {
465
- const entry = this._entriesObs.get().find(e => isEqual(e.modifiedURI, uri));
466
- if (entry) {
467
- await entry.accept(tx);
468
- }
452
+ if (uris.length === 0) {
453
+ await Promise.all(( this._entriesObs.get().map(entry => entry.accept())));
454
+ }
455
+ for (const uri of uris) {
456
+ const entry = this._entriesObs.get().find(e => isEqual(e.modifiedURI, uri));
457
+ if (entry) {
458
+ await entry.accept();
469
459
  }
470
- });
460
+ }
471
461
  this._accessibilitySignalService.playSignal(AccessibilitySignal.editsKept, { allowManyInParallel: true });
472
462
  }
473
463
  async reject(...uris) {
474
464
  this._assertNotDisposed();
475
- await asyncTransaction(async (tx) => {
476
- if (uris.length === 0) {
477
- await Promise.all(( this._entriesObs.get().map(entry => entry.reject(tx))));
478
- }
479
- for (const uri of uris) {
480
- const entry = this._entriesObs.get().find(e => isEqual(e.modifiedURI, uri));
481
- if (entry) {
482
- await entry.reject(tx);
483
- }
465
+ if (uris.length === 0) {
466
+ await Promise.all(( this._entriesObs.get().map(entry => entry.reject())));
467
+ }
468
+ for (const uri of uris) {
469
+ const entry = this._entriesObs.get().find(e => isEqual(e.modifiedURI, uri));
470
+ if (entry) {
471
+ await entry.reject();
484
472
  }
485
- });
473
+ }
486
474
  this._accessibilitySignalService.playSignal(AccessibilitySignal.editsUndone, { allowManyInParallel: true });
487
475
  }
488
476
  async show(previousChanges) {
@@ -498,7 +486,7 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
498
486
  }
499
487
  const input = MultiDiffEditorInput.fromResourceMultiDiffEditorInput({
500
488
  multiDiffSource: getMultiDiffSourceUri(this, previousChanges),
501
- label: ( localize(4801, "Suggested Edits"))
489
+ label: ( localize(4883, "Suggested Edits"))
502
490
  }, this._instantiationService);
503
491
  this._editorPane = await this._editorGroupsService.activeGroup.openEditor(input, { pinned: true, activation: EditorActivation.ACTIVATE });
504
492
  }
@@ -601,10 +589,8 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
601
589
  return;
602
590
  }
603
591
  this._ensurePendingSnapshot();
604
- await asyncTransaction(async (tx) => {
605
- await this._restoreSnapshot(previousSnapshot.stop, tx);
606
- this._linearHistoryIndex.set(newIndex, tx);
607
- });
592
+ await this._restoreSnapshot(previousSnapshot.stop);
593
+ this._linearHistoryIndex.set(newIndex, undefined);
608
594
  this._updateRequestHiddenState();
609
595
  }
610
596
  async redoInteraction() {
@@ -617,10 +603,8 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
617
603
  if (!nextSnapshot) {
618
604
  return;
619
605
  }
620
- await asyncTransaction(async (tx) => {
621
- await this._restoreSnapshot(nextSnapshot, tx);
622
- this._linearHistoryIndex.set(newIndex, tx);
623
- });
606
+ await this._restoreSnapshot(nextSnapshot);
607
+ this._linearHistoryIndex.set(newIndex, undefined);
624
608
  this._updateRequestHiddenState();
625
609
  }
626
610
  _updateRequestHiddenState() {
@@ -697,18 +681,16 @@ let ChatEditingSession = class ChatEditingSession extends Disposable {
697
681
  };
698
682
  }
699
683
  async _resolve(requestId, undoStop, resource) {
700
- await asyncTransaction(async (tx) => {
701
- const hasOtherTasks = ( Iterable.some(( this._streamingEditLocks.keys()), k => k !== ( resource.toString())));
702
- if (!hasOtherTasks) {
703
- this._state.set(ChatEditingSessionState.Idle, tx);
704
- }
705
- const entry = this._getEntry(resource);
706
- if (!entry) {
707
- return;
708
- }
709
- this.ensureEditInUndoStopMatches(requestId, undoStop, entry, true, tx);
710
- return entry.acceptStreamingEditsEnd(tx);
711
- });
684
+ const hasOtherTasks = ( Iterable.some(( this._streamingEditLocks.keys()), k => k !== ( resource.toString())));
685
+ if (!hasOtherTasks) {
686
+ this._state.set(ChatEditingSessionState.Idle, undefined);
687
+ }
688
+ const entry = this._getEntry(resource);
689
+ if (!entry) {
690
+ return;
691
+ }
692
+ this.ensureEditInUndoStopMatches(requestId, undoStop, entry, true, undefined);
693
+ return entry.acceptStreamingEditsEnd();
712
694
  }
713
695
  async _getOrCreateModifiedFileEntry(resource, telemetryInfo) {
714
696
  resource = CellUri.parse(resource)?.notebook ?? resource;
@@ -4,7 +4,7 @@ import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/plat
4
4
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
5
5
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
6
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
7
- import { ISnapshotEntry } from "./chatEditingModifiedFileEntry.js";
7
+ import { ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
8
8
  export interface StoredSessionState {
9
9
  readonly initialFileContents: ResourceMap<string>;
10
10
  readonly pendingSnapshot?: IChatEditingSessionStop;
@@ -5,7 +5,6 @@ import { StringSHA1 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/h
5
5
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
6
6
  import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
7
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
- import { StringEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/edits/stringEdit';
9
8
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
10
9
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
11
10
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
@@ -64,7 +63,6 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
64
63
  languageId: entry.languageId,
65
64
  original: await getFileContent(entry.originalHash),
66
65
  current: await getFileContent(entry.currentHash),
67
- originalToCurrentEdit: StringEdit.fromJson(entry.originalToCurrentEdit),
68
66
  state: entry.state,
69
67
  snapshotUri: ( URI.parse(entry.snapshotUri)),
70
68
  telemetryInfo: { requestId: entry.telemetryInfo.requestId, agentId: entry.telemetryInfo.agentId, command: entry.telemetryInfo.command, sessionId: this.chatSessionId, result: undefined }
@@ -159,7 +157,6 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
159
157
  languageId: entry.languageId,
160
158
  originalHash: addFileContent(entry.original),
161
159
  currentHash: addFileContent(entry.current),
162
- originalToCurrentEdit: entry.originalToCurrentEdit.toJson(),
163
160
  state: entry.state,
164
161
  snapshotUri: ( entry.snapshotUri.toString()),
165
162
  telemetryInfo: { requestId: entry.telemetryInfo.requestId, agentId: entry.telemetryInfo.agentId, command: entry.telemetryInfo.command }