@codingame/monaco-vscode-chat-service-override 37.1.0 → 37.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (746) hide show
  1. package/common.d.ts +9 -0
  2. package/common.js +372 -0
  3. package/index.d.ts +4 -6
  4. package/index.js +20 -367
  5. package/package.json +12 -5
  6. package/session.d.ts +8 -0
  7. package/session.js +56 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +5 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +1 -1
  10. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +2 -2
  11. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +35 -11
  12. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +1 -1
  13. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.js +34 -18
  15. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +1 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  17. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +54 -54
  18. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.js +20 -23
  19. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.js +8 -8
  20. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +3 -1
  21. package/vscode/src/vs/platform/agentHost/common/otlp/otlpLogEmitter.d.ts +198 -0
  22. package/vscode/src/vs/platform/agentHost/common/otlp/otlpLogEmitter.js +197 -0
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +14 -14
  24. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +1 -1
  25. package/vscode/src/vs/platform/agentHost/common/wslRemoteAgentHost.d.ts +63 -0
  26. package/vscode/src/vs/platform/agentHost/common/wslRemoteAgentHost.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/wslRemoteAgentHost.service.d.ts +51 -0
  28. package/vscode/src/vs/platform/agentHost/common/wslRemoteAgentHost.service.js +6 -0
  29. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  30. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +1 -1
  31. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +6 -6
  32. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/media/mobileMultiDiffView.css +215 -0
  33. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffHelpers.d.ts +28 -0
  34. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffHelpers.js +429 -0
  35. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.d.ts +100 -0
  36. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.js +675 -0
  37. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffView.d.ts +86 -0
  38. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffView.js +860 -0
  39. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffVirtualizer.d.ts +35 -0
  40. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffVirtualizer.js +67 -0
  41. package/vscode/src/vs/sessions/contrib/chat/browser/agentHostDelegation.d.ts +1 -0
  42. package/vscode/src/vs/sessions/contrib/chat/browser/agentHostDelegation.js +41 -0
  43. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +85 -0
  44. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +247 -0
  45. package/vscode/src/vs/sessions/contrib/chat/browser/branchChatSessionAction.d.ts +16 -0
  46. package/vscode/src/vs/sessions/contrib/chat/browser/branchChatSessionAction.js +71 -0
  47. package/vscode/src/vs/sessions/contrib/chat/browser/btwSlashCommand.contribution.d.ts +15 -0
  48. package/vscode/src/vs/sessions/contrib/chat/browser/btwSlashCommand.contribution.js +106 -0
  49. package/vscode/src/vs/sessions/contrib/chat/browser/chat.contribution.d.ts +1 -0
  50. package/vscode/src/vs/sessions/contrib/chat/browser/chat.contribution.js +438 -0
  51. package/vscode/src/vs/sessions/contrib/chat/browser/chatPetAchievements.d.ts +8 -0
  52. package/vscode/src/vs/sessions/contrib/chat/browser/chatPetAchievements.js +25 -0
  53. package/vscode/src/vs/sessions/contrib/chat/browser/customizationsDebugLog.contribution.d.ts +1 -0
  54. package/vscode/src/vs/sessions/contrib/chat/browser/customizationsDebugLog.contribution.js +173 -0
  55. package/vscode/src/vs/sessions/contrib/chat/browser/media/runScriptAction.css +186 -0
  56. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +9 -0
  57. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionFolderQuickPickAction.d.ts +12 -0
  58. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionFolderQuickPickAction.js +104 -0
  59. package/vscode/src/vs/sessions/contrib/chat/browser/nullInlineChatSessionService.d.ts +15 -0
  60. package/vscode/src/vs/sessions/contrib/chat/browser/nullInlineChatSessionService.js +23 -0
  61. package/vscode/src/vs/sessions/contrib/chat/browser/openSessionLinkOpener.contribution.d.ts +51 -0
  62. package/vscode/src/vs/sessions/contrib/chat/browser/openSessionLinkOpener.contribution.js +151 -0
  63. package/vscode/src/vs/sessions/contrib/chat/browser/promptsService.d.ts +32 -0
  64. package/vscode/src/vs/sessions/contrib/chat/browser/promptsService.js +85 -0
  65. package/vscode/src/vs/sessions/contrib/chat/browser/registerDefaultSessionTaskRunners.d.ts +14 -0
  66. package/vscode/src/vs/sessions/contrib/chat/browser/registerDefaultSessionTaskRunners.js +20 -0
  67. package/vscode/src/vs/sessions/contrib/chat/browser/requestOriginProvider.contribution.d.ts +1 -0
  68. package/vscode/src/vs/sessions/contrib/chat/browser/requestOriginProvider.contribution.js +34 -0
  69. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptAction.d.ts +39 -0
  70. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptAction.js +828 -0
  71. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptCustomTaskWidget.d.ts +48 -0
  72. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptCustomTaskWidget.js +215 -0
  73. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTurnChanges.d.ts +27 -0
  74. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTurnChanges.js +237 -0
  75. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.d.ts +10 -0
  76. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.js +348 -0
  77. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsOpenerParticipant.d.ts +6 -0
  78. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsOpenerParticipant.js +35 -0
  79. package/vscode/src/vs/sessions/contrib/chat/browser/sideChatProvider.contribution.d.ts +45 -0
  80. package/vscode/src/vs/sessions/contrib/chat/browser/sideChatProvider.contribution.js +189 -0
  81. package/vscode/src/vs/sessions/contrib/chat/browser/unifiedWorkspacePickerConfiguration.d.ts +3 -0
  82. package/vscode/src/vs/sessions/contrib/chat/browser/unifiedWorkspacePickerConfiguration.js +17 -0
  83. package/vscode/src/vs/sessions/contrib/chat/browser/voiceBridge.contribution.d.ts +14 -0
  84. package/vscode/src/vs/sessions/contrib/chat/browser/voiceBridge.contribution.js +381 -0
  85. package/vscode/src/vs/sessions/contrib/chat/browser/workbenchSessionTaskRunner.d.ts +23 -0
  86. package/vscode/src/vs/sessions/contrib/chat/browser/workbenchSessionTaskRunner.js +48 -0
  87. package/vscode/src/vs/sessions/contrib/chat/browser/worktreeCreatedTaskDispatcher.d.ts +40 -0
  88. package/vscode/src/vs/sessions/contrib/chat/browser/worktreeCreatedTaskDispatcher.js +116 -0
  89. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAgentPicker.d.ts +1 -0
  90. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAgentPicker.js +300 -0
  91. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettings.contribution.d.ts +1 -0
  92. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettings.contribution.js +74 -0
  93. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsFileSystemProvider.d.ts +55 -0
  94. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsFileSystemProvider.js +103 -0
  95. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsShared.d.ts +50 -0
  96. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsShared.js +72 -0
  97. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettings.contribution.d.ts +1 -0
  98. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettings.contribution.js +70 -0
  99. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettingsFileSystemProvider.d.ts +69 -0
  100. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettingsFileSystemProvider.js +151 -0
  101. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/openAgentHostStateFileAction.d.ts +17 -0
  102. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/openAgentHostStateFileAction.js +39 -0
  103. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/branchPicker.d.ts +31 -0
  104. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/branchPicker.js +150 -0
  105. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessions.contribution.d.ts +1 -0
  106. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessions.contribution.js +42 -0
  107. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsActions.d.ts +19 -0
  108. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsActions.js +199 -0
  109. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.d.ts +104 -0
  110. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.js +301 -0
  111. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.d.ts +518 -0
  112. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.js +3121 -0
  113. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.contribution.d.ts +1 -0
  114. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.contribution.js +37 -0
  115. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.d.ts +25 -0
  116. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.js +97 -0
  117. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/modePicker.d.ts +74 -0
  118. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/modePicker.js +355 -0
  119. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.d.ts +135 -0
  120. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.js +521 -0
  121. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/sandboxPicker.d.ts +26 -0
  122. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/sandboxPicker.js +86 -0
  123. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHost.contribution.d.ts +1 -0
  124. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHost.contribution.js +14 -0
  125. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.d.ts +166 -0
  126. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.js +586 -0
  127. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.d.ts +15 -0
  128. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.js +47 -0
  129. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.d.ts +45 -0
  130. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.js +109 -0
  131. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.d.ts +49 -0
  132. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.js +69 -0
  133. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/entryDrivenProviderContribution.d.ts +47 -0
  134. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/entryDrivenProviderContribution.js +109 -0
  135. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilter.contribution.d.ts +1 -0
  136. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilter.contribution.js +72 -0
  137. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilterActionViewItem.d.ts +79 -0
  138. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilterActionViewItem.js +353 -0
  139. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/manageRemoteAgentHosts.d.ts +1 -0
  140. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/manageRemoteAgentHosts.js +161 -0
  141. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/managedReconnectAgentHostContribution.d.ts +95 -0
  142. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/managedReconnectAgentHostContribution.js +172 -0
  143. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/hostFilter.css +259 -0
  144. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/hostPickerSheet.css +351 -0
  145. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/mobileHostFilterActionViewItem.d.ts +36 -0
  146. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/mobileHostFilterActionViewItem.js +236 -0
  147. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHost.contribution.d.ts +80 -0
  148. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHost.contribution.js +686 -0
  149. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.d.ts +20 -0
  150. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.js +1210 -0
  151. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostCustomizationHarness.d.ts +31 -0
  152. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostCustomizationHarness.js +136 -0
  153. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostLogForwarder.d.ts +103 -0
  154. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostLogForwarder.js +173 -0
  155. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostTerminal.contribution.d.ts +1 -0
  156. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostTerminal.contribution.js +51 -0
  157. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHost.contribution.d.ts +74 -0
  158. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHost.contribution.js +438 -0
  159. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webSocketAgentHost.contribution.d.ts +14 -0
  160. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webSocketAgentHost.contribution.js +52 -0
  161. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/wslAgentHost.contribution.d.ts +44 -0
  162. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/wslAgentHost.contribution.js +171 -0
  163. package/vscode/src/vs/sessions/contrib/sessions/browser/mobile/mobileOverlayContribution.d.ts +1 -0
  164. package/vscode/src/vs/sessions/contrib/sessions/browser/mobile/mobileOverlayContribution.js +98 -0
  165. package/vscode/src/vs/sessions/services/agentHost/browser/agentHostCustomizationService.d.ts +24 -0
  166. package/vscode/src/vs/sessions/services/agentHost/browser/agentHostCustomizationService.js +142 -0
  167. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +104 -0
  168. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +827 -0
  169. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
  170. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +71 -0
  171. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +16 -0
  172. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +95 -0
  173. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +22 -0
  174. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +286 -0
  175. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +10 -0
  176. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +38 -0
  177. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +9 -0
  178. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +22 -0
  179. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +130 -0
  180. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +907 -0
  181. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +10 -0
  182. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +28 -0
  183. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +27 -0
  184. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +167 -0
  185. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +46 -0
  186. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +358 -0
  187. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +35 -35
  188. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +4 -4
  189. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +3 -3
  190. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +20 -20
  191. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +6 -6
  192. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +3 -3
  193. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  194. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  196. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +1 -1
  197. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
  198. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  199. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  200. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  201. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  203. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  204. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  205. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +14 -14
  207. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +2 -2
  209. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +40 -40
  210. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +27 -31
  212. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  213. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +97 -97
  215. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +5 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
  217. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +17 -17
  218. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +11 -11
  219. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  220. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +11 -11
  221. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  222. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +8 -8
  223. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +15 -15
  225. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  226. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +13 -13
  227. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  228. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -17
  229. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  230. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
  231. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  232. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +20 -20
  234. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +50 -42
  235. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +11 -11
  236. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +9 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
  238. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +6 -6
  239. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +1 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  241. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +20 -20
  244. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +8 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.js +2 -7
  247. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +4 -4
  248. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +2 -2
  249. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +7 -7
  250. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.js +1 -1
  251. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +431 -19
  252. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +7 -7
  253. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +3 -1
  254. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +1 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +11 -11
  256. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +1 -1
  257. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  258. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.d.ts +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +4 -4
  260. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +4 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +1 -1
  262. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +3 -3
  263. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.d.ts +1 -1
  264. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +88 -77
  265. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +3 -3
  266. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +48 -43
  267. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.d.ts +1 -1
  270. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.js +2 -2
  271. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +9 -4
  273. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +2 -2
  274. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +4 -4
  275. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +1 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +8 -6
  278. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +2 -2
  279. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +12 -3
  280. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.d.ts +1 -1
  282. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.js +1 -1
  285. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +9 -9
  287. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -4
  288. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +55 -53
  290. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +1 -1
  291. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  292. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +6 -6
  295. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  296. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  297. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +20 -20
  298. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  299. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -5
  300. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +1 -1
  301. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +1 -1
  302. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +48 -48
  304. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +7 -7
  305. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +1 -1
  306. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +26 -23
  307. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +1 -1
  308. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +9 -9
  309. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +9 -9
  310. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +1 -1
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +393 -419
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +43 -43
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +10 -10
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +1 -1
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +36 -36
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +1 -1
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +136 -136
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +75 -75
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +1 -1
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +1 -1
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +1 -1
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +8 -8
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +26 -26
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +7 -7
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +1 -1
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +18 -18
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +27 -27
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +1 -1
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +1 -1
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +36 -36
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +1 -1
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +32 -36
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +42 -42
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +13 -13
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +5 -5
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +19 -19
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +12 -12
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +15 -15
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +8 -8
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +18 -18
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -10
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +12 -12
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -2
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +4 -4
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +5 -5
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +5 -5
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +4 -4
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +9 -9
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +2 -2
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +36 -36
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +18 -16
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +39 -39
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +1 -1
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +25 -25
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.d.ts +2 -0
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +57 -0
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +19 -19
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +1 -1
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +7 -7
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +37 -37
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +59 -54
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +39 -37
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +9 -9
  397. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  398. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  399. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +2 -2
  400. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +6 -6
  401. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  402. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +2 -2
  403. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +1 -1
  404. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +2 -2
  405. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  406. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +7 -7
  407. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +3 -3
  408. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
  409. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +30 -30
  410. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +21 -17
  411. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +7 -7
  412. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +2 -2
  413. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  414. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +3 -3
  415. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +5 -5
  416. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  417. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -10
  418. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  419. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +5 -5
  420. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  421. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +5 -2
  422. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +6 -6
  423. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
  424. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +5 -5
  425. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +12 -12
  426. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +4 -4
  427. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +4 -4
  428. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +1 -1
  429. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +37 -30
  430. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +3 -3
  431. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
  432. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +46 -42
  433. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +33 -33
  434. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +10 -10
  435. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +3 -3
  436. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +68 -4
  437. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +12 -12
  438. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  439. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
  440. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +1 -1
  441. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +10 -10
  442. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +3 -3
  443. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  444. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +25 -25
  445. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
  446. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +1 -1
  447. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +2 -2
  448. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +1 -1
  449. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +1 -1
  450. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +13 -13
  451. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +1 -1
  452. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +4 -4
  453. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +2 -2
  454. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +97 -93
  455. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -4
  456. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +14 -6
  457. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +1 -1
  458. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  459. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  460. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -2
  461. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +19 -19
  462. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +3 -3
  463. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +1 -1
  464. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +253 -0
  465. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +20 -0
  466. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +1 -1
  467. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +3 -3
  468. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  469. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +28 -26
  470. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -2
  471. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +4 -4
  472. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -2
  473. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +14 -14
  474. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +1 -1
  475. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +1 -1
  476. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -19
  477. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +2 -2
  478. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +20 -20
  479. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +65 -0
  480. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +698 -0
  481. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +13 -13
  482. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +18 -12
  483. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  484. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +157 -157
  485. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +36 -0
  486. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +239 -0
  487. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.d.ts +21 -0
  488. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +143 -0
  489. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +24 -0
  490. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +298 -0
  491. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
  492. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +177 -0
  493. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +73 -0
  494. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +577 -0
  495. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
  496. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
  497. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +16 -0
  498. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +130 -0
  499. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.d.ts +12 -0
  500. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.js +53 -0
  501. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.d.ts +5 -0
  502. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.js +12 -0
  503. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +10 -0
  504. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +91 -0
  505. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +1 -1
  506. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
  507. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +518 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
  509. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
  510. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +5 -1
  511. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +6 -6
  512. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  513. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +13 -13
  514. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  515. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  516. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  517. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +16 -16
  518. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +3 -3
  519. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +3 -3
  520. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +1 -1
  521. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +5 -5
  522. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +29 -25
  523. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  524. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +12 -12
  525. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  526. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  527. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  528. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  529. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  530. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +22 -22
  531. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  532. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  533. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +4 -2
  534. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +4 -4
  535. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +1 -1
  536. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +15 -15
  537. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +2 -2
  538. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +7 -7
  539. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +5 -5
  540. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +1 -1
  541. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  542. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +18 -18
  543. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +9 -9
  544. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +28 -25
  545. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  546. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  547. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  548. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  549. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +4 -4
  550. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  551. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +78 -78
  552. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  553. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  554. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  555. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  556. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  557. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  558. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +1 -1
  559. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +3 -3
  560. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +3 -3
  561. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +1 -1
  562. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +7 -7
  563. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +4 -4
  564. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +3 -3
  565. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +4 -4
  566. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +1 -1
  567. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  568. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +6 -6
  569. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +25 -25
  570. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.d.ts +0 -603
  571. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +0 -1911
  572. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +0 -9
  573. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +0 -20
  574. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +0 -144
  575. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +0 -20
  576. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +0 -204
  577. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +0 -440
  578. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +0 -47
  579. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +0 -75
  580. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +0 -68
  581. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +0 -161
  582. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.d.ts +0 -16
  583. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.js +0 -14
  584. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +0 -261
  585. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +0 -67
  586. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +0 -39
  587. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +0 -169
  588. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +0 -130
  589. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +0 -41
  590. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +0 -42
  591. package/vscode/src/vs/platform/agentHost/common/customAgents.js +0 -20
  592. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +0 -110
  593. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +0 -79
  594. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +0 -4
  595. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +0 -1
  596. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +0 -26
  597. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +0 -75
  598. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +0 -84
  599. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +0 -461
  600. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +0 -803
  601. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +0 -18
  602. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +0 -89
  603. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +0 -4
  604. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +0 -37
  605. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +0 -4
  606. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +0 -45
  607. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +0 -13
  608. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +0 -147
  609. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +0 -6
  610. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +0 -544
  611. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +0 -6
  612. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +0 -30
  613. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +0 -6
  614. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +0 -430
  615. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +0 -6
  616. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +0 -114
  617. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +0 -17
  618. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +0 -9
  619. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +0 -1
  620. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +0 -7
  621. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +0 -67
  622. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +0 -117
  623. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +0 -106
  624. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +0 -23
  625. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +0 -15
  626. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +0 -6
  627. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +0 -24
  628. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +0 -15
  629. package/vscode/src/vs/platform/domWidget/browser/domWidget.d.ts +0 -52
  630. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +0 -53
  631. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +0 -54
  632. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +0 -210
  633. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +0 -8
  634. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -10
  635. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +0 -29
  636. package/vscode/src/vs/workbench/browser/chatChangesPill.js +0 -84
  637. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +0 -19
  638. package/vscode/src/vs/workbench/common/chatPullRequest.js +0 -53
  639. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +0 -30
  640. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +0 -37
  641. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +0 -30
  642. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +0 -9
  643. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.d.ts +0 -35
  644. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.js +0 -73
  645. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +0 -51
  646. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +0 -167
  647. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +0 -3
  648. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +0 -62
  649. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +0 -104
  650. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +0 -115
  651. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +0 -168
  652. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +0 -35
  653. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +0 -294
  654. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -66
  655. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +0 -23
  656. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -147
  657. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -31
  658. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +0 -83
  659. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +0 -55
  660. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +0 -278
  661. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +0 -2036
  662. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +0 -22
  663. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +0 -18
  664. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -397
  665. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +0 -4127
  666. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +0 -37
  667. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +0 -93
  668. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +0 -26
  669. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +0 -34
  670. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +0 -23
  672. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +0 -57
  673. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +0 -48
  674. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +0 -40
  675. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +0 -369
  676. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +0 -40
  677. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +0 -302
  678. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +0 -70
  679. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +0 -74
  680. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +0 -43
  681. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +0 -63
  682. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +0 -38
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +0 -240
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +0 -82
  685. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +0 -762
  686. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +0 -80
  687. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +0 -279
  688. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +0 -109
  689. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +0 -743
  690. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +0 -42
  691. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +0 -130
  692. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +0 -62
  693. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +0 -217
  694. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +0 -46
  695. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +0 -91
  696. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +0 -357
  697. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +0 -2656
  698. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +0 -3742
  699. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +0 -301
  700. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +0 -354
  701. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +0 -197
  702. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +0 -2205
  703. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -27
  704. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -317
  705. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +0 -132
  706. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +0 -1216
  707. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +0 -86
  708. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +0 -282
  709. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +0 -118
  710. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +0 -540
  711. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +0 -82
  712. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +0 -1448
  713. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +0 -329
  714. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +0 -7
  715. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +0 -114
  716. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  717. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +0 -9
  718. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -99
  719. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +0 -1268
  720. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +0 -552
  721. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +0 -676
  723. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +0 -68
  724. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +0 -225
  725. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +0 -13
  726. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +0 -52
  727. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +0 -22
  728. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +0 -58
  729. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +0 -11
  730. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +0 -13
  731. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +0 -73
  732. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +0 -65
  733. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +0 -31
  734. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +0 -110
  735. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +0 -11
  736. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js +0 -28
  737. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +0 -3
  738. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +0 -16
  739. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +0 -22
  740. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +0 -163
  741. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +0 -6
  742. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +0 -12
  743. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +0 -115
  744. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +0 -69
  745. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +0 -60
  746. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +0 -139
@@ -0,0 +1,860 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import * as mobileOverlayViews from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/mobile/contributions/media/mobileOverlayViews.css';
4
+ import * as mobileMultiDiffView from './media/mobileMultiDiffView.css';
5
+ import { $ as $$1, append, addDisposableListener, EventType, getWindow, clearNode, createElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
+ import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
+ import { Gesture, EventType as EventType$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/touch';
9
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
10
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { dirname, basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
13
+ import { TokenizationRegistry } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
14
+ import { generateTokensCSSForColorMap } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/supports/tokenization';
15
+ import { resolveMobileDiffLanguageId, computeUnifiedDiff, tokenizeFileLines, hasMultipleTokenClasses, regexTokenizeLines } from './mobileDiffHelpers.js';
16
+ import { computeMobileMultiDiffVirtualLayout, computeMobileMultiDiffItemHeight } from './mobileMultiDiffVirtualizer.js';
17
+
18
+ registerCss(mobileOverlayViews, 0);
19
+ registerCss(mobileMultiDiffView, 0);
20
+ const $ = $$1;
21
+ const VIRTUALIZER_METRICS = {
22
+ fileHeaderHeight: 44,
23
+ hunkHeaderHeight: 26,
24
+ rowHeight: 18,
25
+ bodyVerticalPadding: 0,
26
+ placeholderHeight: 76
27
+ };
28
+ const MAX_CONCURRENT_FILE_LOADS = 2;
29
+ const MAX_CONCURRENT_PREFETCH_LOADS = 1;
30
+ const MIN_PREFETCH_DISTANCE = 2400;
31
+ const PREFETCH_VIEWPORT_MULTIPLIER = 4;
32
+ class MobileMultiDiffView extends Disposable {
33
+ constructor(workbenchContainer, data, textFileService, fileService, languageService) {
34
+ super();
35
+ this.data = data;
36
+ this.textFileService = textFileService;
37
+ this.fileService = fileService;
38
+ this.languageService = languageService;
39
+ this._onDidDispose = this._register(( new Emitter()));
40
+ this.onDidDispose = this._onDidDispose.event;
41
+ this.viewStore = this._register(( new DisposableStore()));
42
+ this.disposed = false;
43
+ this.renderGeneration = 0;
44
+ this.mountedIndexes = ( new Set());
45
+ this.fileStates = data.diffs.map((diff, index) => ({
46
+ index,
47
+ diff,
48
+ section: undefined,
49
+ content: undefined,
50
+ sectionStore: undefined,
51
+ collapsed: false,
52
+ loadState: "idle",
53
+ loadKind: undefined,
54
+ loadRequestId: 0,
55
+ estimatedHunkCount: diff.identical || diff.added + diff.removed === 0 ? 0 : 1,
56
+ estimatedRowCount: diff.added + diff.removed,
57
+ hunkCount: 0,
58
+ rowCount: 0,
59
+ renderData: undefined,
60
+ bodyScrollTop: 0,
61
+ bodyViewportHeight: 0,
62
+ fileMessage: undefined,
63
+ bodyInner: undefined,
64
+ renderedBodyRows: ( new Map()),
65
+ renderedBodyStartIndex: undefined,
66
+ renderedBodyEndIndex: undefined
67
+ }));
68
+ this.render(workbenchContainer);
69
+ this.renderGeneration++;
70
+ this.updateVirtualLayout();
71
+ this.scrollToInitialIndex();
72
+ this.scheduleLoadVisibleFiles();
73
+ }
74
+ render(workbenchContainer) {
75
+ const overlay = append(workbenchContainer, $("div.mobile-overlay-view.mobile-multi-diff-view"));
76
+ this.viewStore.add(
77
+ addDisposableListener(overlay, EventType.CONTEXT_MENU, e => e.preventDefault())
78
+ );
79
+ this.viewStore.add(toDisposable(() => overlay.remove()));
80
+ const topBar = append(overlay, $("div.mobile-multi-diff-topbar"));
81
+ const backBtn = append(topBar, $("button.mobile-overlay-back-btn", {
82
+ type: "button"
83
+ }));
84
+ backBtn.setAttribute("aria-label", ( localize(2984, "Back")));
85
+ append(backBtn, $("span")).classList.add(...ThemeIcon.asClassNameArray(Codicon.chevronLeft));
86
+ this.viewStore.add(Gesture.addTarget(backBtn));
87
+ this.viewStore.add(
88
+ addDisposableListener(backBtn, EventType.CLICK, () => this.dispose())
89
+ );
90
+ this.viewStore.add(
91
+ addDisposableListener(backBtn, EventType$1.Tap, () => this.dispose())
92
+ );
93
+ const fileCount = append(topBar, $("span.mobile-multi-diff-file-count"));
94
+ fileCount.textContent = ( localize(
95
+ 2985,
96
+ "{0} {1}",
97
+ this.data.diffs.length,
98
+ this.data.diffs.length === 1 ? ( localize(2986, "file")) : ( localize(2987, "files"))
99
+ ));
100
+ const body = append(overlay, $("div.mobile-overlay-body"));
101
+ this.scrollWrapper = append(body, $("div.mobile-overlay-scroll"));
102
+ this.virtualContent = append(this.scrollWrapper, $("div.mobile-multi-diff-virtual-content"));
103
+ this.viewStore.add(addDisposableListener(
104
+ this.scrollWrapper,
105
+ EventType.SCROLL,
106
+ () => this.scheduleVirtualLayout(),
107
+ {
108
+ passive: true
109
+ }
110
+ ));
111
+ }
112
+ scrollToInitialIndex() {
113
+ if (this.data.initialIndex === undefined || this.data.initialIndex <= 0) {
114
+ return;
115
+ }
116
+ getWindow(this.scrollWrapper).requestAnimationFrame(() => {
117
+ if (this.disposed) {
118
+ return;
119
+ }
120
+ this.scrollWrapper.scrollTop = this.computeVirtualTop(this.data.initialIndex);
121
+ this.updateVirtualLayout();
122
+ this.scheduleLoadVisibleFiles();
123
+ });
124
+ }
125
+ formatDirSegment(uri) {
126
+ const parent = dirname(uri);
127
+ const parentPath = parent.path.replace(/^\/+/, "");
128
+ if (!parentPath || parentPath === ".") {
129
+ return "";
130
+ }
131
+ const segments = parentPath.split("/").filter(s => s.length > 0);
132
+ if (segments.length === 0) {
133
+ return "";
134
+ }
135
+ const tail = segments.slice(-2).join("/");
136
+ const prefix = segments.length > 2 ? "…/" : "";
137
+ return `${prefix}${tail}/`;
138
+ }
139
+ renderFileSection(state) {
140
+ const diff = state.diff;
141
+ const store = ( new DisposableStore());
142
+ const section = $("div.mobile-multi-diff-file-section");
143
+ section.dataset.index = String(state.index);
144
+ const header = append(section, $("div.mobile-multi-diff-file-header"));
145
+ const fileNameUri = diff.modifiedURI ?? diff.originalURI;
146
+ const fileName = fileNameUri ? basename(fileNameUri) : "";
147
+ const dirPath = fileNameUri ? this.formatDirSegment(fileNameUri) : "";
148
+ const chevronEl = append(header, $("span.mobile-multi-diff-file-chevron", {
149
+ role: "button",
150
+ tabindex: "0",
151
+ "aria-expanded": "true"
152
+ }));
153
+ chevronEl.classList.add(...ThemeIcon.asClassNameArray(Codicon.chevronDown));
154
+ chevronEl.setAttribute("aria-label", ( localize(2988, "Toggle {0}", fileName || ( localize(2989, "file")))));
155
+ const nameEl = append(header, $("span.mobile-multi-diff-file-name"));
156
+ if (dirPath) {
157
+ append(nameEl, $("span.mobile-multi-diff-file-dir")).textContent = dirPath;
158
+ }
159
+ append(nameEl, $("span.mobile-multi-diff-file-base")).textContent = fileName;
160
+ const statsEl = append(header, $("span.mobile-multi-diff-file-stats"));
161
+ if (!diff.identical) {
162
+ if (diff.added) {
163
+ append(statsEl, $("span.mobile-multi-diff-stat-added")).textContent = `+${diff.added}`;
164
+ }
165
+ if (diff.removed) {
166
+ append(statsEl, $("span.mobile-multi-diff-stat-removed")).textContent = `-${diff.removed}`;
167
+ }
168
+ }
169
+ const content = append(section, $("div.mobile-multi-diff-file-content"));
170
+ const loadingEl = append(content, $("div.mobile-diff-empty-state"));
171
+ loadingEl.textContent = ( localize(2990, "Loading…"));
172
+ const toggle = e => {
173
+ e.stopPropagation();
174
+ state.collapsed = !state.collapsed;
175
+ section.classList.toggle("collapsed", state.collapsed);
176
+ chevronEl.setAttribute("aria-expanded", state.collapsed ? "false" : "true");
177
+ chevronEl.classList.remove(
178
+ ...ThemeIcon.asClassNameArray(state.collapsed ? Codicon.chevronDown : Codicon.chevronRight)
179
+ );
180
+ chevronEl.classList.add(
181
+ ...ThemeIcon.asClassNameArray(state.collapsed ? Codicon.chevronRight : Codicon.chevronDown)
182
+ );
183
+ this.scheduleVirtualLayout();
184
+ if (!state.collapsed) {
185
+ this.scheduleLoadVisibleFiles();
186
+ }
187
+ };
188
+ store.add(Gesture.addTarget(header));
189
+ store.add(addDisposableListener(header, EventType.CLICK, toggle));
190
+ store.add(addDisposableListener(header, EventType$1.Tap, e => {
191
+ e.preventDefault();
192
+ toggle(e);
193
+ }));
194
+ store.add(addDisposableListener(chevronEl, EventType.KEY_DOWN, e => {
195
+ if (e.key === "Enter" || e.key === " ") {
196
+ e.preventDefault();
197
+ toggle(e);
198
+ }
199
+ }));
200
+ return {
201
+ section,
202
+ content,
203
+ store
204
+ };
205
+ }
206
+ ensureFileSection(state) {
207
+ if (!state.section || !state.content) {
208
+ const {
209
+ section,
210
+ content,
211
+ store
212
+ } = this.renderFileSection(state);
213
+ state.section = section;
214
+ state.content = content;
215
+ state.sectionStore = store;
216
+ this.renderCurrentFileContent(state);
217
+ }
218
+ return state.section;
219
+ }
220
+ disposeFileSection(state) {
221
+ state.sectionStore?.dispose();
222
+ state.sectionStore = undefined;
223
+ state.section?.remove();
224
+ state.section = undefined;
225
+ state.content = undefined;
226
+ this.resetBodyRenderState(state);
227
+ }
228
+ scheduleVirtualLayout() {
229
+ if (this.disposed) {
230
+ return;
231
+ }
232
+ if (this.layoutAnimationFrame !== undefined) {
233
+ return;
234
+ }
235
+ const targetWindow = getWindow(this.scrollWrapper);
236
+ this.layoutAnimationFrame = targetWindow.requestAnimationFrame(() => {
237
+ this.layoutAnimationFrame = undefined;
238
+ this.updateVirtualLayout();
239
+ });
240
+ }
241
+ updateVirtualLayout() {
242
+ if (this.disposed) {
243
+ return;
244
+ }
245
+ const viewportHeight = this.scrollWrapper.clientHeight;
246
+ const layout = this.computeCurrentVirtualLayout(viewportHeight);
247
+ this.currentLayout = layout;
248
+ this.virtualContent.style.height = `${layout.totalHeight}px`;
249
+ const visibleIndexes = ( new Set(layout.items.map(item => item.index)));
250
+ this.abandonOffscreenLoads(visibleIndexes);
251
+ for (const index of Array.from(this.mountedIndexes)) {
252
+ if (!( visibleIndexes.has(index))) {
253
+ this.disposeFileSection(this.fileStates[index]);
254
+ this.mountedIndexes.delete(index);
255
+ }
256
+ }
257
+ let previousSection;
258
+ for (const item of layout.items) {
259
+ const state = this.fileStates[item.index];
260
+ const section = this.ensureFileSection(state);
261
+ this.applyVirtualLayout(section, state, item, viewportHeight);
262
+ if (!( this.mountedIndexes.has(item.index))) {
263
+ this.mountedIndexes.add(item.index);
264
+ }
265
+ this.ensureFileSectionDomOrder(section, previousSection);
266
+ previousSection = section;
267
+ }
268
+ this.scheduleLoadVisibleFiles();
269
+ }
270
+ ensureFileSectionDomOrder(section, previousSection) {
271
+ const referenceNode = previousSection ? previousSection.nextSibling : this.virtualContent.firstChild;
272
+ if (section !== referenceNode) {
273
+ this.virtualContent.insertBefore(section, referenceNode);
274
+ }
275
+ }
276
+ applyVirtualLayout(section, state, item, viewportHeight) {
277
+ section.style.top = `${item.renderTop}px`;
278
+ section.style.height = `${item.renderHeight}px`;
279
+ const bodyOffset = Math.max(0, item.innerOffset - VIRTUALIZER_METRICS.fileHeaderHeight);
280
+ state.bodyScrollTop = bodyOffset;
281
+ state.bodyViewportHeight = Math.max(0, viewportHeight - VIRTUALIZER_METRICS.fileHeaderHeight);
282
+ const content = state.content;
283
+ content.classList.toggle("mobile-multi-diff-file-content-placeholder", state.loadState !== "loaded");
284
+ if (state.loadState === "loaded") {
285
+ content.style.height = "";
286
+ content.style.transform = "";
287
+ this.renderLoadedFileContent(state, viewportHeight);
288
+ } else {
289
+ const bodyHeight = Math.max(0, item.renderHeight - VIRTUALIZER_METRICS.fileHeaderHeight);
290
+ const placeholderHeight = Math.min(
291
+ bodyHeight || VIRTUALIZER_METRICS.placeholderHeight,
292
+ Math.max(VIRTUALIZER_METRICS.placeholderHeight, state.bodyViewportHeight)
293
+ );
294
+ content.style.height = `${bodyHeight}px`;
295
+ content.style.transform = "";
296
+ this.updateFileMessageHeight(state, placeholderHeight);
297
+ }
298
+ }
299
+ renderCurrentFileContent(state) {
300
+ if (!state.content) {
301
+ return;
302
+ }
303
+ switch (state.loadState) {
304
+ case "loaded":
305
+ this.renderLoadedFileContent(state);
306
+ break;
307
+ case "empty":
308
+ this.renderFileMessage(state, ( localize(2991, "No changes in this file.")));
309
+ break;
310
+ case "error":
311
+ this.renderFileMessage(state, ( localize(2992, "Unable to load changes in this file.")));
312
+ break;
313
+ case "idle":
314
+ case "loading":
315
+ this.renderFileMessage(state, ( localize(2990, "Loading…")));
316
+ break;
317
+ }
318
+ }
319
+ renderFileMessage(state, message) {
320
+ if (!state.content) {
321
+ return;
322
+ }
323
+ clearNode(state.content);
324
+ this.resetBodyRenderState(state);
325
+ const empty = append(state.content, $("div.mobile-diff-empty-state"));
326
+ state.fileMessage = empty;
327
+ empty.textContent = message;
328
+ this.updateFileMessageHeight(state);
329
+ }
330
+ updateFileMessageHeight(state, placeholderHeight) {
331
+ if (!state.content) {
332
+ return;
333
+ }
334
+ const empty = state.fileMessage;
335
+ if (!empty || empty.parentElement !== state.content) {
336
+ return;
337
+ }
338
+ const bodyHeight = Number.parseFloat(state.content.style.height) || VIRTUALIZER_METRICS.placeholderHeight;
339
+ const visibleHeight = placeholderHeight ?? Math.min(
340
+ bodyHeight,
341
+ Math.max(VIRTUALIZER_METRICS.placeholderHeight, state.bodyViewportHeight)
342
+ );
343
+ empty.style.height = `${visibleHeight}px`;
344
+ }
345
+ renderLoadedFileContent(state, viewportHeight = this.scrollWrapper.clientHeight) {
346
+ if (!state.content || !state.renderData) {
347
+ return;
348
+ }
349
+ const bodyOverscan = Math.max(viewportHeight, 480);
350
+ const visibleTop = Math.max(0, state.bodyScrollTop - bodyOverscan);
351
+ const visibleBottom = Math.min(
352
+ state.renderData.bodyHeight,
353
+ state.bodyScrollTop + state.bodyViewportHeight + bodyOverscan
354
+ );
355
+ const {
356
+ startIndex,
357
+ endIndex
358
+ } = this.computeVisibleBodyEntryRange(state.renderData.bodyEntries, visibleTop, visibleBottom);
359
+ const inner = this.ensureBodyInner(state);
360
+ if (state.renderedBodyStartIndex === startIndex && state.renderedBodyEndIndex === endIndex) {
361
+ return;
362
+ }
363
+ inner.style.height = `${state.renderData.bodyHeight}px`;
364
+ inner.style.minWidth = `calc(${state.renderData.maxLineCharacterCount + 8}ch + 64px)`;
365
+ this.reconcileBodyEntries(state, startIndex, endIndex);
366
+ state.renderedBodyStartIndex = startIndex;
367
+ state.renderedBodyEndIndex = endIndex;
368
+ }
369
+ toVirtualItem(state) {
370
+ return {
371
+ collapsed: state.collapsed,
372
+ state: state.loadState === "idle" ? "unloaded" : state.loadState,
373
+ estimatedHunkCount: state.estimatedHunkCount,
374
+ estimatedRowCount: state.estimatedRowCount,
375
+ hunkCount: state.hunkCount,
376
+ rowCount: state.rowCount
377
+ };
378
+ }
379
+ computeCurrentVirtualLayout(viewportHeight) {
380
+ return computeMobileMultiDiffVirtualLayout(this.fileStates.map(state => this.toVirtualItem(state)), {
381
+ viewportHeight,
382
+ scrollTop: this.scrollWrapper.scrollTop,
383
+ overscan: Math.max(viewportHeight, 480),
384
+ metrics: VIRTUALIZER_METRICS
385
+ });
386
+ }
387
+ computeVirtualTop(index) {
388
+ let top = 0;
389
+ const end = Math.min(index, this.fileStates.length);
390
+ for (let i = 0; i < end; i++) {
391
+ top += computeMobileMultiDiffItemHeight(this.toVirtualItem(this.fileStates[i]), VIRTUALIZER_METRICS);
392
+ }
393
+ return top;
394
+ }
395
+ scheduleLoadVisibleFiles() {
396
+ if (this.disposed || this.loadVisibleAnimationFrame !== undefined) {
397
+ return;
398
+ }
399
+ const targetWindow = getWindow(this.scrollWrapper);
400
+ this.loadVisibleAnimationFrame = targetWindow.requestAnimationFrame(() => {
401
+ this.loadVisibleAnimationFrame = undefined;
402
+ this.loadVisibleFiles();
403
+ this.schedulePrefetchFile();
404
+ });
405
+ }
406
+ cancelScheduledLoadVisibleFiles() {
407
+ if (this.loadVisibleAnimationFrame !== undefined) {
408
+ getWindow(this.scrollWrapper).cancelAnimationFrame(this.loadVisibleAnimationFrame);
409
+ this.loadVisibleAnimationFrame = undefined;
410
+ }
411
+ }
412
+ schedulePrefetchFile() {
413
+ if (this.disposed || this.prefetchAnimationFrame !== undefined) {
414
+ return;
415
+ }
416
+ const targetWindow = getWindow(this.scrollWrapper);
417
+ this.prefetchAnimationFrame = targetWindow.requestAnimationFrame(() => {
418
+ this.prefetchAnimationFrame = undefined;
419
+ this.prefetchNearFile();
420
+ });
421
+ }
422
+ cancelScheduledPrefetchFile() {
423
+ if (this.prefetchAnimationFrame !== undefined) {
424
+ getWindow(this.scrollWrapper).cancelAnimationFrame(this.prefetchAnimationFrame);
425
+ this.prefetchAnimationFrame = undefined;
426
+ }
427
+ }
428
+ loadVisibleFiles() {
429
+ if (this.disposed) {
430
+ return;
431
+ }
432
+ const loadingCount = this.fileStates.reduce((count, state) => count + (state.loadState === "loading" ? 1 : 0), 0);
433
+ if (loadingCount >= MAX_CONCURRENT_FILE_LOADS) {
434
+ return;
435
+ }
436
+ const layout = this.currentLayout;
437
+ if (!layout) {
438
+ return;
439
+ }
440
+ const viewportTop = this.scrollWrapper.scrollTop;
441
+ const viewportBottom = viewportTop + this.scrollWrapper.clientHeight;
442
+ let nextState;
443
+ let nextDistance = Number.POSITIVE_INFINITY;
444
+ for (const item of layout.items) {
445
+ const state = this.fileStates[item.index];
446
+ if (state.loadState !== "idle" || state.collapsed) {
447
+ continue;
448
+ }
449
+ const itemTop = item.virtualTop;
450
+ const itemBottom = item.virtualTop + item.virtualHeight;
451
+ const distance = itemBottom < viewportTop ? viewportTop - itemBottom : itemTop > viewportBottom ? itemTop - viewportBottom : 0;
452
+ if (distance < nextDistance) {
453
+ nextState = state;
454
+ nextDistance = distance;
455
+ }
456
+ }
457
+ if (nextState) {
458
+ this.ensureFileLoaded(nextState, "visible");
459
+ }
460
+ }
461
+ prefetchNearFile() {
462
+ if (this.disposed) {
463
+ return;
464
+ }
465
+ const layout = this.currentLayout;
466
+ if (!layout) {
467
+ return;
468
+ }
469
+ const mountedIndexes = ( new Set(layout.items.map(item => item.index)));
470
+ if (( layout.items.some(item => {
471
+ const state = this.fileStates[item.index];
472
+ return !state.collapsed && state.loadState === "idle";
473
+ }))) {
474
+ return;
475
+ }
476
+ const loadingCount = this.fileStates.reduce((count, state) => count + (state.loadState === "loading" ? 1 : 0), 0);
477
+ const prefetchLoadingCount = this.fileStates.reduce(
478
+ (count, state) => count + (state.loadState === "loading" && state.loadKind === "prefetch" ? 1 : 0),
479
+ 0
480
+ );
481
+ if (loadingCount >= MAX_CONCURRENT_FILE_LOADS || prefetchLoadingCount >= MAX_CONCURRENT_PREFETCH_LOADS) {
482
+ return;
483
+ }
484
+ const viewportTop = this.scrollWrapper.scrollTop;
485
+ const viewportBottom = viewportTop + this.scrollWrapper.clientHeight;
486
+ const prefetchDistance = Math.max(
487
+ MIN_PREFETCH_DISTANCE,
488
+ this.scrollWrapper.clientHeight * PREFETCH_VIEWPORT_MULTIPLIER
489
+ );
490
+ let virtualTop = 0;
491
+ let nextState;
492
+ let nextDistance = Number.POSITIVE_INFINITY;
493
+ for (const state of this.fileStates) {
494
+ const virtualHeight = computeMobileMultiDiffItemHeight(this.toVirtualItem(state), VIRTUALIZER_METRICS);
495
+ const virtualBottom = virtualTop + virtualHeight;
496
+ if (!( mountedIndexes.has(state.index)) && !state.collapsed && state.loadState === "idle") {
497
+ const distance = virtualBottom < viewportTop ? viewportTop - virtualBottom : virtualTop > viewportBottom ? virtualTop - viewportBottom : 0;
498
+ if (distance <= prefetchDistance && distance < nextDistance) {
499
+ nextState = state;
500
+ nextDistance = distance;
501
+ }
502
+ }
503
+ virtualTop = virtualBottom;
504
+ }
505
+ if (nextState) {
506
+ this.ensureFileLoaded(nextState, "prefetch");
507
+ }
508
+ }
509
+ ensureFileLoaded(state, loadKind) {
510
+ if (state.loadState !== "idle") {
511
+ return;
512
+ }
513
+ state.loadState = "loading";
514
+ state.loadKind = loadKind;
515
+ state.loadRequestId++;
516
+ this.renderCurrentFileContent(state);
517
+ const generation = this.renderGeneration;
518
+ const loadRequestId = state.loadRequestId;
519
+ void this.loadFileContent(state, generation, loadRequestId).catch(() => {
520
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
521
+ return;
522
+ }
523
+ state.loadState = "error";
524
+ state.loadKind = undefined;
525
+ this.renderCurrentFileContent(state);
526
+ }).finally(() => {
527
+ if (!this.disposed && generation === this.renderGeneration && state.loadRequestId === loadRequestId) {
528
+ this.scheduleVirtualLayout();
529
+ }
530
+ });
531
+ }
532
+ isActiveFileLoad(state, generation, loadRequestId) {
533
+ return !this.disposed && generation === this.renderGeneration && state.loadRequestId === loadRequestId && state.loadState === "loading";
534
+ }
535
+ abandonOffscreenLoads(visibleIndexes) {
536
+ for (const state of this.fileStates) {
537
+ if (state.loadState !== "loading" || state.loadKind === "prefetch" || ( visibleIndexes.has(state.index))) {
538
+ continue;
539
+ }
540
+ state.loadRequestId++;
541
+ state.loadState = "idle";
542
+ state.loadKind = undefined;
543
+ state.renderData = undefined;
544
+ state.hunkCount = 0;
545
+ state.rowCount = 0;
546
+ this.resetBodyRenderState(state);
547
+ this.renderCurrentFileContent(state);
548
+ }
549
+ }
550
+ async loadFileContent(state, generation, loadRequestId) {
551
+ const diff = state.diff;
552
+ if (diff.identical) {
553
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
554
+ return;
555
+ }
556
+ state.loadState = "empty";
557
+ state.loadKind = undefined;
558
+ state.renderData = undefined;
559
+ state.hunkCount = 0;
560
+ state.rowCount = 0;
561
+ this.renderCurrentFileContent(state);
562
+ return;
563
+ }
564
+ const languageId = resolveMobileDiffLanguageId(this.languageService, diff);
565
+ const [originalText, modifiedText] = await Promise.all([
566
+ this.readTextContent(diff.originalURI),
567
+ this.readTextContent(diff.modifiedURI)
568
+ ]);
569
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
570
+ return;
571
+ }
572
+ const hunks = await (this.data.computeDiff?.(originalText, modifiedText) ?? Promise.resolve(computeUnifiedDiff(originalText, modifiedText)));
573
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
574
+ return;
575
+ }
576
+ if (hunks.length === 0) {
577
+ state.loadState = "empty";
578
+ state.loadKind = undefined;
579
+ state.renderData = undefined;
580
+ state.hunkCount = 0;
581
+ state.rowCount = 0;
582
+ this.renderCurrentFileContent(state);
583
+ return;
584
+ }
585
+ const [origLineHtml, modLineHtml] = await Promise.all([
586
+ tokenizeFileLines(this.languageService, originalText, languageId),
587
+ tokenizeFileLines(this.languageService, modifiedText, languageId)
588
+ ]);
589
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
590
+ return;
591
+ }
592
+ const hasRealTokens = hasMultipleTokenClasses(origLineHtml) || hasMultipleTokenClasses(modLineHtml);
593
+ const origLines = hasRealTokens ? origLineHtml : regexTokenizeLines(originalText, languageId);
594
+ const modLines = hasRealTokens ? modLineHtml : regexTokenizeLines(modifiedText, languageId);
595
+ if (!this.isActiveFileLoad(state, generation, loadRequestId)) {
596
+ return;
597
+ }
598
+ state.loadState = "loaded";
599
+ state.loadKind = undefined;
600
+ state.hunkCount = hunks.length;
601
+ state.rowCount = hunks.reduce((count, hunk) => count + hunk.lines.length, 0);
602
+ const {
603
+ bodyEntries,
604
+ bodyHeight,
605
+ maxLineCharacterCount
606
+ } = this.createBodyEntries(hunks);
607
+ state.renderData = {
608
+ bodyEntries,
609
+ bodyHeight,
610
+ maxLineCharacterCount,
611
+ origLines,
612
+ modLines,
613
+ hasRealTokens
614
+ };
615
+ this.resetBodyRenderState(state);
616
+ this.renderCurrentFileContent(state);
617
+ }
618
+ async readTextContent(resource) {
619
+ if (!resource) {
620
+ return "";
621
+ }
622
+ try {
623
+ const model = await this.textFileService.read(resource, {
624
+ acceptTextOnly: true
625
+ });
626
+ return model.value;
627
+ } catch {
628
+ try {
629
+ const file = await this.fileService.readFile(resource);
630
+ return ( file.value.toString());
631
+ } catch {
632
+ return "";
633
+ }
634
+ }
635
+ }
636
+ createBodyEntries(hunks) {
637
+ const bodyEntries = [];
638
+ let top = 0;
639
+ let maxLineCharacterCount = 0;
640
+ for (const hunk of hunks) {
641
+ bodyEntries.push({
642
+ type: "hunk",
643
+ header: hunk.header,
644
+ top,
645
+ height: VIRTUALIZER_METRICS.hunkHeaderHeight
646
+ });
647
+ top += VIRTUALIZER_METRICS.hunkHeaderHeight;
648
+ for (const line of hunk.lines) {
649
+ maxLineCharacterCount = Math.max(maxLineCharacterCount, line.text.length);
650
+ bodyEntries.push({
651
+ type: "line",
652
+ line,
653
+ top,
654
+ height: VIRTUALIZER_METRICS.rowHeight
655
+ });
656
+ top += VIRTUALIZER_METRICS.rowHeight;
657
+ }
658
+ }
659
+ return {
660
+ bodyEntries,
661
+ bodyHeight: top,
662
+ maxLineCharacterCount
663
+ };
664
+ }
665
+ computeVisibleBodyEntryRange(entries, visibleTop, visibleBottom) {
666
+ if (entries.length === 0 || visibleBottom <= visibleTop) {
667
+ return {
668
+ startIndex: 0,
669
+ endIndex: 0
670
+ };
671
+ }
672
+ const startIndex = this.findFirstBodyEntryEndingAfter(entries, visibleTop);
673
+ const endIndex = this.findFirstBodyEntryStartingAtOrAfter(entries, visibleBottom);
674
+ return {
675
+ startIndex,
676
+ endIndex: Math.max(startIndex, endIndex)
677
+ };
678
+ }
679
+ findFirstBodyEntryEndingAfter(entries, offset) {
680
+ let low = 0;
681
+ let high = entries.length;
682
+ while (low < high) {
683
+ const mid = Math.floor((low + high) / 2);
684
+ if (entries[mid].top + entries[mid].height <= offset) {
685
+ low = mid + 1;
686
+ } else {
687
+ high = mid;
688
+ }
689
+ }
690
+ return low;
691
+ }
692
+ findFirstBodyEntryStartingAtOrAfter(entries, offset) {
693
+ let low = 0;
694
+ let high = entries.length;
695
+ while (low < high) {
696
+ const mid = Math.floor((low + high) / 2);
697
+ if (entries[mid].top < offset) {
698
+ low = mid + 1;
699
+ } else {
700
+ high = mid;
701
+ }
702
+ }
703
+ return low;
704
+ }
705
+ ensureBodyInner(state) {
706
+ if (state.bodyInner && state.bodyInner.parentElement === state.content) {
707
+ return state.bodyInner;
708
+ }
709
+ if (!state.content || !state.renderData) {
710
+ throw ( new Error("Cannot render a loaded mobile diff body without content and render data."));
711
+ }
712
+ clearNode(state.content);
713
+ this.resetBodyRenderState(state);
714
+ const inner = append(state.content, $("div.mobile-multi-diff-file-content-inner"));
715
+ inner.style.height = `${state.renderData.bodyHeight}px`;
716
+ inner.style.minWidth = `calc(${state.renderData.maxLineCharacterCount + 8}ch + 64px)`;
717
+ const colorMap = TokenizationRegistry.getColorMap();
718
+ if (colorMap && state.renderData.hasRealTokens) {
719
+ const styleEl = createElement("style");
720
+ styleEl.textContent = generateTokensCSSForColorMap(colorMap);
721
+ inner.appendChild(styleEl);
722
+ }
723
+ state.bodyInner = inner;
724
+ return inner;
725
+ }
726
+ resetBodyRenderState(state) {
727
+ state.fileMessage = undefined;
728
+ state.bodyInner = undefined;
729
+ state.renderedBodyRows.clear();
730
+ state.renderedBodyStartIndex = undefined;
731
+ state.renderedBodyEndIndex = undefined;
732
+ }
733
+ reconcileBodyEntries(state, startIndex, endIndex) {
734
+ if (!state.bodyInner || !state.renderData) {
735
+ return;
736
+ }
737
+ for (const [index, element] of Array.from(state.renderedBodyRows)) {
738
+ if (index < startIndex || index >= endIndex) {
739
+ element.remove();
740
+ state.renderedBodyRows.delete(index);
741
+ }
742
+ }
743
+ let runStart;
744
+ let runEnd = startIndex;
745
+ for (let index = startIndex; index < endIndex; index++) {
746
+ if (( state.renderedBodyRows.has(index))) {
747
+ if (runStart !== undefined) {
748
+ this.insertBodyEntryRun(state, runStart, runEnd);
749
+ runStart = undefined;
750
+ }
751
+ continue;
752
+ }
753
+ runStart ??= index;
754
+ runEnd = index + 1;
755
+ }
756
+ if (runStart !== undefined) {
757
+ this.insertBodyEntryRun(state, runStart, runEnd);
758
+ }
759
+ }
760
+ insertBodyEntryRun(state, startIndex, endIndex) {
761
+ if (!state.bodyInner || !state.renderData) {
762
+ return;
763
+ }
764
+ const htmlParts = [];
765
+ for (let index = startIndex; index < endIndex; index++) {
766
+ htmlParts.push(this.renderBodyEntryHtml(
767
+ index,
768
+ state.renderData.bodyEntries[index],
769
+ state.renderData.origLines,
770
+ state.renderData.modLines
771
+ ));
772
+ }
773
+ const template = createElement("template");
774
+ template.innerHTML = htmlParts.join("");
775
+ const insertedElements = Array.from(template.content.children);
776
+ for (const element of insertedElements) {
777
+ const index = Number(element.dataset.entryIndex);
778
+ if (Number.isFinite(index)) {
779
+ state.renderedBodyRows.set(index, element);
780
+ }
781
+ }
782
+ state.bodyInner.insertBefore(template.content, this.findNextRenderedBodyRow(state, endIndex));
783
+ }
784
+ findNextRenderedBodyRow(state, startIndex) {
785
+ for (let index = startIndex; index < state.renderData.bodyEntries.length; index++) {
786
+ const element = state.renderedBodyRows.get(index);
787
+ if (element) {
788
+ return element;
789
+ }
790
+ }
791
+ return null;
792
+ }
793
+ renderBodyEntryHtml(index, entry, origLineHtml, modLineHtml) {
794
+ const style = `top:${entry.top}px;height:${entry.height}px;`;
795
+ if (entry.type === "hunk") {
796
+ return `<div class="mobile-diff-hunk-header mobile-multi-diff-body-entry" data-entry-index="${index}" style="${style}">${this.escapeHtml(entry.header)}</div>`;
797
+ }
798
+ const line = entry.line;
799
+ const lineNumber = line.lineNum !== undefined ? String(line.lineNum) : "";
800
+ const gutter = line.type === "added" ? "+" : line.type === "removed" ? "-" : " ";
801
+ const content = this.getLineHtml(line, origLineHtml, modLineHtml);
802
+ return [
803
+ `<div class="mobile-diff-line mobile-multi-diff-body-entry ${line.type}" data-entry-index="${index}" style="${style}">`,
804
+ `<span class="mobile-diff-line-num">${this.escapeHtml(lineNumber)}</span>`,
805
+ `<span class="mobile-diff-gutter">${this.escapeHtml(gutter)}</span>`,
806
+ `<span class="mobile-diff-content">${content}</span>`,
807
+ "</div>"
808
+ ].join("");
809
+ }
810
+ getLineHtml(line, origLineHtml, modLineHtml) {
811
+ if (line.lineNum !== undefined) {
812
+ const source = line.type === "added" ? modLineHtml : origLineHtml;
813
+ const html = source[line.lineNum - 1];
814
+ if (html !== undefined) {
815
+ return html;
816
+ }
817
+ }
818
+ return this.escapeHtml(line.text);
819
+ }
820
+ escapeHtml(value) {
821
+ return value.replace(/[&<>"']/g, char => {
822
+ switch (char) {
823
+ case "&":
824
+ return "&amp;";
825
+ case "<":
826
+ return "&lt;";
827
+ case ">":
828
+ return "&gt;";
829
+ case "\"":
830
+ return "&quot;";
831
+ case "'":
832
+ return "&#39;";
833
+ default:
834
+ return char;
835
+ }
836
+ });
837
+ }
838
+ dispose() {
839
+ this.disposed = true;
840
+ if (this.layoutAnimationFrame !== undefined) {
841
+ getWindow(this.scrollWrapper).cancelAnimationFrame(this.layoutAnimationFrame);
842
+ this.layoutAnimationFrame = undefined;
843
+ }
844
+ if (this.loadVisibleAnimationFrame !== undefined) {
845
+ this.cancelScheduledLoadVisibleFiles();
846
+ }
847
+ if (this.prefetchAnimationFrame !== undefined) {
848
+ this.cancelScheduledPrefetchFile();
849
+ }
850
+ for (const state of this.fileStates) {
851
+ this.disposeFileSection(state);
852
+ }
853
+ this.mountedIndexes.clear();
854
+ this._onDidDispose.fire();
855
+ this.viewStore.dispose();
856
+ super.dispose();
857
+ }
858
+ }
859
+
860
+ export { MobileMultiDiffView };