@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
@@ -0,0 +1,6 @@
1
+ export declare enum CopilotToolId {
2
+ ReadFile = "copilot_readFile"
3
+ }
4
+ export declare enum CopilotChatSettingId {
5
+ Gpt55ReadFileToolEnabled = "github.copilot.chat.gpt55ReadFileTool.enabled"
6
+ }
@@ -0,0 +1,12 @@
1
+
2
+
3
+ var CopilotToolId;
4
+ (function (CopilotToolId) {
5
+ CopilotToolId["ReadFile"] = "copilot_readFile";
6
+ })(CopilotToolId || (CopilotToolId = {}));
7
+ var CopilotChatSettingId;
8
+ (function (CopilotChatSettingId) {
9
+ CopilotChatSettingId["Gpt55ReadFileToolEnabled"] = "github.copilot.chat.gpt55ReadFileTool.enabled";
10
+ })(CopilotChatSettingId || (CopilotChatSettingId = {}));
11
+
12
+ export { CopilotChatSettingId, CopilotToolId };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Result of running a {@link IToolResultFilter}.
3
+ *
4
+ * `text` is the new text to substitute back into the corresponding text part.
5
+ * `compressed` is `true` if any compression actually happened — used purely
6
+ * for telemetry / accounting.
7
+ */
8
+ export interface IToolResultFilterOutput {
9
+ readonly text: string;
10
+ readonly compressed: boolean;
11
+ }
12
+ /**
13
+ * A pure function that compresses a single text part of a tool result.
14
+ *
15
+ * Implementations MUST never make output worse than the input. If a filter
16
+ * cannot improve a piece of text, it should return the original `text` and
17
+ * `compressed: false`.
18
+ */
19
+ export interface IToolResultFilter {
20
+ readonly id: string;
21
+ /** Tool ids this filter applies to. */
22
+ readonly toolIds: readonly string[];
23
+ /**
24
+ * Decide whether this filter wants to handle the result. May inspect tool
25
+ * input (e.g. for `run_in_terminal`, the command being run).
26
+ */
27
+ matches(toolId: string, input: unknown): boolean;
28
+ apply(text: string, input: unknown): IToolResultFilterOutput;
29
+ }
30
+ /**
31
+ * Result of looking up a tool invocation in an {@link IToolResultCache}.
32
+ */
33
+ export interface IToolResultCacheHit {
34
+ /** The cached output content from the previous run. */
35
+ readonly text: string;
36
+ /** Wall-clock timestamp (ms since epoch) of when the cached entry was produced. */
37
+ readonly timestamp: number;
38
+ }
39
+ /**
40
+ * A read-through / write-through cache for tool results. Used to implement
41
+ * "same as last run" response dedup for read-only, deterministic tool calls.
42
+ *
43
+ * The compressor invokes caches in this order on every `maybeCompress` call:
44
+ * 1. `observe(toolId, input)` — caches may use this hook to invalidate
45
+ * sibling entries (e.g. a `git commit` clears `git status` / `git diff`).
46
+ * 2. `lookup(toolId, input)` — if any cache returns a hit, the compressor
47
+ * substitutes the result with a single-line "same output as last run"
48
+ * reply and emits `cacheHit: true` telemetry.
49
+ * 3. If no hit, after compression the compressor calls `record` so the
50
+ * cache can store the (possibly compressed) output.
51
+ */
52
+ export interface IToolResultCache {
53
+ readonly id: string;
54
+ readonly toolIds: readonly string[];
55
+ observe(toolId: string, input: unknown): void;
56
+ lookup(toolId: string, input: unknown): IToolResultCacheHit | undefined;
57
+ record(toolId: string, input: unknown, text: string): void;
58
+ }
59
+ /**
60
+ * Heuristically decide whether a text part should be excluded from filter
61
+ * rewriting because it carries structured data the model is likely to parse.
62
+ *
63
+ * Currently detects:
64
+ * - Top-level JSON objects/arrays (parsed to verify)
65
+ * - YAML documents (leading `---` header)
66
+ * - TOML-style documents (leading `[section]` header)
67
+ *
68
+ * Returning `true` means: the registry will NOT pass this text part to any
69
+ * filter, even if the filter says it matches.
70
+ *
71
+ * This is intentionally cheap and conservative — false negatives just mean
72
+ * a filter may decline to compress; false positives could corrupt structured
73
+ * payloads.
74
+ */
75
+ export declare function isProtectedFromCompression(text: string): boolean;
76
+ /**
77
+ * Outputs below this many characters (UTF-16 code units, i.e.
78
+ * `string.length`) are not worth compressing: filter savings on short
79
+ * outputs rarely outweigh the banner overhead, and skipping them avoids
80
+ * the agent issuing redundant `read_file` / `get_terminal_output` calls
81
+ * to recover content that would have fit uncompressed.
82
+ */
83
+ export declare const MIN_COMPRESSIBLE_LENGTH = 1024;
84
+ /**
85
+ * Format the banner that gets prepended to compressed text parts so the
86
+ * model knows compression happened, which filters fired, and how to opt out.
87
+ */
88
+ export declare function formatCompressionBanner(filterIds: readonly string[], beforeChars: number, afterChars: number): string;
@@ -0,0 +1,25 @@
1
+
2
+
3
+ function isProtectedFromCompression(text) {
4
+ const trimmed = text.trim();
5
+ if (!trimmed) {
6
+ return false;
7
+ }
8
+ const first = trimmed[0];
9
+ const last = trimmed[trimmed.length - 1];
10
+ if ((first === '{' && last === '}') || (first === '[' && last === ']')) {
11
+ try {
12
+ JSON.parse(trimmed);
13
+ return true;
14
+ }
15
+ catch {
16
+ }
17
+ }
18
+ if (/^---\s*\n/.test(trimmed) || /^\[[A-Za-z_][A-Za-z0-9_.-]*\]\s*\n/.test(trimmed)) {
19
+ return true;
20
+ }
21
+ return false;
22
+ }
23
+ const MIN_COMPRESSIBLE_LENGTH = 1024;
24
+
25
+ export { MIN_COMPRESSIBLE_LENGTH, isProtectedFromCompression };
@@ -20,7 +20,7 @@ var PhraseTextType;
20
20
  })(PhraseTextType || (PhraseTextType = {}));
21
21
  const VoiceChatInProgress = ( new RawContextKey("voiceChatInProgress", false, {
22
22
  type: "boolean",
23
- description: ( localize(8155, "A speech-to-text session is in progress for chat."))
23
+ description: ( localize(8240, "A speech-to-text session is in progress for chat."))
24
24
  }));
25
25
  let VoiceChatService = class VoiceChatService extends Disposable {
26
26
  static {
@@ -0,0 +1,237 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import * as imageCarousel from './media/imageCarousel.css';
4
+ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
6
+ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
7
+ import { EditorPaneDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/editor';
8
+ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
9
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
10
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
11
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
12
+ import { ImageCarouselEditor } from './imageCarouselEditor.js';
13
+ import { ImageCarouselEditorInput } from './imageCarouselEditorInput.js';
14
+ import { Action2, registerAction2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
15
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
16
+ import { ExplorerFolderContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/common/files';
17
+ import { IExplorerService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/browser/files.service';
18
+ import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
19
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
20
+ import { getMediaMime } from '@codingame/monaco-vscode-api/vscode/vs/base/common/mime';
21
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
22
+ import { extname, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
23
+ import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
24
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
25
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
26
+ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
27
+
28
+ registerCss(imageCarousel);
29
+ ( Registry.as(Extensions.Configuration)).registerConfiguration({
30
+ id: "imageCarousel",
31
+ title: ( localize(10509, "Images Preview")),
32
+ type: "object",
33
+ properties: {
34
+ "imageCarousel.explorerContextMenu.enabled": {
35
+ type: "boolean",
36
+ default: true,
37
+ markdownDescription: ( localize(
38
+ 10510,
39
+ "Controls whether the **Open in Images Preview** option appears in the Explorer context menu."
40
+ )),
41
+ tags: ["experimental"]
42
+ },
43
+ "imageCarousel.chat.enabled": {
44
+ type: "boolean",
45
+ default: true,
46
+ description: ( localize(
47
+ 10511,
48
+ "Controls whether clicking an image attachment in chat opens the Images Preview viewer."
49
+ )),
50
+ tags: ["experimental"]
51
+ }
52
+ }
53
+ });
54
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
55
+ EditorPaneDescriptor.create(ImageCarouselEditor, ImageCarouselEditor.ID, ( localize(10512, "Images Preview"))),
56
+ [( new SyncDescriptor(ImageCarouselEditorInput))]
57
+ );
58
+ class ImageCarouselEditorInputSerializer {
59
+ canSerialize() {
60
+ return false;
61
+ }
62
+ serialize() {
63
+ return undefined;
64
+ }
65
+ deserialize() {
66
+ return undefined;
67
+ }
68
+ }
69
+ ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ImageCarouselEditorInput.ID, ImageCarouselEditorInputSerializer);
70
+ function isCollectionArgs(args) {
71
+ return typeof args === "object" && args !== null && typeof args.collection === "object" && typeof args.startIndex === "number";
72
+ }
73
+ function isSingleImageArgs(args) {
74
+ return typeof args === "object" && args !== null && typeof args.name === "string" && typeof args.mimeType === "string" && args.data instanceof Uint8Array;
75
+ }
76
+ class OpenImageInCarouselAction extends Action2 {
77
+ constructor() {
78
+ super({
79
+ id: "workbench.action.chat.openImageInCarousel",
80
+ title: ( localize2(10513, "Open in Images Preview")),
81
+ f1: false
82
+ });
83
+ }
84
+ async run(accessor, args) {
85
+ const editorService = accessor.get(IEditorService);
86
+ let collection;
87
+ let startIndex;
88
+ if (isCollectionArgs(args)) {
89
+ collection = args.collection;
90
+ startIndex = args.startIndex;
91
+ } else if (isSingleImageArgs(args)) {
92
+ collection = {
93
+ id: generateUuid(),
94
+ title: args.title ?? ( localize(10514, "Images Preview")),
95
+ sections: [{
96
+ title: "",
97
+ images: [{
98
+ id: generateUuid(),
99
+ name: args.name,
100
+ mimeType: args.mimeType,
101
+ data: VSBuffer.wrap(args.data)
102
+ }]
103
+ }]
104
+ };
105
+ startIndex = 0;
106
+ } else {
107
+ return;
108
+ }
109
+ const input = ( new ImageCarouselEditorInput(collection, startIndex));
110
+ await editorService.openEditor(input, {
111
+ pinned: true
112
+ });
113
+ }
114
+ }
115
+ registerAction2(OpenImageInCarouselAction);
116
+ const MEDIA_EXTENSION_REGEX = /^\.(png|jpg|jpeg|jpe|gif|webp|svg|bmp|ico|mp4|webm|mov)$/i;
117
+ function isMediaResource(uri) {
118
+ return MEDIA_EXTENSION_REGEX.test(extname(uri));
119
+ }
120
+ async function collectImageFilesFromFolder(fileService, folderUri) {
121
+ const stat = await fileService.resolve(folderUri);
122
+ const imageUris = [];
123
+ if (stat.children) {
124
+ for (const child of stat.children) {
125
+ if (child.isFile && isMediaResource(child.resource)) {
126
+ imageUris.push(child.resource);
127
+ }
128
+ }
129
+ }
130
+ imageUris.sort((a, b) => basename(a).localeCompare(basename(b)));
131
+ return imageUris;
132
+ }
133
+ function createImageEntries(uris) {
134
+ return ( uris.map(uri => ({
135
+ id: generateUuid(),
136
+ name: basename(uri),
137
+ mimeType: getMediaMime(uri.path) ?? "image/png",
138
+ uri
139
+ })));
140
+ }
141
+ class OpenImagesInCarouselFromExplorerAction extends Action2 {
142
+ constructor() {
143
+ super({
144
+ id: "workbench.action.openImagesInCarousel",
145
+ title: ( localize2(10515, "Open in Images Preview")),
146
+ f1: false,
147
+ menu: [{
148
+ id: MenuId.ExplorerContext,
149
+ group: "navigation",
150
+ order: 25,
151
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.has("config.imageCarousel.explorerContextMenu.enabled")), ( ContextKeyExpr.or(ExplorerFolderContext, ( ContextKeyExpr.regex(ResourceContextKey.Extension.key, MEDIA_EXTENSION_REGEX))))))
152
+ }]
153
+ });
154
+ }
155
+ async run(accessor, resource) {
156
+ const explorerService = accessor.get(IExplorerService);
157
+ const fileService = accessor.get(IFileService);
158
+ const editorService = accessor.get(IEditorService);
159
+ const notificationService = accessor.get(INotificationService);
160
+ const contextService = accessor.get(IWorkspaceContextService);
161
+ const context = explorerService.getContext(true);
162
+ let imageUris = [];
163
+ let startUri;
164
+ try {
165
+ if (context.length === 0) {
166
+ let folderUri;
167
+ if (URI.isUri(resource)) {
168
+ folderUri = resource;
169
+ } else {
170
+ const folders = contextService.getWorkspace().folders;
171
+ if (folders.length > 0) {
172
+ folderUri = folders[0].uri;
173
+ }
174
+ }
175
+ if (folderUri) {
176
+ imageUris = await collectImageFilesFromFolder(fileService, folderUri);
177
+ }
178
+ } else {
179
+ const hasSingleImageFile = context.length === 1 && !context[0].isDirectory && isMediaResource(context[0].resource);
180
+ if (hasSingleImageFile) {
181
+ startUri = context[0].resource;
182
+ const parentUri = dirname(context[0].resource);
183
+ imageUris = await collectImageFilesFromFolder(fileService, parentUri);
184
+ } else {
185
+ const seen = ( new ResourceSet());
186
+ for (const item of context) {
187
+ if (item.isDirectory) {
188
+ const folderImages = await collectImageFilesFromFolder(fileService, item.resource);
189
+ for (const uri of folderImages) {
190
+ if (!( seen.has(uri))) {
191
+ seen.add(uri);
192
+ imageUris.push(uri);
193
+ }
194
+ }
195
+ } else if (isMediaResource(item.resource)) {
196
+ if (!( seen.has(item.resource))) {
197
+ seen.add(item.resource);
198
+ imageUris.push(item.resource);
199
+ if (!startUri) {
200
+ startUri = item.resource;
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ }
207
+ } catch {
208
+ notificationService.error(( localize(10516, "Could not read folder contents.")));
209
+ return;
210
+ }
211
+ if (imageUris.length === 0) {
212
+ notificationService.info(( localize(10517, "No images found in this folder.")));
213
+ return;
214
+ }
215
+ const images = createImageEntries(imageUris);
216
+ let startIndex = 0;
217
+ if (startUri) {
218
+ const idx = images.findIndex(img => img.uri?.toString() === ( startUri.toString()));
219
+ if (idx >= 0) {
220
+ startIndex = idx;
221
+ }
222
+ }
223
+ const collection = {
224
+ id: generateUuid(),
225
+ title: ( localize(10518, "Images Preview")),
226
+ sections: [{
227
+ title: "",
228
+ images
229
+ }]
230
+ };
231
+ const input = ( new ImageCarouselEditorInput(collection, startIndex));
232
+ await editorService.openEditor(input, {
233
+ pinned: true
234
+ });
235
+ }
236
+ }
237
+ registerAction2(OpenImagesInCarouselFromExplorerAction);
@@ -0,0 +1,66 @@
1
+ import { Dimension } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/dom";
2
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
3
+ import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
4
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
5
+ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
6
+ import { EditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane";
7
+ import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
8
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
9
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
10
+ import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
11
+ import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service";
12
+ import { ImageCarouselEditorInput } from "./imageCarouselEditorInput.js";
13
+ export declare class ImageCarouselEditor extends EditorPane {
14
+ private readonly _fileService;
15
+ private readonly _webviewService;
16
+ static readonly ID = "workbench.editor.imageCarousel";
17
+ private _container;
18
+ private _currentIndex;
19
+ private _zoomScale;
20
+ private _sections;
21
+ private _flatImages;
22
+ private readonly _contentDisposables;
23
+ private readonly _imageDisposables;
24
+ private readonly _blobUrlCache;
25
+ private _videoWebview;
26
+ private _elements;
27
+ private _thumbnailElements;
28
+ constructor(group: IEditorGroup, telemetryService: ITelemetryService, themeService: IThemeService, storageService: IStorageService, _fileService: IFileService, _webviewService: IWebviewService);
29
+ protected createEditor(parent: HTMLElement): void;
30
+ setInput(input: ImageCarouselEditorInput, options: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise<void>;
31
+ clearInput(): void;
32
+ private _isCurrentVideo;
33
+ /**
34
+ * Build the full DOM skeleton. Called once per setInput.
35
+ */
36
+ private buildSlideshow;
37
+ /**
38
+ * Update only the changing parts: main image src, caption, button states, thumbnail selection.
39
+ * No DOM teardown/rebuild — eliminates the blank flash.
40
+ */
41
+ private updateCurrentImage;
42
+ private _loadBlobUrl;
43
+ private _revokeCachedBlobUrls;
44
+ private _loadRawData;
45
+ private _preloadAdjacentImages;
46
+ previous(): void;
47
+ next(): void;
48
+ /**
49
+ * Compute the current display scale when transitioning from 'fit' to numeric zoom.
50
+ */
51
+ private _initZoomFromFit;
52
+ /**
53
+ * Zoom in to the next predefined zoom level.
54
+ */
55
+ private _zoomIn;
56
+ /**
57
+ * Zoom out to the previous predefined zoom level.
58
+ */
59
+ private _zoomOut;
60
+ /**
61
+ * Apply fit-to-container or numeric zoom with scroll-center preservation.
62
+ */
63
+ private _applyZoom;
64
+ focus(): void;
65
+ layout(dimension: Dimension): void;
66
+ }