@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,9 +1,10 @@
1
1
 
2
- import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
2
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
4
  import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
5
5
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
6
- import { Action2, MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
6
+ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { Action2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
8
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
9
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
9
10
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
@@ -19,22 +20,20 @@ import { IWorkbenchExtensionManagementService } from '@codingame/monaco-vscode-a
19
20
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
20
21
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
21
22
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
23
+ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
22
24
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
23
- import { ChatSessionUri } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatUri';
24
- import { ChatConfiguration, VIEWLET_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
25
- import { ChatViewId } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat';
25
+ import { ChatConfiguration, AGENT_SESSIONS_VIEWLET_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
26
+ import { ChatViewId } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chat';
26
27
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
27
- import { ChatEditorInput } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
28
- import { findExistingChatEditorByUri, isLocalChatSessionItem } from '../chatSessions/common.js';
29
- import { CHAT_CATEGORY, ACTION_ID_OPEN_CHAT } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
30
- import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
28
+ import { findExistingChatEditorByUri } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chatSessions/common';
29
+ import { CHAT_CATEGORY, ACTION_ID_OPEN_CHAT } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
31
30
 
32
31
  class RenameChatSessionAction extends Action2 {
33
32
  static { this.id = 'workbench.action.chat.renameSession'; }
34
33
  constructor() {
35
34
  super({
36
35
  id: RenameChatSessionAction.id,
37
- title: ( localize(4703, "Rename")),
36
+ title: ( localize(4730, "Rename")),
38
37
  f1: false,
39
38
  category: CHAT_CATEGORY,
40
39
  icon: Codicon.pencil,
@@ -49,40 +48,39 @@ class RenameChatSessionAction extends Action2 {
49
48
  if (!context) {
50
49
  return;
51
50
  }
52
- const sessionId = context.session.id.replace('history-', '');
53
51
  const label = context.session.label;
54
52
  const chatSessionsService = accessor.get(IChatSessionsService);
55
53
  const logService = accessor.get(ILogService);
56
54
  const chatService = accessor.get(IChatService);
57
55
  try {
58
- await chatSessionsService.setEditableSession(sessionId, {
56
+ await chatSessionsService.setEditableSession(context.session.resource, {
59
57
  validationMessage: (value) => {
60
58
  if (!value || value.trim().length === 0) {
61
- return { content: ( localize(4704, "Name cannot be empty")), severity: Severity.Error };
59
+ return { content: ( localize(4731, "Name cannot be empty")), severity: Severity.Error };
62
60
  }
63
61
  if (value.length > 100) {
64
- return { content: ( localize(4705, "Name is too long (maximum 100 characters)")), severity: Severity.Error };
62
+ return { content: ( localize(4732, "Name is too long (maximum 100 characters)")), severity: Severity.Error };
65
63
  }
66
64
  return null;
67
65
  },
68
- placeholder: ( localize(4706, "Enter new name for chat session")),
66
+ placeholder: ( localize(4733, "Enter new name for chat session")),
69
67
  startingValue: label,
70
68
  onFinish: async (value, success) => {
71
69
  if (success && value && value.trim() !== label) {
72
70
  try {
73
71
  const newTitle = value.trim();
74
- chatService.setChatSessionTitle(sessionId, newTitle);
75
- chatSessionsService.notifySessionItemsChanged('local');
72
+ chatService.setChatSessionTitle(context.session.resource, newTitle);
73
+ chatSessionsService.notifySessionItemsChanged(localChatSessionType);
76
74
  }
77
75
  catch (error) {
78
76
  logService.error(( localize(
79
- 4707,
77
+ 4734,
80
78
  "Failed to rename chat session: {0}",
81
79
  (error instanceof Error ? error.message : String(error))
82
80
  )));
83
81
  }
84
82
  }
85
- await chatSessionsService.setEditableSession(sessionId, null);
83
+ await chatSessionsService.setEditableSession(context.session.resource, null);
86
84
  }
87
85
  });
88
86
  }
@@ -96,7 +94,7 @@ class DeleteChatSessionAction extends Action2 {
96
94
  constructor() {
97
95
  super({
98
96
  id: DeleteChatSessionAction.id,
99
- title: ( localize(4708, "Delete")),
97
+ title: ( localize(4735, "Delete")),
100
98
  f1: false,
101
99
  category: CHAT_CATEGORY,
102
100
  icon: Codicon.x,
@@ -106,21 +104,20 @@ class DeleteChatSessionAction extends Action2 {
106
104
  if (!context) {
107
105
  return;
108
106
  }
109
- const sessionId = context.session.id;
110
107
  const chatService = accessor.get(IChatService);
111
108
  const dialogService = accessor.get(IDialogService);
112
109
  const logService = accessor.get(ILogService);
113
110
  const chatSessionsService = accessor.get(IChatSessionsService);
114
111
  try {
115
112
  const result = await dialogService.confirm({
116
- message: ( localize(4709, "Are you sure you want to delete this chat session?")),
117
- detail: ( localize(4710, "This action cannot be undone.")),
118
- primaryButton: ( localize(4711, "Delete")),
113
+ message: ( localize(4736, "Are you sure you want to delete this chat session?")),
114
+ detail: ( localize(4737, "This action cannot be undone.")),
115
+ primaryButton: ( localize(4738, "Delete")),
119
116
  type: 'warning'
120
117
  });
121
118
  if (result.confirmed) {
122
- await chatService.removeHistoryEntry(sessionId);
123
- chatSessionsService.notifySessionItemsChanged('local');
119
+ await chatService.removeHistoryEntry(context.session.resource);
120
+ chatSessionsService.notifySessionItemsChanged(localChatSessionType);
124
121
  }
125
122
  }
126
123
  catch (error) {
@@ -133,7 +130,7 @@ class OpenChatSessionInNewWindowAction extends Action2 {
133
130
  constructor() {
134
131
  super({
135
132
  id: OpenChatSessionInNewWindowAction.id,
136
- title: ( localize(4712, "Open Chat in New Window")),
133
+ title: ( localize(4739, "Move Chat into New Window")),
137
134
  category: CHAT_CATEGORY,
138
135
  f1: false,
139
136
  });
@@ -144,28 +141,17 @@ class OpenChatSessionInNewWindowAction extends Action2 {
144
141
  }
145
142
  const editorService = accessor.get(IEditorService);
146
143
  const chatWidgetService = accessor.get(IChatWidgetService);
147
- const sessionId = context.session.id;
148
144
  const editorGroupsService = accessor.get(IEditorGroupsService);
149
145
  if (context.session.provider?.chatSessionType) {
150
- const uri = ChatSessionUri.forSession(context.session.provider.chatSessionType, sessionId);
151
- const existingEditor = findExistingChatEditorByUri(uri, sessionId, editorGroupsService);
146
+ const uri = context.session.resource;
147
+ const existingEditor = findExistingChatEditorByUri(uri, editorGroupsService);
152
148
  if (existingEditor) {
153
- await editorService.openEditor(existingEditor.editor, existingEditor.groupId);
149
+ await editorService.openEditor(existingEditor.editor, existingEditor.group);
154
150
  return;
155
151
  }
156
- else if (chatWidgetService.getWidgetBySessionId(sessionId)) {
152
+ else if (chatWidgetService.getWidgetBySessionResource(uri)) {
157
153
  return;
158
154
  }
159
- else if (isLocalChatSessionItem(context.session)) {
160
- const options = {
161
- target: { sessionId },
162
- ignoreInView: true,
163
- };
164
- await editorService.openEditor({
165
- resource: ChatEditorInput.getNewEditorUri(),
166
- options,
167
- }, AUX_WINDOW_GROUP);
168
- }
169
155
  else {
170
156
  const options = {
171
157
  ignoreInView: true,
@@ -183,7 +169,7 @@ class OpenChatSessionInNewEditorGroupAction extends Action2 {
183
169
  constructor() {
184
170
  super({
185
171
  id: OpenChatSessionInNewEditorGroupAction.id,
186
- title: ( localize(4713, "Open Chat to the Side")),
172
+ title: ( localize(4740, "Move Chat to the Side")),
187
173
  category: CHAT_CATEGORY,
188
174
  f1: false,
189
175
  });
@@ -194,28 +180,17 @@ class OpenChatSessionInNewEditorGroupAction extends Action2 {
194
180
  }
195
181
  const editorService = accessor.get(IEditorService);
196
182
  const chatWidgetService = accessor.get(IChatWidgetService);
197
- const sessionId = context.session.id;
198
183
  const editorGroupsService = accessor.get(IEditorGroupsService);
199
184
  if (context.session.provider?.chatSessionType) {
200
- const uri = ChatSessionUri.forSession(context.session.provider.chatSessionType, sessionId);
201
- const existingEditor = findExistingChatEditorByUri(uri, sessionId, editorGroupsService);
185
+ const uri = context.session.resource;
186
+ const existingEditor = findExistingChatEditorByUri(uri, editorGroupsService);
202
187
  if (existingEditor) {
203
- await editorService.openEditor(existingEditor.editor, existingEditor.groupId);
188
+ await editorService.openEditor(existingEditor.editor, existingEditor.group);
204
189
  return;
205
190
  }
206
- else if (chatWidgetService.getWidgetBySessionId(sessionId)) {
191
+ else if (chatWidgetService.getWidgetBySessionResource(uri)) {
207
192
  return;
208
193
  }
209
- else if (isLocalChatSessionItem(context.session)) {
210
- const options = {
211
- target: { sessionId },
212
- ignoreInView: true,
213
- };
214
- await editorService.openEditor({
215
- resource: ChatEditorInput.getNewEditorUri(),
216
- options,
217
- }, SIDE_GROUP);
218
- }
219
194
  else {
220
195
  const options = {
221
196
  ignoreInView: true,
@@ -233,41 +208,33 @@ class OpenChatSessionInSidebarAction extends Action2 {
233
208
  constructor() {
234
209
  super({
235
210
  id: OpenChatSessionInSidebarAction.id,
236
- title: ( localize(4714, "Open Chat in Sidebar")),
211
+ title: ( localize(4741, "Move Chat into Side Bar")),
237
212
  category: CHAT_CATEGORY,
238
213
  f1: false,
239
214
  });
240
215
  }
241
216
  async run(accessor, context) {
242
- if (!context) {
243
- return;
244
- }
245
217
  const editorService = accessor.get(IEditorService);
246
218
  const viewsService = accessor.get(IViewsService);
247
219
  const chatWidgetService = accessor.get(IChatWidgetService);
248
220
  const editorGroupsService = accessor.get(IEditorGroupsService);
249
- const sessionId = context.session.id;
250
- if (context.session.provider?.chatSessionType) {
251
- const uri = ChatSessionUri.forSession(context.session.provider.chatSessionType, sessionId);
252
- const existingEditor = findExistingChatEditorByUri(uri, sessionId, editorGroupsService);
253
- if (existingEditor) {
254
- await editorService.openEditor(existingEditor.editor, existingEditor.groupId);
255
- return;
256
- }
257
- else if (chatWidgetService.getWidgetBySessionId(sessionId)) {
258
- return;
259
- }
221
+ if (!context) {
222
+ return;
223
+ }
224
+ if (context.session.provider.chatSessionType !== localChatSessionType) {
225
+ return;
226
+ }
227
+ const existingEditor = findExistingChatEditorByUri(context.session.resource, editorGroupsService);
228
+ if (existingEditor) {
229
+ await editorService.openEditor(existingEditor.editor, existingEditor.group);
230
+ return;
231
+ }
232
+ else if (chatWidgetService.getWidgetBySessionResource(context.session.resource)) {
233
+ return;
260
234
  }
261
235
  const chatViewPane = await viewsService.openView(ChatViewId);
262
236
  if (chatViewPane) {
263
- if (context.session && (isLocalChatSessionItem(context.session))) {
264
- await chatViewPane.loadSession(sessionId);
265
- }
266
- else {
267
- const providerType = context.session.provider?.chatSessionType || 'external';
268
- const sessionUri = ChatSessionUri.forSession(providerType, sessionId);
269
- await chatViewPane.loadSession(sessionUri);
270
- }
237
+ await chatViewPane.loadSession(context.session.resource);
271
238
  chatViewPane.focusInput();
272
239
  }
273
240
  }
@@ -277,7 +244,7 @@ class ToggleChatSessionsDescriptionDisplayAction extends Action2 {
277
244
  constructor() {
278
245
  super({
279
246
  id: ToggleChatSessionsDescriptionDisplayAction.id,
280
- title: ( localize(4715, "Show Rich Descriptions")),
247
+ title: ( localize(4742, "Show Rich Descriptions")),
281
248
  category: CHAT_CATEGORY,
282
249
  f1: false,
283
250
  toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ShowAgentSessionsViewDescription}`, true))
@@ -289,12 +256,47 @@ class ToggleChatSessionsDescriptionDisplayAction extends Action2 {
289
256
  await configurationService.updateValue(ChatConfiguration.ShowAgentSessionsViewDescription, !currentValue);
290
257
  }
291
258
  }
259
+ class ToggleAgentSessionsViewLocationAction extends Action2 {
260
+ static { this.id = 'workbench.action.chatSessions.toggleNewSingleView'; }
261
+ constructor() {
262
+ super({
263
+ id: ToggleAgentSessionsViewLocationAction.id,
264
+ title: ( localize(4743, "Enable New Single View")),
265
+ category: CHAT_CATEGORY,
266
+ f1: false,
267
+ toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.AgentSessionsViewLocation}`, 'single-view')),
268
+ menu: [
269
+ {
270
+ id: MenuId.ViewContainerTitle,
271
+ when: ( ContextKeyExpr.equals('viewContainer', AGENT_SESSIONS_VIEWLET_ID)),
272
+ group: '2_togglenew',
273
+ order: 1
274
+ },
275
+ {
276
+ id: MenuId.ViewTitle,
277
+ when: ( ContextKeyExpr.equals('view', 'workbench.view.agentSessions')),
278
+ group: '2_togglenew',
279
+ order: 1
280
+ }
281
+ ]
282
+ });
283
+ }
284
+ async run(accessor) {
285
+ const configurationService = accessor.get(IConfigurationService);
286
+ const viewsService = accessor.get(IViewsService);
287
+ const currentValue = configurationService.getValue(ChatConfiguration.AgentSessionsViewLocation);
288
+ const newValue = currentValue === 'single-view' ? 'view' : 'single-view';
289
+ await configurationService.updateValue(ChatConfiguration.AgentSessionsViewLocation, newValue);
290
+ const viewId = newValue === 'single-view' ? 'workbench.view.agentSessions' : `${AGENT_SESSIONS_VIEWLET_ID}.local`;
291
+ await viewsService.openView(viewId, true);
292
+ }
293
+ }
292
294
  class ChatSessionsGettingStartedAction extends Action2 {
293
295
  static { this.ID = 'chat.sessions.gettingStarted'; }
294
296
  constructor() {
295
297
  super({
296
298
  id: ChatSessionsGettingStartedAction.ID,
297
- title: ( localize2(4716, "Getting Started with Chat Sessions")),
299
+ title: ( localize2(4744, "Getting Started with Chat Sessions")),
298
300
  icon: Codicon.sendToRemoteAgent,
299
301
  f1: false,
300
302
  });
@@ -318,15 +320,15 @@ class ChatSessionsGettingStartedAction extends Action2 {
318
320
  label: recommendation.displayName,
319
321
  description: recommendation.description,
320
322
  detail: extensionInstalled
321
- ? ( localize(4717, "'{0}' is already installed", recommendation.extensionName))
322
- : ( localize(4718, "Installs '{0}'", recommendation.extensionName)),
323
+ ? ( localize(4745, "'{0}' is already installed", recommendation.extensionName))
324
+ : ( localize(4746, "Installs '{0}'", recommendation.extensionName)),
323
325
  extensionId: recommendation.extensionId,
324
326
  disabled: extensionInstalled,
325
327
  };
326
328
  }));
327
329
  const selected = await quickInputService.pick(quickPickItems, {
328
- title: ( localize(4719, "Install Chat Extensions")),
329
- placeHolder: ( localize(4720, "Choose extensions to enhance your chat experience")),
330
+ title: ( localize(4747, "Install Chat Extensions")),
331
+ placeHolder: ( localize(4748, "Choose extensions to enhance your chat experience")),
330
332
  canPickMany: true,
331
333
  });
332
334
  if (!selected) {
@@ -344,17 +346,17 @@ class ChatSessionsGettingStartedAction extends Action2 {
344
346
  MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
345
347
  command: {
346
348
  id: RenameChatSessionAction.id,
347
- title: ( localize(4703, "Rename")),
349
+ title: ( localize(4730, "Rename")),
348
350
  icon: Codicon.pencil
349
351
  },
350
352
  group: 'inline',
351
353
  order: 1,
352
- when: ( ChatContextKeys.sessionType.isEqualTo('local'))
354
+ when: ( ChatContextKeys.sessionType.isEqualTo(localChatSessionType))
353
355
  });
354
356
  MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
355
357
  command: {
356
358
  id: DeleteChatSessionAction.id,
357
- title: ( localize(4708, "Delete")),
359
+ title: ( localize(4735, "Delete")),
358
360
  icon: Codicon.x
359
361
  },
360
362
  group: 'inline',
@@ -364,7 +366,7 @@ MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
364
366
  MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
365
367
  command: {
366
368
  id: OpenChatSessionInNewWindowAction.id,
367
- title: ( localize(4721, "Open in New Window"))
369
+ title: ( localize(4749, "Open in New Window"))
368
370
  },
369
371
  group: 'navigation',
370
372
  order: 1,
@@ -372,7 +374,7 @@ MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
372
374
  MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
373
375
  command: {
374
376
  id: OpenChatSessionInNewEditorGroupAction.id,
375
- title: ( localize(4722, "Open to the Side"))
377
+ title: ( localize(4750, "Open to the Side"))
376
378
  },
377
379
  group: 'navigation',
378
380
  order: 2,
@@ -380,30 +382,31 @@ MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
380
382
  MenuRegistry.appendMenuItem(MenuId.ChatSessionsMenu, {
381
383
  command: {
382
384
  id: OpenChatSessionInSidebarAction.id,
383
- title: ( localize(4723, "Open in Sidebar"))
385
+ title: ( localize(4751, "Open in Sidebar"))
384
386
  },
385
387
  group: 'navigation',
386
388
  order: 3,
389
+ when: ( ChatContextKeys.sessionType.isEqualTo(localChatSessionType)),
387
390
  });
388
391
  MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
389
392
  command: {
390
393
  id: ToggleChatSessionsDescriptionDisplayAction.id,
391
- title: ( localize(4715, "Show Rich Descriptions")),
394
+ title: ( localize(4742, "Show Rich Descriptions")),
392
395
  toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ShowAgentSessionsViewDescription}`, true))
393
396
  },
394
397
  group: '1_config',
395
398
  order: 1,
396
- when: ( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
399
+ when: ( ContextKeyExpr.equals('viewContainer', AGENT_SESSIONS_VIEWLET_ID)),
397
400
  });
398
401
  MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
399
402
  command: {
400
403
  id: ACTION_ID_OPEN_CHAT,
401
- title: ( localize2(4724, "New Chat Editor")),
404
+ title: ( localize2(4752, "New Chat Editor")),
402
405
  icon: Codicon.plus
403
406
  },
404
407
  group: 'navigation',
405
408
  order: 1,
406
- when: ( ContextKeyExpr.equals('view', `${VIEWLET_ID}.local`)),
409
+ when: ( ContextKeyExpr.equals('view', `${AGENT_SESSIONS_VIEWLET_ID}.local`)),
407
410
  });
408
411
 
409
- export { ChatSessionsGettingStartedAction, DeleteChatSessionAction, OpenChatSessionInNewEditorGroupAction, OpenChatSessionInNewWindowAction, OpenChatSessionInSidebarAction, RenameChatSessionAction, ToggleChatSessionsDescriptionDisplayAction };
412
+ export { ChatSessionsGettingStartedAction, DeleteChatSessionAction, OpenChatSessionInNewEditorGroupAction, OpenChatSessionInNewWindowAction, OpenChatSessionInSidebarAction, RenameChatSessionAction, ToggleAgentSessionsViewLocationAction, ToggleChatSessionsDescriptionDisplayAction };
@@ -16,12 +16,12 @@ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platfor
16
16
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
17
17
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
18
18
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
19
- import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
20
- import { isResponseVM } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
19
+ import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
20
+ import { isResponseVM } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
21
21
  import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
22
22
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
23
- import { ToolsScope } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatSelectedTools';
24
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
23
+ import { ToolsScope } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/chat/browser/chatSelectedTools';
24
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
25
25
  import { AcceptToolConfirmationActionId, SkipToolConfirmationActionId } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
26
26
  import { showToolsPicker } from './chatToolPicker.js';
27
27
 
@@ -33,9 +33,12 @@ class ToolConfirmationAction extends Action2 {
33
33
  if (!isResponseVM(lastItem)) {
34
34
  return;
35
35
  }
36
- const unconfirmedToolInvocation = lastItem.model.response.value.find((item) => item.kind === 'toolInvocation' && item.isConfirmed === undefined);
37
- if (unconfirmedToolInvocation) {
38
- unconfirmedToolInvocation.confirmed.complete(this.getReason());
36
+ for (const item of lastItem.model.response.value) {
37
+ const state = item.kind === 'toolInvocation' ? item.state.get() : undefined;
38
+ if (state?.type === IChatToolInvocation.StateKind.WaitingForConfirmation || state?.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
39
+ state.confirm(this.getReason());
40
+ break;
41
+ }
39
42
  }
40
43
  widget?.focusInput();
41
44
  }
@@ -44,7 +47,7 @@ class AcceptToolConfirmation extends ToolConfirmationAction {
44
47
  constructor() {
45
48
  super({
46
49
  id: AcceptToolConfirmationActionId,
47
- title: ( localize2(4735, "Accept")),
50
+ title: ( localize2(4763, "Accept")),
48
51
  f1: false,
49
52
  category: CHAT_CATEGORY,
50
53
  keybinding: {
@@ -62,7 +65,7 @@ class SkipToolConfirmation extends ToolConfirmationAction {
62
65
  constructor() {
63
66
  super({
64
67
  id: SkipToolConfirmationActionId,
65
- title: ( localize2(4736, "Skip")),
68
+ title: ( localize2(4764, "Skip")),
66
69
  f1: false,
67
70
  category: CHAT_CATEGORY,
68
71
  keybinding: {
@@ -81,16 +84,16 @@ class ConfigureToolsAction extends Action2 {
81
84
  constructor() {
82
85
  super({
83
86
  id: ConfigureToolsAction.ID,
84
- title: ( localize(4737, "Configure Tools...")),
87
+ title: ( localize(4765, "Configure Tools...")),
85
88
  icon: Codicon.tools,
86
89
  f1: false,
87
90
  category: CHAT_CATEGORY,
88
91
  precondition: ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)),
89
92
  menu: [{
90
93
  when: ( ContextKeyExpr.and(( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ChatContextKeys.lockedToCodingAgent.negate()))),
91
- id: MenuId.ChatExecute,
94
+ id: MenuId.ChatInput,
92
95
  group: 'navigation',
93
- order: 1,
96
+ order: 100,
94
97
  }]
95
98
  });
96
99
  }
@@ -116,23 +119,31 @@ class ConfigureToolsAction extends Action2 {
116
119
  const { entriesScope, entriesMap } = widget.input.selectedToolsModel;
117
120
  switch (entriesScope) {
118
121
  case ToolsScope.Session:
119
- placeholder = ( localize(4738, "Select tools for this chat session"));
122
+ placeholder = ( localize(4766, "Select tools for this chat session"));
123
+ description = ( localize(4767, "The selected tools were configured only for this chat session."));
124
+ break;
125
+ case ToolsScope.Agent:
126
+ placeholder = ( localize(4768, "Select tools for this custom agent"));
120
127
  description = ( localize(
121
- 4739,
122
- "The selected tools were configured by a prompt command and only apply to this chat session."
128
+ 4769,
129
+ "The selected tools are configured by the '{0}' custom agent. Changes to the tools will be applied to the custom agent file as well.",
130
+ widget.input.currentModeObs.get().label.get()
123
131
  ));
124
132
  break;
125
- case ToolsScope.Mode:
126
- placeholder = ( localize(4740, "Select tools for this chat mode"));
133
+ case ToolsScope.Agent_ReadOnly:
134
+ placeholder = ( localize(4770, "Select tools for this custom agent"));
127
135
  description = ( localize(
128
- 4741,
129
- "The selected tools are configured by the '{0}' chat mode. Changes to the tools will be applied to the mode file as well.",
130
- widget.input.currentModeObs.get().label
136
+ 4771,
137
+ "The selected tools are configured by the '{0}' custom agent. Changes to the tools will only be used for this session and will not change the '{0}' custom agent.",
138
+ widget.input.currentModeObs.get().label.get()
131
139
  ));
132
140
  break;
133
141
  case ToolsScope.Global:
134
- placeholder = ( localize(4742, "Select tools that are available to chat."));
135
- description = undefined;
142
+ placeholder = ( localize(4772, "Select tools that are available to chat."));
143
+ description = ( localize(
144
+ 4773,
145
+ "The selected tools will be applied globally for all chat sessions that use the default agent."
146
+ ));
136
147
  break;
137
148
  }
138
149
  const result = await instaService.invokeFunction(showToolsPicker, placeholder, description, () => entriesMap.get());
@@ -149,7 +160,7 @@ class ConfigureToolsAction extends Action2 {
149
160
  let ConfigureToolsActionRendering = class ConfigureToolsActionRendering {
150
161
  static { this.ID = 'chat.configureToolsActionRendering'; }
151
162
  constructor(actionViewItemService) {
152
- const disposable = actionViewItemService.register(MenuId.ChatExecute, ConfigureToolsAction.ID, (action, _opts, instantiationService) => {
163
+ const disposable = actionViewItemService.register(MenuId.ChatInput, ConfigureToolsAction.ID, (action, _opts, instantiationService) => {
153
164
  if (!(action instanceof MenuItemAction)) {
154
165
  return undefined;
155
166
  }
@@ -180,7 +191,7 @@ let ConfigureToolsActionRendering = class ConfigureToolsActionRendering {
180
191
  getTooltip() {
181
192
  if (this.isAboveToolLimit()) {
182
193
  const warningMessage = ( localize(
183
- 4743,
194
+ 4774,
184
195
  'More than {0} tools are enabled, you may experience degraded tool calling.',
185
196
  this._contextKeyService.getContextKeyValue(ChatContextKeys.chatToolGroupingThreshold.key)
186
197
  ));