@codingame/monaco-vscode-chat-service-override 18.3.1 → 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
@@ -0,0 +1,61 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
5
+ import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
6
+ import { ITextModel, ITextSnapshot } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
7
+ import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
8
+ import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
9
+ import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
10
+ import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
11
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
12
+ export declare class ChatEditingTextModelChangeService extends Disposable {
13
+ private readonly originalModel;
14
+ private readonly modifiedModel;
15
+ private readonly state;
16
+ private readonly _editorWorkerService;
17
+ private readonly _accessibilitySignalService;
18
+ private static readonly _lastEditDecorationOptions;
19
+ private static readonly _pendingEditDecorationOptions;
20
+ private static readonly _atomicEditDecorationOptions;
21
+ private _isEditFromUs;
22
+ get isEditFromUs(): boolean;
23
+ private _allEditsAreFromUs;
24
+ get allEditsAreFromUs(): boolean;
25
+ private _diffOperation;
26
+ private _diffOperationIds;
27
+ private readonly _diffInfo;
28
+ get diffInfo(): IObservable<{
29
+ originalModel: ITextModel;
30
+ modifiedModel: ITextModel;
31
+ keep: (changes: DetailedLineRangeMapping) => Promise<boolean>;
32
+ undo: (changes: DetailedLineRangeMapping) => Promise<boolean>;
33
+ identical: boolean;
34
+ quitEarly: boolean;
35
+ changes: readonly DetailedLineRangeMapping[];
36
+ moves: readonly import("@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/linesDiffComputer").MovedText[];
37
+ }>;
38
+ private readonly _editDecorationClear;
39
+ private _editDecorations;
40
+ private readonly _didAcceptOrRejectAllHunks;
41
+ readonly onDidAcceptOrRejectAllHunks: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<ModifiedFileEntryState.Accepted | ModifiedFileEntryState.Rejected>;
42
+ private readonly _didUserEditModel;
43
+ readonly onDidUserEditModel: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
44
+ private _originalToModifiedEdit;
45
+ constructor(originalModel: ITextModel, modifiedModel: ITextModel, state: IObservable<ModifiedFileEntryState>, _editorWorkerService: IEditorWorkerService, _accessibilitySignalService: IAccessibilitySignalService);
46
+ clearCurrentEditLineDecoration(): void;
47
+ areOriginalAndModifiedIdentical(): Promise<boolean>;
48
+ acceptAgentEdits(resource: URI, textEdits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<{
49
+ rewriteRatio: number;
50
+ maxLineNumber: number;
51
+ }>;
52
+ private _applyEdits;
53
+ keep(): void;
54
+ undo(): void;
55
+ resetDocumentValues(newOriginal: string | ITextSnapshot | undefined, newModified: string | undefined): Promise<void>;
56
+ private _mirrorEdits;
57
+ private _keepHunk;
58
+ private _undoHunk;
59
+ private _updateDiffInfoSeq;
60
+ private _updateDiffInfo;
61
+ }
@@ -0,0 +1,332 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { addDisposableListener, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
5
+ import { RunOnceScheduler, DeferredPromise, timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
6
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
+ import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
9
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
10
+ import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
+ import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
12
+ import { EditOperation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation';
13
+ import { StringEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/edits/stringEdit';
14
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
15
+ import { nullDocumentDiff } from '../../../../../editor/common/diff/documentDiffProvider.js';
16
+ import { TextEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
17
+ import { OverviewRulerLane, MinimapPosition } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
18
+ import { ModelDecorationOptions } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
19
+ import { offsetEditFromContentChanges, offsetEditToEditOperations, offsetEditFromLineRangeMapping } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModelStringEdit';
20
+ import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
21
+ import { EditReasons } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditReason';
22
+ import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
23
+ import { IAccessibilitySignalService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
24
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
25
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
26
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
27
+ import { editorSelectionBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
28
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
29
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
30
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
31
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
32
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
33
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
34
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
35
+ import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
36
+ import { pendingRewriteMinimap } from './chatEditingModifiedFileEntry.js';
37
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
38
+
39
+ var ChatEditingTextModelChangeService_1;
40
+ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService extends Disposable {
41
+ static { ChatEditingTextModelChangeService_1 = this; }
42
+ static { this._lastEditDecorationOptions = ModelDecorationOptions.register({
43
+ isWholeLine: true,
44
+ description: 'chat-last-edit',
45
+ className: 'chat-editing-last-edit-line',
46
+ marginClassName: 'chat-editing-last-edit',
47
+ overviewRuler: {
48
+ position: OverviewRulerLane.Full,
49
+ color: themeColorFromId(editorSelectionBackground)
50
+ },
51
+ }); }
52
+ static { this._pendingEditDecorationOptions = ModelDecorationOptions.register({
53
+ isWholeLine: true,
54
+ description: 'chat-pending-edit',
55
+ className: 'chat-editing-pending-edit',
56
+ minimap: {
57
+ position: MinimapPosition.Inline,
58
+ color: themeColorFromId(pendingRewriteMinimap)
59
+ }
60
+ }); }
61
+ static { this._atomicEditDecorationOptions = ModelDecorationOptions.register({
62
+ isWholeLine: true,
63
+ description: 'chat-atomic-edit',
64
+ className: 'chat-editing-atomic-edit',
65
+ minimap: {
66
+ position: MinimapPosition.Inline,
67
+ color: themeColorFromId(pendingRewriteMinimap)
68
+ }
69
+ }); }
70
+ get isEditFromUs() {
71
+ return this._isEditFromUs;
72
+ }
73
+ get allEditsAreFromUs() {
74
+ return this._allEditsAreFromUs;
75
+ }
76
+ get diffInfo() {
77
+ return ( this._diffInfo.map(value => {
78
+ return {
79
+ ...value,
80
+ originalModel: this.originalModel,
81
+ modifiedModel: this.modifiedModel,
82
+ keep: changes => this._keepHunk(changes),
83
+ undo: changes => this._undoHunk(changes)
84
+ };
85
+ }));
86
+ }
87
+ constructor(originalModel, modifiedModel, state, _editorWorkerService, _accessibilitySignalService) {
88
+ super();
89
+ this.originalModel = originalModel;
90
+ this.modifiedModel = modifiedModel;
91
+ this.state = state;
92
+ this._editorWorkerService = _editorWorkerService;
93
+ this._accessibilitySignalService = _accessibilitySignalService;
94
+ this._isEditFromUs = false;
95
+ this._allEditsAreFromUs = true;
96
+ this._diffOperationIds = 0;
97
+ this._diffInfo = observableValue(this, nullDocumentDiff);
98
+ this._editDecorationClear = this._register(( new RunOnceScheduler(
99
+ () => { this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []); },
100
+ 500
101
+ )));
102
+ this._editDecorations = [];
103
+ this._didAcceptOrRejectAllHunks = this._register(( new Emitter()));
104
+ this.onDidAcceptOrRejectAllHunks = this._didAcceptOrRejectAllHunks.event;
105
+ this._didUserEditModel = this._register(( new Emitter()));
106
+ this.onDidUserEditModel = this._didUserEditModel.event;
107
+ this._originalToModifiedEdit = StringEdit.empty;
108
+ this._register(this.modifiedModel.onDidChangeContent(e => {
109
+ this._mirrorEdits(e);
110
+ }));
111
+ this._register(toDisposable(() => {
112
+ this.clearCurrentEditLineDecoration();
113
+ }));
114
+ }
115
+ clearCurrentEditLineDecoration() {
116
+ this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []);
117
+ }
118
+ async areOriginalAndModifiedIdentical() {
119
+ const diff = await this._diffOperation;
120
+ return diff ? diff.identical : false;
121
+ }
122
+ async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
123
+ assertType(textEdits.every(TextEdit.isTextEdit), 'INVALID args, can only handle text edits');
124
+ assert(isEqual(resource, this.modifiedModel.uri), ' INVALID args, can only edit THIS document');
125
+ const isAtomicEdits = textEdits.length > 0 && isLastEdits;
126
+ let maxLineNumber = 0;
127
+ let rewriteRatio = 0;
128
+ const modelId = responseModel.session.getRequests().at(-1)?.modelId;
129
+ const reason = EditReasons.chatApplyEdits({ modelId: modelId });
130
+ if (isAtomicEdits) {
131
+ const minimalEdits = (await this._editorWorkerService.computeMoreMinimalEdits(this.modifiedModel.uri, textEdits)) ?? textEdits;
132
+ const ops = ( minimalEdits.map(TextEdit.asEditOperation));
133
+ const undoEdits = this._applyEdits(ops, reason);
134
+ if (undoEdits.length > 0) {
135
+ let range;
136
+ for (let i = 0; i < undoEdits.length; i++) {
137
+ const op = undoEdits[i];
138
+ if (!range) {
139
+ range = Range.lift(op.range);
140
+ }
141
+ else {
142
+ range = Range.plusRange(range, op.range);
143
+ }
144
+ }
145
+ if (range) {
146
+ const defer = ( new DeferredPromise());
147
+ const listener = addDisposableListener(getWindow(undefined), 'animationend', e => {
148
+ if (e.animationName === 'kf-chat-editing-atomic-edit') {
149
+ defer.complete();
150
+ listener.dispose();
151
+ }
152
+ });
153
+ this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, [{
154
+ options: ChatEditingTextModelChangeService_1._atomicEditDecorationOptions,
155
+ range
156
+ }]);
157
+ await Promise.any([defer.p, timeout(500)]);
158
+ listener.dispose();
159
+ }
160
+ }
161
+ }
162
+ else {
163
+ const ops = ( textEdits.map(TextEdit.asEditOperation));
164
+ const undoEdits = this._applyEdits(ops, reason);
165
+ maxLineNumber = undoEdits.reduce((max, op) => Math.max(max, op.range.startLineNumber), 0);
166
+ rewriteRatio = Math.min(1, maxLineNumber / this.modifiedModel.getLineCount());
167
+ const newDecorations = [
168
+ {
169
+ options: ChatEditingTextModelChangeService_1._pendingEditDecorationOptions,
170
+ range: ( new Range(maxLineNumber + 1, 1, Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER))
171
+ }
172
+ ];
173
+ if (maxLineNumber > 0) {
174
+ newDecorations.push({
175
+ options: ChatEditingTextModelChangeService_1._lastEditDecorationOptions,
176
+ range: ( new Range(maxLineNumber, 1, maxLineNumber, Number.MAX_SAFE_INTEGER))
177
+ });
178
+ }
179
+ this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, newDecorations);
180
+ }
181
+ if (isLastEdits) {
182
+ this._updateDiffInfoSeq();
183
+ this._editDecorationClear.schedule();
184
+ }
185
+ return { rewriteRatio, maxLineNumber };
186
+ }
187
+ _applyEdits(edits, reason) {
188
+ if (!reason) {
189
+ reason = EditReasons.chatApplyEdits({ modelId: undefined });
190
+ }
191
+ try {
192
+ this._isEditFromUs = true;
193
+ let result = [];
194
+ this.modifiedModel.pushEditOperations(null, edits, (undoEdits) => {
195
+ result = undoEdits;
196
+ return null;
197
+ }, undefined, reason);
198
+ return result;
199
+ }
200
+ finally {
201
+ this._isEditFromUs = false;
202
+ }
203
+ }
204
+ keep() {
205
+ this.originalModel.setValue(this.modifiedModel.createSnapshot());
206
+ this._diffInfo.set(nullDocumentDiff, undefined);
207
+ this._originalToModifiedEdit = StringEdit.empty;
208
+ }
209
+ undo() {
210
+ this.modifiedModel.pushStackElement();
211
+ this._applyEdits([(EditOperation.replace(this.modifiedModel.getFullModelRange(), this.originalModel.getValue()))]);
212
+ this.modifiedModel.pushStackElement();
213
+ this._originalToModifiedEdit = StringEdit.empty;
214
+ this._diffInfo.set(nullDocumentDiff, undefined);
215
+ }
216
+ async resetDocumentValues(newOriginal, newModified) {
217
+ let didChange = false;
218
+ if (newOriginal !== undefined) {
219
+ this.originalModel.setValue(newOriginal);
220
+ didChange = true;
221
+ }
222
+ if (newModified !== undefined && this.modifiedModel.getValue() !== newModified) {
223
+ this.modifiedModel.pushStackElement();
224
+ this._applyEdits([(EditOperation.replace(this.modifiedModel.getFullModelRange(), newModified))]);
225
+ this.modifiedModel.pushStackElement();
226
+ didChange = true;
227
+ }
228
+ if (didChange) {
229
+ await this._updateDiffInfoSeq();
230
+ }
231
+ }
232
+ _mirrorEdits(event) {
233
+ const edit = offsetEditFromContentChanges(event.changes);
234
+ if (this._isEditFromUs) {
235
+ const e_sum = this._originalToModifiedEdit;
236
+ const e_ai = edit;
237
+ this._originalToModifiedEdit = e_sum.compose(e_ai);
238
+ }
239
+ else {
240
+ const e_ai = this._originalToModifiedEdit;
241
+ const e_user = edit;
242
+ const e_user_r = e_user.tryRebase(e_ai.inverse(this.originalModel.getValue()), true);
243
+ if (e_user_r === undefined) {
244
+ this._originalToModifiedEdit = e_ai.compose(e_user);
245
+ }
246
+ else {
247
+ const edits = offsetEditToEditOperations(e_user_r, this.originalModel);
248
+ this.originalModel.applyEdits(edits);
249
+ this._originalToModifiedEdit = e_ai.tryRebase(e_user_r);
250
+ }
251
+ this._allEditsAreFromUs = false;
252
+ this._updateDiffInfoSeq();
253
+ this._didUserEditModel.fire();
254
+ }
255
+ }
256
+ async _keepHunk(change) {
257
+ if (!this._diffInfo.get().changes.includes(change)) {
258
+ return false;
259
+ }
260
+ const edits = [];
261
+ for (const edit of change.innerChanges ?? []) {
262
+ const newText = this.modifiedModel.getValueInRange(edit.modifiedRange);
263
+ edits.push(EditOperation.replace(edit.originalRange, newText));
264
+ }
265
+ this.originalModel.pushEditOperations(null, edits, _ => null);
266
+ await this._updateDiffInfoSeq();
267
+ if (this._diffInfo.get().identical) {
268
+ this._didAcceptOrRejectAllHunks.fire(ModifiedFileEntryState.Accepted);
269
+ }
270
+ this._accessibilitySignalService.playSignal(AccessibilitySignal.editsKept, { allowManyInParallel: true });
271
+ return true;
272
+ }
273
+ async _undoHunk(change) {
274
+ if (!this._diffInfo.get().changes.includes(change)) {
275
+ return false;
276
+ }
277
+ const edits = [];
278
+ for (const edit of change.innerChanges ?? []) {
279
+ const newText = this.originalModel.getValueInRange(edit.originalRange);
280
+ edits.push(EditOperation.replace(edit.modifiedRange, newText));
281
+ }
282
+ this.modifiedModel.pushEditOperations(null, edits, _ => null);
283
+ await this._updateDiffInfoSeq();
284
+ if (this._diffInfo.get().identical) {
285
+ this._didAcceptOrRejectAllHunks.fire(ModifiedFileEntryState.Rejected);
286
+ }
287
+ this._accessibilitySignalService.playSignal(AccessibilitySignal.editsUndone, { allowManyInParallel: true });
288
+ return true;
289
+ }
290
+ async _updateDiffInfoSeq() {
291
+ const myDiffOperationId = ++this._diffOperationIds;
292
+ await Promise.resolve(this._diffOperation);
293
+ if (this._diffOperationIds === myDiffOperationId) {
294
+ const thisDiffOperation = this._updateDiffInfo();
295
+ this._diffOperation = thisDiffOperation;
296
+ await thisDiffOperation;
297
+ }
298
+ }
299
+ async _updateDiffInfo() {
300
+ if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed() || this._store.isDisposed) {
301
+ return undefined;
302
+ }
303
+ if (this.state.get() !== ModifiedFileEntryState.Modified) {
304
+ this._diffInfo.set(nullDocumentDiff, undefined);
305
+ this._originalToModifiedEdit = StringEdit.empty;
306
+ return nullDocumentDiff;
307
+ }
308
+ const docVersionNow = this.modifiedModel.getVersionId();
309
+ const snapshotVersionNow = this.originalModel.getVersionId();
310
+ const diff = await this._editorWorkerService.computeDiff(this.originalModel.uri, this.modifiedModel.uri, {
311
+ ignoreTrimWhitespace: false,
312
+ computeMoves: false,
313
+ maxComputationTimeMs: 3000
314
+ }, 'advanced');
315
+ if (this.originalModel.isDisposed() || this.modifiedModel.isDisposed() || this._store.isDisposed) {
316
+ return undefined;
317
+ }
318
+ if (this.modifiedModel.getVersionId() === docVersionNow && this.originalModel.getVersionId() === snapshotVersionNow) {
319
+ const diff2 = diff ?? nullDocumentDiff;
320
+ this._diffInfo.set(diff2, undefined);
321
+ this._originalToModifiedEdit = offsetEditFromLineRangeMapping(this.originalModel, this.modifiedModel, diff2.changes);
322
+ return diff2;
323
+ }
324
+ return undefined;
325
+ }
326
+ };
327
+ ChatEditingTextModelChangeService = ChatEditingTextModelChangeService_1 = ( __decorate([
328
+ ( __param(3, IEditorWorkerService)),
329
+ ( __param(4, IAccessibilitySignalService))
330
+ ], ChatEditingTextModelChangeService));
331
+
332
+ export { ChatEditingTextModelChangeService };
@@ -3,7 +3,6 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
4
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
5
5
  import { chatEditingSnapshotScheme } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
6
- import { ChatEditingSession } from './chatEditingSession.js';
7
6
 
8
7
  var ChatEditingTextModelContentProvider_1;
9
8
  let ChatEditingTextModelContentProvider = class ChatEditingTextModelContentProvider {
@@ -56,7 +55,7 @@ let ChatEditingSnapshotTextModelContentProvider = class ChatEditingSnapshotTextM
56
55
  }
57
56
  const data = JSON.parse(resource.query);
58
57
  const session = this._chatEditingService.getEditingSession(data.sessionId);
59
- if (!(session instanceof ChatEditingSession) || !data.requestId) {
58
+ if (!session || !data.requestId) {
60
59
  return null;
61
60
  }
62
61
  return session.getSnapshotModel(data.requestId, data.undoStop || undefined, resource);
@@ -1,8 +1,7 @@
1
1
  import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service";
2
2
  import { INotebookLoggingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service";
3
3
  import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
4
- import { IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
5
- import { ISnapshotEntry } from "../chatEditingModifiedFileEntry.js";
4
+ import { IEditSessionEntryDiff, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
6
5
  export declare class ChatEditingModifiedNotebookDiff {
7
6
  private readonly original;
8
7
  private readonly modified;
@@ -2,7 +2,7 @@
2
2
  import { VSBuffer, encodeBase64, decodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
3
3
  import { filter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
4
4
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
- import { SnapshotContext } from '@codingame/monaco-vscode-bba55be6-41a2-50cd-a3cc-8bafa35bfa89-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
5
+ import { SnapshotContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
6
6
  import { NotebookCellTextModel } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel';
7
7
  import { NotebookSetting, CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
8
8
 
@@ -0,0 +1,13 @@
1
+ import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
2
+ import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel";
3
+ import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
4
+ import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
5
+ export declare class ChatEditingNewNotebookContentEdits {
6
+ private readonly notebook;
7
+ private readonly _notebookService;
8
+ private readonly textEdits;
9
+ constructor(notebook: NotebookTextModel, _notebookService: INotebookService);
10
+ acceptTextEdits(edits: TextEdit[]): void;
11
+ generateEdits(): Promise<ICellEditOperation[]>;
12
+ private generateContent;
13
+ }
@@ -0,0 +1,69 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
+ import { CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
5
+ import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
6
+
7
+ let ChatEditingNewNotebookContentEdits = class ChatEditingNewNotebookContentEdits {
8
+ constructor(notebook, _notebookService) {
9
+ this.notebook = notebook;
10
+ this._notebookService = _notebookService;
11
+ this.textEdits = [];
12
+ }
13
+ acceptTextEdits(edits) {
14
+ if (edits.length) {
15
+ this.textEdits.push(...edits);
16
+ }
17
+ }
18
+ async generateEdits() {
19
+ if (this.notebook.cells.length) {
20
+ console.error(`Notebook edits not generated as notebook already has cells`);
21
+ return [];
22
+ }
23
+ const content = this.generateContent();
24
+ if (!content) {
25
+ return [];
26
+ }
27
+ const notebookEdits = [];
28
+ try {
29
+ const { serializer } = await this._notebookService.withNotebookDataProvider(this.notebook.viewType);
30
+ const data = await serializer.dataToNotebook(VSBuffer.fromString(content));
31
+ for (let i = 0; i < data.cells.length; i++) {
32
+ notebookEdits.push({
33
+ editType: CellEditType.Replace,
34
+ index: i,
35
+ count: 0,
36
+ cells: [data.cells[i]]
37
+ });
38
+ }
39
+ }
40
+ catch (ex) {
41
+ console.error(`Failed to generate notebook edits from text edits ${content}`, ex);
42
+ return [];
43
+ }
44
+ return notebookEdits;
45
+ }
46
+ generateContent() {
47
+ try {
48
+ return applyTextEdits(this.textEdits);
49
+ }
50
+ catch (ex) {
51
+ console.error('Failed to generate content from text edits', ex);
52
+ return '';
53
+ }
54
+ }
55
+ };
56
+ ChatEditingNewNotebookContentEdits = ( __decorate([
57
+ ( __param(1, INotebookService))
58
+ ], ChatEditingNewNotebookContentEdits));
59
+ function applyTextEdits(edits) {
60
+ let output = '';
61
+ for (const edit of edits) {
62
+ output = output.slice(0, edit.range.startColumn)
63
+ + edit.text
64
+ + output.slice(edit.range.endColumn);
65
+ }
66
+ return output;
67
+ }
68
+
69
+ export { ChatEditingNewNotebookContentEdits };
@@ -1,57 +1,36 @@
1
- import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { ITransaction, IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
- import { ObservableDisposable } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/base/common/observableDisposable";
1
+ import { Disposable, DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
4
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
4
  import { IDocumentDiff } from "../../../../../../editor/common/diff/documentDiffProvider.js";
6
5
  import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping";
7
6
  import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
8
7
  import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
9
- import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
10
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
8
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
11
9
  import { INotebookEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service";
12
10
  import { NotebookCellTextModel } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel";
13
11
  import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
14
- import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
15
- export declare class ChatEditingNotebookCellEntry extends ObservableDisposable {
12
+ import { IChatResponseModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModel";
13
+ export declare class ChatEditingNotebookCellEntry extends Disposable {
16
14
  readonly notebookUri: URI;
17
15
  readonly cell: NotebookCellTextModel;
18
16
  private readonly modifiedModel;
19
17
  private readonly originalModel;
20
- private readonly _editorWorkerService;
21
18
  private readonly notebookEditorService;
22
- private static readonly _lastEditDecorationOptions;
23
- private static readonly _pendingEditDecorationOptions;
24
- private _edit;
25
- private _isEditFromUs;
19
+ private readonly instantiationService;
20
+ get isDisposed(): boolean;
26
21
  get isEditFromUs(): boolean;
27
- private _allEditsAreFromUs;
28
22
  get allEditsAreFromUs(): boolean;
29
- private _diffOperation;
30
- private _diffOperationIds;
31
- private readonly _diffInfo;
32
23
  get diffInfo(): IObservable<IDocumentDiff>;
33
24
  private readonly _maxModifiedLineNumber;
34
25
  readonly maxModifiedLineNumber: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<number, void>;
35
- private readonly _editDecorationClear;
36
- private _editDecorations;
37
- private readonly _diffTrimWhitespace;
38
26
  protected readonly _stateObs: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<ModifiedFileEntryState, void>;
39
27
  readonly state: IObservable<ModifiedFileEntryState>;
40
- protected readonly _isCurrentlyBeingModifiedByObs: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<IChatResponseModel | undefined, void>;
41
- readonly isCurrentlyBeingModifiedBy: IObservable<IChatResponseModel | undefined>;
42
28
  private readonly initialContent;
43
- constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, disposables: DisposableStore, configService: IConfigurationService, _editorWorkerService: IEditorWorkerService, notebookEditorService: INotebookEditorService);
29
+ private readonly _textModelChangeService;
30
+ constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, disposables: DisposableStore, notebookEditorService: INotebookEditorService, instantiationService: IInstantiationService);
44
31
  clearCurrentEditLineDecoration(): void;
45
- private _mirrorEdits;
46
- acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel): void;
47
- scheduleEditDecorations(): void;
32
+ acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<void>;
48
33
  revertMarkdownPreviewState(): void;
49
- protected _resetEditsState(tx: ITransaction): void;
50
34
  keep(change: DetailedLineRangeMapping): Promise<boolean>;
51
- private _acceptHunk;
52
35
  undo(change: DetailedLineRangeMapping): Promise<boolean>;
53
- private _rejectHunk;
54
- private _applyEdits;
55
- private _updateDiffInfoSeq;
56
- private _updateDiffInfo;
57
36
  }