@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.4

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 (257) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +15 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
  8. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
  13. package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
  15. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
  22. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
  23. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
  147. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
  153. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
  158. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  159. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
  164. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  167. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  168. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
  171. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  174. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  177. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  178. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
  180. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
  181. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
  183. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
  184. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
  199. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
  200. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
  208. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
  214. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
  215. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
  216. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
  217. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
  218. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
  219. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
  220. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
  221. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  223. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  225. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  230. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -9
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
  252. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
  253. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  254. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
  255. package/vscode/src/vs/base/common/defaultAccount.js +0 -12
  256. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
  257. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
@@ -1,32 +1,8 @@
1
1
 
2
2
  import { TerminalToolId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/terminalToolIds';
3
+ import { parseCommand, segmentHead, segmentHasFlag } from './terminalCommandParser.js';
4
+ import { TerminalOutputCache } from './terminalOutputCache.js';
3
5
 
4
- function parseCommandHead(command) {
5
- if (!command) {
6
- return undefined;
7
- }
8
- const firstSegment = command.split(/[|;&]/)[0].trim();
9
- if (!firstSegment) {
10
- return undefined;
11
- }
12
- const tokens = firstSegment.split(/\s+/).filter(t => !/^[A-Z_][A-Z0-9_]*=/.test(t));
13
- const head = tokens[0];
14
- if (!head) {
15
- return undefined;
16
- }
17
- let sub;
18
- for (let i = 1; i < tokens.length; i++) {
19
- if (tokens[i].startsWith("--")) {
20
- continue;
21
- }
22
- sub = tokens[i];
23
- break;
24
- }
25
- return {
26
- head,
27
- sub
28
- };
29
- }
30
6
  function isTerminalInput(input) {
31
7
  if (typeof input !== "object" || input === null) {
32
8
  return false;
@@ -34,16 +10,45 @@ function isTerminalInput(input) {
34
10
  const terminalInput = input;
35
11
  return terminalInput.command === undefined || typeof terminalInput.command === "string";
36
12
  }
37
- const gitDiffFilter = {
38
- id: "terminal.git-diff",
39
- toolIds: [TerminalToolId.RunInTerminal],
40
- matches(_toolId, input) {
13
+ function makeMatcher(opts) {
14
+ const allowedSubs = opts.sub === "*" || opts.sub === undefined ? undefined : opts.sub === null ? null : typeof opts.sub === "string" ? ( new Set([opts.sub])) : ( new Set(opts.sub));
15
+ return input => {
41
16
  if (!isTerminalInput(input)) {
42
17
  return false;
43
18
  }
44
- const parsed = parseCommandHead(input.command);
45
- return parsed?.head === "git" && (parsed.sub === "diff" || parsed.sub === "show");
46
- },
19
+ const parsed = parseCommand(input.command);
20
+ if (!parsed) {
21
+ return false;
22
+ }
23
+ for (const seg of parsed.segments) {
24
+ const head = segmentHead(seg);
25
+ if (!head || head.head !== opts.head) {
26
+ continue;
27
+ }
28
+ if (allowedSubs === null) {
29
+ if (head.sub !== undefined) {
30
+ continue;
31
+ }
32
+ } else if (allowedSubs !== undefined) {
33
+ if (head.sub === undefined || !( allowedSubs.has(head.sub))) {
34
+ continue;
35
+ }
36
+ }
37
+ if (opts.flag && !opts.flag(seg)) {
38
+ continue;
39
+ }
40
+ return true;
41
+ }
42
+ return false;
43
+ };
44
+ }
45
+ const gitDiffFilter = {
46
+ id: "terminal.git-diff",
47
+ toolIds: [TerminalToolId.RunInTerminal],
48
+ matches: (_toolId, input) => makeMatcher({
49
+ head: "git",
50
+ sub: ["diff", "show"]
51
+ })(input),
47
52
  apply(text) {
48
53
  const lines = text.split("\n");
49
54
  const out = [];
@@ -142,6 +147,68 @@ const gitDiffFilter = {
142
147
  };
143
148
  }
144
149
  };
150
+ const gitLogFilter = {
151
+ id: "terminal.git-log",
152
+ toolIds: [TerminalToolId.RunInTerminal],
153
+ matches: (_toolId, input) => makeMatcher({
154
+ head: "git",
155
+ sub: ["log", "reflog", "shortlog"]
156
+ })(input),
157
+ apply(text) {
158
+ const lines = text.split("\n");
159
+ const out = [];
160
+ let blankRun = 0;
161
+ for (const line of lines) {
162
+ if (line.trim() === "") {
163
+ blankRun++;
164
+ if (blankRun <= 1) {
165
+ out.push(line);
166
+ }
167
+ continue;
168
+ }
169
+ blankRun = 0;
170
+ out.push(line);
171
+ }
172
+ while (out.length > 0 && out[out.length - 1].trim() === "") {
173
+ out.pop();
174
+ }
175
+ const result = out.join("\n");
176
+ return {
177
+ text: result,
178
+ compressed: result.length < text.length
179
+ };
180
+ }
181
+ };
182
+ const gitStatusFilter = {
183
+ id: "terminal.git-status",
184
+ toolIds: [TerminalToolId.RunInTerminal],
185
+ matches: (_toolId, input) => makeMatcher({
186
+ head: "git",
187
+ sub: "status"
188
+ })(input),
189
+ apply(text) {
190
+ const HINT_PATTERNS = [
191
+ /^\s*\(use "git add.*"\s+to.*\)\s*$/,
192
+ /^\s*\(use "git restore.*"\s+to.*\)\s*$/,
193
+ /^\s*\(use "git rm --cached.*"\s+to.*\)\s*$/,
194
+ /^\s*\(use "git push" to publish.*\)\s*$/,
195
+ /^\s*\(commit or discard.*\)\s*$/
196
+ ];
197
+ const lines = text.split("\n");
198
+ const out = [];
199
+ for (const line of lines) {
200
+ if (( HINT_PATTERNS.some(re => re.test(line)))) {
201
+ continue;
202
+ }
203
+ out.push(line);
204
+ }
205
+ const result = out.join("\n");
206
+ return {
207
+ text: result,
208
+ compressed: result.length < text.length
209
+ };
210
+ }
211
+ };
145
212
  const lsFilter = {
146
213
  id: "terminal.ls",
147
214
  toolIds: [TerminalToolId.RunInTerminal],
@@ -149,11 +216,20 @@ const lsFilter = {
149
216
  if (!isTerminalInput(input)) {
150
217
  return false;
151
218
  }
152
- const parsed = parseCommandHead(input.command);
153
- if (parsed?.head !== "ls") {
219
+ const parsed = parseCommand(input.command);
220
+ if (!parsed) {
154
221
  return false;
155
222
  }
156
- return /\s-\w*l/.test(input.command ?? "");
223
+ for (const seg of parsed.segments) {
224
+ const head = segmentHead(seg);
225
+ if (head?.head !== "ls") {
226
+ continue;
227
+ }
228
+ if (segmentHasFlag(seg, ["l"])) {
229
+ return true;
230
+ }
231
+ }
232
+ return false;
157
233
  },
158
234
  apply(text) {
159
235
  const lines = text.split("\n");
@@ -181,6 +257,241 @@ const lsFilter = {
181
257
  };
182
258
  }
183
259
  };
260
+ const MAX_LIST_LINES = 200;
261
+ function capLines(text, max, label) {
262
+ const lines = text.split("\n");
263
+ if (lines.length <= max + 1) {
264
+ return {
265
+ text,
266
+ compressed: false
267
+ };
268
+ }
269
+ const kept = lines.slice(0, max);
270
+ const omitted = lines.length - max;
271
+ kept.push(`... ${omitted} ${label} lines omitted ...`);
272
+ const result = kept.join("\n");
273
+ return {
274
+ text: result,
275
+ compressed: result.length < text.length
276
+ };
277
+ }
278
+ const findFilter = {
279
+ id: "terminal.find",
280
+ toolIds: [TerminalToolId.RunInTerminal],
281
+ matches(_toolId, input) {
282
+ if (!isTerminalInput(input)) {
283
+ return false;
284
+ }
285
+ const parsed = parseCommand(input.command);
286
+ if (!parsed) {
287
+ return false;
288
+ }
289
+ return ( parsed.segments.some(seg => segmentHead(seg)?.head === "find"));
290
+ },
291
+ apply: text => capLines(text, MAX_LIST_LINES, "find result")
292
+ };
293
+ const grepFilter = {
294
+ id: "terminal.grep",
295
+ toolIds: [TerminalToolId.RunInTerminal],
296
+ matches(_toolId, input) {
297
+ if (!isTerminalInput(input)) {
298
+ return false;
299
+ }
300
+ const parsed = parseCommand(input.command);
301
+ if (!parsed) {
302
+ return false;
303
+ }
304
+ return ( parsed.segments.some(seg => {
305
+ const head = segmentHead(seg);
306
+ return head !== undefined && (head.head === "grep" || head.head === "rg" || head.head === "ack" || head.head === "ag");
307
+ }));
308
+ },
309
+ apply: text => capLines(text, MAX_LIST_LINES, "matching")
310
+ };
311
+ const treeFilter = {
312
+ id: "terminal.tree",
313
+ toolIds: [TerminalToolId.RunInTerminal],
314
+ matches(_toolId, input) {
315
+ if (!isTerminalInput(input)) {
316
+ return false;
317
+ }
318
+ const parsed = parseCommand(input.command);
319
+ if (!parsed) {
320
+ return false;
321
+ }
322
+ return ( parsed.segments.some(seg => segmentHead(seg)?.head === "tree"));
323
+ },
324
+ apply: text => capLines(text, MAX_LIST_LINES, "tree")
325
+ };
326
+ function compressTestRunnerOutput(text) {
327
+ const lines = text.split("\n");
328
+ const dropPatterns = [
329
+ /^\s*PASS\s+\S+/,
330
+ /^\s*ok\s+\d+\s+/,
331
+ /^\s*\u2713\s/,
332
+ /^\s*[.sSEFx]{10,}\s*$/,
333
+ /^test\s.+ \.\.\. ok\s*$/,
334
+ /^running \d+ tests?$/i
335
+ ];
336
+ const out = [];
337
+ for (const line of lines) {
338
+ if (( dropPatterns.some(re => re.test(line)))) {
339
+ continue;
340
+ }
341
+ out.push(line);
342
+ }
343
+ const result = out.join("\n");
344
+ return {
345
+ text: result,
346
+ compressed: result.length < text.length
347
+ };
348
+ }
349
+ const testRunnerFilter = {
350
+ id: "terminal.test-runner",
351
+ toolIds: [TerminalToolId.RunInTerminal],
352
+ matches(_toolId, input) {
353
+ if (!isTerminalInput(input)) {
354
+ return false;
355
+ }
356
+ const parsed = parseCommand(input.command);
357
+ if (!parsed) {
358
+ return false;
359
+ }
360
+ for (const seg of parsed.segments) {
361
+ const head = segmentHead(seg);
362
+ if (!head) {
363
+ continue;
364
+ }
365
+ if (head.head === "pytest" || head.head === "jest" || head.head === "vitest" || head.head === "playwright" || head.head === "mocha") {
366
+ return true;
367
+ }
368
+ if (head.head === "cargo" && head.sub && /^(test|nextest)$/.test(head.sub)) {
369
+ return true;
370
+ }
371
+ if (head.head === "go" && head.sub === "test") {
372
+ return true;
373
+ }
374
+ if ((head.head === "npm" || head.head === "pnpm" || head.head === "yarn") && head.sub === "test") {
375
+ return true;
376
+ }
377
+ if (head.head === "npx" && head.sub && /^(jest|vitest|playwright|mocha)$/.test(head.sub)) {
378
+ return true;
379
+ }
380
+ }
381
+ return false;
382
+ },
383
+ apply: text => compressTestRunnerOutput(text)
384
+ };
385
+ function compressBuildOutput(text) {
386
+ const dropPatterns = [
387
+ /^\s*Compiling\s+\S+\s+v\S+/,
388
+ /^\s*Downloading\s+\S+/,
389
+ /^\s*Downloaded\s+\S+/,
390
+ /^\s*Updating\s+crates\.io\s+index/,
391
+ /^\s*Finished\s+(dev|release|test)/,
392
+ /^make\[\d+\]: (Entering|Leaving) directory/,
393
+ /^Download(ed|ing) https?:/,
394
+ /^\[INFO\] Downloading from /,
395
+ /^\[INFO\] Downloaded from /,
396
+ /^> Task :/
397
+ ];
398
+ const lines = text.split("\n");
399
+ const out = [];
400
+ for (const line of lines) {
401
+ if (( dropPatterns.some(re => re.test(line)))) {
402
+ continue;
403
+ }
404
+ out.push(line);
405
+ }
406
+ const result = out.join("\n");
407
+ return {
408
+ text: result,
409
+ compressed: result.length < text.length
410
+ };
411
+ }
412
+ const buildToolFilter = {
413
+ id: "terminal.build-tool",
414
+ toolIds: [TerminalToolId.RunInTerminal],
415
+ matches(_toolId, input) {
416
+ if (!isTerminalInput(input)) {
417
+ return false;
418
+ }
419
+ const parsed = parseCommand(input.command);
420
+ if (!parsed) {
421
+ return false;
422
+ }
423
+ for (const seg of parsed.segments) {
424
+ const head = segmentHead(seg);
425
+ if (!head) {
426
+ continue;
427
+ }
428
+ if (head.head === "cargo" && head.sub && /^(build|check|clippy)$/.test(head.sub)) {
429
+ return true;
430
+ }
431
+ if (head.head === "go" && (head.sub === "build" || head.sub === "vet")) {
432
+ return true;
433
+ }
434
+ if (head.head === "make" || head.head === "tsc" || head.head === "gradle" || head.head === "mvn") {
435
+ return true;
436
+ }
437
+ if (head.head === "dotnet" && head.sub === "build") {
438
+ return true;
439
+ }
440
+ }
441
+ return false;
442
+ },
443
+ apply: text => compressBuildOutput(text)
444
+ };
445
+ function compressLinterOutput(text) {
446
+ const lines = text.split("\n");
447
+ const dropPatterns = [
448
+ /^\s*Success: no issues found\s*$/i,
449
+ /^\s*All checks passed\.?\s*$/i,
450
+ /^\s*Success:\s*0 errors/i
451
+ ];
452
+ const out = [];
453
+ for (const line of lines) {
454
+ if (( dropPatterns.some(re => re.test(line)))) {
455
+ continue;
456
+ }
457
+ out.push(line);
458
+ }
459
+ const result = out.join("\n");
460
+ return {
461
+ text: result,
462
+ compressed: result.length < text.length
463
+ };
464
+ }
465
+ const linterFilter = {
466
+ id: "terminal.linter",
467
+ toolIds: [TerminalToolId.RunInTerminal],
468
+ matches(_toolId, input) {
469
+ if (!isTerminalInput(input)) {
470
+ return false;
471
+ }
472
+ const parsed = parseCommand(input.command);
473
+ if (!parsed) {
474
+ return false;
475
+ }
476
+ for (const seg of parsed.segments) {
477
+ const head = segmentHead(seg);
478
+ if (!head) {
479
+ continue;
480
+ }
481
+ if (head.head === "eslint" || head.head === "ruff" || head.head === "mypy" || head.head === "prettier" || head.head === "rubocop" || head.head === "golangci-lint") {
482
+ return true;
483
+ }
484
+ if (head.head === "cargo" && head.sub === "clippy") {
485
+ return true;
486
+ }
487
+ if (head.head === "npx" && head.sub && /^(eslint|prettier|tsc)$/.test(head.sub)) {
488
+ return true;
489
+ }
490
+ }
491
+ return false;
492
+ },
493
+ apply: text => compressLinterOutput(text)
494
+ };
184
495
  const npmInstallFilter = {
185
496
  id: "terminal.npm-install",
186
497
  toolIds: [TerminalToolId.RunInTerminal],
@@ -188,27 +499,42 @@ const npmInstallFilter = {
188
499
  if (!isTerminalInput(input)) {
189
500
  return false;
190
501
  }
191
- const parsed = parseCommandHead(input.command);
502
+ const parsed = parseCommand(input.command);
192
503
  if (!parsed) {
193
504
  return false;
194
505
  }
195
- if (parsed.head === "npm" && (parsed.sub === "install" || parsed.sub === "i" || parsed.sub === "ci")) {
196
- return true;
197
- }
198
- if ((parsed.head === "yarn" || parsed.head === "pnpm") && parsed.sub !== "test") {
199
- if (/\binstall\b|\badd\b/.test(input.command ?? "")) {
506
+ for (const seg of parsed.segments) {
507
+ const head = segmentHead(seg);
508
+ if (!head) {
509
+ continue;
510
+ }
511
+ if (head.head === "npm" && head.sub && /^(install|i|ci|add)$/.test(head.sub)) {
200
512
  return true;
201
513
  }
202
- if (parsed.sub === undefined) {
203
- return /^\s*(?:[A-Z_][A-Z0-9_]*=\S+\s+)*(?:yarn|pnpm)\s*$/.test(input.command ?? "");
514
+ if (head.head === "yarn" || head.head === "pnpm") {
515
+ if (head.sub === "install" || head.sub === "add" || head.sub === "i") {
516
+ return true;
517
+ }
518
+ if (head.sub === undefined) {
519
+ return true;
520
+ }
204
521
  }
205
522
  }
206
523
  return false;
207
524
  },
208
525
  apply(text) {
209
526
  const lines = text.split("\n");
210
- const dropPatterns = [/^npm warn deprecated /i,
211
- /^\s*\[#+>?\s*\] /, /^npm http /i, /^npm timing /i, /^npm sill /i, /^npm verb /i, /^\s*\d+ packages? are looking for funding/i, /run `npm fund`/i, /^Run `npm audit/i];
527
+ const dropPatterns = [
528
+ /^npm warn deprecated /i,
529
+ /^\s*\[#+>?\s*\] /,
530
+ /^npm http /i,
531
+ /^npm timing /i,
532
+ /^npm sill /i,
533
+ /^npm verb /i,
534
+ /^\s*\d+ packages? are looking for funding/i,
535
+ /run `npm fund`/i,
536
+ /^Run `npm audit/i
537
+ ];
212
538
  const out = [];
213
539
  for (const line of lines) {
214
540
  if (( dropPatterns.some(re => re.test(line)))) {
@@ -223,10 +549,52 @@ const npmInstallFilter = {
223
549
  };
224
550
  }
225
551
  };
552
+ const envFilter = {
553
+ id: "terminal.env",
554
+ toolIds: [TerminalToolId.RunInTerminal],
555
+ matches(_toolId, input) {
556
+ if (!isTerminalInput(input)) {
557
+ return false;
558
+ }
559
+ const parsed = parseCommand(input.command);
560
+ if (!parsed) {
561
+ return false;
562
+ }
563
+ for (const seg of parsed.segments) {
564
+ const head = segmentHead(seg);
565
+ if (head?.head === "printenv") {
566
+ return true;
567
+ }
568
+ if (head === undefined && seg.wrappers.length > 0 && seg.wrappers[seg.wrappers.length - 1] === "env" && seg.tokens.length === 0) {
569
+ return true;
570
+ }
571
+ }
572
+ return false;
573
+ },
574
+ apply(text) {
575
+ const lines = text.split("\n").filter(l => l.trim() !== "");
576
+ const unique = Array.from(( new Set(lines))).sort();
577
+ const result = unique.join("\n");
578
+ return {
579
+ text: result,
580
+ compressed: result.length < text.length
581
+ };
582
+ }
583
+ };
226
584
  function registerTerminalCompressors(compressor) {
227
585
  compressor.registerFilter(gitDiffFilter);
586
+ compressor.registerFilter(gitLogFilter);
587
+ compressor.registerFilter(gitStatusFilter);
228
588
  compressor.registerFilter(lsFilter);
589
+ compressor.registerFilter(findFilter);
590
+ compressor.registerFilter(grepFilter);
591
+ compressor.registerFilter(treeFilter);
592
+ compressor.registerFilter(testRunnerFilter);
593
+ compressor.registerFilter(buildToolFilter);
594
+ compressor.registerFilter(linterFilter);
229
595
  compressor.registerFilter(npmInstallFilter);
596
+ compressor.registerFilter(envFilter);
597
+ compressor.registerCache(( new TerminalOutputCache()));
230
598
  }
231
599
 
232
- export { gitDiffFilter, lsFilter, npmInstallFilter, parseCommandHead, registerTerminalCompressors };
600
+ export { buildToolFilter, envFilter, findFilter, gitDiffFilter, gitLogFilter, gitStatusFilter, grepFilter, linterFilter, lsFilter, npmInstallFilter, registerTerminalCompressors, testRunnerFilter, treeFilter };
@@ -1,15 +1,10 @@
1
1
  import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { type IRemoteFilesystemConnection } from "../../../../platform/agentHost/common/agentHostFileSystemProvider.js";
3
+ import { SYNCED_CUSTOMIZATION_SCHEME } from "../../../../platform/agentHost/common/agentHostFileSystemService.js";
3
4
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
4
5
  import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
5
6
  import { IAgentHostFileSystemService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/agentHost/common/agentHostFileSystemService.service";
6
- /**
7
- * Scheme used for the in-memory plugin filesystem backing synced customizations.
8
- *
9
- * URIs under this scheme are served by a registered {@link InMemoryFileSystemProvider}
10
- * and are reachable by the agent host via `fetchContent`.
11
- */
12
- export declare const SYNCED_CUSTOMIZATION_SCHEME = "vscode-synced-customization";
7
+ export { SYNCED_CUSTOMIZATION_SCHEME };
13
8
  export declare class AgentHostFileSystemService extends Disposable implements IAgentHostFileSystemService {
14
9
  private readonly _fileService;
15
10
  readonly _serviceBrand: undefined;
@@ -2,6 +2,7 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
4
  import { AgentHostFileSystemProvider } from '../../../../platform/agentHost/common/agentHostFileSystemProvider.js';
5
+ import { SYNCED_CUSTOMIZATION_SCHEME } from '../../../../platform/agentHost/common/agentHostFileSystemService.js';
5
6
  import { AGENT_HOST_SCHEME, AGENT_HOST_LABEL_FORMATTER } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
6
7
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
7
8
  import { InMemoryFileSystemProvider } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/inMemoryFilesystemProvider';
@@ -9,7 +10,6 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/ext
9
10
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
10
11
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
12
 
12
- const SYNCED_CUSTOMIZATION_SCHEME = "vscode-synced-customization";
13
13
  let AgentHostFileSystemService = class AgentHostFileSystemService extends Disposable {
14
14
  constructor(_fileService, labelService) {
15
15
  super();
@@ -1,69 +0,0 @@
1
- export interface IQuotaSnapshotData {
2
- readonly overage_count: number;
3
- readonly overage_permitted: boolean;
4
- readonly percent_remaining: number;
5
- readonly unlimited: boolean;
6
- readonly quota_reset_at?: number;
7
- readonly token_based_billing?: boolean;
8
- readonly entitlement?: string;
9
- readonly has_quota?: boolean;
10
- }
11
- export interface ILegacyQuotaSnapshotData {
12
- readonly limited_user_quotas?: {
13
- readonly chat: number;
14
- readonly completions: number;
15
- };
16
- readonly monthly_quotas?: {
17
- readonly chat: number;
18
- readonly completions: number;
19
- };
20
- }
21
- export interface IEntitlementsData extends ILegacyQuotaSnapshotData {
22
- readonly access_type_sku: string;
23
- readonly chat_enabled: boolean;
24
- readonly assigned_date: string;
25
- readonly can_signup_for_limited: boolean;
26
- readonly copilot_plan: string;
27
- readonly organization_login_list: string[];
28
- readonly analytics_tracking_id: string;
29
- readonly limited_user_reset_date?: string;
30
- readonly quota_reset_date?: string;
31
- readonly quota_reset_date_utc?: string;
32
- readonly token_based_billing?: boolean;
33
- readonly quota_snapshots?: {
34
- chat?: IQuotaSnapshotData;
35
- completions?: IQuotaSnapshotData;
36
- premium_interactions?: IQuotaSnapshotData;
37
- };
38
- }
39
- export declare enum CopilotSessionSearchPolicy {
40
- Unknown = 0,
41
- Enabled = 1,
42
- Disabled = 2,
43
- Unconfigured = 3,
44
- NoPolicy = 4
45
- }
46
- export interface IPolicyData {
47
- readonly mcp?: boolean;
48
- readonly chat_preview_features_enabled?: boolean;
49
- readonly chat_agent_enabled?: boolean;
50
- readonly session_search?: CopilotSessionSearchPolicy;
51
- readonly mcpRegistryUrl?: string;
52
- readonly mcpAccess?: "allow_all" | "registry_only";
53
- }
54
- export interface ICopilotTokenInfo {
55
- readonly sn?: string;
56
- readonly fcv1?: string;
57
- }
58
- export interface IDefaultAccountAuthenticationProvider {
59
- readonly id: string;
60
- readonly name: string;
61
- readonly enterprise: boolean;
62
- }
63
- export interface IDefaultAccount {
64
- readonly authenticationProvider: IDefaultAccountAuthenticationProvider;
65
- readonly accountName: string;
66
- readonly sessionId: string;
67
- readonly enterprise: boolean;
68
- readonly entitlementsData?: IEntitlementsData | null;
69
- }
@@ -1,12 +0,0 @@
1
-
2
-
3
- var CopilotSessionSearchPolicy;
4
- (function (CopilotSessionSearchPolicy) {
5
- CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Unknown"] = 0] = "Unknown";
6
- CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Enabled"] = 1] = "Enabled";
7
- CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Disabled"] = 2] = "Disabled";
8
- CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Unconfigured"] = 3] = "Unconfigured";
9
- CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["NoPolicy"] = 4] = "NoPolicy";
10
- })(CopilotSessionSearchPolicy || (CopilotSessionSearchPolicy = {}));
11
-
12
- export { CopilotSessionSearchPolicy };
@@ -1,15 +0,0 @@
1
- import { EditSuggestionId } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource";
2
- import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
3
- import { IEditTelemetryCodeAcceptedData, IEditTelemetryCodeRejectedData, IEditTelemetryCodeSuggestedData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService";
4
- import { IAiEditTelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service";
5
- import { IRandomService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/randomService.service";
6
- export declare class AiEditTelemetryServiceImpl implements IAiEditTelemetryService {
7
- private readonly instantiationService;
8
- private readonly _randomService;
9
- readonly _serviceBrand: undefined;
10
- private readonly _telemetryService;
11
- constructor(instantiationService: IInstantiationService, _randomService: IRandomService);
12
- createSuggestionId(data: Omit<IEditTelemetryCodeSuggestedData, "suggestionId">): EditSuggestionId;
13
- handleCodeAccepted(data: IEditTelemetryCodeAcceptedData): void;
14
- handleCodeRejected(data: IEditTelemetryCodeRejectedData): void;
15
- }