@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
@@ -1,435 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { equals, binarySearch2 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
4
- import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
5
- import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
6
- import { DisposableStore, thenRegisterOrDispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
- import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
8
- import { equals as equals$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
9
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
- import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
11
- import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
12
- import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
13
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
14
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
15
- import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
16
- import { ChatEditingModifiedNotebookEntry } from './chatEditingModifiedNotebookEntry.js';
17
- import { ChatEditingModifiedNotebookDiff } from './notebook/chatEditingModifiedNotebookDiff.js';
18
- import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
19
- import { derivedOpts, derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
20
- import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
21
- import { ObservablePromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/promise';
22
-
23
- var ChatEditingTimeline_1;
24
- let ChatEditingTimeline = class ChatEditingTimeline {
25
- static { ChatEditingTimeline_1 = this; }
26
- static { this.POST_EDIT_STOP_ID = 'd19944f6-f46c-4e17-911b-79a8e843c7c0'; }
27
- static createEmptySnapshot(undoStop) {
28
- return {
29
- stopId: undoStop,
30
- entries: ( new ResourceMap()),
31
- };
32
- }
33
- constructor(_editorWorkerService, _instantiationService, configurationService, _textModelService) {
34
- this._editorWorkerService = _editorWorkerService;
35
- this._instantiationService = _instantiationService;
36
- this._textModelService = _textModelService;
37
- this._linearHistory = observableValue(this, []);
38
- this._linearHistoryIndex = observableValue(this, 0);
39
- this._diffsBetweenStops = ( new Map());
40
- this._fullDiffs = ( new Map());
41
- this.requestDisablement = derivedOpts({ equalsFn: (a, b) => equals(a, b, equals$1) }, reader => {
42
- const history = this._linearHistory.read(reader);
43
- const index = this._linearHistoryIndex.read(reader);
44
- const undoRequests = [];
45
- for (const entry of history) {
46
- if (!entry.requestId) ;
47
- else if (entry.startIndex >= index) {
48
- undoRequests.push({ requestId: entry.requestId });
49
- }
50
- else if (entry.startIndex + entry.stops.length > index) {
51
- undoRequests.push({ requestId: entry.requestId, afterUndoStop: entry.stops[(index - 1) - entry.startIndex].stopId });
52
- }
53
- }
54
- return undoRequests;
55
- });
56
- this._ignoreTrimWhitespaceObservable = observableConfigValue('diffEditor.ignoreTrimWhitespace', true, configurationService);
57
- this.canUndo = derived(r => {
58
- const linearHistoryIndex = this._linearHistoryIndex.read(r);
59
- return linearHistoryIndex > 1;
60
- });
61
- this.canRedo = derived(r => {
62
- const linearHistoryIndex = this._linearHistoryIndex.read(r);
63
- return linearHistoryIndex < getMaxHistoryIndex(this._linearHistory.read(r));
64
- });
65
- }
66
- restoreFromState(state, tx) {
67
- this._linearHistory.set(state.history, tx);
68
- this._linearHistoryIndex.set(state.index, tx);
69
- }
70
- getSnapshotForRestore(requestId, stopId) {
71
- if (requestId === undefined) {
72
- return undefined;
73
- }
74
- const stopRef = this.findEditStop(requestId, stopId);
75
- if (!stopRef) {
76
- return undefined;
77
- }
78
- const toIndex = stopRef.stop.stopId === undefined ? stopRef.historyIndex : stopRef.historyIndex + 1;
79
- return {
80
- stop: stopRef.stop,
81
- apply: () => this._linearHistoryIndex.set(toIndex, undefined)
82
- };
83
- }
84
- ensureEditInUndoStopMatches(requestId, undoStop, entry, next, tx) {
85
- const history = this._linearHistory.get();
86
- const snapIndex = history.findIndex((s) => s.requestId === requestId);
87
- if (snapIndex === -1) {
88
- return;
89
- }
90
- const snap = { ...history[snapIndex] };
91
- let stopIndex = snap.stops.findIndex((s) => s.stopId === undoStop);
92
- if (stopIndex === -1) {
93
- return;
94
- }
95
- let linearHistoryIndexIncr = 0;
96
- if (next) {
97
- if (stopIndex === snap.stops.length - 1) {
98
- if (snap.stops[stopIndex].stopId === ChatEditingTimeline_1.POST_EDIT_STOP_ID) {
99
- throw ( new Error('cannot duplicate post-edit stop'));
100
- }
101
- snap.stops = snap.stops.concat(ChatEditingTimeline_1.createEmptySnapshot(ChatEditingTimeline_1.POST_EDIT_STOP_ID));
102
- linearHistoryIndexIncr++;
103
- }
104
- stopIndex++;
105
- }
106
- const stop = snap.stops[stopIndex];
107
- if (entry.equalsSnapshot(stop.entries.get(entry.modifiedURI))) {
108
- return;
109
- }
110
- const newMap = ( new ResourceMap(stop.entries));
111
- newMap.set(entry.modifiedURI, entry.createSnapshot(requestId, stop.stopId));
112
- const newStop = snap.stops.slice();
113
- newStop[stopIndex] = { ...stop, entries: newMap };
114
- snap.stops = newStop;
115
- const newHistory = history.slice();
116
- newHistory[snapIndex] = snap;
117
- this._linearHistory.set(newHistory, tx);
118
- if (linearHistoryIndexIncr) {
119
- this._linearHistoryIndex.set(this._linearHistoryIndex.get() + linearHistoryIndexIncr, tx);
120
- }
121
- }
122
- getUndoSnapshot() {
123
- return this.getUndoRedoSnapshot(-1);
124
- }
125
- getRedoSnapshot() {
126
- return this.getUndoRedoSnapshot(1);
127
- }
128
- getUndoRedoSnapshot(direction) {
129
- let idx = this._linearHistoryIndex.get() - 1;
130
- const max = getMaxHistoryIndex(this._linearHistory.get());
131
- const startEntry = this.getHistoryEntryByLinearIndex(idx);
132
- let entry = startEntry;
133
- if (!startEntry) {
134
- return undefined;
135
- }
136
- do {
137
- idx += direction;
138
- entry = this.getHistoryEntryByLinearIndex(idx);
139
- } while (idx + direction < max &&
140
- idx + direction >= 0 &&
141
- entry &&
142
- !(direction === -1 && entry.entry.requestId !== startEntry.entry.requestId) &&
143
- !stopProvidesNewData(startEntry.stop, entry.stop));
144
- if (entry) {
145
- return { stop: entry.stop, apply: () => this._linearHistoryIndex.set(idx + 1, undefined) };
146
- }
147
- return undefined;
148
- }
149
- getStateForPersistence() {
150
- return { history: this._linearHistory.get(), index: this._linearHistoryIndex.get() };
151
- }
152
- findSnapshot(requestId) {
153
- return this._linearHistory.get().find((s) => s.requestId === requestId);
154
- }
155
- findEditStop(requestId, undoStop) {
156
- const snapshot = this.findSnapshot(requestId);
157
- if (!snapshot) {
158
- return undefined;
159
- }
160
- const idx = snapshot.stops.findIndex((s) => s.stopId === undoStop);
161
- return idx === -1 ? undefined : { stop: snapshot.stops[idx], snapshot, historyIndex: snapshot.startIndex + idx };
162
- }
163
- getHistoryEntryByLinearIndex(index) {
164
- const history = this._linearHistory.get();
165
- const searchedIndex = binarySearch2(history.length, (e) => history[e].startIndex - index);
166
- const entry = history[searchedIndex < 0 ? (~searchedIndex) - 1 : searchedIndex];
167
- if (!entry || index - entry.startIndex >= entry.stops.length) {
168
- return undefined;
169
- }
170
- return {
171
- entry,
172
- stop: entry.stops[index - entry.startIndex]
173
- };
174
- }
175
- pushSnapshot(requestId, undoStop, snapshot) {
176
- const linearHistoryPtr = this._linearHistoryIndex.get();
177
- const newLinearHistory = [];
178
- for (const entry of this._linearHistory.get()) {
179
- if (entry.startIndex >= linearHistoryPtr) {
180
- break;
181
- }
182
- else if (linearHistoryPtr - entry.startIndex < entry.stops.length) {
183
- newLinearHistory.push({ requestId: entry.requestId, stops: entry.stops.slice(0, linearHistoryPtr - entry.startIndex), startIndex: entry.startIndex });
184
- }
185
- else {
186
- newLinearHistory.push(entry);
187
- }
188
- }
189
- const lastEntry = newLinearHistory.at(-1);
190
- if (requestId && lastEntry?.requestId === requestId) {
191
- const hadPostEditStop = lastEntry.stops.at(-1)?.stopId === ChatEditingTimeline_1.POST_EDIT_STOP_ID && undoStop;
192
- if (hadPostEditStop) {
193
- const rebaseUri = (uri) => uri.with({ query: uri.query.replace(ChatEditingTimeline_1.POST_EDIT_STOP_ID, undoStop) });
194
- for (const [uri, prev] of lastEntry.stops.at(-1).entries) {
195
- snapshot.entries.set(uri, { ...prev, snapshotUri: rebaseUri(prev.snapshotUri), resource: rebaseUri(prev.resource) });
196
- }
197
- }
198
- newLinearHistory[newLinearHistory.length - 1] = {
199
- ...lastEntry,
200
- stops: [...(hadPostEditStop ? lastEntry.stops.slice(0, -1) : lastEntry.stops), snapshot]
201
- };
202
- }
203
- else {
204
- newLinearHistory.push({ requestId, startIndex: lastEntry ? lastEntry.startIndex + lastEntry.stops.length : 0, stops: [snapshot] });
205
- }
206
- transaction((tx) => {
207
- const last = newLinearHistory[newLinearHistory.length - 1];
208
- this._linearHistory.set(newLinearHistory, tx);
209
- this._linearHistoryIndex.set(last.startIndex + last.stops.length, tx);
210
- });
211
- }
212
- _entryDiffBetweenTextStops(entriesContent, modelUrisObservable) {
213
- const modelRefsPromise = derived(this, (reader) => {
214
- const modelUris = modelUrisObservable.read(reader);
215
- if (!modelUris) {
216
- return undefined;
217
- }
218
- const store = reader.store.add(( new DisposableStore()));
219
- const promise = Promise.all(( modelUris.map(u => this._textModelService.createModelReference(u)))).then(refs => {
220
- if (store.isDisposed) {
221
- refs.forEach(r => r.dispose());
222
- }
223
- else {
224
- refs.forEach(r => store.add(r));
225
- }
226
- return refs;
227
- });
228
- return ( new ObservablePromise(promise));
229
- });
230
- return derived((reader) => {
231
- const refs2 = modelRefsPromise.read(reader)?.promiseResult.read(reader);
232
- const refs = refs2?.data;
233
- if (!refs) {
234
- return;
235
- }
236
- const entries = entriesContent.read(reader);
237
- if (entries?.before && ChatEditingModifiedNotebookEntry.canHandleSnapshot(entries.before)) {
238
- const diffService = this._instantiationService.createInstance(ChatEditingModifiedNotebookDiff, entries.before, entries.after);
239
- return ( new ObservablePromise(diffService.computeDiff()));
240
- }
241
- const ignoreTrimWhitespace = this._ignoreTrimWhitespaceObservable.read(reader);
242
- const promise = this._computeDiff(refs[0].object.textEditorModel.uri, refs[1].object.textEditorModel.uri, ignoreTrimWhitespace);
243
- return ( new ObservablePromise(promise));
244
- });
245
- }
246
- _createDiffBetweenStopsObservable(uri, requestId, stopId) {
247
- const entries = derivedOpts({
248
- equalsFn: (a, b) => snapshotsEqualForDiff(a?.before, b?.before) && snapshotsEqualForDiff(a?.after, b?.after),
249
- }, reader => {
250
- const stops = requestId ?
251
- getCurrentAndNextStop(requestId, stopId, this._linearHistory.read(reader)) :
252
- getFirstAndLastStop(uri, this._linearHistory.read(reader));
253
- if (!stops) {
254
- return undefined;
255
- }
256
- const before = stops.current.get(uri);
257
- const after = stops.next.get(uri);
258
- if (!before || !after) {
259
- return undefined;
260
- }
261
- return { before, after };
262
- });
263
- const modelUrisObservable = derivedOpts({ equalsFn: (a, b) => equals(a, b, isEqual) }, reader => {
264
- const entriesValue = entries.read(reader);
265
- if (!entriesValue) {
266
- return undefined;
267
- }
268
- return [entriesValue.before.snapshotUri, entriesValue.after.snapshotUri];
269
- });
270
- const diff = this._entryDiffBetweenTextStops(entries, modelUrisObservable);
271
- return derived(reader => {
272
- return diff.read(reader)?.promiseResult.read(reader)?.data || undefined;
273
- });
274
- }
275
- getEntryDiffBetweenStops(uri, requestId, stopId) {
276
- if (requestId) {
277
- const key = `${uri}\0${requestId}\0${stopId}`;
278
- let observable = this._diffsBetweenStops.get(key);
279
- if (!observable) {
280
- observable = this._createDiffBetweenStopsObservable(uri, requestId, stopId);
281
- this._diffsBetweenStops.set(key, observable);
282
- }
283
- return observable;
284
- }
285
- else {
286
- const key = ( uri.toString());
287
- let observable = this._fullDiffs.get(key);
288
- if (!observable) {
289
- observable = this._createDiffBetweenStopsObservable(uri, requestId, stopId);
290
- this._fullDiffs.set(key, observable);
291
- }
292
- return observable;
293
- }
294
- }
295
- getEntryDiffBetweenRequests(uri, startRequestId, stopRequestId) {
296
- const snapshotUris = derivedOpts({ equalsFn: (a, b) => equals(a, b, isEqual) }, reader => {
297
- const history = this._linearHistory.read(reader);
298
- const firstSnapshotUri = this._getFirstSnapshotForUriAfterRequest(history, uri, startRequestId, true);
299
- const lastSnapshotUri = this._getFirstSnapshotForUriAfterRequest(history, uri, stopRequestId, false);
300
- return [firstSnapshotUri, lastSnapshotUri];
301
- });
302
- const modelRefs = derived((reader) => {
303
- const snapshots = snapshotUris.read(reader);
304
- const firstSnapshotUri = snapshots[0];
305
- const lastSnapshotUri = snapshots[1];
306
- if (!firstSnapshotUri || !lastSnapshotUri) {
307
- return;
308
- }
309
- const store = ( new DisposableStore());
310
- reader.store.add(store);
311
- const referencesPromise = Promise.all(( [firstSnapshotUri, lastSnapshotUri].map(u => {
312
- return thenRegisterOrDispose(this._textModelService.createModelReference(u), store);
313
- })));
314
- return ( new ObservablePromise(referencesPromise));
315
- });
316
- const diff = derived((reader) => {
317
- const references = modelRefs.read(reader)?.promiseResult.read(reader);
318
- const refs = references?.data;
319
- if (!refs) {
320
- return;
321
- }
322
- const ignoreTrimWhitespace = this._ignoreTrimWhitespaceObservable.read(reader);
323
- const promise = this._computeDiff(refs[0].object.textEditorModel.uri, refs[1].object.textEditorModel.uri, ignoreTrimWhitespace);
324
- return ( new ObservablePromise(promise));
325
- });
326
- return derived(reader => {
327
- return diff.read(reader)?.promiseResult.read(reader)?.data || undefined;
328
- });
329
- }
330
- _computeDiff(originalUri, modifiedUri, ignoreTrimWhitespace) {
331
- return this._editorWorkerService.computeDiff(originalUri, modifiedUri, { ignoreTrimWhitespace, computeMoves: false, maxComputationTimeMs: 3000 }, 'advanced').then((diff) => {
332
- const entryDiff = {
333
- originalURI: originalUri,
334
- modifiedURI: modifiedUri,
335
- identical: !!diff?.identical,
336
- quitEarly: !diff || diff.quitEarly,
337
- added: 0,
338
- removed: 0,
339
- };
340
- if (diff) {
341
- for (const change of diff.changes) {
342
- entryDiff.removed += change.original.endLineNumberExclusive - change.original.startLineNumber;
343
- entryDiff.added += change.modified.endLineNumberExclusive - change.modified.startLineNumber;
344
- }
345
- }
346
- return entryDiff;
347
- });
348
- }
349
- _getFirstSnapshotForUriAfterRequest(history, uri, requestId, inclusive) {
350
- const requestIndex = history.findIndex(s => s.requestId === requestId);
351
- if (requestIndex === -1) {
352
- return undefined;
353
- }
354
- const processedIndex = requestIndex + (inclusive ? 0 : 1);
355
- for (let i = processedIndex; i < history.length; i++) {
356
- const snapshot = history[i];
357
- for (const stop of snapshot.stops) {
358
- const entry = stop.entries.get(uri);
359
- if (entry) {
360
- return entry.snapshotUri;
361
- }
362
- }
363
- }
364
- return uri;
365
- }
366
- };
367
- ChatEditingTimeline = ChatEditingTimeline_1 = ( __decorate([
368
- ( __param(0, IEditorWorkerService)),
369
- ( __param(1, IInstantiationService)),
370
- ( __param(2, IConfigurationService)),
371
- ( __param(3, ITextModelService))
372
- ], ChatEditingTimeline));
373
- function stopProvidesNewData(origin, target) {
374
- return ( Iterable.some(
375
- target.entries,
376
- ([uri, e]) => origin.entries.get(uri)?.current !== e.current
377
- ));
378
- }
379
- function getMaxHistoryIndex(history) {
380
- const lastHistory = history.at(-1);
381
- return lastHistory ? lastHistory.startIndex + lastHistory.stops.length : 0;
382
- }
383
- function snapshotsEqualForDiff(a, b) {
384
- if (!a || !b) {
385
- return a === b;
386
- }
387
- return isEqual(a.snapshotUri, b.snapshotUri) && a.current === b.current;
388
- }
389
- function getCurrentAndNextStop(requestId, stopId, history) {
390
- const snapshotIndex = history.findIndex(s => s.requestId === requestId);
391
- if (snapshotIndex === -1) {
392
- return undefined;
393
- }
394
- const snapshot = history[snapshotIndex];
395
- const stopIndex = snapshot.stops.findIndex(s => s.stopId === stopId);
396
- if (stopIndex === -1) {
397
- return undefined;
398
- }
399
- const currentStop = snapshot.stops[stopIndex];
400
- const current = currentStop.entries;
401
- const nextStop = stopIndex < snapshot.stops.length - 1
402
- ? snapshot.stops[stopIndex + 1]
403
- : undefined;
404
- if (!nextStop) {
405
- return undefined;
406
- }
407
- return { current, currentStopId: currentStop.stopId, next: nextStop.entries, nextStopId: nextStop.stopId };
408
- }
409
- function getFirstAndLastStop(uri, history) {
410
- let firstStopWithUri;
411
- for (const snapshot of history) {
412
- const stop = snapshot.stops.find(s => ( s.entries.has(uri)));
413
- if (stop) {
414
- firstStopWithUri = stop;
415
- break;
416
- }
417
- }
418
- let lastStopWithUri;
419
- let lastStopWithUriId;
420
- for (let i = history.length - 1; i >= 0; i--) {
421
- const snapshot = history[i];
422
- const stop = findLast(snapshot.stops, s => ( s.entries.has(uri)));
423
- if (stop) {
424
- lastStopWithUri = stop.entries;
425
- lastStopWithUriId = stop.stopId;
426
- break;
427
- }
428
- }
429
- if (!firstStopWithUri || !lastStopWithUri) {
430
- return undefined;
431
- }
432
- return { current: firstStopWithUri.entries, currentStopId: firstStopWithUri.stopId, next: lastStopWithUri, nextStopId: lastStopWithUriId };
433
- }
434
-
435
- export { ChatEditingTimeline };
@@ -1,14 +0,0 @@
1
- import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service";
2
- import { INotebookLoggingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service";
3
- import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
4
- import { IEditSessionEntryDiff, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
5
- export declare class ChatEditingModifiedNotebookDiff {
6
- private readonly original;
7
- private readonly modified;
8
- private readonly notebookEditorWorkerService;
9
- private readonly notebookLoggingService;
10
- private readonly notebookEditorModelService;
11
- static NewModelCounter: number;
12
- constructor(original: ISnapshotEntry, modified: ISnapshotEntry, notebookEditorWorkerService: INotebookEditorWorkerService, notebookLoggingService: INotebookLoggingService, notebookEditorModelService: INotebookEditorModelResolverService);
13
- computeDiff(): Promise<IEditSessionEntryDiff>;
14
- }
@@ -1,67 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
- import { computeDiff } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/common/notebookDiff';
5
- import { INotebookEditorModelResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service';
6
- import { INotebookLoggingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service';
7
- import { INotebookEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service';
8
-
9
- let ChatEditingModifiedNotebookDiff = class ChatEditingModifiedNotebookDiff {
10
- static { this.NewModelCounter = 0; }
11
- constructor(original, modified, notebookEditorWorkerService, notebookLoggingService, notebookEditorModelService) {
12
- this.original = original;
13
- this.modified = modified;
14
- this.notebookEditorWorkerService = notebookEditorWorkerService;
15
- this.notebookLoggingService = notebookLoggingService;
16
- this.notebookEditorModelService = notebookEditorModelService;
17
- }
18
- async computeDiff() {
19
- let added = 0;
20
- let removed = 0;
21
- const disposables = ( new DisposableStore());
22
- try {
23
- const [modifiedRef, originalRef] = await Promise.all([
24
- this.notebookEditorModelService.resolve(this.modified.snapshotUri),
25
- this.notebookEditorModelService.resolve(this.original.snapshotUri)
26
- ]);
27
- disposables.add(modifiedRef);
28
- disposables.add(originalRef);
29
- const notebookDiff = await this.notebookEditorWorkerService.computeDiff(this.original.snapshotUri, this.modified.snapshotUri);
30
- const result = computeDiff(originalRef.object.notebook, modifiedRef.object.notebook, notebookDiff);
31
- result.cellDiffInfo.forEach(diff => {
32
- switch (diff.type) {
33
- case 'modified':
34
- case 'insert':
35
- added++;
36
- break;
37
- case 'delete':
38
- removed++;
39
- break;
40
- default:
41
- break;
42
- }
43
- });
44
- }
45
- catch (e) {
46
- this.notebookLoggingService.error('Notebook Chat', 'Error computing diff:\n' + e);
47
- }
48
- finally {
49
- disposables.dispose();
50
- }
51
- return {
52
- added,
53
- removed,
54
- identical: added === 0 && removed === 0,
55
- quitEarly: false,
56
- modifiedURI: this.modified.snapshotUri,
57
- originalURI: this.original.snapshotUri,
58
- };
59
- }
60
- };
61
- ChatEditingModifiedNotebookDiff = ( __decorate([
62
- ( __param(2, INotebookEditorWorkerService)),
63
- ( __param(3, INotebookLoggingService)),
64
- ( __param(4, INotebookEditorModelResolverService))
65
- ], ChatEditingModifiedNotebookDiff));
66
-
67
- export { ChatEditingModifiedNotebookDiff };
@@ -1,49 +0,0 @@
1
- import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { IReadonlyVSDataTransfer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/dataTransfer";
3
- import { HierarchicalKind } from "@codingame/monaco-vscode-api/vscode/vs/base/common/hierarchicalKind";
4
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
5
- import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
6
- import { DocumentPasteContext, DocumentPasteEditProvider, DocumentPasteEditsSession } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
7
- import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
8
- import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service";
9
- import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
10
- import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
11
- import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
12
- import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
13
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
14
- import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
15
- import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
16
- export declare class PasteImageProvider implements DocumentPasteEditProvider {
17
- private readonly chatWidgetService;
18
- private readonly extensionService;
19
- private readonly fileService;
20
- private readonly environmentService;
21
- private readonly logService;
22
- private readonly imagesFolder;
23
- readonly kind: HierarchicalKind;
24
- readonly providedPasteEditKinds: HierarchicalKind[];
25
- readonly copyMimeTypes: never[];
26
- readonly pasteMimeTypes: string[];
27
- constructor(chatWidgetService: IChatWidgetService, extensionService: IExtensionService, fileService: IFileService, environmentService: IEnvironmentService, logService: ILogService);
28
- provideDocumentPasteEdits(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, context: DocumentPasteContext, token: CancellationToken): Promise<DocumentPasteEditsSession | undefined>;
29
- }
30
- export declare function isImage(array: Uint8Array): boolean;
31
- export declare class CopyTextProvider implements DocumentPasteEditProvider {
32
- readonly providedPasteEditKinds: never[];
33
- readonly copyMimeTypes: string[];
34
- readonly pasteMimeTypes: never[];
35
- prepareDocumentPaste(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, token: CancellationToken): Promise<undefined | IReadonlyVSDataTransfer>;
36
- }
37
- export declare class PasteTextProvider implements DocumentPasteEditProvider {
38
- private readonly chatWidgetService;
39
- private readonly modelService;
40
- readonly kind: HierarchicalKind;
41
- readonly providedPasteEditKinds: HierarchicalKind[];
42
- readonly copyMimeTypes: never[];
43
- readonly pasteMimeTypes: string[];
44
- constructor(chatWidgetService: IChatWidgetService, modelService: IModelService);
45
- provideDocumentPasteEdits(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, _context: DocumentPasteContext, token: CancellationToken): Promise<DocumentPasteEditsSession | undefined>;
46
- }
47
- export declare class ChatPasteProvidersFeature extends Disposable {
48
- constructor(instaService: IInstantiationService, languageFeaturesService: ILanguageFeaturesService, chatWidgetService: IChatWidgetService, extensionService: IExtensionService, fileService: IFileService, modelService: IModelService, environmentService: IEnvironmentService, logService: ILogService);
49
- }