@codingame/monaco-vscode-chat-service-override 24.2.0 → 25.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 (271) hide show
  1. package/index.js +35 -35
  2. package/package.json +5 -5
  3. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
  4. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
  5. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
  6. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
  7. package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
  50. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
  98. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
  99. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  115. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  117. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
  120. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
  121. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
  122. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  124. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  125. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
  129. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
  130. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
  131. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
  132. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
  136. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
  137. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
  138. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
  139. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
  140. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
  141. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
  145. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
  146. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
  147. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
  150. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
  152. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
  153. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
  154. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
  155. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
  172. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  176. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
  177. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
  178. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
  183. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  184. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +15 -1
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -1
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +9 -5
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
  241. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
  242. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
  243. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
  244. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
  245. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
  252. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
  253. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
  254. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
  255. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
  256. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
  257. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
  258. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
  259. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
  260. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
  261. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
  262. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
  263. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
  264. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
  265. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
  266. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
  267. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
  268. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
  269. /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
  270. /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
  271. /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
@@ -38,7 +38,6 @@ import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
38
38
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
39
39
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
40
40
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
41
- import { openAgentSessionsView } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
42
41
  import { isNewUser, isCompletionsEnabled } from './chatStatus.js';
43
42
  import { IChatStatusItemService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service';
44
43
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
@@ -54,7 +53,8 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
54
53
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
55
54
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
56
55
  import { Color } from '@codingame/monaco-vscode-api/vscode/vs/base/common/color';
57
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
56
+ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
57
+ import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
58
58
 
59
59
  const defaultChat = product.defaultChatAgent;
60
60
  const gaugeForeground = registerColor('gauge.foreground', {
@@ -62,45 +62,45 @@ const gaugeForeground = registerColor('gauge.foreground', {
62
62
  light: inputValidationInfoBorder,
63
63
  hcDark: contrastBorder,
64
64
  hcLight: contrastBorder
65
- }, ( localize(5573, "Gauge foreground color.")));
65
+ }, ( localize(5382, "Gauge foreground color.")));
66
66
  registerColor('gauge.background', {
67
67
  dark: ( transparent(gaugeForeground, 0.3)),
68
68
  light: ( transparent(gaugeForeground, 0.3)),
69
69
  hcDark: Color.white,
70
70
  hcLight: Color.white
71
- }, ( localize(5574, "Gauge background color.")));
71
+ }, ( localize(5383, "Gauge background color.")));
72
72
  registerColor('gauge.border', {
73
73
  dark: null,
74
74
  light: null,
75
75
  hcDark: contrastBorder,
76
76
  hcLight: contrastBorder
77
- }, ( localize(5575, "Gauge border color.")));
77
+ }, ( localize(5384, "Gauge border color.")));
78
78
  const gaugeWarningForeground = registerColor('gauge.warningForeground', {
79
79
  dark: inputValidationWarningBorder,
80
80
  light: inputValidationWarningBorder,
81
81
  hcDark: contrastBorder,
82
82
  hcLight: contrastBorder
83
- }, ( localize(5576, "Gauge warning foreground color.")));
83
+ }, ( localize(5385, "Gauge warning foreground color.")));
84
84
  registerColor('gauge.warningBackground', {
85
85
  dark: ( transparent(gaugeWarningForeground, 0.3)),
86
86
  light: ( transparent(gaugeWarningForeground, 0.3)),
87
87
  hcDark: Color.white,
88
88
  hcLight: Color.white
89
- }, ( localize(5577, "Gauge warning background color.")));
89
+ }, ( localize(5386, "Gauge warning background color.")));
90
90
  const gaugeErrorForeground = registerColor('gauge.errorForeground', {
91
91
  dark: inputValidationErrorBorder,
92
92
  light: inputValidationErrorBorder,
93
93
  hcDark: contrastBorder,
94
94
  hcLight: contrastBorder
95
- }, ( localize(5578, "Gauge error foreground color.")));
95
+ }, ( localize(5387, "Gauge error foreground color.")));
96
96
  registerColor('gauge.errorBackground', {
97
97
  dark: ( transparent(gaugeErrorForeground, 0.3)),
98
98
  light: ( transparent(gaugeErrorForeground, 0.3)),
99
99
  hcDark: Color.white,
100
100
  hcLight: Color.white
101
- }, ( localize(5579, "Gauge error background color.")));
101
+ }, ( localize(5388, "Gauge error background color.")));
102
102
  let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
103
- constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService, chatSessionsService, markdownRendererService, languageFeaturesService, quickInputService, instantiationService) {
103
+ constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService, chatSessionsService, markdownRendererService, languageFeaturesService, quickInputService, viewService) {
104
104
  super();
105
105
  this.chatEntitlementService = chatEntitlementService;
106
106
  this.chatStatusItemService = chatStatusItemService;
@@ -117,7 +117,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
117
117
  this.markdownRendererService = markdownRendererService;
118
118
  this.languageFeaturesService = languageFeaturesService;
119
119
  this.quickInputService = quickInputService;
120
- this.instantiationService = instantiationService;
120
+ this.viewService = viewService;
121
121
  this.element = $('div.chat-status-bar-entry-tooltip');
122
122
  this.dateFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric' });
123
123
  this.dateTimeFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' });
@@ -139,19 +139,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
139
139
  };
140
140
  const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate, resetDateHasTime } = this.chatEntitlementService.quotas;
141
141
  if (chatQuota || completionsQuota || premiumChatQuota) {
142
- addSeparator(( localize(5580, "Copilot Usage")), toAction({
142
+ addSeparator(( localize(5389, "Copilot Usage")), toAction({
143
143
  id: 'workbench.action.manageCopilot',
144
- label: ( localize(5581, "Manage Chat")),
145
- tooltip: ( localize(5582, "Manage Chat")),
144
+ label: ( localize(5390, "Manage Chat")),
145
+ tooltip: ( localize(5391, "Manage Chat")),
146
146
  class: ThemeIcon.asClassName(Codicon.settings),
147
147
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
148
148
  }));
149
- const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(5583, "Inline Suggestions")), false) : undefined;
150
- const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(5584, "Chat messages")), false) : undefined;
151
- const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, ( localize(5585, "Premium requests")), true) : undefined;
149
+ const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(5392, "Inline Suggestions")), false) : undefined;
150
+ const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(5393, "Chat messages")), false) : undefined;
151
+ const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, ( localize(5394, "Premium requests")), true) : undefined;
152
152
  if (resetDate) {
153
153
  this.element.appendChild($('div.description', undefined, ( localize(
154
- 5586,
154
+ 5395,
155
155
  "Allowance resets {0}.",
156
156
  resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
157
157
  ))));
@@ -161,7 +161,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
161
161
  this.element,
162
162
  { ...defaultButtonStyles, hoverDelegate: nativeHoverDelegate, secondary: this.canUseChat() }
163
163
  )));
164
- upgradeProButton.label = ( localize(5587, "Upgrade to GitHub Copilot Pro"));
164
+ upgradeProButton.label = ( localize(5396, "Upgrade to GitHub Copilot Pro"));
165
165
  this._store.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
166
166
  }
167
167
  (async () => {
@@ -182,26 +182,26 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
182
182
  })();
183
183
  }
184
184
  else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.installed) {
185
- addSeparator(( localize(5588, "Copilot Usage")));
186
- this.createQuotaIndicator(this.element, this._store, ( localize(5589, "Limited")), ( localize(5583, "Inline Suggestions")), false);
187
- this.createQuotaIndicator(this.element, this._store, ( localize(5589, "Limited")), ( localize(5584, "Chat messages")), false);
185
+ addSeparator(( localize(5397, "Copilot Usage")));
186
+ this.createQuotaIndicator(this.element, this._store, ( localize(5398, "Limited")), ( localize(5392, "Inline Suggestions")), false);
187
+ this.createQuotaIndicator(this.element, this._store, ( localize(5398, "Limited")), ( localize(5393, "Chat messages")), false);
188
188
  }
189
189
  {
190
190
  const inProgress = this.chatSessionsService.getInProgress();
191
191
  if (( inProgress.some(item => item.count > 0))) {
192
- addSeparator(( localize(5590, "Agent Sessions")), toAction({
192
+ addSeparator(( localize(5399, "Agent Sessions")), toAction({
193
193
  id: 'workbench.view.chat.status.sessions',
194
- label: ( localize(5591, "View Agent Sessions")),
195
- tooltip: ( localize(5592, "View Agent Sessions")),
194
+ label: ( localize(5400, "View Agent Sessions")),
195
+ tooltip: ( localize(5401, "View Agent Sessions")),
196
196
  class: ThemeIcon.asClassName(Codicon.eye),
197
197
  run: () => {
198
- this.instantiationService.invokeFunction(openAgentSessionsView);
198
+ this.viewService.openView(ChatViewId, true);
199
199
  this.hoverService.hideHover(true);
200
200
  }
201
201
  }));
202
202
  for (const { displayName, count } of inProgress) {
203
203
  if (count > 0) {
204
- const text = ( localize(5593, "$(loading~spin) {0} in progress", displayName));
204
+ const text = ( localize(5402, "$(loading~spin) {0} in progress", displayName));
205
205
  const chatSessionsElement = this.element.appendChild($('div.description'));
206
206
  const parts = renderLabelWithIcons(text);
207
207
  chatSessionsElement.append(...parts);
@@ -228,10 +228,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
228
228
  }
229
229
  {
230
230
  const chatSentiment = this.chatEntitlementService.sentiment;
231
- addSeparator(( localize(5594, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
231
+ addSeparator(( localize(5403, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
232
232
  id: 'workbench.action.openChatSettings',
233
- label: ( localize(5595, "Settings")),
234
- tooltip: ( localize(5596, "Open Settings")),
233
+ label: ( localize(5404, "Settings")),
234
+ tooltip: ( localize(5405, "Open Settings")),
235
235
  class: ThemeIcon.asClassName(Codicon.settingsGear),
236
236
  run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
237
237
  }) : undefined);
@@ -245,13 +245,13 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
245
245
  const currentModel = modelInfo.models.find(m => m.id === modelInfo.currentModelId);
246
246
  if (currentModel) {
247
247
  const modelContainer = this.element.appendChild($('div.model-selection'));
248
- modelContainer.appendChild($('span.model-text', undefined, ( localize(5597, "Model: {0}", currentModel.name))));
248
+ modelContainer.appendChild($('span.model-text', undefined, ( localize(5406, "Model: {0}", currentModel.name))));
249
249
  const actionBar = modelContainer.appendChild($('div.model-action-bar'));
250
250
  const toolbar = this._store.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
251
251
  toolbar.push([toAction({
252
252
  id: 'workbench.action.selectInlineCompletionsModel',
253
- label: ( localize(5598, "Select Model")),
254
- tooltip: ( localize(5598, "Select Model")),
253
+ label: ( localize(5407, "Select Model")),
254
+ tooltip: ( localize(5407, "Select Model")),
255
255
  class: ThemeIcon.asClassName(Codicon.gear),
256
256
  run: async () => {
257
257
  await this.showModelPicker(provider);
@@ -262,7 +262,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
262
262
  }
263
263
  if (this.canUseChat()) {
264
264
  const snooze = append(this.element, $('div.snooze-completions'));
265
- this.createCompletionsSnooze(snooze, ( localize(5599, "Snooze")), this._store);
265
+ this.createCompletionsSnooze(snooze, ( localize(5408, "Snooze")), this._store);
266
266
  }
267
267
  {
268
268
  const newUser = isNewUser(this.chatEntitlementService);
@@ -275,7 +275,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
275
275
  let descriptionClass = '.description';
276
276
  if (newUser && anonymousUser) {
277
277
  descriptionText = ( new MarkdownString(( localize(
278
- 5600,
278
+ 5409,
279
279
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
280
280
  defaultChat.provider.default.name,
281
281
  defaultChat.provider.default.name,
@@ -285,29 +285,29 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
285
285
  descriptionClass = `${descriptionClass}.terms`;
286
286
  }
287
287
  else if (newUser) {
288
- descriptionText = ( localize(5601, "Set up Copilot to use AI features."));
288
+ descriptionText = ( localize(5410, "Set up Copilot to use AI features."));
289
289
  }
290
290
  else if (anonymousUser) {
291
- descriptionText = ( localize(5602, "Sign in to enable more Copilot AI features."));
291
+ descriptionText = ( localize(5411, "Sign in to enable more Copilot AI features."));
292
292
  }
293
293
  else if (disabled) {
294
- descriptionText = ( localize(5603, "Enable Copilot to use AI features."));
294
+ descriptionText = ( localize(5412, "Enable Copilot to use AI features."));
295
295
  }
296
296
  else {
297
- descriptionText = ( localize(5604, "Sign in to use Copilot AI features."));
297
+ descriptionText = ( localize(5413, "Sign in to use Copilot AI features."));
298
298
  }
299
299
  let buttonLabel;
300
300
  if (newUser) {
301
- buttonLabel = ( localize(5605, "Use AI Features"));
301
+ buttonLabel = ( localize(5414, "Use AI Features"));
302
302
  }
303
303
  else if (anonymousUser) {
304
- buttonLabel = ( localize(5606, "Enable more AI Features"));
304
+ buttonLabel = ( localize(5415, "Enable more AI Features"));
305
305
  }
306
306
  else if (disabled) {
307
- buttonLabel = ( localize(5607, "Enable AI Features"));
307
+ buttonLabel = ( localize(5416, "Enable AI Features"));
308
308
  }
309
309
  else {
310
- buttonLabel = ( localize(5608, "Sign in to use AI Features"));
310
+ buttonLabel = ( localize(5417, "Sign in to use AI Features"));
311
311
  }
312
312
  let commandId;
313
313
  if (newUser && anonymousUser) {
@@ -357,8 +357,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
357
357
  const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
358
358
  this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
359
359
  id: 'workbench.action.openChatStatusItemLink',
360
- label: ( localize(5609, "Learn More")),
361
- tooltip: ( localize(5609, "Learn More")),
360
+ label: ( localize(5418, "Learn More")),
361
+ tooltip: ( localize(5418, "Learn More")),
362
362
  class: ThemeIcon.asClassName(Codicon.linkExternal),
363
363
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
364
364
  }) : undefined);
@@ -402,7 +402,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
402
402
  quotaIndicator,
403
403
  { ...defaultButtonStyles, secondary: true, hoverDelegate: nativeHoverDelegate }
404
404
  )));
405
- manageOverageButton.label = ( localize(5610, "Manage paid premium requests"));
405
+ manageOverageButton.label = ( localize(5419, "Manage paid premium requests"));
406
406
  disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
407
407
  }
408
408
  const update = (quota) => {
@@ -419,17 +419,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
419
419
  quotaValue.textContent = quota;
420
420
  }
421
421
  else if (quota.unlimited) {
422
- quotaValue.textContent = ( localize(5611, "Included"));
422
+ quotaValue.textContent = ( localize(5420, "Included"));
423
423
  }
424
424
  else if (quota.overageCount) {
425
425
  quotaValue.textContent = ( localize(
426
- 5612,
426
+ 5421,
427
427
  "+{0} requests",
428
428
  this.quotaOverageFormatter.value.format(quota.overageCount)
429
429
  ));
430
430
  }
431
431
  else {
432
- quotaValue.textContent = ( localize(5613, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
432
+ quotaValue.textContent = ( localize(5422, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
433
433
  }
434
434
  quotaBit.style.width = `${usedPercentage}%`;
435
435
  if (usedPercentage >= 90) {
@@ -440,10 +440,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
440
440
  }
441
441
  if (supportsOverage) {
442
442
  if (typeof quota !== 'string' && quota?.overageEnabled) {
443
- overageLabel.textContent = ( localize(5614, "Additional paid premium requests enabled."));
443
+ overageLabel.textContent = ( localize(5423, "Additional paid premium requests enabled."));
444
444
  }
445
445
  else {
446
- overageLabel.textContent = ( localize(5615, "Additional paid premium requests disabled."));
446
+ overageLabel.textContent = ( localize(5424, "Additional paid premium requests disabled."));
447
447
  }
448
448
  }
449
449
  else {
@@ -458,15 +458,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
458
458
  const settings = container.appendChild($('div.settings'));
459
459
  {
460
460
  const globalSetting = append(settings, $('div.setting'));
461
- this.createInlineSuggestionsSetting(globalSetting, ( localize(5616, "All files")), '*', disposables);
461
+ this.createInlineSuggestionsSetting(globalSetting, ( localize(5425, "All files")), '*', disposables);
462
462
  if (modeId) {
463
463
  const languageSetting = append(settings, $('div.setting'));
464
- this.createInlineSuggestionsSetting(languageSetting, ( localize(5617, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
464
+ this.createInlineSuggestionsSetting(languageSetting, ( localize(5426, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
465
465
  }
466
466
  }
467
467
  {
468
468
  const setting = append(settings, $('div.setting'));
469
- this.createNextEditSuggestionsSetting(setting, ( localize(5618, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
469
+ this.createNextEditSuggestionsSetting(setting, ( localize(5427, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
470
470
  }
471
471
  return settings;
472
472
  }
@@ -567,7 +567,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
567
567
  const toolbar = disposables.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
568
568
  const cancelAction = toAction({
569
569
  id: 'workbench.action.cancelSnoozeStatusBarLink',
570
- label: ( localize(5619, "Cancel Snooze")),
570
+ label: ( localize(5428, "Cancel Snooze")),
571
571
  run: () => this.inlineCompletionsService.cancelSnooze(),
572
572
  class: ThemeIcon.asClassName(Codicon.stopCircle)
573
573
  });
@@ -576,19 +576,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
576
576
  toolbar.clear();
577
577
  const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
578
578
  if (!isEnabled || timeLeftMs <= 0) {
579
- timerDisplay.textContent = ( localize(5620, "Hide suggestions for 5 min"));
579
+ timerDisplay.textContent = ( localize(5429, "Hide suggestions for 5 min"));
580
580
  timerDisplay.title = '';
581
581
  button.label = label;
582
- button.setTitle(( localize(5621, "Hide inline suggestions for 5 min")));
582
+ button.setTitle(( localize(5430, "Hide inline suggestions for 5 min")));
583
583
  return true;
584
584
  }
585
585
  const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
586
586
  const minutes = Math.floor(timeLeftSeconds / 60);
587
587
  const seconds = timeLeftSeconds % 60;
588
- timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5622, "remaining"))}`;
589
- timerDisplay.title = ( localize(5623, "Inline suggestions are hidden for the remaining duration"));
590
- button.label = ( localize(5624, "+5 min"));
591
- button.setTitle(( localize(5625, "Snooze additional 5 min")));
588
+ timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5431, "remaining"))}`;
589
+ timerDisplay.title = ( localize(5432, "Inline suggestions are hidden for the remaining duration"));
590
+ button.label = ( localize(5433, "+5 min"));
591
+ button.setTitle(( localize(5434, "Snooze additional 5 min")));
592
592
  toolbar.push([cancelAction], { icon: true, label: false });
593
593
  return false;
594
594
  };
@@ -624,12 +624,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
624
624
  const items = ( modelInfo.models.map(model => ({
625
625
  id: model.id,
626
626
  label: model.name,
627
- description: model.id === modelInfo.currentModelId ? ( localize(5626, "Currently selected")) : undefined,
627
+ description: model.id === modelInfo.currentModelId ? ( localize(5435, "Currently selected")) : undefined,
628
628
  picked: model.id === modelInfo.currentModelId
629
629
  })));
630
630
  const selected = await this.quickInputService.pick(items, {
631
631
  placeHolder: ( localize(
632
- 5627,
632
+ 5436,
633
633
  "Select a model for {0}",
634
634
  provider.displayName || 'inline completions'
635
635
  )),
@@ -657,7 +657,7 @@ ChatStatusDashboard = ( __decorate([
657
657
  ( __param(12, IMarkdownRendererService)),
658
658
  ( __param(13, ILanguageFeaturesService)),
659
659
  ( __param(14, IQuickInputService)),
660
- ( __param(15, IInstantiationService))
660
+ ( __param(15, IViewsService))
661
661
  ], ChatStatusDashboard));
662
662
 
663
663
  export { ChatStatusDashboard };
@@ -85,7 +85,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
85
85
  }
86
86
  getEntryProps() {
87
87
  let text = '$(copilot)';
88
- let ariaLabel = ( localize(5628, "Copilot status"));
88
+ let ariaLabel = ( localize(5437, "Copilot status"));
89
89
  let kind;
90
90
  if (isNewUser(this.chatEntitlementService)) {
91
91
  const entitlement = this.chatEntitlementService.entitlement;
@@ -94,7 +94,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
94
94
  isProUser(entitlement) ||
95
95
  entitlement === ChatEntitlement.Free
96
96
  ) {
97
- const finishSetup = ( localize(5629, "Finish Setup"));
97
+ const finishSetup = ( localize(5438, "Finish Setup"));
98
98
  text = `$(copilot) ${finishSetup}`;
99
99
  ariaLabel = finishSetup;
100
100
  kind = 'prominent';
@@ -105,19 +105,19 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
105
105
  const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
106
106
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
107
107
  text = '$(copilot-unavailable)';
108
- ariaLabel = ( localize(5630, "Copilot disabled"));
108
+ ariaLabel = ( localize(5439, "Copilot disabled"));
109
109
  }
110
110
  else if (this.runningSessionsCount > 0) {
111
111
  text = '$(copilot-in-progress)';
112
112
  if (this.runningSessionsCount > 1) {
113
- ariaLabel = ( localize(5631, "{0} agent sessions in progress", this.runningSessionsCount));
113
+ ariaLabel = ( localize(5440, "{0} agent sessions in progress", this.runningSessionsCount));
114
114
  }
115
115
  else {
116
- ariaLabel = ( localize(5632, "1 agent session in progress"));
116
+ ariaLabel = ( localize(5441, "1 agent session in progress"));
117
117
  }
118
118
  }
119
119
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
120
- const signedOutWarning = ( localize(5633, "Signed out"));
120
+ const signedOutWarning = ( localize(5442, "Signed out"));
121
121
  text = `${this.chatEntitlementService.anonymous ? '$(copilot)' : '$(copilot-not-connected)'} ${signedOutWarning}`;
122
122
  ariaLabel = signedOutWarning;
123
123
  kind = 'prominent';
@@ -125,13 +125,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
125
125
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
126
126
  let quotaWarning;
127
127
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
128
- quotaWarning = ( localize(5634, "Chat quota reached"));
128
+ quotaWarning = ( localize(5443, "Chat quota reached"));
129
129
  }
130
130
  else if (completionsQuotaExceeded && !chatQuotaExceeded) {
131
- quotaWarning = ( localize(5635, "Inline suggestions quota reached"));
131
+ quotaWarning = ( localize(5444, "Inline suggestions quota reached"));
132
132
  }
133
133
  else {
134
- quotaWarning = ( localize(5636, "Quota reached"));
134
+ quotaWarning = ( localize(5445, "Quota reached"));
135
135
  }
136
136
  text = `$(copilot-warning) ${quotaWarning}`;
137
137
  ariaLabel = quotaWarning;
@@ -139,15 +139,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
139
139
  }
140
140
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
141
141
  text = '$(copilot-unavailable)';
142
- ariaLabel = ( localize(5637, "Inline suggestions disabled"));
142
+ ariaLabel = ( localize(5446, "Inline suggestions disabled"));
143
143
  }
144
144
  else if (this.completionsService.isSnoozing()) {
145
145
  text = '$(copilot-snooze)';
146
- ariaLabel = ( localize(5638, "Inline suggestions snoozed"));
146
+ ariaLabel = ( localize(5447, "Inline suggestions snoozed"));
147
147
  }
148
148
  }
149
149
  const baseResult = {
150
- name: ( localize(5639, "Copilot Status")),
150
+ name: ( localize(5448, "Copilot Status")),
151
151
  text,
152
152
  ariaLabel,
153
153
  command: ShowTooltipCommand,
@@ -0,0 +1,22 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
4
+ import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service";
5
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
6
+ import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
7
+ /**
8
+ * Observes all live chat models and triggers OS notifications when any model
9
+ * transitions to needing input (confirmation/elicitation).
10
+ */
11
+ export declare class ChatWindowNotifier extends Disposable implements IWorkbenchContribution {
12
+ private readonly _chatService;
13
+ private readonly _chatWidgetService;
14
+ private readonly _hostService;
15
+ private readonly _configurationService;
16
+ static readonly ID = "workbench.contrib.chatWindowNotifier";
17
+ private readonly _activeNotifications;
18
+ constructor(_chatService: IChatService, _chatWidgetService: IChatWidgetService, _hostService: IHostService, _configurationService: IConfigurationService);
19
+ private _trackModel;
20
+ private _notifyIfNeeded;
21
+ private _clearNotification;
22
+ }
@@ -0,0 +1,90 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { getWindow, triggerNotification } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
5
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
+ import { Disposable, DisposableResourceMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
8
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
10
+ import { FocusMode } from '@codingame/monaco-vscode-api/vscode/vs/platform/native/common/native';
11
+ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
12
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
13
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
14
+ import { autorunIterableDelta, autorunDelta } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
15
+
16
+ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
17
+ static { this.ID = 'workbench.contrib.chatWindowNotifier'; }
18
+ constructor(_chatService, _chatWidgetService, _hostService, _configurationService) {
19
+ super();
20
+ this._chatService = _chatService;
21
+ this._chatWidgetService = _chatWidgetService;
22
+ this._hostService = _hostService;
23
+ this._configurationService = _configurationService;
24
+ this._activeNotifications = this._register(( new DisposableResourceMap()));
25
+ const modelTrackers = this._register(( new DisposableResourceMap()));
26
+ this._register(autorunIterableDelta(reader => this._chatService.chatModels.read(reader), ({ addedValues, removedValues }) => {
27
+ for (const model of addedValues) {
28
+ modelTrackers.set(model.sessionResource, this._trackModel(model));
29
+ }
30
+ for (const model of removedValues) {
31
+ modelTrackers.deleteAndDispose(model.sessionResource);
32
+ }
33
+ }));
34
+ }
35
+ _trackModel(model) {
36
+ return autorunDelta(model.requestNeedsInput, ({ lastValue, newValue }) => {
37
+ const currentNeedsInput = !!newValue;
38
+ const previousNeedsInput = !!lastValue;
39
+ if (!previousNeedsInput && currentNeedsInput && newValue) {
40
+ this._notifyIfNeeded(model.sessionResource, newValue);
41
+ }
42
+ else if (previousNeedsInput && !currentNeedsInput) {
43
+ this._clearNotification(model.sessionResource);
44
+ }
45
+ });
46
+ }
47
+ async _notifyIfNeeded(sessionResource, info) {
48
+ if (!this._configurationService.getValue('chat.notifyWindowOnConfirmation')) {
49
+ return;
50
+ }
51
+ const widget = this._chatWidgetService.getWidgetBySessionResource(sessionResource);
52
+ const targetWindow = widget ? getWindow(widget.domNode) : mainWindow;
53
+ if (targetWindow.document.hasFocus()) {
54
+ return;
55
+ }
56
+ this._clearNotification(sessionResource);
57
+ await this._hostService.focus(targetWindow, { mode: FocusMode.Notify });
58
+ const notificationTitle = info.title ? ( localize(5449, "Chat: {0}", info.title)) : ( localize(5450, "Untitled Chat"));
59
+ const notification = await triggerNotification(notificationTitle, {
60
+ detail: info.detail ?? ( localize(5451, "Approval needed to continue."))
61
+ });
62
+ if (notification) {
63
+ const disposables = ( new DisposableStore());
64
+ this._activeNotifications.set(sessionResource, disposables);
65
+ disposables.add(notification);
66
+ disposables.add(Event.once(notification.onClick)(async () => {
67
+ await this._hostService.focus(targetWindow, { mode: FocusMode.Force });
68
+ const widget = await this._chatWidgetService.openSession(sessionResource);
69
+ widget?.focusInput();
70
+ this._clearNotification(sessionResource);
71
+ }));
72
+ disposables.add(this._hostService.onDidChangeFocus(focus => {
73
+ if (focus) {
74
+ this._clearNotification(sessionResource);
75
+ }
76
+ }));
77
+ }
78
+ }
79
+ _clearNotification(sessionResource) {
80
+ this._activeNotifications.deleteAndDispose(sessionResource);
81
+ }
82
+ };
83
+ ChatWindowNotifier = ( __decorate([
84
+ ( __param(0, IChatService)),
85
+ ( __param(1, IChatWidgetService)),
86
+ ( __param(2, IHostService)),
87
+ ( __param(3, IConfigurationService))
88
+ ], ChatWindowNotifier));
89
+
90
+ export { ChatWindowNotifier };
@@ -1,8 +1,8 @@
1
1
  import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
2
2
  import { LanguageSelector } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languageSelector";
3
- import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service";
4
- import { IChatContextItem, IChatContextProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContext";
5
- import { IChatRequestWorkspaceVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
3
+ import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service";
4
+ import { IChatContextItem, IChatContextProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/contextContrib/chatContext";
5
+ import { IChatRequestWorkspaceVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
6
6
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
7
7
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
8
8
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
@@ -2,7 +2,7 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
4
4
  import { score } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languageSelector';
5
- import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service';
5
+ import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service';
6
6
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
7
7
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
8
8
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';