@codingame/monaco-vscode-chat-service-override 22.1.8 → 23.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 (276) hide show
  1. package/index.js +16 -7
  2. package/package.json +43 -41
  3. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +1 -1
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +6 -6
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +57 -48
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +18 -18
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +1 -1
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +26 -17
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +51 -5
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +19 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.d.ts → chatNewActions.d.ts} +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.js → chatNewActions.js} +32 -32
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +9 -9
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +101 -98
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -24
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +43 -25
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +33 -32
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +53 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +7 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +13 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +44 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +347 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +85 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +250 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +24 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +97 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +290 -231
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +7 -10
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +6 -6
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.d.ts +24 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +113 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +31 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +102 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +646 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +2 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +46 -26
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +17 -4
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -34
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +25 -6
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +46 -10
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +45 -6
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +30 -10
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +10 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +60 -9
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +117 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -4
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +60 -55
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +29 -16
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +365 -143
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +2 -3
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -30
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +7 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +58 -22
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.d.ts +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +3 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +5 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +6 -18
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +7 -11
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +13 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +38 -33
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +11 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +83 -24
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +91 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +64 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +370 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +25 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +56 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +61 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +349 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +43 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +787 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +17 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +109 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +122 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +211 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +69 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +21 -20
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +54 -54
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +31 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +16 -6
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +6 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +29 -21
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +5 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +37 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +15 -12
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +96 -131
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +12 -7
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +66 -34
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +5 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +77 -71
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +91 -18
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +458 -138
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +212 -150
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +96 -89
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +3 -2
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +5 -5
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +3 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +15 -16
  124. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +33 -17
  126. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.d.ts +27 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +688 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +15 -10
  131. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +126 -135
  132. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +6 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +2 -1
  134. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +38 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +28 -26
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +9 -6
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +24 -13
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +15 -14
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +25 -23
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +21 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +89 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  147. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +30 -29
  148. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +10 -19
  149. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +61 -43
  150. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +7 -4
  151. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +28 -28
  152. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +254 -165
  153. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +4 -6
  157. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +10 -6
  158. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +20 -12
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +13 -17
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +9 -8
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -0
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +51 -21
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +7 -3
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +74 -20
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +11 -6
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -2
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +83 -53
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +2 -1
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +136 -78
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +4 -4
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +18 -10
  172. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +357 -157
  173. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +55 -28
  175. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +235 -108
  176. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +12 -2
  177. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +50 -4
  178. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  179. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  181. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +3 -1
  182. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +11 -7
  183. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -14
  184. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  186. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +18 -30
  187. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +62 -139
  188. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +1 -1
  189. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +16 -15
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +3 -0
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +119 -15
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +6 -4
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +47 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +192 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -5
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +21 -16
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +8 -3
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -2
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +18 -27
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +5 -2
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +3 -1
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -25
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -2
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +18 -27
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +12 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +31 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +24 -8
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +8 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +33 -4
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +42 -13
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +14 -21
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +23 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +18 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +227 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +17 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +133 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +36 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +17 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +5 -1
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +75 -37
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +8 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +71 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +28 -15
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +366 -363
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +18 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +19 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +123 -0
  245. package/vscode/src/vs/base/common/yaml.d.ts +0 -74
  246. package/vscode/src/vs/base/common/yaml.js +0 -597
  247. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +0 -8
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +0 -239
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +0 -102
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +0 -435
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +0 -14
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +0 -67
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +0 -49
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +0 -380
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +0 -37
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +0 -137
  257. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +0 -44
  258. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +0 -176
  259. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.d.ts +0 -4
  260. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +0 -206
  261. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +0 -7
  262. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +0 -79
  263. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +0 -8
  264. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +0 -145
  265. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +0 -65
  266. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +0 -306
  267. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +0 -12
  268. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +0 -102
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +0 -97
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +0 -247
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -118
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +0 -10
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +0 -10
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +0 -55
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +0 -66
@@ -5,12 +5,11 @@ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/fi
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
7
  import { ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
8
+ import { IChatEditingTimelineState } from "./chatEditingOperations.js";
8
9
  export interface StoredSessionState {
9
10
  readonly initialFileContents: ResourceMap<string>;
10
- readonly pendingSnapshot?: IChatEditingSessionStop;
11
11
  readonly recentSnapshot: IChatEditingSessionStop;
12
- readonly linearHistoryIndex: number;
13
- readonly linearHistory: readonly IChatEditingSessionSnapshot[];
12
+ readonly timeline: IChatEditingTimelineState | undefined;
14
13
  }
15
14
  export declare class ChatEditingSessionStorage {
16
15
  private readonly chatSessionId;
@@ -3,6 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
4
  import { hashAsync } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
5
5
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
6
+ import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
6
7
  import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
8
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
9
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
@@ -47,16 +48,6 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
47
48
  const entries = await deserializeSnapshotEntriesDTO(stopDTO.entries);
48
49
  return { stopId: 'stopId' in stopDTO ? stopDTO.stopId : undefined, entries };
49
50
  };
50
- const normalizeSnapshotDtos = (snapshot) => {
51
- if ('stops' in snapshot) {
52
- return snapshot;
53
- }
54
- return { requestId: snapshot.requestId, stops: [{ stopId: undefined, entries: snapshot.entries }] };
55
- };
56
- const deserializeChatEditingSessionSnapshot = async (startIndex, snapshot) => {
57
- const stops = await Promise.all(( snapshot.stops.map(deserializeChatEditingStopDTO)));
58
- return { startIndex, requestId: snapshot.requestId, stops };
59
- };
60
51
  const deserializeSnapshotEntry = async (entry) => {
61
52
  return {
62
53
  resource: ( URI.parse(entry.resource)),
@@ -90,25 +81,15 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
90
81
  if (!COMPATIBLE_STORAGE_VERSIONS.includes(data.version)) {
91
82
  return undefined;
92
83
  }
93
- let linearHistoryIndex = 0;
94
- const linearHistory = await Promise.all(( data.linearHistory.map(snapshot => {
95
- const norm = normalizeSnapshotDtos(snapshot);
96
- const result = deserializeChatEditingSessionSnapshot(linearHistoryIndex, norm);
97
- linearHistoryIndex += norm.stops.length;
98
- return result;
99
- })));
100
84
  const initialFileContents = ( new ResourceMap());
101
85
  for (const fileContentDTO of data.initialFileContents) {
102
86
  initialFileContents.set(( URI.parse(fileContentDTO[0])), await getFileContent(fileContentDTO[1]));
103
87
  }
104
- const pendingSnapshot = data.pendingSnapshot ? await deserializeChatEditingStopDTO(data.pendingSnapshot) : undefined;
105
88
  const recentSnapshot = await deserializeChatEditingStopDTO(data.recentSnapshot);
106
89
  return {
107
90
  initialFileContents,
108
- pendingSnapshot,
109
91
  recentSnapshot,
110
- linearHistoryIndex: data.linearHistoryIndex,
111
- linearHistory
92
+ timeline: revive(data.timeline),
112
93
  };
113
94
  }
114
95
  catch (e) {
@@ -163,12 +144,6 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
163
144
  entries: await Promise.all(( Array.from(( stop.entries.values())).map(serializeSnapshotEntry)))
164
145
  };
165
146
  };
166
- const serializeChatEditingSessionSnapshot = async (snapshot) => {
167
- return {
168
- requestId: snapshot.requestId,
169
- stops: await Promise.all(( snapshot.stops.map(serializeChatEditingSessionStop))),
170
- };
171
- };
172
147
  const serializeSnapshotEntry = async (entry) => {
173
148
  return {
174
149
  resource: ( entry.resource.toString()),
@@ -184,10 +159,8 @@ let ChatEditingSessionStorage = class ChatEditingSessionStorage {
184
159
  const data = {
185
160
  version: STORAGE_VERSION,
186
161
  sessionId: this.chatSessionId,
187
- linearHistory: await Promise.all(( state.linearHistory.map(serializeChatEditingSessionSnapshot))),
188
- linearHistoryIndex: state.linearHistoryIndex,
189
162
  initialFileContents: await serializeResourceMap(state.initialFileContents, value => addFileContent(value)),
190
- pendingSnapshot: state.pendingSnapshot ? await serializeChatEditingSessionStop(state.pendingSnapshot) : undefined,
163
+ timeline: state.timeline,
191
164
  recentSnapshot: await serializeChatEditingSessionStop(state.recentSnapshot),
192
165
  };
193
166
  this._logService.debug(`chatEditingSession: Storing editing session at ${( storageFolder.toString())}: ${contentWritePromises.size} files`);
@@ -9,7 +9,7 @@ import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/edi
9
9
  import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
10
10
  import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
11
11
  import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
12
- import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
12
+ import { IChatResponseModel } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
13
13
  type affectedLines = {
14
14
  linesAdded: number;
15
15
  linesRemoved: number;
@@ -32,6 +32,7 @@ export declare class ChatEditingTextModelChangeService extends Disposable {
32
32
  get isEditFromUs(): boolean;
33
33
  private _allEditsAreFromUs;
34
34
  get allEditsAreFromUs(): boolean;
35
+ private _isExternalEditInProgress;
35
36
  private _diffOperation;
36
37
  private _diffOperationIds;
37
38
  private readonly _diffInfo;
@@ -52,20 +53,22 @@ export declare class ChatEditingTextModelChangeService extends Disposable {
52
53
  private readonly _didAcceptOrRejectLines;
53
54
  readonly onDidAcceptOrRejectLines: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<acceptedOrRejectedLines>;
54
55
  private notifyHunkAction;
56
+ private _didUserEditModelFired;
55
57
  private readonly _didUserEditModel;
56
58
  readonly onDidUserEditModel: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
57
59
  private _originalToModifiedEdit;
58
60
  private lineChangeCount;
59
61
  private linesAdded;
60
62
  private linesRemoved;
61
- constructor(originalModel: ITextModel, modifiedModel: ITextModel, state: IObservable<ModifiedFileEntryState>, _editorWorkerService: IEditorWorkerService, _accessibilitySignalService: IAccessibilitySignalService);
63
+ constructor(originalModel: ITextModel, modifiedModel: ITextModel, state: IObservable<ModifiedFileEntryState>, isExternalEditInProgress: (() => boolean) | undefined, _editorWorkerService: IEditorWorkerService, _accessibilitySignalService: IAccessibilitySignalService);
62
64
  private updateLineChangeCount;
63
65
  clearCurrentEditLineDecoration(): void;
64
66
  areOriginalAndModifiedIdentical(): Promise<boolean>;
65
- acceptAgentEdits(resource: URI, textEdits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<{
67
+ acceptAgentEdits(resource: URI, textEdits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, responseModel: IChatResponseModel | undefined): Promise<{
66
68
  rewriteRatio: number;
67
69
  maxLineNumber: number;
68
70
  }>;
71
+ private _createEditSource;
69
72
  private _applyEdits;
70
73
  /**
71
74
  * Keeps the current modified document as the final contents.
@@ -75,6 +78,7 @@ export declare class ChatEditingTextModelChangeService extends Disposable {
75
78
  * Undoes the current modified document as the final contents.
76
79
  */
77
80
  undo(): void;
81
+ private _reset;
78
82
  resetDocumentValues(newOriginal: string | ITextSnapshot | undefined, newModified: string | undefined): Promise<void>;
79
83
  private _mirrorEdits;
80
84
  private _keepHunk;
@@ -34,6 +34,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
34
34
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
35
35
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
36
36
  import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
37
+ import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
37
38
  import { pendingRewriteMinimap } from './chatEditingModifiedFileEntry.js';
38
39
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
39
40
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -91,7 +92,7 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
91
92
  this._didAcceptOrRejectLines.fire({ state, ...affectedLines });
92
93
  }
93
94
  }
94
- constructor(originalModel, modifiedModel, state, _editorWorkerService, _accessibilitySignalService) {
95
+ constructor(originalModel, modifiedModel, state, isExternalEditInProgress, _editorWorkerService, _accessibilitySignalService) {
95
96
  super();
96
97
  this.originalModel = originalModel;
97
98
  this.modifiedModel = modifiedModel;
@@ -111,12 +112,14 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
111
112
  this.onDidAcceptOrRejectAllHunks = this._didAcceptOrRejectAllHunks.event;
112
113
  this._didAcceptOrRejectLines = this._register(( new Emitter()));
113
114
  this.onDidAcceptOrRejectLines = this._didAcceptOrRejectLines.event;
115
+ this._didUserEditModelFired = false;
114
116
  this._didUserEditModel = this._register(( new Emitter()));
115
117
  this.onDidUserEditModel = this._didUserEditModel.event;
116
118
  this._originalToModifiedEdit = StringEdit.empty;
117
119
  this.lineChangeCount = 0;
118
120
  this.linesAdded = 0;
119
121
  this.linesRemoved = 0;
122
+ this._isExternalEditInProgress = isExternalEditInProgress;
120
123
  this._register(this.modifiedModel.onDidChangeContent(e => {
121
124
  this._mirrorEdits(e);
122
125
  }));
@@ -124,6 +127,9 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
124
127
  this.clearCurrentEditLineDecoration();
125
128
  }));
126
129
  this._register(autorun(r => this.updateLineChangeCount(this._diffInfo.read(r))));
130
+ if (!originalModel.equalsTextBuffer(modifiedModel.getTextBuffer())) {
131
+ this._updateDiffInfoSeq();
132
+ }
127
133
  }
128
134
  updateLineChangeCount(diff) {
129
135
  this.lineChangeCount = 0;
@@ -138,7 +144,9 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
138
144
  }
139
145
  }
140
146
  clearCurrentEditLineDecoration() {
141
- this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []);
147
+ if (!this.modifiedModel.isDisposed()) {
148
+ this._editDecorations = this.modifiedModel.deltaDecorations(this._editDecorations, []);
149
+ }
142
150
  }
143
151
  async areOriginalAndModifiedIdentical() {
144
152
  const diff = await this._diffOperation;
@@ -150,20 +158,7 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
150
158
  const isAtomicEdits = textEdits.length > 0 && isLastEdits;
151
159
  let maxLineNumber = 0;
152
160
  let rewriteRatio = 0;
153
- const sessionId = responseModel.session.sessionId;
154
- const request = responseModel.session.getRequests().at(-1);
155
- const languageId = this.modifiedModel.getLanguageId();
156
- const agent = responseModel.agent;
157
- const extensionId = VersionedExtensionId.tryCreate(agent?.extensionId.value, agent?.extensionVersion);
158
- const source = EditSources.chatApplyEdits({
159
- modelId: request?.modelId,
160
- requestId: request?.id,
161
- sessionId: sessionId,
162
- languageId,
163
- mode: request?.modeInfo?.modeId,
164
- extensionId,
165
- codeBlockSuggestionId: request?.modeInfo?.applyCodeBlockSuggestionId,
166
- });
161
+ const source = this._createEditSource(responseModel);
167
162
  if (isAtomicEdits) {
168
163
  const minimalEdits = (await this._editorWorkerService.computeMoreMinimalEdits(this.modifiedModel.uri, textEdits)) ?? textEdits;
169
164
  const ops = ( minimalEdits.map(TextEdit.asEditOperation));
@@ -221,7 +216,38 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
221
216
  }
222
217
  return { rewriteRatio, maxLineNumber };
223
218
  }
219
+ _createEditSource(responseModel) {
220
+ if (!responseModel) {
221
+ return EditSources.unknown({ name: 'editSessionUndoRedo' });
222
+ }
223
+ const sessionId = responseModel.session.sessionId;
224
+ const request = responseModel.session.getRequests().at(-1);
225
+ const languageId = this.modifiedModel.getLanguageId();
226
+ const agent = responseModel.agent;
227
+ const extensionId = VersionedExtensionId.tryCreate(agent?.extensionId.value, agent?.extensionVersion);
228
+ if (responseModel.request?.locationData?.type === ChatAgentLocation.EditorInline) {
229
+ return EditSources.inlineChatApplyEdit({
230
+ modelId: request?.modelId,
231
+ requestId: request?.id,
232
+ sessionId,
233
+ languageId,
234
+ extensionId,
235
+ });
236
+ }
237
+ return EditSources.chatApplyEdits({
238
+ modelId: request?.modelId,
239
+ requestId: request?.id,
240
+ sessionId,
241
+ languageId,
242
+ mode: request?.modeInfo?.modeId,
243
+ extensionId,
244
+ codeBlockSuggestionId: request?.modeInfo?.applyCodeBlockSuggestionId,
245
+ });
246
+ }
224
247
  _applyEdits(edits, source) {
248
+ if (edits.length === 0) {
249
+ return [];
250
+ }
225
251
  try {
226
252
  this._isEditFromUs = true;
227
253
  let result = [];
@@ -238,16 +264,19 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
238
264
  keep() {
239
265
  this.notifyHunkAction('accepted', { linesAdded: this.linesAdded, linesRemoved: this.linesRemoved, lineCount: this.lineChangeCount, hasRemainingEdits: false });
240
266
  this.originalModel.setValue(this.modifiedModel.createSnapshot());
241
- this._diffInfo.set(nullDocumentDiff, undefined);
242
- this._originalToModifiedEdit = StringEdit.empty;
267
+ this._reset();
243
268
  }
244
269
  undo() {
245
270
  this.notifyHunkAction('rejected', { linesAdded: this.linesAdded, linesRemoved: this.linesRemoved, lineCount: this.lineChangeCount, hasRemainingEdits: false });
246
271
  this.modifiedModel.pushStackElement();
247
272
  this._applyEdits([(EditOperation.replace(this.modifiedModel.getFullModelRange(), this.originalModel.getValue()))], EditSources.chatUndoEdits());
248
273
  this.modifiedModel.pushStackElement();
274
+ this._reset();
275
+ }
276
+ _reset() {
249
277
  this._originalToModifiedEdit = StringEdit.empty;
250
278
  this._diffInfo.set(nullDocumentDiff, undefined);
279
+ this._didUserEditModelFired = false;
251
280
  }
252
281
  async resetDocumentValues(newOriginal, newModified) {
253
282
  let didChange = false;
@@ -267,10 +296,14 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
267
296
  }
268
297
  _mirrorEdits(event) {
269
298
  const edit = offsetEditFromContentChanges(event.changes);
270
- if (this._isEditFromUs) {
299
+ const isExternalEdit = this._isExternalEditInProgress?.();
300
+ if (this._isEditFromUs || isExternalEdit) {
271
301
  const e_sum = this._originalToModifiedEdit;
272
302
  const e_ai = edit;
273
303
  this._originalToModifiedEdit = e_sum.compose(e_ai);
304
+ if (isExternalEdit) {
305
+ this._updateDiffInfoSeq();
306
+ }
274
307
  }
275
308
  else {
276
309
  const e_ai = this._originalToModifiedEdit;
@@ -286,7 +319,10 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
286
319
  }
287
320
  this._allEditsAreFromUs = false;
288
321
  this._updateDiffInfoSeq();
289
- this._didUserEditModel.fire();
322
+ if (!this._didUserEditModelFired) {
323
+ this._didUserEditModelFired = true;
324
+ this._didUserEditModel.fire();
325
+ }
290
326
  }
291
327
  }
292
328
  async _keepHunk(change) {
@@ -376,8 +412,8 @@ let ChatEditingTextModelChangeService = class ChatEditingTextModelChangeService
376
412
  }
377
413
  };
378
414
  ChatEditingTextModelChangeService = ChatEditingTextModelChangeService_1 = ( __decorate([
379
- ( __param(3, IEditorWorkerService)),
380
- ( __param(4, IAccessibilitySignalService))
415
+ ( __param(4, IEditorWorkerService)),
416
+ ( __param(5, IAccessibilitySignalService))
381
417
  ], ChatEditingTextModelChangeService));
382
418
 
383
419
  export { ChatEditingTextModelChangeService };
@@ -14,7 +14,7 @@ export declare class ChatEditingTextModelContentProvider implements ITextModelCo
14
14
  export declare class ChatEditingSnapshotTextModelContentProvider implements ITextModelContentProvider {
15
15
  private readonly _chatEditingService;
16
16
  private readonly _modelService;
17
- static getSnapshotFileURI(chatSessionId: string, requestId: string | undefined, undoStop: string | undefined, path: string): URI;
17
+ static getSnapshotFileURI(chatSessionId: string, requestId: string | undefined, undoStop: string | undefined, path: string, scheme?: string): URI;
18
18
  constructor(_chatEditingService: IChatEditingService, _modelService: IModelService);
19
19
  provideTextContent(resource: URI): Promise<ITextModel | null>;
20
20
  }
@@ -3,6 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
4
4
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
5
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
6
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
6
7
 
7
8
  var ChatEditingTextModelContentProvider_1;
8
9
  let ChatEditingTextModelContentProvider = class ChatEditingTextModelContentProvider {
@@ -25,7 +26,7 @@ let ChatEditingTextModelContentProvider = class ChatEditingTextModelContentProvi
25
26
  return existing;
26
27
  }
27
28
  const data = JSON.parse(resource.query);
28
- const session = this._chatEditingService.getEditingSession(data.chatSessionId);
29
+ const session = this._chatEditingService.getEditingSession(LocalChatSessionUri.forSession(data.chatSessionId));
29
30
  const entry = session?.entries.get().find(candidate => candidate.entryId === data.documentId);
30
31
  if (!entry) {
31
32
  return null;
@@ -37,11 +38,11 @@ ChatEditingTextModelContentProvider = ChatEditingTextModelContentProvider_1 = (
37
38
  ( __param(1, IModelService))
38
39
  ], ChatEditingTextModelContentProvider));
39
40
  let ChatEditingSnapshotTextModelContentProvider = class ChatEditingSnapshotTextModelContentProvider {
40
- static getSnapshotFileURI(chatSessionId, requestId, undoStop, path) {
41
+ static getSnapshotFileURI(chatSessionId, requestId, undoStop, path, scheme) {
41
42
  return ( URI.from({
42
43
  scheme: Schemas.chatEditingSnapshotScheme,
43
44
  path,
44
- query: JSON.stringify({ sessionId: chatSessionId, requestId: requestId ?? '', undoStop: undoStop ?? '' }),
45
+ query: JSON.stringify({ sessionId: chatSessionId, requestId: requestId ?? '', undoStop: undoStop ?? '', scheme }),
45
46
  }));
46
47
  }
47
48
  constructor(_chatEditingService, _modelService) {
@@ -54,7 +55,7 @@ let ChatEditingSnapshotTextModelContentProvider = class ChatEditingSnapshotTextM
54
55
  return existing;
55
56
  }
56
57
  const data = JSON.parse(resource.query);
57
- const session = this._chatEditingService.getEditingSession(data.sessionId);
58
+ const session = this._chatEditingService.getEditingSession(LocalChatSessionUri.forSession(data.sessionId));
58
59
  if (!session || !data.requestId) {
59
60
  return null;
60
61
  }
@@ -1,7 +1,7 @@
1
1
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
3
  import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel";
4
- import { NotebookData, TransientOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
4
+ import { INotebookTextModel, NotebookData, TransientOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
5
5
  type ChatEditingSnapshotNotebookContentQueryData = {
6
6
  sessionId: string;
7
7
  requestId: string | undefined;
@@ -11,8 +11,8 @@ type ChatEditingSnapshotNotebookContentQueryData = {
11
11
  export declare const ChatEditingNotebookSnapshotScheme = "chat-editing-notebook-snapshot-model";
12
12
  export declare function getNotebookSnapshotFileURI(chatSessionId: string, requestId: string | undefined, undoStop: string | undefined, path: string, viewType: string): URI;
13
13
  export declare function parseNotebookSnapshotFileURI(resource: URI): ChatEditingSnapshotNotebookContentQueryData;
14
- export declare function createSnapshot(notebook: NotebookTextModel, transientOptions: TransientOptions | undefined, outputSizeConfig: IConfigurationService | number): string;
15
- export declare function restoreSnapshot(notebook: NotebookTextModel, snapshot: string): void;
14
+ export declare function createSnapshot(notebook: INotebookTextModel, transientOptions: TransientOptions | undefined, outputSizeConfig: IConfigurationService | number): string;
15
+ export declare function restoreSnapshot(notebook: INotebookTextModel, snapshot: string): void;
16
16
  export declare class SnapshotComparer {
17
17
  private readonly data;
18
18
  private readonly transientOptions;
@@ -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
 
@@ -10,7 +10,7 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
10
10
  import { INotebookEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service";
11
11
  import { NotebookCellTextModel } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel";
12
12
  import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
13
- import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
13
+ import { IChatResponseModel } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
14
14
  /**
15
15
  * This is very closely similar to the ChatEditingModifiedDocumentEntry class.
16
16
  * Most of the code has been borrowed from there, as a cell is effectively a document.
@@ -33,10 +33,10 @@ export declare class ChatEditingNotebookCellEntry extends Disposable {
33
33
  readonly state: IObservable<ModifiedFileEntryState>;
34
34
  private readonly initialContent;
35
35
  private readonly _textModelChangeService;
36
- constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, disposables: DisposableStore, notebookEditorService: INotebookEditorService, instantiationService: IInstantiationService);
36
+ constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, isExternalEditInProgress: (() => boolean) | undefined, disposables: DisposableStore, notebookEditorService: INotebookEditorService, instantiationService: IInstantiationService);
37
37
  hasModificationAt(range: IRange): boolean;
38
38
  clearCurrentEditLineDecoration(): void;
39
- acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel): Promise<void>;
39
+ acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel | undefined): Promise<void>;
40
40
  revertMarkdownPreviewState(): void;
41
41
  keep(change: DetailedLineRangeMapping): Promise<boolean>;
42
42
  undo(change: DetailedLineRangeMapping): Promise<boolean>;
@@ -3,7 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
4
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
5
5
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
6
- import { CellEditState } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
6
+ import { CellEditState } from '@codingame/monaco-vscode-9d2c06d1-1f89-51a5-9964-aa01fe50c198-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
7
7
  import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
8
8
  import { CellKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
9
9
  import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
@@ -24,7 +24,7 @@ let ChatEditingNotebookCellEntry = class ChatEditingNotebookCellEntry extends Di
24
24
  get diffInfo() {
25
25
  return this._textModelChangeService.diffInfo;
26
26
  }
27
- constructor(notebookUri, cell, modifiedModel, originalModel, disposables, notebookEditorService, instantiationService) {
27
+ constructor(notebookUri, cell, modifiedModel, originalModel, isExternalEditInProgress, disposables, notebookEditorService, instantiationService) {
28
28
  super();
29
29
  this.notebookUri = notebookUri;
30
30
  this.cell = cell;
@@ -38,7 +38,7 @@ let ChatEditingNotebookCellEntry = class ChatEditingNotebookCellEntry extends Di
38
38
  this.state = this._stateObs;
39
39
  this.initialContent = this.originalModel.getValue();
40
40
  this._register(disposables);
41
- this._textModelChangeService = this._register(this.instantiationService.createInstance(ChatEditingTextModelChangeService, this.originalModel, this.modifiedModel, this.state));
41
+ this._textModelChangeService = this._register(this.instantiationService.createInstance(ChatEditingTextModelChangeService, this.originalModel, this.modifiedModel, this.state, isExternalEditInProgress));
42
42
  this._register(this._textModelChangeService.onDidAcceptOrRejectAllHunks(action => {
43
43
  this.revertMarkdownPreviewState();
44
44
  this._stateObs.set(action, undefined);
@@ -92,8 +92,8 @@ let ChatEditingNotebookCellEntry = class ChatEditingNotebookCellEntry extends Di
92
92
  }
93
93
  };
94
94
  ChatEditingNotebookCellEntry = ( __decorate([
95
- ( __param(5, INotebookEditorService)),
96
- ( __param(6, IInstantiationService))
95
+ ( __param(6, INotebookEditorService)),
96
+ ( __param(7, IInstantiationService))
97
97
  ], ChatEditingNotebookCellEntry));
98
98
 
99
99
  export { ChatEditingNotebookCellEntry };
@@ -18,11 +18,9 @@ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench
18
18
  import { NotebookDeletedCellDecorator } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator';
19
19
  import { NotebookInsertedCellDecorator } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator';
20
20
  import { NotebookModifiedCellDecorator } from '../../../../notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js';
21
- import { getNotebookEditorFromEditorPane, CellEditState } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
21
+ import { getNotebookEditorFromEditorPane, CellEditState } from '@codingame/monaco-vscode-9d2c06d1-1f89-51a5-9964-aa01fe50c198-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
22
22
  import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
23
23
  import { CellKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
24
- import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
25
- import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
26
24
  import { ChatEditingCodeEditorIntegration } from '../chatEditingCodeEditorIntegration.js';
27
25
  import { sortCellChanges, countChanges } from './notebookCellChanges.js';
28
26
  import { OverlayToolbarDecorator } from './overlayToolbarDecorator.js';
@@ -81,7 +79,7 @@ ChatEditingNotebookEditorIntegration = ( __decorate([
81
79
  ( __param(5, IInstantiationService))
82
80
  ], ChatEditingNotebookEditorIntegration));
83
81
  let ChatEditingNotebookEditorWidgetIntegration = class ChatEditingNotebookEditorWidgetIntegration extends Disposable {
84
- constructor(_entry, notebookEditor, notebookModel, originalModel, cellChanges, instantiationService, _editorService, _chatAgentService, notebookEditorService, accessibilitySignalService, logService) {
82
+ constructor(_entry, notebookEditor, notebookModel, originalModel, cellChanges, instantiationService, _editorService, notebookEditorService, accessibilitySignalService, logService) {
85
83
  super();
86
84
  this._entry = _entry;
87
85
  this.notebookEditor = notebookEditor;
@@ -89,7 +87,6 @@ let ChatEditingNotebookEditorWidgetIntegration = class ChatEditingNotebookEditor
89
87
  this.cellChanges = cellChanges;
90
88
  this.instantiationService = instantiationService;
91
89
  this._editorService = _editorService;
92
- this._chatAgentService = _chatAgentService;
93
90
  this.accessibilitySignalService = accessibilitySignalService;
94
91
  this.logService = logService;
95
92
  this._currentIndex = observableValue(this, -1);
@@ -547,18 +544,10 @@ let ChatEditingNotebookEditorWidgetIntegration = class ChatEditingNotebookEditor
547
544
  }
548
545
  }
549
546
  async toggleDiff(_change, _show) {
550
- const defaultAgentName = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Chat)?.fullName;
551
547
  const diffInput = {
552
548
  original: { resource: this._entry.originalURI },
553
549
  modified: { resource: this._entry.modifiedURI },
554
- label: defaultAgentName
555
- ? ( localize(
556
- 5109,
557
- '{0} (changes from {1})',
558
- basename(this._entry.modifiedURI),
559
- defaultAgentName
560
- ))
561
- : ( localize(5110, '{0} (changes from chat)', basename(this._entry.modifiedURI)))
550
+ label: ( localize(5185, '{0} (changes from chat)', basename(this._entry.modifiedURI)))
562
551
  };
563
552
  await this._editorService.openEditor(diffInput);
564
553
  }
@@ -566,10 +555,9 @@ let ChatEditingNotebookEditorWidgetIntegration = class ChatEditingNotebookEditor
566
555
  ChatEditingNotebookEditorWidgetIntegration = ( __decorate([
567
556
  ( __param(5, IInstantiationService)),
568
557
  ( __param(6, IEditorService)),
569
- ( __param(7, IChatAgentService)),
570
- ( __param(8, INotebookEditorService)),
571
- ( __param(9, IAccessibilitySignalService)),
572
- ( __param(10, ILogService))
558
+ ( __param(7, INotebookEditorService)),
559
+ ( __param(8, IAccessibilitySignalService)),
560
+ ( __param(9, ILogService))
573
561
  ], ChatEditingNotebookEditorWidgetIntegration));
574
562
  class ChatEditingNotebookDiffEditorIntegration extends Disposable {
575
563
  constructor(notebookDiffEditor, cellChanges) {
@@ -8,7 +8,6 @@ import { FileSystemProviderCapabilities, FileType, IFileChange, IFileDeleteOptio
8
8
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
9
9
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
10
10
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
11
- import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
12
11
  import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service";
13
12
  export declare class ChatEditingNotebookFileSystemProviderContrib extends Disposable implements IWorkbenchContribution {
14
13
  private readonly fileService;
@@ -17,11 +16,10 @@ export declare class ChatEditingNotebookFileSystemProviderContrib extends Dispos
17
16
  }
18
17
  export declare class ChatEditingNotebookFileSystemProvider implements IFileSystemProvider {
19
18
  private readonly _chatEditingService;
20
- private readonly notebookService;
21
19
  private static registeredFiles;
22
20
  readonly capabilities: FileSystemProviderCapabilities;
23
21
  static registerFile(resource: URI, buffer: VSBuffer): IDisposable;
24
- constructor(_chatEditingService: IChatEditingService, notebookService: INotebookService);
22
+ constructor(_chatEditingService: IChatEditingService);
25
23
  readonly onDidChangeCapabilities: Event<any>;
26
24
  readonly onDidChangeFile: Event<readonly IFileChange[]>;
27
25
  watch(_resource: URI, _opts: IWatchOptions): IDisposable;
@@ -6,9 +6,9 @@ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
6
6
  import { FileSystemProviderCapabilities, FileType } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
7
7
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
8
8
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
- import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
10
9
  import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
11
- import { ChatEditingNotebookSnapshotScheme, deserializeSnapshot } from './chatEditingModifiedNotebookSnapshot.js';
10
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
11
+ import { ChatEditingNotebookSnapshotScheme } from './chatEditingModifiedNotebookSnapshot.js';
12
12
 
13
13
  var ChatEditingNotebookFileSystemProvider_1;
14
14
  let ChatEditingNotebookFileSystemProviderContrib = class ChatEditingNotebookFileSystemProviderContrib extends Disposable {
@@ -37,9 +37,8 @@ let ChatEditingNotebookFileSystemProvider = class ChatEditingNotebookFileSystemP
37
37
  }
38
38
  };
39
39
  }
40
- constructor(_chatEditingService, notebookService) {
40
+ constructor(_chatEditingService) {
41
41
  this._chatEditingService = _chatEditingService;
42
- this.notebookService = notebookService;
43
42
  this.capabilities = FileSystemProviderCapabilities.Readonly | FileSystemProviderCapabilities.FileAtomicRead | FileSystemProviderCapabilities.FileReadWrite;
44
43
  this.onDidChangeCapabilities = Event.None;
45
44
  this.onDidChangeFile = Event.None;
@@ -79,17 +78,15 @@ let ChatEditingNotebookFileSystemProvider = class ChatEditingNotebookFileSystemP
79
78
  if (!queryData.viewType) {
80
79
  throw ( new Error('File not found, viewType not found'));
81
80
  }
82
- const session = this._chatEditingService.getEditingSession(queryData.sessionId);
81
+ const session = this._chatEditingService.getEditingSession(LocalChatSessionUri.forSession(queryData.sessionId));
83
82
  if (!session || !queryData.requestId) {
84
83
  throw ( new Error('File not found, session not found'));
85
84
  }
86
- const snapshotEntry = session.getSnapshot(queryData.requestId, queryData.undoStop || undefined, resource);
85
+ const snapshotEntry = await session.getSnapshotContents(queryData.requestId, resource, queryData.undoStop || undefined);
87
86
  if (!snapshotEntry) {
88
87
  throw ( new Error('File not found, snapshot not found'));
89
88
  }
90
- const { data } = deserializeSnapshot(snapshotEntry.current);
91
- const { serializer } = await this.notebookService.withNotebookDataProvider(queryData.viewType);
92
- return serializer.notebookToData(data).then(s => s.buffer);
89
+ return snapshotEntry.buffer;
93
90
  }
94
91
  writeFile(__resource, _content, _opts) {
95
92
  throw ( new Error('Method not implemented7.'));
@@ -114,8 +111,7 @@ let ChatEditingNotebookFileSystemProvider = class ChatEditingNotebookFileSystemP
114
111
  }
115
112
  };
116
113
  ChatEditingNotebookFileSystemProvider = ChatEditingNotebookFileSystemProvider_1 = ( __decorate([
117
- ( __param(0, IChatEditingService)),
118
- ( __param(1, INotebookService))
114
+ ( __param(0, IChatEditingService))
119
115
  ], ChatEditingNotebookFileSystemProvider));
120
116
 
121
117
  export { ChatEditingNotebookFileSystemProvider, ChatEditingNotebookFileSystemProviderContrib };
@@ -1,7 +1,7 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
3
3
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
- import { INotebookEditor } from "@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
4
+ import { INotebookEditor } from "@codingame/monaco-vscode-9d2c06d1-1f89-51a5-9964-aa01fe50c198-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
5
5
  import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel";
6
6
  import { ICellDiffInfo } from "./notebookCellChanges.js";
7
7
  export declare class OverlayToolbarDecorator extends Disposable {