@codingame/monaco-vscode-chat-service-override 34.1.2 → 35.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -2,21 +2,23 @@
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
4
  import * as chatViewPane from './media/chatViewPane.css';
5
- import { $, append, addDisposableListener, EventType, setVisibility, getWindow, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { append, $, getWindow, addDisposableListener, EventType, setVisibility, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
6
  import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
7
7
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
8
8
  import { Sash, Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
9
+ import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
9
10
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
10
- import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
11
11
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
12
- import { MutableDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
+ import { MutableDisposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
13
13
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
14
14
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
15
15
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
16
+ import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
16
17
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
17
18
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
18
19
  import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
19
20
  import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
21
+ import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
20
22
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
21
23
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
22
24
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -59,7 +61,7 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
59
61
  import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
60
62
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
61
63
  import { LocalChatSessionUri, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
62
- import { ChatConfiguration, ChatAgentLocation, ChatModeKind, getDefaultNewChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
64
+ import { ChatConfiguration, ChatAgentLocation, ChatModeKind, getDefaultNewChatSessionType, getDefaultNewChatSessionResource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
63
65
  import { AgentSessionsControl } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl';
64
66
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
65
67
  import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
@@ -69,6 +71,7 @@ import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/
69
71
  import { AgentSessionsViewerOrientation, AgentSessionsViewerPosition } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
70
72
  import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
71
73
  import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
74
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
72
75
  import { ProgressBadge } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/activity/common/activity';
73
76
  import { IActivityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/activity/common/activity.service';
74
77
  import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
@@ -79,6 +82,13 @@ import { ChatEntitlementContextKeys } from '@codingame/monaco-vscode-api/vscode/
79
82
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
80
83
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
81
84
  import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
85
+ import { IMicCaptureService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.service';
86
+ import { ITtsPlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.service';
87
+ import { IVoiceSessionController } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service';
88
+ import { IAgentTitleBarStatusService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service';
89
+ import { IVoicePlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service';
90
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
91
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
82
92
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
83
93
 
84
94
  var ChatViewPane_1;
@@ -89,7 +99,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
89
99
  }
90
100
  constructor(
91
101
  options,
92
- keybindingService,
102
+ keybindingService2,
93
103
  contextMenuService,
94
104
  configurationService,
95
105
  contextKeyService,
@@ -112,11 +122,18 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
112
122
  chatEntitlementService,
113
123
  commandService,
114
124
  activityService,
115
- hostService
125
+ hostService,
126
+ micCaptureService,
127
+ ttsPlaybackService,
128
+ voiceSessionController,
129
+ chatWidgetService,
130
+ _agentTitleBarStatusService,
131
+ _voicePlaybackService,
132
+ _workbenchEnvironmentService
116
133
  ) {
117
134
  super(
118
135
  options,
119
- keybindingService,
136
+ keybindingService2,
120
137
  contextMenuService,
121
138
  configurationService,
122
139
  contextKeyService,
@@ -140,10 +157,16 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
140
157
  this.commandService = commandService;
141
158
  this.activityService = activityService;
142
159
  this.hostService = hostService;
160
+ this.micCaptureService = micCaptureService;
161
+ this.ttsPlaybackService = ttsPlaybackService;
162
+ this.voiceSessionController = voiceSessionController;
163
+ this.chatWidgetService = chatWidgetService;
143
164
  this.lastDimensionsPerOrientation = ( new Map());
144
165
  this.loadSessionCts = this._register(( new MutableDisposable()));
145
166
  this.modelRef = this._register(( new MutableDisposable()));
146
167
  this.activityBadge = this._register(( new MutableDisposable()));
168
+ this._currentSessionResource = observableValue(this, undefined);
169
+ this._voiceBarDisposables = this._register(( new DisposableStore()));
147
170
  this.sessionsViewerOrientation = AgentSessionsViewerOrientation.Stacked;
148
171
  this.sessionsViewerOrientationConfiguration = "sideBySide";
149
172
  this.sessionsViewerSashDisposables = this._register(( new MutableDisposable()));
@@ -265,20 +288,14 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
265
288
  onDidChangeAgents() {
266
289
  if (this.chatAgentService.getDefaultAgent(ChatAgentLocation.Chat)) {
267
290
  if (!this._widget?.viewModel && !this.restoringSession) {
268
- const sessionResource = this.getTransferredOrPersistedSessionInfo();
269
- this.restoringSession = (sessionResource ? this.chatService.acquireOrLoadSession(
270
- sessionResource,
271
- ChatAgentLocation.Chat,
272
- CancellationToken.None,
273
- "ChatViewPane#onDidChangeAgents"
274
- ) : Promise.resolve(undefined)).then(async modelRef => {
291
+ this.restoringSession = this.acquireTransferredOrPersistedSession(CancellationToken.None, "ChatViewPane#onDidChangeAgents").then(async modelRef => {
275
292
  if (!this._widget) {
276
293
  return;
277
294
  }
278
295
  const wasVisible = this._widget.visible;
279
296
  try {
280
297
  this._widget.setVisible(false);
281
- await this.showModel(CancellationToken.None, modelRef);
298
+ await this.showModel(CancellationToken.None, modelRef, true, !modelRef);
282
299
  } finally {
283
300
  this._widget.setVisible(wasVisible);
284
301
  }
@@ -303,7 +320,20 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
303
320
  this.viewPaneContainer = parent;
304
321
  this.viewPaneContainer.classList.add("chat-viewpane");
305
322
  this.updateViewPaneClasses(false);
306
- this.createControls(parent);
323
+ const controlsWrapper = append(parent, $(".voice-agent-controls-wrapper"));
324
+ this.createControls(controlsWrapper);
325
+ this._voiceBarContainer = $(".voice-agent-bar-host");
326
+ this._voiceBarContainer.style.display = "none";
327
+ this._updateVoiceBar(this._voiceBarContainer);
328
+ const inputContainerEl = this._widget.inputPart.inputContainerElement;
329
+ if (inputContainerEl) {
330
+ this._setupVoiceTranscriptOverlay(inputContainerEl);
331
+ }
332
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
333
+ if (e.affectsConfiguration("agents.voice.enabled")) {
334
+ this._updateVoiceBar(this._voiceBarContainer);
335
+ }
336
+ }));
307
337
  this.setupContextMenu(parent);
308
338
  this.applyModel();
309
339
  }
@@ -316,6 +346,233 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
316
346
  this.registerControlsListeners(sessionsControl, chatWidget, welcomeController);
317
347
  this.updateSessionsControlVisibility();
318
348
  }
349
+ _updateVoiceBar(container) {
350
+ this._voiceBarDisposables.clear();
351
+ container.replaceChildren();
352
+ container.style.display = "none";
353
+ if (this.configurationService.getValue("agents.voice.enabled")) {
354
+ this._voiceBarDisposables.add(
355
+ CommandsRegistry.registerCommand("_chat.voice.acceptInput", (accessor, text) => {
356
+ const chatWidgetService = accessor.get(IChatWidgetService);
357
+ const widget = chatWidgetService.lastFocusedWidget ?? this._widget;
358
+ if (text && widget?.viewModel) {
359
+ if (widget.viewModel.editing) {
360
+ widget.input.setValue(text, false);
361
+ } else {
362
+ widget.acceptInput(text, {
363
+ preserveFocus: true
364
+ });
365
+ }
366
+ }
367
+ })
368
+ );
369
+ this._voiceBarDisposables.add(
370
+ CommandsRegistry.registerCommand("_chat.voice.switchToSession", (_accessor, resourceStr) => {
371
+ if (!resourceStr) {
372
+ return false;
373
+ }
374
+ try {
375
+ this.viewState.sessionResource = ( URI.parse(resourceStr));
376
+ this.applyModel();
377
+ return true;
378
+ } catch {
379
+ return false;
380
+ }
381
+ })
382
+ );
383
+ this._voiceBarDisposables.add(
384
+ CommandsRegistry.registerCommand("_chat.voice.getCurrentSession", _accessor => {
385
+ return this._widget?.viewModel?.sessionResource?.toString();
386
+ })
387
+ );
388
+ }
389
+ }
390
+ _setupVoiceTranscriptOverlay(inputContainerEl) {
391
+ inputContainerEl.style.position = "relative";
392
+ const transcriptOverlay = $(".voice-transcript-overlay");
393
+ const transcriptScrollable = this._register(( new DomScrollableElement(transcriptOverlay, {
394
+ horizontal: ScrollbarVisibility.Hidden,
395
+ vertical: ScrollbarVisibility.Auto
396
+ })));
397
+ const transcriptOverlayNode = transcriptScrollable.getDomNode();
398
+ transcriptOverlayNode.classList.add("voice-transcript-overlay-scrollable");
399
+ transcriptOverlayNode.style.display = "none";
400
+ inputContainerEl.append(transcriptOverlayNode);
401
+ let animFrameId;
402
+ let glowDataArray;
403
+ const win = getWindow(inputContainerEl);
404
+ let lastGlowTarget;
405
+ let lockedGlowWidget;
406
+ const getActiveInputContainer = () => {
407
+ if (lockedGlowWidget) {
408
+ return lockedGlowWidget;
409
+ }
410
+ const focused = this.chatWidgetService.lastFocusedWidget;
411
+ return focused?.input?.inputContainerElement ?? inputContainerEl;
412
+ };
413
+ const startGlowAnimation = () => {
414
+ if (animFrameId !== undefined) {
415
+ return;
416
+ }
417
+ const animate = () => {
418
+ animFrameId = win.requestAnimationFrame(animate);
419
+ const connected = this.voiceSessionController.isConnected.get();
420
+ const voiceState = this.voiceSessionController.voiceState.get();
421
+ const glowActive = connected && (voiceState === "listening" || voiceState === "speaking");
422
+ const target = getActiveInputContainer();
423
+ if (lastGlowTarget && lastGlowTarget !== target) {
424
+ lastGlowTarget.style.borderColor = "";
425
+ lastGlowTarget.style.boxShadow = "";
426
+ lastGlowTarget.classList.remove("voice-active", "voice-listening");
427
+ }
428
+ lastGlowTarget = target;
429
+ if (!glowActive) {
430
+ target.style.borderColor = "";
431
+ target.style.boxShadow = "";
432
+ target.classList.remove("voice-active", "voice-listening");
433
+ return;
434
+ }
435
+ const analyser = this.ttsPlaybackService.analyserNode ?? (voiceState === "listening" ? this.micCaptureService.analyserNode : null) ?? null;
436
+ let intensity;
437
+ if (!analyser) {
438
+ intensity = 0.3;
439
+ } else {
440
+ if (!glowDataArray || glowDataArray.length !== analyser.frequencyBinCount) {
441
+ glowDataArray = ( new Uint8Array(analyser.frequencyBinCount));
442
+ }
443
+ analyser.getByteFrequencyData(glowDataArray);
444
+ let sum = 0;
445
+ for (let i = 0; i < glowDataArray.length; i++) {
446
+ sum += glowDataArray[i];
447
+ }
448
+ intensity = Math.min(1, (sum / glowDataArray.length) / 80);
449
+ }
450
+ const rgb = voiceState === "speaking" ? "163,113,247" : "88,166,255";
451
+ const transcriptHidden = this.configurationService.getValue("agents.voice.showTranscript") === false;
452
+ let borderAlpha;
453
+ let shadowSpread;
454
+ let shadowAlpha;
455
+ if (voiceState === "listening" && transcriptHidden) {
456
+ borderAlpha = 0.6 + intensity * 0.4;
457
+ shadowSpread = 6 + intensity * 20;
458
+ shadowAlpha = 0.25 + intensity * 0.55;
459
+ } else {
460
+ borderAlpha = 0.4 + intensity * 0.5;
461
+ shadowSpread = 4 + intensity * 12;
462
+ shadowAlpha = 0.15 + intensity * 0.35;
463
+ }
464
+ target.style.borderColor = `rgba(${rgb},${borderAlpha})`;
465
+ if (voiceState === "listening" && transcriptHidden) {
466
+ target.style.boxShadow = `0 0 ${shadowSpread}px rgba(${rgb},${shadowAlpha}), 0 0 ${shadowSpread * 2}px rgba(${rgb},${shadowAlpha * 0.3}), inset 0 0 ${shadowSpread * 0.5}px rgba(${rgb},${shadowAlpha * 0.4})`;
467
+ } else {
468
+ target.style.boxShadow = `0 0 ${shadowSpread}px rgba(${rgb},${shadowAlpha}), inset 0 0 ${shadowSpread * 0.4}px rgba(${rgb},${shadowAlpha * 0.3})`;
469
+ }
470
+ target.classList.add("voice-active");
471
+ target.classList.toggle("voice-listening", voiceState === "listening");
472
+ };
473
+ animFrameId = win.requestAnimationFrame(animate);
474
+ };
475
+ const stopGlowAnimation = () => {
476
+ if (animFrameId !== undefined) {
477
+ win.cancelAnimationFrame(animFrameId);
478
+ animFrameId = undefined;
479
+ }
480
+ const target = lastGlowTarget ?? inputContainerEl;
481
+ target.style.borderColor = "";
482
+ target.style.boxShadow = "";
483
+ target.classList.remove("voice-active", "voice-listening");
484
+ lastGlowTarget = undefined;
485
+ };
486
+ this._register(autorun(reader => {
487
+ const connected = this.voiceSessionController.isConnected.read(reader);
488
+ if (connected && !lockedGlowWidget) {
489
+ lockedGlowWidget = this.chatWidgetService.lastFocusedWidget?.input?.inputContainerElement ?? inputContainerEl;
490
+ } else if (!connected) {
491
+ lockedGlowWidget = undefined;
492
+ }
493
+ }));
494
+ this._register(autorun(reader => {
495
+ const connected = this.voiceSessionController.isConnected.read(reader);
496
+ const voiceState = this.voiceSessionController.voiceState.read(reader);
497
+ if (connected && (voiceState === "listening" || voiceState === "speaking")) {
498
+ startGlowAnimation();
499
+ } else {
500
+ stopGlowAnimation();
501
+ }
502
+ }));
503
+ this._register({
504
+ dispose: () => stopGlowAnimation()
505
+ });
506
+ this._register(autorun(reader => {
507
+ const turns = this.voiceSessionController.transcriptTurns.read(reader);
508
+ const connected = this.voiceSessionController.isConnected.read(reader);
509
+ const voiceState = this.voiceSessionController.voiceState.read(reader);
510
+ const showTranscript = this.configurationService.getValue("agents.voice.showTranscript") !== false;
511
+ const visible = turns.filter(t => t.text.length > 0 || (t.speaker === "user" && t.isPartial));
512
+ if (!connected) {
513
+ transcriptOverlayNode.style.display = "none";
514
+ transcriptOverlayNode.classList.remove("has-transcript");
515
+ return;
516
+ }
517
+ const targetSession = this.voiceSessionController.targetSession.read(reader);
518
+ const currentSession = this._currentSessionResource.read(reader);
519
+ if (targetSession && currentSession && !isEqual(targetSession, currentSession)) {
520
+ transcriptOverlayNode.style.display = "none";
521
+ transcriptOverlayNode.classList.remove("has-transcript");
522
+ return;
523
+ }
524
+ if (visible.length === 0 || !showTranscript) {
525
+ const autoSendDelay = this.configurationService.getValue("agents.voice.autoSendDelay") ?? 500;
526
+ if (voiceState === "idle" && visible.length === 0 && showTranscript && autoSendDelay < 0) {
527
+ transcriptOverlayNode.style.display = "";
528
+ transcriptOverlayNode.classList.remove("has-transcript");
529
+ transcriptOverlay.replaceChildren();
530
+ const hint = $("span.partial");
531
+ const kb = this.keybindingService.lookupKeybinding("agentsVoice.pushToTalk");
532
+ const kbLabel = kb?.getLabel();
533
+ hint.textContent = kbLabel ? ( localize(8408, "Press {0} to talk", kbLabel)) : ( localize(8409, "Click voice mode to talk"));
534
+ transcriptOverlay.append(hint);
535
+ transcriptScrollable.scanDomNode();
536
+ } else {
537
+ transcriptOverlayNode.style.display = "none";
538
+ transcriptOverlayNode.classList.remove("has-transcript");
539
+ }
540
+ return;
541
+ }
542
+ transcriptOverlayNode.style.display = "";
543
+ transcriptOverlayNode.classList.add("has-transcript");
544
+ const lastTurn = visible[visible.length - 1];
545
+ const contentElements = [];
546
+ if (lastTurn.speaker === "user") {
547
+ const span = $("span");
548
+ if (lastTurn.isPartial) {
549
+ const committedPart = lastTurn.committed || "";
550
+ const unsurePart = lastTurn.text.slice(committedPart.length);
551
+ if (committedPart) {
552
+ const c = $("span.committed");
553
+ c.textContent = committedPart;
554
+ span.append(c);
555
+ }
556
+ const u = $("span.partial");
557
+ u.textContent = unsurePart + "▉";
558
+ span.append(u);
559
+ } else {
560
+ span.className = "committed";
561
+ span.textContent = lastTurn.text;
562
+ }
563
+ contentElements.push(span);
564
+ } else {
565
+ const div = $("div.assistant-text");
566
+ div.textContent = lastTurn.text;
567
+ contentElements.push(div);
568
+ }
569
+ transcriptOverlay.replaceChildren(...contentElements);
570
+ transcriptScrollable.scanDomNode();
571
+ transcriptScrollable.setScrollPosition({
572
+ scrollTop: 0
573
+ });
574
+ }));
575
+ }
319
576
  static {
320
577
  this.SESSIONS_SIDEBAR_MIN_WIDTH = 200;
321
578
  }
@@ -338,7 +595,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
338
595
  const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
339
596
  const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
340
597
  const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
341
- sessionsTitle.textContent = ( localize(7822, "Sessions"));
598
+ sessionsTitle.textContent = ( localize(8410, "Sessions"));
342
599
  this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
343
600
  this.sessionsControl?.scrollToTop();
344
601
  this.sessionsControl?.focus();
@@ -366,10 +623,10 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
366
623
  ...defaultButtonStyles,
367
624
  secondary: true
368
625
  })));
369
- newSessionButton.label = ( localize(7823, "New Session"));
370
- this._register(
371
- newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
372
- );
626
+ newSessionButton.label = ( localize(8411, "New Session"));
627
+ this._register(newSessionButton.onDidClick(
628
+ () => this.commandService.executeCommand(ACTION_ID_NEW_CHAT, this.getActionsContext())
629
+ ));
373
630
  this.sessionsControlContainer = append(sessionsContainer, $(".agent-sessions-control-container"));
374
631
  const sessionsControl = this.sessionsControl = this._register(
375
632
  this.instantiationService.createInstance(AgentSessionsControl, this.sessionsControlContainer, {
@@ -560,6 +817,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
560
817
  this._register(chatWidget.onDidChangeViewModel(() => {
561
818
  const model = chatWidget.viewModel?.model;
562
819
  this.titleControl?.update(model);
820
+ this._currentSessionResource.set(chatWidget.viewModel?.sessionResource, undefined);
563
821
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
564
822
  return;
565
823
  }
@@ -609,7 +867,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
609
867
  progressBadgeDisposables.value.add(autorun(reader => {
610
868
  if (model.requestInProgress.read(reader)) {
611
869
  this.activityBadge.value = this.activityService.showViewActivity(this.id, {
612
- badge: ( new ProgressBadge(() => ( localize(7824, "Agent Session in Progress"))))
870
+ badge: ( new ProgressBadge(() => ( localize(8412, "Agent Session in Progress"))))
613
871
  });
614
872
  } else {
615
873
  this.activityBadge.clear();
@@ -641,14 +899,8 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
641
899
  this.restoringSession.finally(() => this.restoringSession = undefined);
642
900
  }
643
901
  async _applyModel() {
644
- const sessionResource = this.getTransferredOrPersistedSessionInfo();
645
- const modelRef = sessionResource ? await this.chatService.acquireOrLoadSession(
646
- sessionResource,
647
- ChatAgentLocation.Chat,
648
- CancellationToken.None,
649
- "ChatViewPane#applyModel"
650
- ) : undefined;
651
- await this.showModel(CancellationToken.None, modelRef);
902
+ const modelRef = await this.acquireTransferredOrPersistedSession(CancellationToken.None, "ChatViewPane#applyModel");
903
+ await this.showModel(CancellationToken.None, modelRef, true, !modelRef);
652
904
  }
653
905
  async startNewLocalSession() {
654
906
  const ref = this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
@@ -661,10 +913,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
661
913
  if (defaultType === localChatSessionType) {
662
914
  return undefined;
663
915
  }
664
- const resource = ( URI.from({
665
- scheme: defaultType,
666
- path: `/untitled-${generateUuid()}`
667
- }));
916
+ const resource = getDefaultNewChatSessionResource(this.configurationService, this.chatSessionsService);
668
917
  try {
669
918
  return await this.chatService.acquireOrLoadSession(
670
919
  resource,
@@ -680,14 +929,34 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
680
929
  return undefined;
681
930
  }
682
931
  }
683
- async showModel(token, modelRef, startNewSession = true) {
932
+ async acquireTransferredOrPersistedSession(token, debugOwner) {
933
+ const sessionResource = this.getTransferredOrPersistedSessionInfo();
934
+ if (!sessionResource) {
935
+ return undefined;
936
+ }
937
+ const modelRef = await this.chatService.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, token, debugOwner);
938
+ if (!modelRef) {
939
+ return undefined;
940
+ }
941
+ if (this.shouldSkipRestoredLocalSession(sessionResource, modelRef.object)) {
942
+ modelRef.dispose();
943
+ return undefined;
944
+ }
945
+ return modelRef;
946
+ }
947
+ shouldSkipRestoredLocalSession(sessionResource, model) {
948
+ const defaultType = getDefaultNewChatSessionType(this.configurationService, this.chatSessionsService);
949
+ const prefersAgentHostCopilot = this.configurationService.getValue(ChatConfiguration.EditorLocalAgentEnabled) === false && this.configurationService.getValue(ChatConfiguration.EditorDefaultProvider) === "copilotAh";
950
+ return (defaultType !== localChatSessionType || prefersAgentHostCopilot) && getChatSessionType(sessionResource) === localChatSessionType && !model.hasRequests;
951
+ }
952
+ async showModel(token, modelRef, startNewSession = true, ignoreTransferredSession = false) {
684
953
  const oldModelResource = this.modelRef.value?.object.sessionResource;
685
954
  this.modelRef.value = undefined;
686
955
  let ref;
687
956
  if (startNewSession) {
688
957
  if (modelRef) {
689
958
  ref = modelRef;
690
- } else if (this.chatService.transferredSessionResource) {
959
+ } else if (!ignoreTransferredSession && this.chatService.transferredSessionResource) {
691
960
  ref = await this.chatService.acquireOrLoadSession(
692
961
  this.chatService.transferredSessionResource,
693
962
  ChatAgentLocation.Chat,
@@ -748,7 +1017,12 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
748
1017
  }
749
1018
  const contribution = this.chatSessionsService.getChatSessionContribution(sessionType);
750
1019
  if (contribution) {
751
- this._widget.lockToCodingAgent(contribution.name, contribution.displayName, sessionType);
1020
+ this._widget.lockToCodingAgent(
1021
+ contribution.name,
1022
+ contribution.displayName,
1023
+ sessionType,
1024
+ contribution.agentHostProviderId
1025
+ );
752
1026
  } else {
753
1027
  this._widget.unlockFromCodingAgent();
754
1028
  }
@@ -812,7 +1086,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
812
1086
  return undefined;
813
1087
  }
814
1088
  this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
815
- this.notificationService.error(( localize(7825, "Failed to open chat session: {0}", toErrorMessage(err))));
1089
+ this.notificationService.error(( localize(8413, "Failed to open chat session: {0}", toErrorMessage(err))));
816
1090
  const result = await this.showModel(token, undefined);
817
1091
  this.logService.trace(
818
1092
  `[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())} error=true`
@@ -838,6 +1112,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
838
1112
  return true;
839
1113
  }
840
1114
  relayout() {
1115
+ if (!this._widget?.visible) {
1116
+ return;
1117
+ }
841
1118
  if (this.lastDimensions) {
842
1119
  this.layoutBody(this.lastDimensions.height, this.lastDimensions.width);
843
1120
  }
@@ -907,7 +1184,10 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
907
1184
  if (oldSessionsViewerOrientation !== this.sessionsViewerOrientation) {
908
1185
  const updatePromise = this.sessionsControl.update();
909
1186
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.SideBySide) {
910
- updatePromise.then(() => {
1187
+ updatePromise.then(didUpdate => {
1188
+ if (!didUpdate) {
1189
+ return;
1190
+ }
911
1191
  const sessionResource = this._widget?.viewModel?.sessionResource;
912
1192
  if (sessionResource) {
913
1193
  this.sessionsControl?.reveal(sessionResource);
@@ -1052,6 +1332,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1052
1332
  } : undefined;
1053
1333
  }
1054
1334
  };
1055
- ChatViewPane = ChatViewPane_1 = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, IStorageService)), ( __param(11, IChatService)), ( __param(12, IChatAgentService)), ( __param(13, ILogService)), ( __param(14, INotificationService)), ( __param(15, IWorkbenchLayoutService)), ( __param(16, IChatSessionsService)), ( __param(17, ITelemetryService)), ( __param(18, ILifecycleService)), ( __param(19, IProgressService)), ( __param(20, IAgentSessionsService)), ( __param(21, IChatEntitlementService)), ( __param(22, ICommandService)), ( __param(23, IActivityService)), ( __param(24, IHostService))], ChatViewPane));
1335
+ ChatViewPane = ChatViewPane_1 = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, IStorageService)), ( __param(11, IChatService)), ( __param(12, IChatAgentService)), ( __param(13, ILogService)), ( __param(14, INotificationService)), ( __param(15, IWorkbenchLayoutService)), ( __param(16, IChatSessionsService)), ( __param(17, ITelemetryService)), ( __param(18, ILifecycleService)), ( __param(19, IProgressService)), ( __param(20, IAgentSessionsService)), ( __param(21, IChatEntitlementService)), ( __param(22, ICommandService)), ( __param(23, IActivityService)), ( __param(24, IHostService)), ( __param(25, IMicCaptureService)), ( __param(26, ITtsPlaybackService)), ( __param(27, IVoiceSessionController)), ( __param(28, IChatWidgetService)), ( __param(29, IAgentTitleBarStatusService)), ( __param(30, IVoicePlaybackService)), ( __param(31, IWorkbenchEnvironmentService))], ChatViewPane));
1056
1336
 
1057
1337
  export { ChatViewPane };
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
23
23
  ChatViewTitleControl_1 = this;
24
24
  }
25
25
  static {
26
- this.DEFAULT_TITLE = ( localize(7826, "Chat"));
26
+ this.DEFAULT_TITLE = ( localize(8414, "Chat"));
27
27
  }
28
28
  static {
29
29
  this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
48
48
  constructor() {
49
49
  super({
50
50
  id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
51
- title: ( localize(7827, "Pick Agent Session")),
51
+ title: ( localize(8415, "Pick Agent Session")),
52
52
  f1: false,
53
53
  menu: [{
54
54
  id: MenuId.ChatViewSessionTitleNavigationToolbar,