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

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,11 +1,12 @@
1
1
 
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
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
4
+ import { getErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
5
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
6
6
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
7
7
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
8
8
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
9
+ import { MIN_COMPRESSIBLE_LENGTH, isProtectedFromCompression } from '../../common/tools/toolResultCompressor.js';
9
10
 
10
11
  let ToolResultCompressorService = class ToolResultCompressorService extends Disposable {
11
12
  constructor(_configurationService, _telemetryService, _logService) {
@@ -14,6 +15,7 @@ let ToolResultCompressorService = class ToolResultCompressorService extends Disp
14
15
  this._telemetryService = _telemetryService;
15
16
  this._logService = _logService;
16
17
  this._filters = ( new Map());
18
+ this._caches = ( new Map());
17
19
  }
18
20
  registerFilter(filter) {
19
21
  for (const id of filter.toolIds) {
@@ -25,29 +27,126 @@ let ToolResultCompressorService = class ToolResultCompressorService extends Disp
25
27
  bucket.push(filter);
26
28
  }
27
29
  }
30
+ registerCache(cache) {
31
+ for (const id of cache.toolIds) {
32
+ let bucket = this._caches.get(id);
33
+ if (!bucket) {
34
+ bucket = [];
35
+ this._caches.set(id, bucket);
36
+ }
37
+ bucket.push(cache);
38
+ }
39
+ }
28
40
  maybeCompress(toolId, input, result) {
29
41
  if (!this._configurationService.getValue(ChatConfiguration.CompressOutputEnabled)) {
30
42
  return undefined;
31
43
  }
32
- const filters = this._filters.get(toolId);
33
- if (!filters || filters.length === 0) {
34
- return undefined;
44
+ const caches = this._caches.get(toolId);
45
+ if (caches && caches.length > 0) {
46
+ for (const c of caches) {
47
+ try {
48
+ c.observe(toolId, input);
49
+ } catch (err) {
50
+ this._logService.warn(
51
+ `[ToolResultCompressor] cache ${c.id} threw in observe on tool ${toolId}: ${getErrorMessage(err)}`,
52
+ err
53
+ );
54
+ }
55
+ }
56
+ for (const c of caches) {
57
+ let hit;
58
+ try {
59
+ hit = c.lookup(toolId, input);
60
+ } catch (err) {
61
+ this._logService.warn(
62
+ `[ToolResultCompressor] cache ${c.id} threw in lookup on tool ${toolId}: ${getErrorMessage(err)}`,
63
+ err
64
+ );
65
+ continue;
66
+ }
67
+ if (hit) {
68
+ const totalBefore = result.content.reduce((acc, p) => acc + (p.kind === "text" ? p.value.length : 0), 0);
69
+ if (totalBefore < MIN_COMPRESSIBLE_LENGTH) {
70
+ continue;
71
+ }
72
+ const hasProtectedContent = ( result.content.some(p => p.kind === "text" && isProtectedFromCompression(p.value)));
73
+ if (hasProtectedContent) {
74
+ continue;
75
+ }
76
+ const cachedResult = this._buildCacheHitResult(result, hit);
77
+ const totalAfter = cachedResult.content.reduce((acc, p) => acc + (p.kind === "text" ? p.value.length : 0), 0);
78
+ if (totalAfter >= totalBefore) {
79
+ continue;
80
+ }
81
+ this._sendTelemetry(toolId, [`cache:${c.id}`], totalBefore, totalAfter, true);
82
+ return cachedResult;
83
+ }
84
+ }
35
85
  }
36
- const matchingFilters = filters.filter(f => f.matches(toolId, input));
86
+ const filters = this._filters.get(toolId);
87
+ const matchingFilters = filters?.filter(f => {
88
+ try {
89
+ return f.matches(toolId, input);
90
+ } catch (err) {
91
+ this._logService.warn(
92
+ `[ToolResultCompressor] filter ${f.id} threw in matches on tool ${toolId}: ${getErrorMessage(err)}`,
93
+ err
94
+ );
95
+ return false;
96
+ }
97
+ }) ?? [];
37
98
  if (matchingFilters.length === 0) {
99
+ this._recordInCaches(toolId, input, result, caches);
38
100
  return undefined;
39
101
  }
40
102
  matchingFilters.slice();
41
103
  {
104
+ this._recordInCaches(toolId, input, result, caches);
42
105
  return undefined;
43
106
  }
44
107
  }
45
- _sendTelemetry(toolId, filterIds, beforeChars, afterChars) {
108
+ _buildCacheHitResult(original, hit) {
109
+ const iso = ( new Date(hit.timestamp)).toISOString();
110
+ const text = `Same output as last run (${iso}). To disable, set ${ChatConfiguration.CompressOutputEnabled} to false.`;
111
+ const firstText = original.content.find(p => p.kind === "text");
112
+ const replacement = {
113
+ kind: "text",
114
+ value: text,
115
+ audience: firstText?.audience,
116
+ title: firstText?.title
117
+ };
118
+ const nonText = original.content.filter(p => p.kind !== "text");
119
+ return {
120
+ ...original,
121
+ content: [replacement, ...nonText]
122
+ };
123
+ }
124
+ _recordInCaches(toolId, input, result, caches) {
125
+ if (!caches || caches.length === 0) {
126
+ return;
127
+ }
128
+ const text = ( result.content.filter(p => p.kind === "text").map(p => p.value)).join("\n");
129
+ if (!text) {
130
+ return;
131
+ }
132
+ for (const c of caches) {
133
+ try {
134
+ c.record(toolId, input, text);
135
+ } catch (err) {
136
+ this._logService.warn(
137
+ `[ToolResultCompressor] cache ${c.id} threw in record on tool ${toolId}: ${getErrorMessage(err)}`,
138
+ err
139
+ );
140
+ }
141
+ }
142
+ }
143
+ _sendTelemetry(toolId, filterIds, beforeChars, afterChars, cacheHit) {
46
144
  this._telemetryService.publicLog2("toolResultCompressed", {
47
145
  toolId,
48
146
  filters: filterIds.join(","),
49
147
  beforeChars,
50
- afterChars
148
+ afterChars,
149
+ cacheHit
51
150
  });
52
151
  }
53
152
  };
@@ -14,7 +14,6 @@ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs
14
14
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
15
15
  import { getDefinitionsAtPosition, getReferencesAtPosition, getImplementationsAtPosition } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/gotoSymbol/browser/goToSymbol';
16
16
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
18
17
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
19
18
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
20
19
  import { QueryType, resultIsMatch } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search';
@@ -55,7 +54,7 @@ let UsagesTool = class UsagesTool extends Disposable {
55
54
  this._workspaceContextService = _workspaceContextService;
56
55
  }
57
56
  getToolData() {
58
- return this._buildToolData(StaticModelDescription, ( localize(7037, "Find references, definitions, and implementations of a symbol")));
57
+ return this._buildToolData(StaticModelDescription, ( localize(7107, "Find references, definitions, and implementations of a symbol")));
59
58
  }
60
59
  _buildToolData(modelDescription, userDescription) {
61
60
  return {
@@ -63,11 +62,10 @@ let UsagesTool = class UsagesTool extends Disposable {
63
62
  toolReferenceName: "usages",
64
63
  canBeReferencedInPrompt: false,
65
64
  icon: ThemeIcon.fromId(Codicon.references.id),
66
- displayName: ( localize(7038, "List Code Usages")),
65
+ displayName: ( localize(7108, "List Code Usages")),
67
66
  userDescription,
68
67
  modelDescription,
69
68
  source: ToolDataSource.Internal,
70
- when: ( ContextKeyExpr.has("config.chat.tools.usagesTool.enabled")),
71
69
  inputSchema: {
72
70
  type: "object",
73
71
  properties: {
@@ -95,7 +93,7 @@ let UsagesTool = class UsagesTool extends Disposable {
95
93
  async prepareToolInvocation(context, _token) {
96
94
  const input = context.parameters;
97
95
  return {
98
- invocationMessage: ( localize(7039, "Analyzing usages of `{0}`", input.symbol))
96
+ invocationMessage: ( localize(7109, "Analyzing usages of `{0}`", input.symbol))
99
97
  };
100
98
  }
101
99
  async invoke(invocation, _countTokens, _progress, token) {
@@ -148,7 +146,7 @@ let UsagesTool = class UsagesTool extends Disposable {
148
146
  )]);
149
147
  if (references.length === 0) {
150
148
  const result = createToolSimpleTextResult(`No usages found for \`${input.symbol}\`.`);
151
- result.toolResultMessage = ( new MarkdownString(( localize(7040, "Analyzed usages of `{0}`, no results", input.symbol))));
149
+ result.toolResultMessage = ( new MarkdownString(( localize(7110, "Analyzed usages of `{0}`, no results", input.symbol))));
152
150
  return result;
153
151
  }
154
152
  const previews = await this._getLinePreviews(input.symbol, references, token);
@@ -169,8 +167,8 @@ let UsagesTool = class UsagesTool extends Disposable {
169
167
  }
170
168
  const text = lines.join("\n");
171
169
  const result = createToolSimpleTextResult(text);
172
- result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7041, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
173
- 7042,
170
+ result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7111, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
171
+ 7112,
174
172
  "Analyzed usages of `{0}`, {1} results",
175
173
  input.symbol,
176
174
  references.length
@@ -0,0 +1,28 @@
1
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
2
+ import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
3
+ import { DefaultModelContribution } from "./defaultModelContribution.js";
4
+ /**
5
+ * Populates the dynamic enum of language models for the `chat.utilityModel`
6
+ * setting. Selecting a model here overrides the internal `copilot-utility`
7
+ * family used for general background/fallback flows (titles, summaries, etc.).
8
+ */
9
+ export declare class UtilityModelContribution extends DefaultModelContribution {
10
+ static readonly ID = "workbench.contrib.utilityModel";
11
+ static readonly modelIds: string[];
12
+ static readonly modelLabels: string[];
13
+ static readonly modelDescriptions: string[];
14
+ constructor(languageModelsService: ILanguageModelsService, logService: ILogService);
15
+ }
16
+ /**
17
+ * Populates the dynamic enum of language models for the
18
+ * `chat.utilitySmallModel` setting. Selecting a model here overrides the
19
+ * internal `copilot-utility-small` family used for fast/cheap background
20
+ * flows (commit messages, intent detection, inline-chat progress, etc.).
21
+ */
22
+ export declare class UtilitySmallModelContribution extends DefaultModelContribution {
23
+ static readonly ID = "workbench.contrib.utilitySmallModel";
24
+ static readonly modelIds: string[];
25
+ static readonly modelLabels: string[];
26
+ static readonly modelDescriptions: string[];
27
+ constructor(languageModelsService: ILanguageModelsService, logService: ILogService);
28
+ }
@@ -0,0 +1,75 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
4
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
6
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
7
+ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
8
+ import { createDefaultModelArrays, DefaultModelContribution } from './defaultModelContribution.js';
9
+
10
+ const defaultEntryLabel = ( localize(7113, "Default"));
11
+ const defaultEntryDescription = ( localize(7114, "Use the built-in default utility model"));
12
+ const utilityArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
13
+ const utilitySmallArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
14
+ let UtilityModelContribution = class UtilityModelContribution extends DefaultModelContribution {
15
+ static {
16
+ this.ID = "workbench.contrib.utilityModel";
17
+ }
18
+ static {
19
+ this.modelIds = utilityArrays.modelIds;
20
+ }
21
+ static {
22
+ this.modelLabels = utilityArrays.modelLabels;
23
+ }
24
+ static {
25
+ this.modelDescriptions = utilityArrays.modelDescriptions;
26
+ }
27
+ constructor(languageModelsService, logService) {
28
+ super(utilityArrays, {
29
+ configKey: ChatConfiguration.UtilityModel,
30
+ configSectionId: "chatSidebar",
31
+ logPrefix: "[UtilityModel]",
32
+ storageFormat: "vendorAndId",
33
+ defaultEntryLabel,
34
+ defaultEntryDescription
35
+ }, languageModelsService, logService);
36
+ }
37
+ };
38
+ UtilityModelContribution = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, ILogService))], UtilityModelContribution));
39
+ let UtilitySmallModelContribution = class UtilitySmallModelContribution extends DefaultModelContribution {
40
+ static {
41
+ this.ID = "workbench.contrib.utilitySmallModel";
42
+ }
43
+ static {
44
+ this.modelIds = utilitySmallArrays.modelIds;
45
+ }
46
+ static {
47
+ this.modelLabels = utilitySmallArrays.modelLabels;
48
+ }
49
+ static {
50
+ this.modelDescriptions = utilitySmallArrays.modelDescriptions;
51
+ }
52
+ constructor(languageModelsService, logService) {
53
+ super(utilitySmallArrays, {
54
+ configKey: ChatConfiguration.UtilitySmallModel,
55
+ configSectionId: "chatSidebar",
56
+ logPrefix: "[UtilitySmallModel]",
57
+ storageFormat: "vendorAndId",
58
+ defaultEntryLabel,
59
+ defaultEntryDescription
60
+ }, languageModelsService, logService);
61
+ }
62
+ };
63
+ UtilitySmallModelContribution = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, ILogService))], UtilitySmallModelContribution));
64
+ registerWorkbenchContribution2(
65
+ UtilityModelContribution.ID,
66
+ UtilityModelContribution,
67
+ WorkbenchPhase.BlockRestore
68
+ );
69
+ registerWorkbenchContribution2(
70
+ UtilitySmallModelContribution.ID,
71
+ UtilitySmallModelContribution,
72
+ WorkbenchPhase.BlockRestore
73
+ );
74
+
75
+ export { UtilityModelContribution, UtilitySmallModelContribution };
@@ -17,29 +17,29 @@ const chatViewsWelcomeJsonSchema = {
17
17
  properties: {
18
18
  icon: {
19
19
  type: "string",
20
- description: ( localize(7043, "The icon for the welcome message."))
20
+ description: ( localize(7115, "The icon for the welcome message."))
21
21
  },
22
22
  title: {
23
23
  type: "string",
24
- description: ( localize(7044, "The title of the welcome message."))
24
+ description: ( localize(7116, "The title of the welcome message."))
25
25
  },
26
26
  content: {
27
27
  type: "string",
28
28
  description: ( localize(
29
- 7045,
29
+ 7117,
30
30
  "The content of the welcome message. The first command link will be rendered as a button."
31
31
  ))
32
32
  },
33
33
  when: {
34
34
  type: "string",
35
- description: ( localize(7046, "Condition when the welcome message is shown."))
35
+ description: ( localize(7118, "Condition when the welcome message is shown."))
36
36
  }
37
37
  }
38
38
  };
39
39
  const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
40
40
  extensionPoint: "chatViewsWelcome",
41
41
  jsonSchema: {
42
- description: ( localize(7047, "Contributes a welcome message to a chat view")),
42
+ description: ( localize(7119, "Contributes a welcome message to a chat view")),
43
43
  type: "array",
44
44
  items: chatViewsWelcomeJsonSchema
45
45
  }
@@ -1,16 +1,15 @@
1
1
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
2
- import { IChatToolOutputStateCache } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service";
3
- export interface IOutputState {
4
- webviewOrigin: string;
2
+ import { IChatOutputPartStateCache } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatOutputPartStateCache.service";
3
+ export interface IOutputPartState {
5
4
  height: number;
6
5
  webviewState?: string;
7
6
  }
8
- export declare class ChatToolOutputStateCache implements IChatToolOutputStateCache {
7
+ export declare class ChatOutputPartStateCache implements IChatOutputPartStateCache {
9
8
  readonly _serviceBrand: undefined;
10
9
  private readonly _cache;
11
10
  constructor(storageService: IStorageService);
12
- get(toolCallId: string): IOutputState | undefined;
13
- set(toolCallId: string, state: IOutputState): void;
11
+ get(key: string): IOutputPartState | undefined;
12
+ set(key: string, state: IOutputPartState): void;
14
13
  private _serialize;
15
14
  private _deserialize;
16
15
  }
@@ -7,12 +7,17 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
7
7
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
8
8
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
9
 
10
- const CACHE_STORAGE_KEY = "chat/toolOutputStateCache";
10
+ const CACHE_STORAGE_KEY = "chat/outputPartStateCache";
11
+ const LEGACY_CACHE_STORAGE_KEY = "chat/toolOutputStateCache";
11
12
  const CACHE_LIMIT = 100;
12
- let ChatToolOutputStateCache = class ChatToolOutputStateCache {
13
+ let ChatOutputPartStateCache = class ChatOutputPartStateCache {
13
14
  constructor(storageService) {
14
15
  this._cache = ( new LRUCache(CACHE_LIMIT, 0.75));
15
- const raw = storageService.get(CACHE_STORAGE_KEY, StorageScope.WORKSPACE, "{}");
16
+ const raw = storageService.get(
17
+ CACHE_STORAGE_KEY,
18
+ StorageScope.WORKSPACE,
19
+ storageService.get(LEGACY_CACHE_STORAGE_KEY, StorageScope.WORKSPACE, "{}")
20
+ );
16
21
  this._deserialize(raw);
17
22
  const onWillSaveStateBecauseOfShutdown = Event.filter(
18
23
  storageService.onWillSaveState,
@@ -27,11 +32,11 @@ let ChatToolOutputStateCache = class ChatToolOutputStateCache {
27
32
  );
28
33
  });
29
34
  }
30
- get(toolCallId) {
31
- return this._cache.get(toolCallId);
35
+ get(key) {
36
+ return this._cache.get(key);
32
37
  }
33
- set(toolCallId, state) {
34
- this._cache.set(toolCallId, state);
38
+ set(key, state) {
39
+ this._cache.set(key, state);
35
40
  }
36
41
  _serialize() {
37
42
  const data = Object.create(null);
@@ -45,13 +50,16 @@ let ChatToolOutputStateCache = class ChatToolOutputStateCache {
45
50
  const data = JSON.parse(raw);
46
51
  for (const key in data) {
47
52
  const state = data[key];
48
- if (typeof state.webviewOrigin === "string" && typeof state.height === "number") {
49
- this._cache.set(key, state);
53
+ if (typeof state.height === "number") {
54
+ this._cache.set(key, {
55
+ height: state.height,
56
+ webviewState: typeof state.webviewState === "string" ? state.webviewState : undefined
57
+ });
50
58
  }
51
59
  }
52
60
  } catch {}
53
61
  }
54
62
  };
55
- ChatToolOutputStateCache = ( __decorate([( __param(0, IStorageService))], ChatToolOutputStateCache));
63
+ ChatOutputPartStateCache = ( __decorate([( __param(0, IStorageService))], ChatOutputPartStateCache));
56
64
 
57
- export { ChatToolOutputStateCache };
65
+ export { ChatOutputPartStateCache };
@@ -41,7 +41,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
41
41
  this.contextKeyService = contextKeyService;
42
42
  this._altKeyPressed = false;
43
43
  const isSteerDefault = this._isSteerDefault();
44
- this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(7506, "Steer with Message")) : ( localize(7507, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
44
+ this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(7592, "Steer with Message")) : ( localize(7593, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
45
45
  this._primaryAction = this._register(( new ActionViewItem(undefined, this._primaryActionAction, {
46
46
  icon: true,
47
47
  label: false
@@ -49,7 +49,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
49
49
  this._register(this.contextKeyService.onDidChangeContext(e => {
50
50
  this._primaryActionAction.enabled = !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key);
51
51
  }));
52
- const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(7508, "More Actions...")))));
52
+ const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(7594, "More Actions...")))));
53
53
  this._dropdown = this._register(( new ChevronActionWidgetDropdown(dropdownAction, {
54
54
  actionProvider: {
55
55
  getActions: () => this._getDropdownActions()
@@ -77,7 +77,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
77
77
  }
78
78
  _updatePrimaryAction() {
79
79
  const isSteer = this._isEffectiveSteer();
80
- this._primaryActionAction.label = isSteer ? ( localize(7506, "Steer with Message")) : ( localize(7507, "Add to Queue"));
80
+ this._primaryActionAction.label = isSteer ? ( localize(7592, "Steer with Message")) : ( localize(7593, "Add to Queue"));
81
81
  this._primaryActionAction.class = ThemeIcon.asClassName(isSteer ? Codicon.arrowUp : Codicon.add);
82
82
  }
83
83
  _runDefaultAction() {
@@ -134,7 +134,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
134
134
  const steerKeybinding = this.keybindingService.lookupKeybinding(ChatSteerWithMessageAction.ID, lookupContext, true);
135
135
  const queueAction = {
136
136
  id: ChatQueueMessageAction.ID,
137
- label: ( localize(7507, "Add to Queue")),
137
+ label: ( localize(7593, "Add to Queue")),
138
138
  tooltip: "",
139
139
  enabled: true,
140
140
  checked: !isSteerDefault,
@@ -143,7 +143,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
143
143
  keybinding: queueKeybinding,
144
144
  hover: {
145
145
  content: ( localize(
146
- 7509,
146
+ 7595,
147
147
  "Queue this message to send after the current request completes. The current response will finish uninterrupted before the queued message is sent."
148
148
  ))
149
149
  },
@@ -153,7 +153,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
153
153
  };
154
154
  const steerAction = {
155
155
  id: ChatSteerWithMessageAction.ID,
156
- label: ( localize(7506, "Steer with Message")),
156
+ label: ( localize(7592, "Steer with Message")),
157
157
  tooltip: "",
158
158
  enabled: true,
159
159
  checked: isSteerDefault,
@@ -162,7 +162,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
162
162
  keybinding: steerKeybinding,
163
163
  hover: {
164
164
  content: ( localize(
165
- 7510,
165
+ 7596,
166
166
  "Send this message at the next opportunity, signaling the current request to yield. The current response will stop and the new message will be sent immediately."
167
167
  ))
168
168
  },
@@ -172,13 +172,13 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
172
172
  };
173
173
  const sendAction = {
174
174
  id: "_" + ChatSubmitAction.ID,
175
- label: ( localize(7511, "Stop and Send")),
175
+ label: ( localize(7597, "Stop and Send")),
176
176
  tooltip: "",
177
177
  enabled: true,
178
178
  icon: Codicon.arrowRight,
179
179
  class: undefined,
180
180
  hover: {
181
- content: ( localize(7512, "Cancel the current request and send this message immediately."))
181
+ content: ( localize(7598, "Cancel the current request and send this message immediately."))
182
182
  },
183
183
  run: () => {
184
184
  this.commandService.executeCommand(ChatSubmitAction.ID);
@@ -91,33 +91,65 @@ let AgentHostInputCompletions = class AgentHostInputCompletions extends AgentHos
91
91
  }
92
92
  _buildItem(position, item, widget) {
93
93
  const replaceRange = AgentHostInputCompletions_1.computeRange(position, item);
94
- const label = item.attachment.displayName ?? item.insertText;
95
- const description = item.attachment.uri.path;
96
- return {
97
- label: {
98
- label,
99
- description
100
- },
101
- insertText: item.insertText,
102
- filterText: item.insertText,
103
- range: replaceRange,
104
- kind: item.attachment.isDirectory ? CompletionItemKind.Folder : CompletionItemKind.File,
105
- command: {
106
- id: AgentHostInputCompletions_1.addReferenceCommand,
107
- title: "",
108
- arguments: [( new AgentHostReferenceArgument(
109
- widget,
110
- item.attachment.uri,
111
- item.attachment.displayName,
112
- !!item.attachment.isDirectory,
113
- replaceRange.replace.setEndPosition(
114
- replaceRange.replace.startLineNumber,
115
- replaceRange.replace.startColumn + item.insertText.length
116
- ),
117
- item.attachment._meta
118
- ))]
94
+ const attachment = item.attachment;
95
+ switch (attachment.kind) {
96
+ case "command":
97
+ {
98
+ return {
99
+ label: item.insertText,
100
+ insertText: item.insertText,
101
+ filterText: item.insertText,
102
+ range: replaceRange,
103
+ kind: CompletionItemKind.Text,
104
+ detail: attachment.description
105
+ };
119
106
  }
120
- };
107
+ case "skill":
108
+ {
109
+ const label = item.insertText.trimEnd();
110
+ return {
111
+ label: attachment.displayName ? {
112
+ label,
113
+ description: attachment.displayName
114
+ } : label,
115
+ insertText: item.insertText,
116
+ filterText: item.insertText,
117
+ range: replaceRange,
118
+ kind: CompletionItemKind.Text,
119
+ detail: attachment.description
120
+ };
121
+ }
122
+ default:
123
+ {
124
+ const label = attachment.displayName ?? item.insertText;
125
+ const description = attachment.uri.path;
126
+ return {
127
+ label: {
128
+ label,
129
+ description
130
+ },
131
+ insertText: item.insertText,
132
+ filterText: item.insertText,
133
+ range: replaceRange,
134
+ kind: attachment.isDirectory ? CompletionItemKind.Folder : CompletionItemKind.File,
135
+ command: {
136
+ id: AgentHostInputCompletions_1.addReferenceCommand,
137
+ title: "",
138
+ arguments: [( new AgentHostReferenceArgument(
139
+ widget,
140
+ attachment.uri,
141
+ attachment.displayName,
142
+ !!attachment.isDirectory,
143
+ replaceRange.replace.setEndPosition(
144
+ replaceRange.replace.startLineNumber,
145
+ replaceRange.replace.startColumn + item.insertText.length
146
+ ),
147
+ attachment._meta
148
+ ))]
149
+ }
150
+ };
151
+ }
152
+ }
121
153
  }
122
154
  };
123
155
  AgentHostInputCompletions = AgentHostInputCompletions_1 = ( __decorate([( __param(0, ILanguageFeaturesService)), ( __param(1, IChatWidgetService)), ( __param(2, IChatSessionsService))], AgentHostInputCompletions));