@codingame/monaco-vscode-chat-service-override 19.1.4 → 20.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 (211) hide show
  1. package/index.js +20 -8
  2. package/package.json +36 -31
  3. package/vscode/src/vs/base/common/policy.d.ts +14 -0
  4. package/vscode/src/vs/base/common/policy.js +11 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +53 -43
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +54 -24
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +14 -14
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +15 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -25
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +23 -11
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +83 -14
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +421 -21
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +20 -20
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +215 -104
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +3 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +9 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +3 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +18 -6
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +4 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +6 -3
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -2
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +9 -6
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -3
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +16 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +7 -23
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +58 -326
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +0 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +33 -30
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +12 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +39 -17
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +55 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +380 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +3 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +22 -22
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +9 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +44 -10
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +38 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +145 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +34 -34
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +3 -3
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +36 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +49 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +407 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +12 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +738 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +142 -151
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +54 -54
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +20 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -4
  78. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +23 -7
  80. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  82. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +13 -8
  84. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +3 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +3 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +28 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +14 -14
  90. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +10 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +11 -11
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +19 -19
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +14 -14
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -10
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +11 -11
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +1 -7
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +52 -90
  105. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +15 -15
  106. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +6 -2
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +9 -6
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +11 -6
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +137 -30
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +8 -0
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +27 -0
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +44 -0
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +3 -5
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +14 -14
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +1 -1
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +2 -2
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +1 -1
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +1 -1
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +8 -8
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +2 -2
  142. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  143. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  144. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +9 -9
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +4 -4
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +104 -0
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +667 -0
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +14 -14
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +56 -0
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.d.ts +1 -0
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +14 -0
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.d.ts +11 -0
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +111 -0
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.d.ts +10 -0
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +52 -0
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.d.ts +1 -0
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +262 -0
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +35 -0
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +129 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.d.ts +3 -0
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.js +8 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +9 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +30 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +72 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +411 -0
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +3 -0
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +59 -0
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +51 -0
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +163 -0
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +24 -0
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +164 -0
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +14 -0
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +101 -0
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +16 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +52 -0
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +12 -0
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +71 -0
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +14 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +94 -0
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.d.ts +11 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.js +44 -0
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +3 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +18 -0
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +13 -0
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.d.ts +55 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.js +603 -0
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +3 -0
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +113 -0
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.d.ts +21 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.js +227 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.d.ts +19 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +88 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.d.ts +21 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.js +140 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +22 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +80 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +1 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +40 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +36 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +20 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +114 -0
  210. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +0 -3
  211. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +0 -3
@@ -1,7 +1,7 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
3
3
  import { IStatusbarService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service";
4
- import { ChatEntitlementService } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService";
4
+ import { ChatEntitlementService } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService";
5
5
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
6
6
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
7
7
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
@@ -9,7 +9,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
9
  import { StatusbarAlignment, ShowTooltipCommand } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar';
10
10
  import { IStatusbarService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
11
11
  import { $, clearNode, append, EventType, addDisposableListener, EventHelper, disposableWindowInterval, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
12
- import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService';
12
+ import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatEntitlementService';
13
13
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEntitlementService.service';
14
14
  import { defaultButtonStyles, defaultCheckboxStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
15
15
  import { Checkbox } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/toggle/toggle';
@@ -59,43 +59,43 @@ const gaugeBackground = registerColor('gauge.background', {
59
59
  light: inputValidationInfoBorder,
60
60
  hcDark: contrastBorder,
61
61
  hcLight: contrastBorder
62
- }, ( localize(5031, "Gauge background color.")));
62
+ }, ( localize(5130, "Gauge background color.")));
63
63
  registerColor('gauge.foreground', {
64
64
  dark: ( transparent(gaugeBackground, 0.3)),
65
65
  light: ( transparent(gaugeBackground, 0.3)),
66
66
  hcDark: Color.white,
67
67
  hcLight: Color.white
68
- }, ( localize(5032, "Gauge foreground color.")));
68
+ }, ( localize(5131, "Gauge foreground color.")));
69
69
  registerColor('gauge.border', {
70
70
  dark: null,
71
71
  light: null,
72
72
  hcDark: contrastBorder,
73
73
  hcLight: contrastBorder
74
- }, ( localize(5033, "Gauge border color.")));
74
+ }, ( localize(5132, "Gauge border color.")));
75
75
  const gaugeWarningBackground = registerColor('gauge.warningBackground', {
76
76
  dark: inputValidationWarningBorder,
77
77
  light: inputValidationWarningBorder,
78
78
  hcDark: contrastBorder,
79
79
  hcLight: contrastBorder
80
- }, ( localize(5034, "Gauge warning background color.")));
80
+ }, ( localize(5133, "Gauge warning background color.")));
81
81
  registerColor('gauge.warningForeground', {
82
82
  dark: ( transparent(gaugeWarningBackground, 0.3)),
83
83
  light: ( transparent(gaugeWarningBackground, 0.3)),
84
84
  hcDark: Color.white,
85
85
  hcLight: Color.white
86
- }, ( localize(5035, "Gauge warning foreground color.")));
86
+ }, ( localize(5134, "Gauge warning foreground color.")));
87
87
  const gaugeErrorBackground = registerColor('gauge.errorBackground', {
88
88
  dark: inputValidationErrorBorder,
89
89
  light: inputValidationErrorBorder,
90
90
  hcDark: contrastBorder,
91
91
  hcLight: contrastBorder
92
- }, ( localize(5036, "Gauge error background color.")));
92
+ }, ( localize(5135, "Gauge error background color.")));
93
93
  registerColor('gauge.errorForeground', {
94
94
  dark: ( transparent(gaugeErrorBackground, 0.3)),
95
95
  light: ( transparent(gaugeErrorBackground, 0.3)),
96
96
  hcDark: Color.white,
97
97
  hcLight: Color.white
98
- }, ( localize(5037, "Gauge error foreground color.")));
98
+ }, ( localize(5136, "Gauge error foreground color.")));
99
99
  const defaultChat = {
100
100
  completionsEnablementSetting: product.defaultChatAgent?.completionsEnablementSetting ?? '',
101
101
  nextEditSuggestionsSetting: product.defaultChatAgent?.nextEditSuggestionsSetting ?? '',
@@ -156,7 +156,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
156
156
  }
157
157
  getEntryProps() {
158
158
  let text = '$(copilot)';
159
- let ariaLabel = ( localize(5038, "Copilot Status"));
159
+ let ariaLabel = ( localize(5137, "Copilot Status"));
160
160
  let kind;
161
161
  if (isNewUser(this.chatEntitlementService)) {
162
162
  const entitlement = this.chatEntitlementService.entitlement;
@@ -165,7 +165,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
165
165
  isProUser(entitlement) ||
166
166
  entitlement === ChatEntitlement.Free
167
167
  ) {
168
- const finishSetup = ( localize(5039, "Finish Setup"));
168
+ const finishSetup = ( localize(5138, "Finish Setup"));
169
169
  text = `$(copilot) ${finishSetup}`;
170
170
  ariaLabel = finishSetup;
171
171
  kind = 'prominent';
@@ -176,10 +176,10 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
176
176
  const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
177
177
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
178
178
  text = `$(copilot-unavailable)`;
179
- ariaLabel = ( localize(5040, "Copilot Disabled"));
179
+ ariaLabel = ( localize(5139, "Copilot Disabled"));
180
180
  }
181
181
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
182
- const signedOutWarning = ( localize(5041, "Signed out"));
182
+ const signedOutWarning = ( localize(5140, "Signed out"));
183
183
  text = `$(copilot-not-connected) ${signedOutWarning}`;
184
184
  ariaLabel = signedOutWarning;
185
185
  kind = 'prominent';
@@ -187,13 +187,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
187
187
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
188
188
  let quotaWarning;
189
189
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
190
- quotaWarning = ( localize(5042, "Chat quota reached"));
190
+ quotaWarning = ( localize(5141, "Chat quota reached"));
191
191
  }
192
192
  else if (completionsQuotaExceeded && !chatQuotaExceeded) {
193
- quotaWarning = ( localize(5043, "Completions quota reached"));
193
+ quotaWarning = ( localize(5142, "Completions quota reached"));
194
194
  }
195
195
  else {
196
- quotaWarning = ( localize(5044, "Quota reached"));
196
+ quotaWarning = ( localize(5143, "Quota reached"));
197
197
  }
198
198
  text = `$(copilot-warning) ${quotaWarning}`;
199
199
  ariaLabel = quotaWarning;
@@ -201,15 +201,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
201
201
  }
202
202
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
203
203
  text = `$(copilot-unavailable)`;
204
- ariaLabel = ( localize(5045, "Code completions disabled"));
204
+ ariaLabel = ( localize(5144, "Code completions disabled"));
205
205
  }
206
206
  else if (this.completionsService.isSnoozing()) {
207
207
  text = `$(copilot-snooze)`;
208
- ariaLabel = ( localize(5046, "Code completions snoozed"));
208
+ ariaLabel = ( localize(5145, "Code completions snoozed"));
209
209
  }
210
210
  }
211
211
  return {
212
- name: ( localize(5038, "Copilot Status")),
212
+ name: ( localize(5137, "Copilot Status")),
213
213
  text,
214
214
  ariaLabel,
215
215
  command: ShowTooltipCommand,
@@ -290,19 +290,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
290
290
  };
291
291
  const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate } = this.chatEntitlementService.quotas;
292
292
  if (chatQuota || completionsQuota || premiumChatQuota) {
293
- addSeparator(( localize(5047, "Copilot Usage")), toAction({
293
+ addSeparator(( localize(5146, "Copilot Usage")), toAction({
294
294
  id: 'workbench.action.manageCopilot',
295
- label: ( localize(5048, "Manage Copilot")),
296
- tooltip: ( localize(5049, "Manage Copilot")),
295
+ label: ( localize(5147, "Manage Copilot")),
296
+ tooltip: ( localize(5148, "Manage Copilot")),
297
297
  class: ThemeIcon.asClassName(Codicon.settings),
298
298
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
299
299
  }));
300
- const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(5050, "Code completions")), false) : undefined;
301
- const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(5051, "Chat messages")), false) : undefined;
302
- const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(5052, "Premium requests")), true) : undefined;
300
+ const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(5149, "Code completions")), false) : undefined;
301
+ const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(5150, "Chat messages")), false) : undefined;
302
+ const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(5151, "Premium requests")), true) : undefined;
303
303
  if (resetDate) {
304
304
  this.element.appendChild($('div.description', undefined, ( localize(
305
- 5053,
305
+ 5152,
306
306
  "Allowance resets {0}.",
307
307
  this.dateFormatter.value.format(( new Date(resetDate)))
308
308
  ))));
@@ -312,7 +312,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
312
312
  this.element,
313
313
  { ...defaultButtonStyles, hoverDelegate: nativeHoverDelegate, secondary: canUseCopilot(this.chatEntitlementService) }
314
314
  )));
315
- upgradeProButton.label = ( localize(5054, "Upgrade to Copilot Pro"));
315
+ upgradeProButton.label = ( localize(5153, "Upgrade to Copilot Pro"));
316
316
  disposables.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
317
317
  }
318
318
  (async () => {
@@ -351,10 +351,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
351
351
  }
352
352
  {
353
353
  const chatSentiment = this.chatEntitlementService.sentiment;
354
- addSeparator(( localize(5055, "Code Completions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
354
+ addSeparator(( localize(5154, "Code Completions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
355
355
  id: 'workbench.action.openChatSettings',
356
- label: ( localize(5056, "Settings")),
357
- tooltip: ( localize(5057, "Open Settings")),
356
+ label: ( localize(5155, "Settings")),
357
+ tooltip: ( localize(5156, "Open Settings")),
358
358
  class: ThemeIcon.asClassName(Codicon.settingsGear),
359
359
  run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
360
360
  }) : undefined);
@@ -362,7 +362,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
362
362
  }
363
363
  if (canUseCopilot(this.chatEntitlementService)) {
364
364
  const snooze = append(this.element, $('div.snooze-completions'));
365
- this.createCompletionsSnooze(snooze, ( localize(5058, "Snooze")), disposables);
365
+ this.createCompletionsSnooze(snooze, ( localize(5157, "Snooze")), disposables);
366
366
  }
367
367
  {
368
368
  const newUser = isNewUser(this.chatEntitlementService);
@@ -372,23 +372,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
372
372
  addSeparator();
373
373
  let descriptionText;
374
374
  if (newUser) {
375
- descriptionText = ( localize(5059, "Set up Copilot to use AI features."));
375
+ descriptionText = ( localize(5158, "Set up Copilot to use AI features."));
376
376
  }
377
377
  else if (disabled) {
378
- descriptionText = ( localize(5060, "Enable Copilot to use AI features."));
378
+ descriptionText = ( localize(5159, "Enable Copilot to use AI features."));
379
379
  }
380
380
  else {
381
- descriptionText = ( localize(5061, "Sign in to use Copilot AI features."));
381
+ descriptionText = ( localize(5160, "Sign in to use Copilot AI features."));
382
382
  }
383
383
  let buttonLabel;
384
384
  if (newUser) {
385
- buttonLabel = ( localize(5062, "Set up Copilot"));
385
+ buttonLabel = ( localize(5161, "Set up Copilot"));
386
386
  }
387
387
  else if (disabled) {
388
- buttonLabel = ( localize(5063, "Enable Copilot"));
388
+ buttonLabel = ( localize(5162, "Enable Copilot"));
389
389
  }
390
390
  else {
391
- buttonLabel = ( localize(5064, "Sign in to use Copilot"));
391
+ buttonLabel = ( localize(5163, "Sign in to use Copilot"));
392
392
  }
393
393
  this.element.appendChild($('div.description', undefined, descriptionText));
394
394
  const button = disposables.add(( new Button(
@@ -415,8 +415,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
415
415
  const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
416
416
  this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
417
417
  id: 'workbench.action.openChatStatusItemLink',
418
- label: ( localize(5065, "Learn More")),
419
- tooltip: ( localize(5065, "Learn More")),
418
+ label: ( localize(5164, "Learn More")),
419
+ tooltip: ( localize(5164, "Learn More")),
420
420
  class: ThemeIcon.asClassName(Codicon.linkExternal),
421
421
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
422
422
  }) : undefined);
@@ -460,7 +460,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
460
460
  quotaIndicator,
461
461
  { ...defaultButtonStyles, secondary: true, hoverDelegate: nativeHoverDelegate }
462
462
  )));
463
- manageOverageButton.label = ( localize(5066, "Manage paid premium requests"));
463
+ manageOverageButton.label = ( localize(5165, "Manage paid premium requests"));
464
464
  disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
465
465
  }
466
466
  const update = (quota) => {
@@ -474,17 +474,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
474
474
  usedPercentage = Math.max(0, 100 - quota.percentRemaining);
475
475
  }
476
476
  if (quota.unlimited) {
477
- quotaValue.textContent = ( localize(5067, "Included"));
477
+ quotaValue.textContent = ( localize(5166, "Included"));
478
478
  }
479
479
  else if (quota.overageCount) {
480
480
  quotaValue.textContent = ( localize(
481
- 5068,
481
+ 5167,
482
482
  "+{0} requests",
483
483
  this.quotaOverageFormatter.value.format(quota.overageCount)
484
484
  ));
485
485
  }
486
486
  else {
487
- quotaValue.textContent = ( localize(5069, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
487
+ quotaValue.textContent = ( localize(5168, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
488
488
  }
489
489
  quotaBit.style.width = `${usedPercentage}%`;
490
490
  if (usedPercentage >= 90) {
@@ -495,10 +495,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
495
495
  }
496
496
  if (supportsOverage) {
497
497
  if (quota.overageEnabled) {
498
- overageLabel.textContent = ( localize(5070, "Additional paid premium requests enabled."));
498
+ overageLabel.textContent = ( localize(5169, "Additional paid premium requests enabled."));
499
499
  }
500
500
  else {
501
- overageLabel.textContent = ( localize(5071, "Additional paid premium requests disabled."));
501
+ overageLabel.textContent = ( localize(5170, "Additional paid premium requests disabled."));
502
502
  }
503
503
  }
504
504
  else {
@@ -513,15 +513,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
513
513
  const settings = container.appendChild($('div.settings'));
514
514
  {
515
515
  const globalSetting = append(settings, $('div.setting'));
516
- this.createCodeCompletionsSetting(globalSetting, ( localize(5072, "All files")), '*', disposables);
516
+ this.createCodeCompletionsSetting(globalSetting, ( localize(5171, "All files")), '*', disposables);
517
517
  if (modeId) {
518
518
  const languageSetting = append(settings, $('div.setting'));
519
- this.createCodeCompletionsSetting(languageSetting, ( localize(5073, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
519
+ this.createCodeCompletionsSetting(languageSetting, ( localize(5172, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
520
520
  }
521
521
  }
522
522
  {
523
523
  const setting = append(settings, $('div.setting'));
524
- this.createNextEditSuggestionsSetting(setting, ( localize(5074, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
524
+ this.createNextEditSuggestionsSetting(setting, ( localize(5173, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
525
525
  }
526
526
  return settings;
527
527
  }
@@ -626,7 +626,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
626
626
  const toolbar = disposables.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
627
627
  const cancelAction = toAction({
628
628
  id: 'workbench.action.cancelSnoozeStatusBarLink',
629
- label: ( localize(5075, "Cancel Snooze")),
629
+ label: ( localize(5174, "Cancel Snooze")),
630
630
  run: () => this.inlineCompletionsService.cancelSnooze(),
631
631
  class: ThemeIcon.asClassName(Codicon.stopCircle)
632
632
  });
@@ -635,19 +635,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
635
635
  toolbar.clear();
636
636
  const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
637
637
  if (!isEnabled || timeLeftMs <= 0) {
638
- timerDisplay.textContent = ( localize(5076, "Hide completions for 5 min"));
638
+ timerDisplay.textContent = ( localize(5175, "Hide completions for 5 min"));
639
639
  timerDisplay.title = '';
640
640
  button.label = label;
641
- button.setTitle(( localize(5077, "Hide completions and NES for 5 min")));
641
+ button.setTitle(( localize(5176, "Hide completions and NES for 5 min")));
642
642
  return true;
643
643
  }
644
644
  const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
645
645
  const minutes = Math.floor(timeLeftSeconds / 60);
646
646
  const seconds = timeLeftSeconds % 60;
647
- timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5078, "remaining"))}`;
648
- timerDisplay.title = ( localize(5079, "Completions are hidden for the remaining duration"));
649
- button.label = ( localize(5080, "+5 min"));
650
- button.setTitle(( localize(5081, "Snooze additional 5 min")));
647
+ timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5177, "remaining"))}`;
648
+ timerDisplay.title = ( localize(5178, "Completions are hidden for the remaining duration"));
649
+ button.label = ( localize(5179, "+5 min"));
650
+ button.setTitle(( localize(5180, "Snooze additional 5 min")));
651
651
  toolbar.push([cancelAction], { icon: true, label: false });
652
652
  return false;
653
653
  };
@@ -3,6 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
4
4
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
5
5
  import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
6
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
6
7
 
7
8
  let ChatVariablesService = class ChatVariablesService {
8
9
  constructor(chatWidgetService) {
@@ -17,6 +18,25 @@ let ChatVariablesService = class ChatVariablesService {
17
18
  if (!model) {
18
19
  return [];
19
20
  }
21
+ if (widget.input.attachmentModel.attachments.length > 0 && widget.viewModel.editing) {
22
+ const references = [];
23
+ for (const attachment of widget.input.attachmentModel.attachments) {
24
+ if (attachment.range) {
25
+ const referenceObj = {
26
+ id: attachment.id,
27
+ fullName: attachment.name,
28
+ modelDescription: attachment.modelDescription,
29
+ range: ( new Range(1, attachment.range.start + 1, 1, attachment.range.endExclusive + 1)),
30
+ icon: attachment.icon,
31
+ isFile: attachment.kind === 'file',
32
+ isDirectory: attachment.kind === 'directory',
33
+ data: attachment.value
34
+ };
35
+ references.push(referenceObj);
36
+ }
37
+ }
38
+ return [...model.variables, ...references];
39
+ }
20
40
  return model.variables;
21
41
  }
22
42
  getSelectedTools(sessionId) {
@@ -1,3 +1,4 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
1
2
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
3
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
3
4
  import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
@@ -15,8 +16,8 @@ import { IChatViewTitleActionContext } from "@codingame/monaco-vscode-api/vscode
15
16
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
16
17
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
17
18
  import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
18
- import { ChatWidget, IChatViewState } from "@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget";
19
- import { IViewWelcomeDelegate } from "@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController";
19
+ import { ChatWidget, IChatViewState } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget";
20
+ import { IViewWelcomeDelegate } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController";
20
21
  export declare const CHAT_SIDEBAR_OLD_VIEW_PANEL_ID = "workbench.panel.chatSidebar";
21
22
  export declare const CHAT_SIDEBAR_PANEL_ID = "workbench.panel.chat";
22
23
  export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
@@ -42,7 +43,7 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
42
43
  protected renderBody(parent: HTMLElement): Promise<void>;
43
44
  acceptInput(query?: string): void;
44
45
  private clear;
45
- loadSession(sessionId: string, viewState?: IChatViewState): Promise<void>;
46
+ loadSession(sessionId: string | URI, viewState?: IChatViewState): Promise<void>;
46
47
  focusInput(): void;
47
48
  focus(): void;
48
49
  protected layoutBody(height: number, width: number): void;
@@ -4,6 +4,7 @@ import { getWindow, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browse
4
4
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
5
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
7
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
8
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
9
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
9
10
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
@@ -35,11 +36,11 @@ import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/wo
35
36
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
36
37
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
37
38
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
38
- import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
39
+ import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
39
40
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
40
41
  import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
41
- import { ChatWidget } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
42
- import { ChatViewWelcomeController } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController';
42
+ import { ChatWidget } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
43
+ import { ChatViewWelcomeController } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController';
43
44
 
44
45
  const CHAT_SIDEBAR_PANEL_ID = 'workbench.panel.chat';
45
46
  let ChatViewPane = class ChatViewPane extends ViewPane {
@@ -203,7 +204,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
203
204
  if (this.widget.viewModel) {
204
205
  await this.chatService.clearSession(this.widget.viewModel.sessionId);
205
206
  }
206
- const newModel = await this.chatService.getOrRestoreSession(sessionId);
207
+ const newModel = await (URI.isUri(sessionId) ? this.chatService.loadSessionForResource(sessionId, ChatAgentLocation.Panel, CancellationToken.None) : this.chatService.getOrRestoreSession(sessionId));
207
208
  await this.updateModel(newModel, viewState);
208
209
  }
209
210
  focusInput() {
@@ -1,5 +1,5 @@
1
1
  import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { ICodeBlockActionContextProvider } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/chat";
2
+ import { ICodeBlockActionContextProvider } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat";
3
3
  import { IChatCodeBlockContextProviderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
4
4
  export declare class ChatCodeBlockContextProviderService implements IChatCodeBlockContextProviderService {
5
5
  _serviceBrand: undefined;
@@ -4,10 +4,14 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
4
4
  import { Disposable, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
6
6
  import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
7
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
8
  import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
8
9
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
9
10
  import { TrackedRangeStickiness } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
10
13
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
14
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
11
15
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
12
16
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
13
17
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
@@ -21,10 +25,10 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quic
21
25
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
22
26
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
23
27
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
24
- import { chatSlashCommandBackground, chatSlashCommandForeground } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/chatColors';
25
- import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestSlashPromptPart, ChatRequestTextPart, ChatRequestToolPart, ChatRequestToolSetPart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
26
- import { ChatRequestParser } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
27
- import { ChatWidget } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
28
+ import { chatSlashCommandBackground, chatSlashCommandForeground } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/chatColors';
29
+ import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestSlashPromptPart, ChatRequestTextPart, ChatRequestToolPart, ChatRequestToolSetPart, ChatRequestDynamicVariablePart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
30
+ import { ChatRequestParser } from '@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
31
+ import { ChatWidget } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
28
32
  import { dynamicVariableDecorationType } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
29
33
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
30
34
 
@@ -36,12 +40,14 @@ function agentAndCommandToKey(agent, subcommand) {
36
40
  return subcommand ? `${agent.id}__${subcommand}` : agent.id;
37
41
  }
38
42
  let InputEditorDecorations = class InputEditorDecorations extends Disposable {
39
- constructor(widget, codeEditorService, themeService, chatAgentService) {
43
+ constructor(widget, codeEditorService, themeService, chatAgentService, configurationService, labelService) {
40
44
  super();
41
45
  this.widget = widget;
42
46
  this.codeEditorService = codeEditorService;
43
47
  this.themeService = themeService;
44
48
  this.chatAgentService = chatAgentService;
49
+ this.configurationService = configurationService;
50
+ this.labelService = labelService;
45
51
  this.id = 'inputEditorDecorations';
46
52
  this.previouslyUsedAgents = ( new Set());
47
53
  this.viewModelDisposables = this._register(( new MutableDisposable()));
@@ -110,7 +116,11 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
110
116
  return;
111
117
  }
112
118
  if (!inputValue) {
113
- const description = this.widget.input.currentModeObs.get().description.get();
119
+ const mode = this.widget.input.currentModeObs.get();
120
+ let description = mode.description.get();
121
+ if (this.configurationService.getValue('chat.emptyChatState.enabled')) {
122
+ description = ( localize(5228, "Add context (#), extensions (@), commands (/)"));
123
+ }
114
124
  const decoration = [
115
125
  {
116
126
  range: {
@@ -216,13 +226,19 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
216
226
  for (const tool of toolParts) {
217
227
  varDecorations.push({ range: tool.editorRange });
218
228
  }
229
+ const dynamicVariableParts = parsedRequest.filter((p) => p instanceof ChatRequestDynamicVariablePart);
230
+ for (const variable of dynamicVariableParts) {
231
+ varDecorations.push({ range: variable.editorRange, hoverMessage: URI.isUri(variable.data) ? ( new MarkdownString(this.labelService.getUriLabel(variable.data, { relative: true }))) : undefined });
232
+ }
219
233
  this.widget.inputEditor.setDecorationsByType(decorationDescription, variableTextDecorationType, varDecorations);
220
234
  }
221
235
  };
222
236
  InputEditorDecorations = ( __decorate([
223
237
  ( __param(1, ICodeEditorService)),
224
238
  ( __param(2, IThemeService)),
225
- ( __param(3, IChatAgentService))
239
+ ( __param(3, IChatAgentService)),
240
+ ( __param(4, IConfigurationService)),
241
+ ( __param(5, ILabelService))
226
242
  ], InputEditorDecorations));
227
243
  class InputEditorSlashCommandMode extends Disposable {
228
244
  constructor(widget) {
@@ -5,7 +5,7 @@ import { HoverAnchor, IEditorHoverParticipant, IEditorHoverRenderContext, IHover
5
5
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
6
6
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
7
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
- import { IChatAgentData } from "@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/common/chatAgents";
8
+ import { IChatAgentData } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatAgents";
9
9
  export declare class ChatAgentHoverParticipant implements IEditorHoverParticipant<ChatAgentHoverPart> {
10
10
  private readonly editor;
11
11
  private readonly instantiationService;
@@ -6,9 +6,9 @@ import { RenderedHoverParts, HoverAnchorType, HoverParticipantRegistry } from '@
6
6
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
7
7
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
8
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
9
- import { ChatAgentHover, getChatAgentHoverOptions } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatAgentHover';
9
+ import { ChatAgentHover, getChatAgentHoverOptions } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatAgentHover';
10
10
  import { ChatEditorHoverWrapper } from './editorHoverWrapper.js';
11
- import { extractAgentAndCommand } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
11
+ import { extractAgentAndCommand } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
12
12
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
13
 
14
14
  let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
@@ -58,7 +58,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
58
58
  return ( new RenderedHoverParts([renderedHoverPart]));
59
59
  }
60
60
  getAccessibleContent(hoverPart) {
61
- return localize(5123, 'There is a chat agent hover part here.');
61
+ return localize(5229, 'There is a chat agent hover part here.');
62
62
  }
63
63
  };
64
64
  ChatAgentHoverParticipant = ( __decorate([
@@ -40,6 +40,7 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
40
40
  dispose(): void;
41
41
  registerToolData(toolData: IToolData): IDisposable;
42
42
  private _refreshAllToolContextKeys;
43
+ flushToolChanges(): void;
43
44
  registerToolImplementation(id: string, tool: IToolImpl): IDisposable;
44
45
  getTools(includeDisabled?: boolean): Iterable<Readonly<IToolData>>;
45
46
  getTool(id: string): IToolData | undefined;