@codingame/monaco-vscode-chat-service-override 23.2.2 → 24.1.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 (273) hide show
  1. package/index.js +13 -10
  2. package/package.json +5 -41
  3. package/vscode/src/vs/platform/domWidget/browser/domWidget.d.ts +52 -0
  4. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +53 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -10
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +61 -50
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.d.ts +18 -0
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +152 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +14 -14
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -28
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +9 -9
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -5
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +7 -11
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +10 -10
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -14
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +21 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +27 -18
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +6 -27
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +44 -208
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +17 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +23 -24
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +140 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +85 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +358 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +55 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +222 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +37 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +241 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +13 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +27 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +11 -19
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +67 -230
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +65 -33
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +186 -62
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +23 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +140 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +2 -7
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +115 -29
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +389 -166
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +9 -6
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +22 -16
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +8 -8
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.d.ts +10 -3
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +63 -3
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +7 -3
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +14 -5
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +173 -32
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +66 -17
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +32 -29
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -2
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +9 -6
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +6 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +4 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +8 -18
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -6
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +15 -24
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +13 -11
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +66 -50
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +3 -2
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +6 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +3 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +7 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +2 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +6 -7
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.d.ts +3 -3
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +4 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +15 -4
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +3 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +30 -37
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +13 -10
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -32
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +20 -19
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +47 -15
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +270 -143
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +310 -170
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -2
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +42 -42
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +3 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +35 -25
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +4 -4
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +1 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +22 -26
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +18 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +80 -72
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +2 -8
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +48 -77
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +16 -17
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +257 -77
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +55 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +34 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSetup.d.ts → chatSetup/chatSetupContributions.d.ts} +4 -11
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +622 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +53 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +359 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +89 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +667 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +37 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +260 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/chatSetup.css +4 -6
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +4 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +21 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +55 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.js → chatStatus/chatStatusDashboard.js} +193 -325
  132. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.d.ts → chatStatus/chatStatusEntry.d.ts} +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +190 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.d.ts → chatStatus/chatStatusItemService.d.ts} +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatStatus/media}/chatStatus.css +22 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.d.ts +25 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.js +108 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.d.ts +10 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.js +34 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +57 -18
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +478 -146
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.d.ts +43 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.js +204 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.d.ts +44 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.js +187 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +108 -62
  149. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.d.ts +1 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +37 -32
  153. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +37 -20
  154. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +232 -97
  155. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatusWidget.css +57 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +142 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +39 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +51 -35
  159. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +5 -4
  161. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +12 -12
  164. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +19 -21
  165. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +8 -8
  167. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  168. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
  169. package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.d.ts +49 -0
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.js +100 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +3 -4
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +41 -15
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +208 -162
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +3 -3
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +15 -7
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +61 -7
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +2 -2
  182. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +10 -10
  184. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +3 -3
  186. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +5 -1
  187. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +60 -43
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +27 -4
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +37 -47
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -3
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +120 -87
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -42
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +293 -187
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -5
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +43 -9
  198. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +2 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +48 -29
  200. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  202. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -13
  203. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
  205. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +3 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +36 -41
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
  208. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +2 -2
  209. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  210. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +18 -18
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +142 -38
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +3 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +19 -2
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +78 -6
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -11
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +26 -44
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +3 -3
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +1 -1
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +9 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -1
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +23 -17
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +4 -2
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +26 -5
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +3 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +32 -4
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +15 -29
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +10 -7
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +12 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +3 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +38 -19
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +32 -7
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +5 -4
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -3
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -3
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +128 -62
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +2 -2
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +12 -2
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +5 -2
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +68 -22
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +20 -22
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +13 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +20 -19
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +12 -0
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +72 -0
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +5 -17
  258. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +0 -53
  259. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +0 -154
  260. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +0 -7
  261. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +0 -13
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +0 -25
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +0 -135
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +0 -35
  265. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +0 -216
  266. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +0 -1617
  267. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +0 -44
  268. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +0 -313
  269. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-dark.svg +0 -0
  270. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-light.svg +0 -0
  271. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/github.svg +0 -0
  272. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/google.svg +0 -0
  273. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.js → chatStatus/chatStatusItemService.js} +0 -0
@@ -0,0 +1,72 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { getCommandOutputSnapshot } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror';
4
+ import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
5
+ import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
6
+
7
+ let TerminalCommandArtifactCollector = class TerminalCommandArtifactCollector {
8
+ constructor(_logService) {
9
+ this._logService = _logService;
10
+ }
11
+ async capture(toolSpecificData, instance, commandId) {
12
+ if (commandId) {
13
+ try {
14
+ toolSpecificData.terminalCommandUri = this._createTerminalCommandUri(instance, commandId);
15
+ }
16
+ catch (error) {
17
+ this._logService.warn(`RunInTerminalTool: Failed to create terminal command URI for ${commandId}`, error);
18
+ }
19
+ const command = await this._tryGetCommand(instance, commandId);
20
+ if (command) {
21
+ toolSpecificData.terminalCommandState = {
22
+ exitCode: command.exitCode,
23
+ timestamp: command.timestamp,
24
+ duration: command.duration
25
+ };
26
+ const snapshot = await this._captureCommandOutput(instance, command);
27
+ if (snapshot) {
28
+ toolSpecificData.terminalCommandOutput = snapshot;
29
+ }
30
+ this._applyTheme(toolSpecificData, instance);
31
+ return;
32
+ }
33
+ }
34
+ this._applyTheme(toolSpecificData, instance);
35
+ }
36
+ async _captureCommandOutput(instance, command) {
37
+ try {
38
+ await instance.xtermReadyPromise;
39
+ }
40
+ catch {
41
+ return undefined;
42
+ }
43
+ const xterm = instance.xterm;
44
+ if (!xterm) {
45
+ return undefined;
46
+ }
47
+ return getCommandOutputSnapshot(xterm, command, (reason, error) => {
48
+ const suffix = reason === 'fallback' ? ' (fallback)' : '';
49
+ this._logService.debug(`RunInTerminalTool: Failed to snapshot command output${suffix}`, error);
50
+ });
51
+ }
52
+ _applyTheme(toolSpecificData, instance) {
53
+ const theme = instance.xterm?.getXtermTheme();
54
+ if (theme) {
55
+ toolSpecificData.terminalTheme = { background: theme.background, foreground: theme.foreground };
56
+ }
57
+ }
58
+ _createTerminalCommandUri(instance, commandId) {
59
+ const params = ( new URLSearchParams(instance.resource.query));
60
+ params.set('command', commandId);
61
+ return instance.resource.with({ query: ( params.toString()) });
62
+ }
63
+ async _tryGetCommand(instance, commandId) {
64
+ const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
65
+ return commandDetection?.commands.find(c => c.id === commandId);
66
+ }
67
+ };
68
+ TerminalCommandArtifactCollector = ( __decorate([
69
+ ( __param(0, ITerminalLogService))
70
+ ], TerminalCommandArtifactCollector));
71
+
72
+ export { TerminalCommandArtifactCollector };
@@ -1,6 +1,6 @@
1
1
  import type { QueryCapture } from "@vscode/tree-sitter-wasm";
2
- import { ITreeSitterLibraryService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service";
3
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { ITreeSitterLibraryService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service";
4
4
  export declare enum TreeSitterCommandParserLanguage {
5
5
  Bash = "bash",
6
6
  PowerShell = "powershell"
@@ -15,5 +15,4 @@ export declare class TreeSitterCommandParser extends Disposable {
15
15
  getFileWrites(languageId: TreeSitterCommandParserLanguage, commandLine: string): Promise<string[]>;
16
16
  private _queryTree;
17
17
  private _doQuery;
18
- private _throwIfCanCrash;
19
18
  }
@@ -1,12 +1,10 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { BugIndicatingError, ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
4
- import { arch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/process';
5
- import { ITreeSitterLibraryService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service';
6
- import { Disposable, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
3
  import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { BugIndicatingError, ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
8
5
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
9
- import { isWindows } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
6
+ import { Disposable, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { ITreeSitterLibraryService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service';
10
8
 
11
9
  var TreeSitterCommandParserLanguage;
12
10
  (function (TreeSitterCommandParserLanguage) {
@@ -29,10 +27,8 @@ let TreeSitterCommandParser = class TreeSitterCommandParser extends Disposable {
29
27
  async extractPwshDoubleAmpersandChainOperators(commandLine) {
30
28
  const captures = await this._queryTree(TreeSitterCommandParserLanguage.PowerShell, commandLine, [
31
29
  '(',
32
- ' (command',
33
- ' (command_elements',
34
- ' (generic_token) @double.ampersand',
35
- ' (#eq? @double.ampersand "&&")))',
30
+ ' (pipeline',
31
+ ' (pipeline_chain_tail) @double.ampersand)',
36
32
  ')',
37
33
  ].join('\n'));
38
34
  return captures;
@@ -61,7 +57,6 @@ let TreeSitterCommandParser = class TreeSitterCommandParser extends Disposable {
61
57
  return query.captures(tree.rootNode);
62
58
  }
63
59
  async _doQuery(languageId, commandLine, querySource) {
64
- this._throwIfCanCrash(languageId);
65
60
  const language = await this._treeSitterLibraryService.getLanguagePromise(languageId);
66
61
  if (!language) {
67
62
  throw ( new BugIndicatingError('Failed to fetch language grammar'));
@@ -83,13 +78,6 @@ let TreeSitterCommandParser = class TreeSitterCommandParser extends Disposable {
83
78
  }
84
79
  return { tree, query };
85
80
  }
86
- _throwIfCanCrash(languageId) {
87
- if (isWindows &&
88
- (arch === 'arm' || arch === 'arm64') &&
89
- languageId === TreeSitterCommandParserLanguage.PowerShell) {
90
- throw ( new ErrorNoTelemetry('powershell grammar is not supported on arm or arm64'));
91
- }
92
- }
93
81
  };
94
82
  TreeSitterCommandParser = ( __decorate([
95
83
  ( __param(0, ITreeSitterLibraryService))
@@ -1,53 +0,0 @@
1
- import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
- import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
3
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
- import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
5
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
- import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
7
- import { ChatSessionStatus, IChatSessionItemProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
8
- import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
9
- export interface IAgentSessionsViewModel {
10
- readonly onWillResolve: Event<void>;
11
- readonly onDidResolve: Event<void>;
12
- readonly onDidChangeSessions: Event<void>;
13
- readonly sessions: IAgentSessionViewModel[];
14
- resolve(provider: string | string[] | undefined): Promise<void>;
15
- }
16
- export interface IAgentSessionViewModel {
17
- readonly provider: IChatSessionItemProvider;
18
- readonly providerLabel: string;
19
- readonly resource: URI;
20
- readonly status?: ChatSessionStatus;
21
- readonly tooltip?: string | IMarkdownString;
22
- readonly label: string;
23
- readonly description: string | IMarkdownString;
24
- readonly icon: ThemeIcon;
25
- readonly timing: {
26
- readonly startTime: number;
27
- readonly endTime?: number;
28
- };
29
- readonly statistics?: {
30
- readonly insertions: number;
31
- readonly deletions: number;
32
- };
33
- }
34
- export declare function isLocalAgentSessionItem(session: IAgentSessionViewModel): boolean;
35
- export declare function isAgentSession(obj: IAgentSessionsViewModel | IAgentSessionViewModel): obj is IAgentSessionViewModel;
36
- export declare function isAgentSessionsViewModel(obj: IAgentSessionsViewModel | IAgentSessionViewModel): obj is IAgentSessionsViewModel;
37
- export declare class AgentSessionsViewModel extends Disposable implements IAgentSessionsViewModel {
38
- private readonly chatSessionsService;
39
- private readonly lifecycleService;
40
- readonly sessions: IAgentSessionViewModel[];
41
- private readonly _onWillResolve;
42
- readonly onWillResolve: Event<void>;
43
- private readonly _onDidResolve;
44
- readonly onDidResolve: Event<void>;
45
- private readonly _onDidChangeSessions;
46
- readonly onDidChangeSessions: Event<void>;
47
- private readonly resolver;
48
- private readonly providersToResolve;
49
- constructor(chatSessionsService: IChatSessionsService, lifecycleService: ILifecycleService);
50
- private registerListeners;
51
- resolve(provider: string | string[] | undefined): Promise<void>;
52
- private doResolve;
53
- }
@@ -1,154 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { ThrottledDelayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
- import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
- import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
- import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
10
- import { localChatSessionType, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
11
- import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
12
- import { AgentSessionProviders } from './agentSessions.js';
13
-
14
- function isLocalAgentSessionItem(session) {
15
- return session.provider.chatSessionType === localChatSessionType;
16
- }
17
- function isAgentSession(obj) {
18
- const session = obj;
19
- return URI.isUri(session?.resource);
20
- }
21
- function isAgentSessionsViewModel(obj) {
22
- const sessionsViewModel = obj;
23
- return Array.isArray(sessionsViewModel?.sessions);
24
- }
25
- let AgentSessionsViewModel = class AgentSessionsViewModel extends Disposable {
26
- constructor(chatSessionsService, lifecycleService) {
27
- super();
28
- this.chatSessionsService = chatSessionsService;
29
- this.lifecycleService = lifecycleService;
30
- this.sessions = [];
31
- this._onWillResolve = this._register(( new Emitter()));
32
- this.onWillResolve = this._onWillResolve.event;
33
- this._onDidResolve = this._register(( new Emitter()));
34
- this.onDidResolve = this._onDidResolve.event;
35
- this._onDidChangeSessions = this._register(( new Emitter()));
36
- this.onDidChangeSessions = this._onDidChangeSessions.event;
37
- this.resolver = this._register(( new ThrottledDelayer(100)));
38
- this.providersToResolve = ( new Set());
39
- this.registerListeners();
40
- this.resolve(undefined);
41
- }
42
- registerListeners() {
43
- this._register(this.chatSessionsService.onDidChangeItemsProviders(({ chatSessionType: provider }) => this.resolve(provider)));
44
- this._register(this.chatSessionsService.onDidChangeAvailability(() => this.resolve(undefined)));
45
- this._register(this.chatSessionsService.onDidChangeSessionItems(provider => this.resolve(provider)));
46
- }
47
- async resolve(provider) {
48
- if (Array.isArray(provider)) {
49
- for (const p of provider) {
50
- this.providersToResolve.add(p);
51
- }
52
- }
53
- else {
54
- this.providersToResolve.add(provider);
55
- }
56
- return this.resolver.trigger(async (token) => {
57
- if (token.isCancellationRequested || this.lifecycleService.willShutdown) {
58
- return;
59
- }
60
- try {
61
- this._onWillResolve.fire();
62
- return await this.doResolve(token);
63
- }
64
- finally {
65
- this._onDidResolve.fire();
66
- }
67
- });
68
- }
69
- async doResolve(token) {
70
- const providersToResolve = Array.from(this.providersToResolve);
71
- this.providersToResolve.clear();
72
- const mapSessionContributionToType = ( new Map());
73
- for (const contribution of this.chatSessionsService.getAllChatSessionContributions()) {
74
- mapSessionContributionToType.set(contribution.type, contribution);
75
- }
76
- const newSessions = [];
77
- for (const provider of this.chatSessionsService.getAllChatSessionItemProviders()) {
78
- if (!providersToResolve.includes(undefined) && !providersToResolve.includes(provider.chatSessionType)) {
79
- newSessions.push(...this.sessions.filter(session => session.provider.chatSessionType === provider.chatSessionType));
80
- continue;
81
- }
82
- const sessions = await provider.provideChatSessionItems(token);
83
- if (token.isCancellationRequested) {
84
- return;
85
- }
86
- for (const session of sessions) {
87
- if (session.id === 'show-history' || session.id === 'workbench.panel.chat.view.copilot') {
88
- continue;
89
- }
90
- let description;
91
- if (session.description) {
92
- description = session.description;
93
- }
94
- else {
95
- switch (session.status) {
96
- case ChatSessionStatus.InProgress:
97
- description = ( localize(4822, "Working..."));
98
- break;
99
- case ChatSessionStatus.Failed:
100
- description = ( localize(4823, "Failed"));
101
- break;
102
- default:
103
- description = ( localize(4824, "Finished"));
104
- break;
105
- }
106
- }
107
- let icon;
108
- let providerLabel;
109
- switch ((provider.chatSessionType)) {
110
- case localChatSessionType:
111
- providerLabel = ( localize(4825, "Local"));
112
- icon = Codicon.window;
113
- break;
114
- case AgentSessionProviders.Background:
115
- providerLabel = ( localize(4826, "Background"));
116
- icon = Codicon.layers;
117
- break;
118
- case AgentSessionProviders.Cloud:
119
- providerLabel = ( localize(4827, "Cloud"));
120
- icon = Codicon.cloud;
121
- break;
122
- default: {
123
- providerLabel = mapSessionContributionToType.get(provider.chatSessionType)?.name ?? provider.chatSessionType;
124
- icon = session.iconPath ?? Codicon.terminal;
125
- }
126
- }
127
- newSessions.push({
128
- provider,
129
- providerLabel,
130
- resource: session.resource,
131
- label: session.label,
132
- description,
133
- icon,
134
- tooltip: session.tooltip,
135
- status: session.status,
136
- timing: {
137
- startTime: session.timing.startTime,
138
- endTime: session.timing.endTime
139
- },
140
- statistics: session.statistics
141
- });
142
- }
143
- }
144
- this.sessions.length = 0;
145
- this.sessions.push(...newSessions);
146
- this._onDidChangeSessions.fire();
147
- }
148
- };
149
- AgentSessionsViewModel = ( __decorate([
150
- ( __param(0, IChatSessionsService)),
151
- ( __param(1, ILifecycleService))
152
- ], AgentSessionsViewModel));
153
-
154
- export { AgentSessionsViewModel, isAgentSession, isAgentSessionsViewModel, isLocalAgentSessionItem };
@@ -1,7 +0,0 @@
1
- export declare const AGENT_SESSIONS_VIEW_CONTAINER_ID = "workbench.viewContainer.agentSessions";
2
- export declare const AGENT_SESSIONS_VIEW_ID = "workbench.view.agentSessions";
3
- export declare enum AgentSessionProviders {
4
- Local = "local",
5
- Background = "copilotcli",
6
- Cloud = "copilot-cloud-agent"
7
- }
@@ -1,13 +0,0 @@
1
-
2
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
3
-
4
- const AGENT_SESSIONS_VIEW_CONTAINER_ID = 'workbench.viewContainer.agentSessions';
5
- const AGENT_SESSIONS_VIEW_ID = 'workbench.view.agentSessions';
6
- var AgentSessionProviders;
7
- (function (AgentSessionProviders) {
8
- AgentSessionProviders["Local"] = "local";
9
- AgentSessionProviders["Background"] = "copilotcli";
10
- AgentSessionProviders["Cloud"] = "copilot-cloud-agent";
11
- })(AgentSessionProviders || (AgentSessionProviders = {}));
12
-
13
- export { AGENT_SESSIONS_VIEW_CONTAINER_ID, AGENT_SESSIONS_VIEW_ID, AgentSessionProviders };
@@ -1,25 +0,0 @@
1
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { GroupModelChangeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
3
- import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
4
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
5
- import { IChatSessionItem, IChatSessionItemProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
6
- import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
7
- import { ChatEditorInput } from "@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput";
8
- export declare class ChatSessionTracker extends Disposable {
9
- private readonly editorGroupsService;
10
- private readonly chatService;
11
- private readonly chatSessionsService;
12
- private readonly _onDidChangeEditors;
13
- private readonly groupDisposables;
14
- readonly onDidChangeEditors: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<{
15
- sessionType: string;
16
- kind: GroupModelChangeKind;
17
- }>;
18
- constructor(editorGroupsService: IEditorGroupsService, chatService: IChatService, chatSessionsService: IChatSessionsService);
19
- private setupEditorTracking;
20
- private registerGroupListeners;
21
- getLocalEditorsForSessionType(sessionType: string): ChatEditorInput[];
22
- getHybridSessionsForProvider(provider: IChatSessionItemProvider): Promise<IChatSessionItem[]>;
23
- private findGroupForEditor;
24
- private modelToStatus;
25
- }
@@ -1,135 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
- import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
- import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
6
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
7
- import { localChatSessionType, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
8
- import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
9
- import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
10
- import { ChatEditorInput } from '@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
11
- import { isChatSession } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chatSessions/common';
12
-
13
- let ChatSessionTracker = class ChatSessionTracker extends Disposable {
14
- constructor(editorGroupsService, chatService, chatSessionsService) {
15
- super();
16
- this.editorGroupsService = editorGroupsService;
17
- this.chatService = chatService;
18
- this.chatSessionsService = chatSessionsService;
19
- this._onDidChangeEditors = this._register(( new Emitter()));
20
- this.groupDisposables = this._register(( new DisposableMap()));
21
- this.onDidChangeEditors = this._onDidChangeEditors.event;
22
- this.setupEditorTracking();
23
- }
24
- setupEditorTracking() {
25
- this.editorGroupsService.groups.forEach(group => {
26
- this.registerGroupListeners(group);
27
- });
28
- this._register(this.editorGroupsService.onDidAddGroup(group => {
29
- this.registerGroupListeners(group);
30
- }));
31
- this._register(this.editorGroupsService.onDidRemoveGroup(group => {
32
- this.groupDisposables.deleteAndDispose(group.id);
33
- }));
34
- }
35
- registerGroupListeners(group) {
36
- this.groupDisposables.set(group.id, group.onDidModelChange(e => {
37
- if (!isChatSession(this.chatSessionsService.getContentProviderSchemes(), e.editor)) {
38
- return;
39
- }
40
- const editor = e.editor;
41
- const sessionType = editor.getSessionType();
42
- this.chatSessionsService.notifySessionItemsChanged(sessionType);
43
- this._onDidChangeEditors.fire({ sessionType, kind: e.kind });
44
- }));
45
- }
46
- getLocalEditorsForSessionType(sessionType) {
47
- const localEditors = [];
48
- this.editorGroupsService.groups.forEach(group => {
49
- group.editors.forEach(editor => {
50
- if (editor instanceof ChatEditorInput && editor.getSessionType() === sessionType) {
51
- localEditors.push(editor);
52
- }
53
- });
54
- });
55
- return localEditors;
56
- }
57
- async getHybridSessionsForProvider(provider) {
58
- if (provider.chatSessionType === localChatSessionType) {
59
- return [];
60
- }
61
- const localEditors = this.getLocalEditorsForSessionType(provider.chatSessionType);
62
- const hybridSessions = [];
63
- localEditors.forEach((editor, index) => {
64
- const group = this.findGroupForEditor(editor);
65
- if (!group) {
66
- return;
67
- }
68
- if (editor.options.ignoreInView) {
69
- return;
70
- }
71
- let status = ChatSessionStatus.Completed;
72
- let timestamp;
73
- if (editor.sessionResource) {
74
- const model = this.chatService.getSession(editor.sessionResource);
75
- const modelStatus = model ? this.modelToStatus(model) : undefined;
76
- if (model && modelStatus) {
77
- status = modelStatus;
78
- const requests = model.getRequests();
79
- if (requests.length > 0) {
80
- timestamp = requests[requests.length - 1].timestamp;
81
- }
82
- }
83
- }
84
- const parsed = LocalChatSessionUri.parse(editor.resource);
85
- const hybridSession = {
86
- id: parsed?.sessionId || editor.sessionId || `${provider.chatSessionType}-local-${index}`,
87
- resource: editor.resource,
88
- label: editor.getName(),
89
- status: status,
90
- provider,
91
- timing: {
92
- startTime: timestamp ?? Date.now()
93
- }
94
- };
95
- hybridSessions.push(hybridSession);
96
- });
97
- return hybridSessions;
98
- }
99
- findGroupForEditor(editor) {
100
- for (const group of this.editorGroupsService.groups) {
101
- if (group.editors.includes(editor)) {
102
- return group;
103
- }
104
- }
105
- return undefined;
106
- }
107
- modelToStatus(model) {
108
- if (model.requestInProgress) {
109
- return ChatSessionStatus.InProgress;
110
- }
111
- const requests = model.getRequests();
112
- if (requests.length > 0) {
113
- const lastRequest = requests[requests.length - 1];
114
- if (lastRequest?.response) {
115
- if (lastRequest.response.isCanceled || lastRequest.response.result?.errorDetails) {
116
- return ChatSessionStatus.Failed;
117
- }
118
- else if (lastRequest.response.isComplete) {
119
- return ChatSessionStatus.Completed;
120
- }
121
- else {
122
- return ChatSessionStatus.InProgress;
123
- }
124
- }
125
- }
126
- return undefined;
127
- }
128
- };
129
- ChatSessionTracker = ( __decorate([
130
- ( __param(0, IEditorGroupsService)),
131
- ( __param(1, IChatService)),
132
- ( __param(2, IChatSessionsService))
133
- ], ChatSessionTracker));
134
-
135
- export { ChatSessionTracker };
@@ -1,35 +0,0 @@
1
- import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { Emitter, Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
- import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
5
- import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
6
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
7
- import { IChatSessionItem, IChatSessionItemProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
8
- import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
9
- import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
10
- export declare class LocalChatSessionsProvider extends Disposable implements IChatSessionItemProvider, IWorkbenchContribution {
11
- private readonly editorGroupService;
12
- private readonly chatWidgetService;
13
- private readonly chatService;
14
- private readonly chatSessionsService;
15
- static readonly ID = "workbench.contrib.localChatSessionsProvider";
16
- static readonly CHAT_WIDGET_VIEW_ID = "workbench.panel.chat.view.copilot";
17
- static readonly HISTORY_NODE_ID = "show-history";
18
- readonly chatSessionType = "local";
19
- private readonly _onDidChange;
20
- readonly onDidChange: Event<void>;
21
- readonly _onDidChangeChatSessionItems: Emitter<void>;
22
- get onDidChangeChatSessionItems(): Event<void>;
23
- private currentEditorSet;
24
- private editorOrder;
25
- constructor(editorGroupService: IEditorGroupsService, chatWidgetService: IChatWidgetService, chatService: IChatService, chatSessionsService: IChatSessionsService);
26
- private registerWidgetListeners;
27
- private _registerWidgetModelListeners;
28
- private registerProgressListener;
29
- private registerModelTitleListener;
30
- private initializeCurrentEditorSet;
31
- private getEditorKey;
32
- private isLocalChatSession;
33
- private modelToStatus;
34
- provideChatSessionItems(token: CancellationToken): Promise<IChatSessionItem[]>;
35
- }