@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
@@ -13,9 +13,10 @@ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log
13
13
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
14
14
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
15
15
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
16
- import { IVariableReference } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModes";
16
+ import { IVariableReference } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModes";
17
17
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
18
18
  import { ChatRequestToolReferenceEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
19
+ import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsConfirmationService.service";
19
20
  import { CountTokensCallback, IToolAndToolSetEnablementMap, IToolData, IToolImpl, IToolInvocation, IToolResult, ToolDataSource, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
20
21
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
21
22
  export declare const globalAutoApproveDescription: import("@codingame/monaco-vscode-api/vscode/vs/nls").ILocalizedString;
@@ -31,21 +32,25 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
31
32
  private readonly _accessibilityService;
32
33
  private readonly _accessibilitySignalService;
33
34
  private readonly _storageService;
35
+ private readonly _confirmationService;
34
36
  _serviceBrand: undefined;
35
37
  private _onDidChangeTools;
36
38
  readonly onDidChangeTools: Event<void>;
39
+ private _onDidPrepareToolCallBecomeUnresponsive;
40
+ readonly onDidPrepareToolCallBecomeUnresponsive: Event<{
41
+ sessionId: string;
42
+ toolData: IToolData;
43
+ }>;
37
44
  /** Throttle tools updates because it sends all tools and runs on context key updates */
38
45
  private _onDidChangeToolsScheduler;
39
46
  private _tools;
40
47
  private _toolContextKeys;
41
48
  private readonly _ctxToolsCount;
42
49
  private _callsByRequestId;
43
- private _workspaceToolConfirmStore;
44
- private _profileToolConfirmStore;
45
- private _memoryToolConfirmStore;
46
- constructor(_instantiationService: IInstantiationService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _chatService: IChatService, _dialogService: IDialogService, _telemetryService: ITelemetryService, _logService: ILogService, _configurationService: IConfigurationService, _accessibilityService: IAccessibilityService, _accessibilitySignalService: IAccessibilitySignalService, _storageService: IStorageService);
50
+ constructor(_instantiationService: IInstantiationService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _chatService: IChatService, _dialogService: IDialogService, _telemetryService: ITelemetryService, _logService: ILogService, _configurationService: IConfigurationService, _accessibilityService: IAccessibilityService, _accessibilitySignalService: IAccessibilitySignalService, _storageService: IStorageService, _confirmationService: ILanguageModelToolsConfirmationService);
47
51
  dispose(): void;
48
52
  registerToolData(toolData: IToolData): IDisposable;
53
+ flushToolUpdates(): void;
49
54
  private _refreshAllToolContextKeys;
50
55
  registerToolImplementation(id: string, tool: IToolImpl): IDisposable;
51
56
  registerTool(toolData: IToolData, tool: IToolImpl): IDisposable;
@@ -53,26 +58,26 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
53
58
  getTool(id: string): IToolData | undefined;
54
59
  private _getToolEntry;
55
60
  getToolByName(name: string, includeDisabled?: boolean): IToolData | undefined;
56
- setToolAutoConfirmation(toolId: string, scope: "workspace" | "profile" | "session" | "never"): void;
57
- getToolAutoConfirmation(toolId: string): "workspace" | "profile" | "session" | "never";
58
- resetToolAutoConfirmation(): void;
59
61
  invokeTool(dto: IToolInvocation, countTokens: CountTokensCallback, token: CancellationToken): Promise<IToolResult>;
60
62
  private prepareToolInvocation;
61
- private informScreenReader;
62
63
  private playAccessibilitySignal;
63
64
  private ensureToolDetails;
64
65
  private formatToolInput;
65
66
  private toolResultToIO;
66
67
  private shouldAutoConfirm;
68
+ private shouldAutoConfirmPostExecution;
67
69
  private _checkGlobalAutoApprove;
68
70
  private cleanupCallDisposables;
69
71
  cancelToolCallsForRequest(requestId: string): void;
72
+ private _githubToVSCodeToolMap;
73
+ private _githubPrefixToVSCodePrefix;
74
+ mapGithubToolName(name: string): string;
70
75
  /**
71
76
  * Create a map that contains all tools and toolsets with their enablement state.
72
77
  * @param toolOrToolSetNames A list of tool or toolset names that are enabled.
73
78
  * @returns A map of tool or toolset instances to their enablement state.
74
79
  */
75
- toToolAndToolSetEnablementMap(enabledQualifiedToolOrToolSetNames: readonly string[]): IToolAndToolSetEnablementMap;
80
+ toToolAndToolSetEnablementMap(enabledQualifiedToolOrToolSetNames: readonly string[], target: string | undefined): IToolAndToolSetEnablementMap;
76
81
  toQualifiedToolNames(map: IToolAndToolSetEnablementMap): string[];
77
82
  toToolReferences(variableReferences: readonly IVariableReference[]): ChatRequestToolReferenceEntry[];
78
83
  private readonly _toolSets;
@@ -1,9 +1,8 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
4
- import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
5
4
  import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
6
- import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { RunOnceScheduler, timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
7
6
  import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
8
7
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
9
8
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
@@ -12,11 +11,10 @@ import { CancellationError, isCancellationError } from '@codingame/monaco-vscode
12
11
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
13
12
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
14
13
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
15
- import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
16
14
  import { Disposable, DisposableStore, toDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
17
- import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
18
15
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
19
16
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
17
+ import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stopwatch';
20
18
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
21
19
  import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
22
20
  import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
@@ -32,18 +30,18 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
32
30
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
33
31
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
34
32
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
35
- import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
36
33
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
37
34
  import { ChatToolInvocation } from '../common/chatProgressTypes/chatToolInvocation.js';
38
- import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
35
+ import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
39
36
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
40
37
  import { toToolSetVariableEntry, toToolVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
41
38
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
42
- import { createToolSchemaUri, stringifyPromptTsxPart, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
43
- import { getToolConfirmationAlert } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatAccessibilityProvider';
39
+ import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsConfirmationService.service';
40
+ import { VSCodeToolReference, GithubCopilotToolReference, createToolSchemaUri, stringifyPromptTsxPart, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
41
+ import { Target } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
42
+ import { getToolConfirmationAlert } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/chat/browser/chatAccessibilityProvider';
44
43
  import { ObservableSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/set';
45
44
 
46
- var ToolConfirmStore_1;
47
45
  const jsonSchemaRegistry = ( Registry.as(Extensions.JSONContribution));
48
46
  var AutoApproveStorageKeys;
49
47
  (function (AutoApproveStorageKeys) {
@@ -51,11 +49,11 @@ var AutoApproveStorageKeys;
51
49
  })(AutoApproveStorageKeys || (AutoApproveStorageKeys = {}));
52
50
  const SkipAutoApproveConfirmationKey = 'vscode.chat.tools.global.autoApprove.testMode';
53
51
  const globalAutoApproveDescription = ( localize2(
54
- 5416,
52
+ 5603,
55
53
  'Global auto approve also known as "YOLO mode" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**'
56
54
  ));
57
55
  let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
58
- constructor(_instantiationService, _extensionService, _contextKeyService, _chatService, _dialogService, _telemetryService, _logService, _configurationService, _accessibilityService, _accessibilitySignalService, _storageService) {
56
+ constructor(_instantiationService, _extensionService, _contextKeyService, _chatService, _dialogService, _telemetryService, _logService, _configurationService, _accessibilityService, _accessibilitySignalService, _storageService, _confirmationService) {
59
57
  super();
60
58
  this._instantiationService = _instantiationService;
61
59
  this._extensionService = _extensionService;
@@ -68,21 +66,24 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
68
66
  this._accessibilityService = _accessibilityService;
69
67
  this._accessibilitySignalService = _accessibilitySignalService;
70
68
  this._storageService = _storageService;
71
- this._onDidChangeTools = ( new Emitter());
69
+ this._confirmationService = _confirmationService;
70
+ this._onDidChangeTools = this._register(( new Emitter()));
72
71
  this.onDidChangeTools = this._onDidChangeTools.event;
72
+ this._onDidPrepareToolCallBecomeUnresponsive = this._register(( new Emitter()));
73
+ this.onDidPrepareToolCallBecomeUnresponsive = this._onDidPrepareToolCallBecomeUnresponsive.event;
73
74
  this._onDidChangeToolsScheduler = ( new RunOnceScheduler(() => this._onDidChangeTools.fire(), 750));
74
75
  this._tools = ( new Map());
75
76
  this._toolContextKeys = ( new Set());
76
77
  this._callsByRequestId = ( new Map());
77
- this._memoryToolConfirmStore = ( new Set());
78
+ this._githubToVSCodeToolMap = {
79
+ [GithubCopilotToolReference.shell]: VSCodeToolReference.runCommands,
80
+ [GithubCopilotToolReference.customAgent]: VSCodeToolReference.runSubagent,
81
+ 'github/*': 'github/github-mcp-server/*',
82
+ 'playwright/*': 'microsoft/playwright-mcp/*',
83
+ };
84
+ this._githubPrefixToVSCodePrefix = [['github', 'github/github-mcp-server'], ['playwright', 'microsoft/playwright-mcp']];
78
85
  this._toolSets = ( new ObservableSet());
79
86
  this.toolSets = this._toolSets.observable;
80
- this._workspaceToolConfirmStore = ( new Lazy(
81
- () => this._register(this._instantiationService.createInstance(ToolConfirmStore, StorageScope.WORKSPACE))
82
- ));
83
- this._profileToolConfirmStore = ( new Lazy(
84
- () => this._register(this._instantiationService.createInstance(ToolConfirmStore, StorageScope.PROFILE))
85
- ));
86
87
  this._register(this._contextKeyService.onDidChangeContext(e => {
87
88
  if (e.affectsSome(this._toolContextKeys)) {
88
89
  this._onDidChangeToolsScheduler.schedule();
@@ -130,6 +131,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
130
131
  this._onDidChangeToolsScheduler.schedule();
131
132
  });
132
133
  }
134
+ flushToolUpdates() {
135
+ this._onDidChangeToolsScheduler.flush();
136
+ }
133
137
  _refreshAllToolContextKeys() {
134
138
  this._toolContextKeys.clear();
135
139
  for (const tool of ( this._tools.values())) {
@@ -181,33 +185,6 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
181
185
  }
182
186
  return undefined;
183
187
  }
184
- setToolAutoConfirmation(toolId, scope) {
185
- this._workspaceToolConfirmStore.value.setAutoConfirm(toolId, scope === 'workspace');
186
- this._profileToolConfirmStore.value.setAutoConfirm(toolId, scope === 'profile');
187
- if (scope === 'session') {
188
- this._memoryToolConfirmStore.add(toolId);
189
- }
190
- else {
191
- this._memoryToolConfirmStore.delete(toolId);
192
- }
193
- }
194
- getToolAutoConfirmation(toolId) {
195
- if (this._workspaceToolConfirmStore.value.getAutoConfirm(toolId)) {
196
- return 'workspace';
197
- }
198
- if (this._profileToolConfirmStore.value.getAutoConfirm(toolId)) {
199
- return 'profile';
200
- }
201
- if (( this._memoryToolConfirmStore.has(toolId))) {
202
- return 'session';
203
- }
204
- return 'never';
205
- }
206
- resetToolAutoConfirmation() {
207
- this._workspaceToolConfirmStore.value.reset();
208
- this._profileToolConfirmStore.value.reset();
209
- this._memoryToolConfirmStore.clear();
210
- }
211
188
  async invokeTool(dto, countTokens, token) {
212
189
  this._logService.trace(`[LanguageModelToolsService#invokeTool] Invoking tool ${dto.toolId} with parameters ${JSON.stringify(dto.parameters)}`);
213
190
  let tool = this._tools.get(dto.toolId);
@@ -225,16 +202,20 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
225
202
  let requestId;
226
203
  let store;
227
204
  let toolResult;
205
+ let prepareTimeWatch;
206
+ let invocationTimeWatch;
207
+ let preparedInvocation;
228
208
  try {
229
209
  if (dto.context) {
230
210
  store = ( new DisposableStore());
231
- const model = this._chatService.getSession(dto.context?.sessionId);
211
+ const model = this._chatService.getSessionByLegacyId(dto.context.sessionId);
232
212
  if (!model) {
233
213
  throw ( new Error(`Tool called for unknown chat session`));
234
214
  }
235
215
  const request = model.getRequests().at(-1);
236
216
  requestId = request.id;
237
217
  dto.modelId = request.modelId;
218
+ dto.userSelectedTools = request.userSelectedTools;
238
219
  if (!( this._callsByRequestId.has(requestId))) {
239
220
  this._callsByRequestId.set(requestId, []);
240
221
  }
@@ -245,28 +226,35 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
245
226
  source.dispose(true);
246
227
  }));
247
228
  store.add(token.onCancellationRequested(() => {
248
- toolInvocation?.confirmed.complete({ type: ToolConfirmKind.Denied });
229
+ IChatToolInvocation.confirmWith(toolInvocation, { type: ToolConfirmKind.Denied });
249
230
  source.cancel();
250
231
  }));
251
232
  store.add(source.token.onCancellationRequested(() => {
252
- toolInvocation?.confirmed.complete({ type: ToolConfirmKind.Denied });
233
+ IChatToolInvocation.confirmWith(toolInvocation, { type: ToolConfirmKind.Denied });
253
234
  }));
254
235
  token = source.token;
255
- const prepared = await this.prepareToolInvocation(tool, dto, token);
256
- toolInvocation = ( new ChatToolInvocation(prepared, tool.data, dto.callId, dto.fromSubAgent));
236
+ prepareTimeWatch = StopWatch.create(true);
237
+ preparedInvocation = await this.prepareToolInvocation(tool, dto, token);
238
+ prepareTimeWatch.stop();
239
+ toolInvocation = ( new ChatToolInvocation(
240
+ preparedInvocation,
241
+ tool.data,
242
+ dto.callId,
243
+ dto.fromSubAgent,
244
+ dto.parameters
245
+ ));
257
246
  trackedCall.invocation = toolInvocation;
258
- const autoConfirmed = await this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace);
247
+ const autoConfirmed = await this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace, tool.data.source, dto.parameters);
259
248
  if (autoConfirmed) {
260
- toolInvocation.confirmed.complete(autoConfirmed);
249
+ IChatToolInvocation.confirmWith(toolInvocation, autoConfirmed);
261
250
  }
262
251
  model.acceptResponseProgress(request, toolInvocation);
263
252
  dto.toolSpecificData = toolInvocation?.toolSpecificData;
264
- this.informScreenReader(prepared?.invocationMessage ?? `${tool.data.displayName} started`);
265
- if (prepared?.confirmationMessages) {
266
- if (!toolInvocation.isConfirmed?.type && !autoConfirmed) {
253
+ if (preparedInvocation?.confirmationMessages?.title) {
254
+ if (!IChatToolInvocation.executionConfirmedOrDenied(toolInvocation) && !autoConfirmed) {
267
255
  this.playAccessibilitySignal([toolInvocation]);
268
256
  }
269
- const userConfirmed = await toolInvocation.confirmed.p;
257
+ const userConfirmed = await IChatToolInvocation.awaitConfirmation(toolInvocation, token);
270
258
  if (userConfirmed.type === ToolConfirmKind.Denied) {
271
259
  throw ( new CancellationError());
272
260
  }
@@ -286,30 +274,54 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
286
274
  }
287
275
  }
288
276
  else {
289
- const prepared = await this.prepareToolInvocation(tool, dto, token);
290
- if (prepared?.confirmationMessages && !(await this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace))) {
291
- const result = await this._dialogService.confirm({ message: renderAsPlaintext(prepared.confirmationMessages.title), detail: renderAsPlaintext(prepared.confirmationMessages.message) });
277
+ prepareTimeWatch = StopWatch.create(true);
278
+ preparedInvocation = await this.prepareToolInvocation(tool, dto, token);
279
+ prepareTimeWatch.stop();
280
+ if (preparedInvocation?.confirmationMessages?.title && !(await this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace, tool.data.source, dto.parameters))) {
281
+ const result = await this._dialogService.confirm({ message: renderAsPlaintext(preparedInvocation.confirmationMessages.title), detail: renderAsPlaintext(preparedInvocation.confirmationMessages.message) });
292
282
  if (!result.confirmed) {
293
283
  throw ( new CancellationError());
294
284
  }
295
285
  }
296
- dto.toolSpecificData = prepared?.toolSpecificData;
286
+ dto.toolSpecificData = preparedInvocation?.toolSpecificData;
297
287
  }
298
288
  if (token.isCancellationRequested) {
299
289
  throw ( new CancellationError());
300
290
  }
291
+ invocationTimeWatch = StopWatch.create(true);
301
292
  toolResult = await tool.impl.invoke(dto, countTokens, {
302
293
  report: step => {
303
294
  toolInvocation?.acceptProgress(step);
304
295
  }
305
296
  }, token);
297
+ invocationTimeWatch.stop();
306
298
  this.ensureToolDetails(dto, toolResult, tool.data);
299
+ if (toolInvocation?.didExecuteTool(toolResult).type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
300
+ const autoConfirmedPost = await this.shouldAutoConfirmPostExecution(tool.data.id, tool.data.runsInWorkspace, tool.data.source, dto.parameters);
301
+ if (autoConfirmedPost) {
302
+ IChatToolInvocation.confirmWith(toolInvocation, autoConfirmedPost);
303
+ }
304
+ const postConfirm = await IChatToolInvocation.awaitPostConfirmation(toolInvocation, token);
305
+ if (postConfirm.type === ToolConfirmKind.Denied) {
306
+ throw ( new CancellationError());
307
+ }
308
+ if (postConfirm.type === ToolConfirmKind.Skipped) {
309
+ toolResult = {
310
+ content: [{
311
+ kind: 'text',
312
+ value: 'The tool executed but the user chose not to share the results'
313
+ }]
314
+ };
315
+ }
316
+ }
307
317
  this._telemetryService.publicLog2('languageModelToolInvoked', {
308
318
  result: 'success',
309
319
  chatSessionId: dto.context?.sessionId,
310
320
  toolId: tool.data.id,
311
321
  toolExtensionId: tool.data.source.type === 'extension' ? tool.data.source.extensionId.value : undefined,
312
322
  toolSourceKind: tool.data.source.type,
323
+ prepareTimeMs: prepareTimeWatch?.elapsed(),
324
+ invocationTimeMs: invocationTimeWatch?.elapsed(),
313
325
  });
314
326
  return toolResult;
315
327
  }
@@ -321,6 +333,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
321
333
  toolId: tool.data.id,
322
334
  toolExtensionId: tool.data.source.type === 'extension' ? tool.data.source.extensionId.value : undefined,
323
335
  toolSourceKind: tool.data.source.type,
336
+ prepareTimeMs: prepareTimeWatch?.elapsed(),
337
+ invocationTimeMs: invocationTimeWatch?.elapsed(),
324
338
  });
325
339
  this._logService.error(`[LanguageModelToolsService#invokeTool] Error from tool ${dto.toolId} with parameters ${JSON.stringify(dto.parameters)}:\n${toErrorMessage(err, true)}`);
326
340
  toolResult ??= { content: [] };
@@ -331,25 +345,34 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
331
345
  throw err;
332
346
  }
333
347
  finally {
334
- toolInvocation?.complete(toolResult);
335
- if (ChatContextKeys.requestInProgress.getValue(this._contextKeyService)) {
336
- this.informScreenReader(toolInvocation?.pastTenseMessage ?? `${tool.data.displayName} finished`);
337
- }
348
+ toolInvocation?.didExecuteTool(toolResult, true);
338
349
  if (store) {
339
350
  this.cleanupCallDisposables(requestId, store);
340
351
  }
341
352
  }
342
353
  }
343
354
  async prepareToolInvocation(tool, dto, token) {
344
- const prepared = tool.impl.prepareToolInvocation ?
345
- await tool.impl.prepareToolInvocation({
355
+ let prepared;
356
+ if (tool.impl.prepareToolInvocation) {
357
+ const preparePromise = tool.impl.prepareToolInvocation({
346
358
  parameters: dto.parameters,
347
359
  chatRequestId: dto.chatRequestId,
348
360
  chatSessionId: dto.context?.sessionId,
349
361
  chatInteractionId: dto.chatInteractionId
350
- }, token)
351
- : undefined;
352
- if (prepared?.confirmationMessages) {
362
+ }, token);
363
+ const raceResult = await Promise.race([
364
+ timeout(3000, token).then(() => 'timeout'),
365
+ preparePromise
366
+ ]);
367
+ if (raceResult === 'timeout') {
368
+ this._onDidPrepareToolCallBecomeUnresponsive.fire({
369
+ sessionId: dto.context?.sessionId ?? '',
370
+ toolData: tool.data
371
+ });
372
+ }
373
+ prepared = await preparePromise;
374
+ }
375
+ if (prepared?.confirmationMessages?.title) {
353
376
  if (prepared.toolSpecificData?.kind !== 'terminal' && typeof prepared.confirmationMessages.allowAutoConfirm !== 'boolean') {
354
377
  prepared.confirmationMessages.allowAutoConfirm = true;
355
378
  }
@@ -362,11 +385,6 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
362
385
  }
363
386
  return prepared;
364
387
  }
365
- informScreenReader(msg) {
366
- if (this._configurationService.getValue(AccessibilityWorkbenchSettingId.VerboseChatProgressUpdates)) {
367
- alert(typeof msg === 'string' ? msg : msg.value);
368
- }
369
- }
370
388
  playAccessibilitySignal(toolInvocations) {
371
389
  const autoApproved = this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove);
372
390
  if (autoApproved) {
@@ -409,15 +427,10 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
409
427
  }
410
428
  }));
411
429
  }
412
- async shouldAutoConfirm(toolId, runsInWorkspace) {
413
- if (this._workspaceToolConfirmStore.value.getAutoConfirm(toolId)) {
414
- return { type: ToolConfirmKind.LmServicePerTool, scope: 'workspace' };
415
- }
416
- if (this._profileToolConfirmStore.value.getAutoConfirm(toolId)) {
417
- return { type: ToolConfirmKind.LmServicePerTool, scope: 'profile' };
418
- }
419
- if (( this._memoryToolConfirmStore.has(toolId))) {
420
- return { type: ToolConfirmKind.LmServicePerTool, scope: 'session' };
430
+ async shouldAutoConfirm(toolId, runsInWorkspace, source, parameters) {
431
+ const reason = this._confirmationService.getPreConfirmAction({ toolId, source, parameters });
432
+ if (reason) {
433
+ return reason;
421
434
  }
422
435
  const config = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
423
436
  let value = config.value ?? config.defaultValue;
@@ -435,6 +448,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
435
448
  }
436
449
  return undefined;
437
450
  }
451
+ async shouldAutoConfirmPostExecution(toolId, runsInWorkspace, source, parameters) {
452
+ if (this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove) && (await this._checkGlobalAutoApprove())) {
453
+ return { type: ToolConfirmKind.Setting, id: ChatConfiguration.GlobalAutoApprove };
454
+ }
455
+ return this._confirmationService.getPostConfirmAction({ toolId, source, parameters });
456
+ }
438
457
  async _checkGlobalAutoApprove() {
439
458
  const optedIn = this._storageService.getBoolean(AutoApproveStorageKeys.GlobalAutoApproveOptIn, StorageScope.APPLICATION, false);
440
459
  if (optedIn) {
@@ -445,14 +464,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
445
464
  }
446
465
  const promptResult = await this._dialogService.prompt({
447
466
  type: Severity.Warning,
448
- message: ( localize(5417, 'Enable global auto approve?')),
467
+ message: ( localize(5604, 'Enable global auto approve?')),
449
468
  buttons: [
450
469
  {
451
- label: ( localize(5418, 'Enable')),
470
+ label: ( localize(5605, 'Enable')),
452
471
  run: () => true
453
472
  },
454
473
  {
455
- label: ( localize(5419, 'Disable')),
474
+ label: ( localize(5606, 'Disable')),
456
475
  run: () => false
457
476
  },
458
477
  ],
@@ -493,7 +512,24 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
493
512
  this._callsByRequestId.delete(requestId);
494
513
  }
495
514
  }
496
- toToolAndToolSetEnablementMap(enabledQualifiedToolOrToolSetNames) {
515
+ mapGithubToolName(name) {
516
+ const mapped = this._githubToVSCodeToolMap[name];
517
+ if (mapped) {
518
+ return mapped;
519
+ }
520
+ for (const [fromPrefix, toPrefix] of this._githubPrefixToVSCodePrefix) {
521
+ const regexp = ( new RegExp(`^${fromPrefix}(/[^/]+)$`));
522
+ const m = name.match(regexp);
523
+ if (m) {
524
+ return toPrefix + m[1];
525
+ }
526
+ }
527
+ return name;
528
+ }
529
+ toToolAndToolSetEnablementMap(enabledQualifiedToolOrToolSetNames, target) {
530
+ if (target === undefined || target === Target.GitHubCopilot) {
531
+ enabledQualifiedToolOrToolSetNames = ( enabledQualifiedToolOrToolSetNames.map(name => this.mapGithubToolName(name)));
532
+ }
497
533
  const toolOrToolSetNames = ( new Set(enabledQualifiedToolOrToolSetNames));
498
534
  const result = ( new Map());
499
535
  for (const [tool, toolReferenceName] of this.getPromptReferencableTools()) {
@@ -657,7 +693,8 @@ LanguageModelToolsService = ( __decorate([
657
693
  ( __param(7, IConfigurationService)),
658
694
  ( __param(8, IAccessibilityService)),
659
695
  ( __param(9, IAccessibilitySignalService)),
660
- ( __param(10, IStorageService))
696
+ ( __param(10, IStorageService)),
697
+ ( __param(11, ILanguageModelToolsConfirmationService))
661
698
  ], LanguageModelToolsService));
662
699
  function getToolReferenceName(tool, toolSet) {
663
700
  const toolName = tool.toolReferenceName ?? tool.displayName;
@@ -675,51 +712,5 @@ function getToolSetReferenceName(toolSet) {
675
712
  }
676
713
  return toolSet.referenceName;
677
714
  }
678
- let ToolConfirmStore = class ToolConfirmStore extends Disposable {
679
- static { ToolConfirmStore_1 = this; }
680
- static { this.STORED_KEY = 'chat/autoconfirm'; }
681
- constructor(_scope, storageService) {
682
- super();
683
- this._scope = _scope;
684
- this.storageService = storageService;
685
- this._autoConfirmTools = ( new LRUCache(100));
686
- this._didChange = false;
687
- const stored = storageService.getObject(ToolConfirmStore_1.STORED_KEY, this._scope);
688
- if (stored) {
689
- for (const key of stored) {
690
- this._autoConfirmTools.set(key, true);
691
- }
692
- }
693
- this._register(storageService.onWillSaveState(() => {
694
- if (this._didChange) {
695
- this.storageService.store(ToolConfirmStore_1.STORED_KEY, [...( this._autoConfirmTools.keys())], this._scope, StorageTarget.MACHINE);
696
- this._didChange = false;
697
- }
698
- }));
699
- }
700
- reset() {
701
- this._autoConfirmTools.clear();
702
- this._didChange = true;
703
- }
704
- getAutoConfirm(toolId) {
705
- if (this._autoConfirmTools.get(toolId)) {
706
- this._didChange = true;
707
- return true;
708
- }
709
- return false;
710
- }
711
- setAutoConfirm(toolId, autoConfirm) {
712
- if (autoConfirm) {
713
- this._autoConfirmTools.set(toolId, true);
714
- }
715
- else {
716
- this._autoConfirmTools.delete(toolId);
717
- }
718
- this._didChange = true;
719
- }
720
- };
721
- ToolConfirmStore = ToolConfirmStore_1 = ( __decorate([
722
- ( __param(1, IStorageService))
723
- ], ToolConfirmStore));
724
715
 
725
716
  export { LanguageModelToolsService, globalAutoApproveDescription };
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  .chat-editor-overlay-widget {
7
- padding: 0px;
7
+ padding: 2px;
8
8
  color: var(--vscode-button-foreground);
9
9
  background-color: var(--vscode-button-background);
10
10
  border-radius: 2px;
@@ -56,6 +56,7 @@
56
56
  .chat-editor-overlay-widget .action-item > .action-label {
57
57
  padding: 5px;
58
58
  font-size: 12px;
59
+ border-radius: 2px; /* same as overlay widget */
59
60
  }
60
61
 
61
62
 
@@ -84,6 +85,10 @@
84
85
  }
85
86
  }
86
87
 
88
+ .chat-diff-change-content-widget .action-item > .action-label {
89
+ border-radius: 2px; /* same as overlay widget */
90
+ }
91
+
87
92
 
88
93
  .chat-editor-overlay-widget .action-item.label-item {
89
94
  font-variant-numeric: tabular-nums;
@@ -19,12 +19,13 @@
19
19
  border-radius: 2px;
20
20
  background-color: var(--vscode-button-background);
21
21
  color: var(--vscode-button-foreground);
22
+ border: 1px solid var(--vscode-contrastBorder);
22
23
  }
23
24
 
24
25
  .chat-diff-change-content-widget .monaco-action-bar .action-item .action-label {
25
- height: 14px;
26
26
  border-radius: 2px;
27
27
  color: var(--vscode-button-foreground);
28
+ padding: 2px 5px;
28
29
  }
29
30
 
30
31
  .chat-diff-change-content-widget .monaco-action-bar .action-item .action-label.codicon {
@@ -92,7 +92,7 @@
92
92
  align-items: center;
93
93
  font-size: 0.9em;
94
94
  line-height: 1em;
95
- margin: 2px 22px 0 22px;
95
+ margin: 2px 22px 0 20px;
96
96
  overflow: hidden;
97
97
  text-overflow: ellipsis;
98
98
  white-space: nowrap;
@@ -115,6 +115,16 @@
115
115
  .chat-sessions-tree-container .chat-session-item .description-row .description {
116
116
  opacity: 0.5;
117
117
  }
118
+
119
+ .chat-sessions-tree-container .chat-session-item .description-row .description p {
120
+ display: flex;
121
+ align-items: center;
122
+ }
123
+
124
+ .chat-sessions-tree-container .chat-session-item .description-row .description p .codicon {
125
+ font-size: 14px;
126
+ }
127
+
118
128
  .chat-sessions-tree-container .chat-session-item .description-row .statistics {
119
129
  margin-left: 8px;
120
130
  }
@@ -260,3 +270,30 @@
260
270
  .chat-sessions-tree-container .chat-session-item[data-history-item="true"]:hover {
261
271
  background-color: var(--vscode-list-hoverBackground);
262
272
  }
273
+
274
+ /* Chat editor relative positioning for loading overlay */
275
+ .chat-editor-relative {
276
+ position: relative;
277
+ }
278
+
279
+ /* Chat editor loading overlay styles */
280
+ .chat-loading-overlay {
281
+ position: absolute;
282
+ inset: 0;
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ background: var(--vscode-editor-background);
287
+ z-index: 1000;
288
+ }
289
+
290
+ .chat-loading-overlay .chat-loading-content {
291
+ display: flex;
292
+ align-items: center;
293
+ gap: 8px;
294
+ color: var(--vscode-editor-foreground);
295
+ }
296
+
297
+ .chat-loading-overlay .codicon {
298
+ font-size: 16px;
299
+ }