@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.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 (725) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +92 -10
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
  7. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
  10. package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
  11. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  12. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
  13. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
  14. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
  15. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
  21. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
  22. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  23. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  24. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  25. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  26. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  27. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
  28. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  29. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
  30. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
  31. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
  32. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  33. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
  34. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
  35. package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
  36. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
  37. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
  38. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  39. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
  40. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  41. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
  42. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
  43. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
  44. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
  45. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
  46. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
  47. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  48. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  49. package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
  50. package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
  51. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
  52. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
  53. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
  54. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
  55. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
  56. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  57. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  58. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  59. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  60. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  67. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  70. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +114 -3
  71. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
  72. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
  73. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
  74. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
  75. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  76. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  77. package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
  78. package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
  79. package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
  80. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
  81. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
  82. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
  83. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
  84. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
  85. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
  86. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
  87. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
  88. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
  89. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
  90. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
  91. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
  92. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
  93. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
  94. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
  95. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
  96. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
  97. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  98. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  99. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  100. package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
  101. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
  102. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
  104. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
  105. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
  106. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
  107. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
  108. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  109. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  111. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
  112. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
  113. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  114. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  115. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  116. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
  119. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
  120. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
  124. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  125. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  126. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
  127. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
  128. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
  131. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
  133. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
  134. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
  136. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
  140. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
  141. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
  142. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
  143. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
  147. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  148. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
  151. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
  152. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
  153. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
  156. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
  158. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
  160. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
  161. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
  162. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
  181. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
  182. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
  187. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
  188. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
  189. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
  202. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
  204. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
  208. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
  209. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
  211. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
  212. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  215. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  217. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
  220. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  221. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
  228. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
  229. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
  231. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
  232. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
  233. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
  234. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
  236. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
  238. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
  240. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
  241. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
  242. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
  244. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  245. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
  251. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
  252. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
  254. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  255. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  256. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
  258. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
  263. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  264. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
  265. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  266. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
  270. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
  271. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  272. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
  273. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
  274. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
  276. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
  280. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
  281. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
  283. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
  284. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
  285. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
  286. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
  287. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
  288. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
  289. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
  290. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
  293. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
  295. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
  297. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
  298. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
  304. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
  306. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  307. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
  308. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
  310. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +27 -22
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +7 -2
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
  406. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
  409. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
  410. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  411. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
  414. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
  415. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
  416. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
  422. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
  426. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
  427. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
  428. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
  429. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
  430. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
  431. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  432. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
  433. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  434. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
  435. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
  436. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  437. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
  438. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
  439. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
  440. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
  441. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  442. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  443. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  445. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  446. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +9 -16
  447. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  448. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
  449. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
  450. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
  451. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
  452. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
  453. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
  454. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
  455. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
  456. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
  457. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
  458. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
  459. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
  460. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
  461. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
  462. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
  463. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
  464. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
  465. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
  466. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
  467. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
  468. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
  469. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
  470. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
  475. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
  476. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
  477. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
  479. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  480. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
  481. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
  482. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
  483. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
  484. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
  485. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
  486. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
  487. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
  488. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
  491. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
  492. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
  498. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
  499. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
  501. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
  503. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
  504. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
  505. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
  506. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
  507. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
  508. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
  509. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
  510. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
  511. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  517. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
  518. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
  519. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
  520. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
  521. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
  522. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  523. package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
  524. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  525. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  526. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
  528. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
  529. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
  530. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
  531. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
  532. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
  533. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
  534. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
  549. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
  551. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
  552. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  555. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  556. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  558. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +3 -1
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  564. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  567. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
  569. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
  570. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
  571. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  572. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  573. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.d.ts +59 -0
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
  583. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +25 -16
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +4 -4
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +7 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
  638. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
  639. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
  640. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
  641. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
  642. package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
  643. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
  644. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
  645. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
  646. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
  647. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
  648. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
  649. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
  650. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
  651. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
  652. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
  653. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
  654. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
  655. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
  656. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
  657. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
  658. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
  659. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
  660. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
  661. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
  662. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
  663. package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
  664. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
  665. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
  666. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
  667. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
  668. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
  669. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
  670. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
  675. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
  676. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
  677. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
  678. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
  679. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
  680. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
  681. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
  682. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
  687. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
  688. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
  689. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
  690. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
  691. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
  692. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
  693. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
  694. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
  695. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
  696. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
  697. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
  698. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
  699. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
  700. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
  701. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
  702. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
  703. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
  705. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
  706. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
  707. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
  708. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
  709. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
  710. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
  711. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
  712. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
  713. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
  714. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
  723. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  724. /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
  725. /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
@@ -8,11 +8,13 @@ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/b
8
8
  import { Sash, Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
9
9
  import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
10
10
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
11
+ import { isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
11
12
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
12
13
  import { MutableDisposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
14
+ import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
13
15
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
14
16
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
15
- import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
17
+ import { isEqual, getComparisonKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
16
18
  import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
17
19
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
18
20
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -33,6 +35,7 @@ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/
33
35
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
34
36
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
35
37
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
38
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
36
39
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
37
40
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
38
41
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
@@ -47,6 +50,8 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quic
47
50
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
48
51
  import { ChatViewTitleControl } from './chatViewTitleControl.js';
49
52
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
53
+ import { isDark } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/theme';
54
+ import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
50
55
  import { ViewPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane';
51
56
  import { Memento } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/memento';
52
57
  import { SIDE_BAR_FOREGROUND } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
@@ -60,23 +65,25 @@ import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-api/vscode/vs/workben
60
65
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
61
66
  import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
62
67
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
63
- import { LocalChatSessionUri, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
64
- import { ChatConfiguration, ChatAgentLocation, ChatModeKind, getDefaultNewChatSessionType, getDefaultNewChatSessionResource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
68
+ import { LocalChatSessionUri, isUntitledChatSession, getNewChatSessionResource, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
69
+ import { ChatConfiguration, ChatAgentLocation, ChatModeKind, getDefaultNewChatSessionTypeAndReasonFromServices, getLocalFallbackSessionTypeSelectionReason, getDefaultNewChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
65
70
  import { AgentSessionsControl } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl';
66
71
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
67
- import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
72
+ import { ChatWidget, layoutChatWidgetForInputHeight } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
68
73
  import { ChatViewWelcomeController } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController';
69
74
  import { Position, LayoutSettings } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
70
75
  import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
71
76
  import { AgentSessionsViewerOrientation, AgentSessionsViewerPosition } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
72
77
  import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
73
- import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
78
+ import { CHAT_WIDGET_VIEW_STATE_CACHE_LIMIT, setModelPreservingInputTypedWhileLoading, ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
74
79
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
75
80
  import { ProgressBadge } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/activity/common/activity';
76
81
  import { IActivityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/activity/common/activity.service';
77
82
  import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
78
83
  import { AgentSessionsFilter, AgentSessionsGrouping } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter';
79
84
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
85
+ import { IAgentHostEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostEnablementService.service';
86
+ import { AgentHostSessionInputPills } from '../../agentSessions/agentHost/agentHostSessionInputPills.js';
80
87
  import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
81
88
  import { ChatEntitlementContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
82
89
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
@@ -85,10 +92,17 @@ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
85
92
  import { IMicCaptureService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.service';
86
93
  import { ITtsPlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.service';
87
94
  import { IVoiceSessionController } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service';
95
+ import { IVoiceInputModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.service';
96
+ import { resolveVoiceGlowColors, isGlowingVoiceState, readVoiceGlowIntensity } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceGlow';
97
+ import { createVoiceGlowController } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceGlowController';
98
+ import { combineVoiceInput } from '../../voiceClient/voiceInputUtils.js';
99
+ import { resolveVoiceModel } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService';
88
100
  import { IAgentTitleBarStatusService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service';
89
101
  import { IVoicePlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service';
102
+ import { VOICE_AGENT_PROGRESS_SETTING } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/voiceClient/voiceClientService';
90
103
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
91
104
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
105
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
92
106
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
93
107
 
94
108
  var ChatViewPane_1;
@@ -126,10 +140,14 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
126
140
  micCaptureService,
127
141
  ttsPlaybackService,
128
142
  voiceSessionController,
143
+ voiceInputModeService,
129
144
  chatWidgetService,
130
145
  _agentTitleBarStatusService,
131
146
  _voicePlaybackService,
132
- _workbenchEnvironmentService
147
+ _workbenchEnvironmentService,
148
+ workspaceContextService,
149
+ agentHostEnablementService,
150
+ accessibilityService
133
151
  ) {
134
152
  super(
135
153
  options,
@@ -160,10 +178,17 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
160
178
  this.micCaptureService = micCaptureService;
161
179
  this.ttsPlaybackService = ttsPlaybackService;
162
180
  this.voiceSessionController = voiceSessionController;
181
+ this.voiceInputModeService = voiceInputModeService;
163
182
  this.chatWidgetService = chatWidgetService;
183
+ this.workspaceContextService = workspaceContextService;
184
+ this.agentHostEnablementService = agentHostEnablementService;
185
+ this.accessibilityService = accessibilityService;
164
186
  this.lastDimensionsPerOrientation = ( new Map());
165
187
  this.loadSessionCts = this._register(( new MutableDisposable()));
188
+ this._applyModelCts = this._register(( new MutableDisposable()));
189
+ this._sessionsListSuppressionCount = 0;
166
190
  this.modelRef = this._register(( new MutableDisposable()));
191
+ this.widgetViewStates = ( new LRUCache(CHAT_WIDGET_VIEW_STATE_CACHE_LIMIT));
167
192
  this.activityBadge = this._register(( new MutableDisposable()));
168
193
  this._currentSessionResource = observableValue(this, undefined);
169
194
  this._voiceBarDisposables = this._register(( new DisposableStore()));
@@ -171,6 +196,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
171
196
  this.sessionsViewerOrientationConfiguration = "sideBySide";
172
197
  this.sessionsViewerSashDisposables = this._register(( new MutableDisposable()));
173
198
  this.layoutingBody = false;
199
+ this.element.classList.add("chat-viewpane-container");
174
200
  this.memento = ( new Memento(`interactive-session-view-${CHAT_PROVIDER_ID}`, this.storageService));
175
201
  this.viewState = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
176
202
  if (lifecycleService.startupKind !== StartupKind.ReloadedWindow && this.configurationService.getValue(ChatConfiguration.RestoreLastPanelSession) === false) {
@@ -187,6 +213,11 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
187
213
  this.sessionsViewerPositionContext = ChatContextKeys.agentSessionsViewerPosition.bindTo(contextKeyService);
188
214
  this.sessionsViewerVisibilityContext = ChatContextKeys.agentSessionsViewerVisible.bindTo(contextKeyService);
189
215
  this.updateContextKeys();
216
+ this._focusedSessionResource = observableFromEvent(
217
+ this,
218
+ this.chatWidgetService.onDidChangeFocusedSession,
219
+ () => this.chatWidgetService.lastFocusedWidget?.viewModel?.sessionResource
220
+ );
190
221
  this.registerListeners();
191
222
  }
192
223
  updateContextKeys() {
@@ -274,7 +305,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
274
305
  this._register(Event.any(Event.filter(
275
306
  this.configurationService.onDidChangeConfiguration,
276
307
  e => e.affectsConfiguration("workbench.sideBar.location")
277
- ), this.layoutService.onDidChangePanelPosition, Event.filter(
308
+ ), this.layoutService.onDidChangePanelPosition, this.layoutService.onDidChangePartVisibility, Event.filter(
278
309
  this.viewDescriptorService.onDidChangeContainerLocation,
279
310
  e => e.viewContainer === this.viewDescriptorService.getViewContainerByViewId(this.id)
280
311
  ))(() => {
@@ -288,14 +319,21 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
288
319
  onDidChangeAgents() {
289
320
  if (this.chatAgentService.getDefaultAgent(ChatAgentLocation.Chat)) {
290
321
  if (!this._widget?.viewModel && !this.restoringSession) {
291
- this.restoringSession = this.acquireTransferredOrPersistedSession(CancellationToken.None, "ChatViewPane#onDidChangeAgents").then(async modelRef => {
322
+ this.restoringSession = this.acquireTransferredOrPersistedSession(CancellationToken.None, "ChatViewPane#onDidChangeAgents").then(async session => {
292
323
  if (!this._widget) {
293
324
  return;
294
325
  }
295
326
  const wasVisible = this._widget.visible;
296
327
  try {
297
328
  this._widget.setVisible(false);
298
- await this.showModel(CancellationToken.None, modelRef, true, !modelRef);
329
+ await this.showModel(
330
+ CancellationToken.None,
331
+ session.modelRef,
332
+ true,
333
+ !session.modelRef,
334
+ undefined,
335
+ session.localFallbackSelectionReason
336
+ );
299
337
  } finally {
300
338
  this._widget.setVisible(wasVisible);
301
339
  }
@@ -354,27 +392,33 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
354
392
  this._voiceBarDisposables.add(
355
393
  CommandsRegistry.registerCommand("_chat.voice.acceptInput", (accessor, text) => {
356
394
  const chatWidgetService = accessor.get(IChatWidgetService);
357
- const widget = chatWidgetService.lastFocusedWidget ?? this._widget;
395
+ const focusedWidget = chatWidgetService.lastFocusedWidget;
396
+ const widget = focusedWidget?.hasInputFocus() ? focusedWidget : this._widget;
358
397
  if (text && widget?.viewModel) {
359
398
  if (widget.viewModel.editing) {
360
399
  widget.input.setValue(text, false);
361
400
  } else {
362
- widget.acceptInput(text, {
363
- preserveFocus: true
401
+ return widget.acceptInput(combineVoiceInput(widget.getInput(), text), {
402
+ preserveFocus: true,
403
+ isVoiceModeInput: this.configurationService.getValue(VOICE_AGENT_PROGRESS_SETTING) === true
364
404
  });
365
405
  }
366
406
  }
407
+ return undefined;
367
408
  })
368
409
  );
369
410
  this._voiceBarDisposables.add(
370
- CommandsRegistry.registerCommand("_chat.voice.switchToSession", (_accessor, resourceStr) => {
411
+ CommandsRegistry.registerCommand("_chat.voice.switchToSession", async (_accessor, resourceStr) => {
371
412
  if (!resourceStr) {
372
413
  return false;
373
414
  }
374
415
  try {
375
- this.viewState.sessionResource = ( URI.parse(resourceStr));
416
+ const resource = ( URI.parse(resourceStr));
417
+ this.viewState.sessionResource = resource;
376
418
  this.applyModel();
377
- return true;
419
+ await this.restoringSession;
420
+ const restoredResource = this._widget?.viewModel?.sessionResource;
421
+ return !!restoredResource && isEqual(restoredResource, resource);
378
422
  } catch {
379
423
  return false;
380
424
  }
@@ -385,10 +429,55 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
385
429
  return this._widget?.viewModel?.sessionResource?.toString();
386
430
  })
387
431
  );
432
+ this._voiceBarDisposables.add(
433
+ CommandsRegistry.registerCommand("_chat.voice.selectModel", (_accessor, requestedModel) => {
434
+ const widget = this._getVoiceActionWidget();
435
+ if (!widget) {
436
+ return {
437
+ ok: false,
438
+ reason: "no_input"
439
+ };
440
+ }
441
+ const resolved = resolveVoiceModel(widget.inputPart.availableLanguageModels, requestedModel);
442
+ if (!resolved.ok || !resolved.identifier) {
443
+ return resolved;
444
+ }
445
+ return widget.inputPart.switchModelByIdentifier(resolved.identifier, true, true) ? resolved : {
446
+ ok: false,
447
+ reason: "selection_failed",
448
+ available_models: resolved.available_models
449
+ };
450
+ })
451
+ );
388
452
  }
389
453
  }
454
+ _getVoiceActionWidget() {
455
+ const target = this._currentVoiceInputResource();
456
+ return target ? this.chatWidgetService.getWidgetBySessionResource(target) : this._widget;
457
+ }
458
+ _currentVoiceInputResource(reader) {
459
+ const target = reader ? this.voiceSessionController.targetSession.read(reader) : this.voiceSessionController.targetSession.get();
460
+ if (target) {
461
+ return target;
462
+ }
463
+ const focused = reader ? this._focusedSessionResource.read(reader) : this._focusedSessionResource.get();
464
+ return focused ?? this._widget?.viewModel?.sessionResource;
465
+ }
390
466
  _setupVoiceTranscriptOverlay(inputContainerEl) {
391
467
  inputContainerEl.style.position = "relative";
468
+ const showTranscriptSetting = observableFromEvent(this, Event.filter(
469
+ this.configurationService.onDidChangeConfiguration,
470
+ e => e.affectsConfiguration("agents.voice.showTranscript")
471
+ ), () => this.configurationService.getValue("agents.voice.showTranscript") !== false);
472
+ const showLiveTranscriptSetting = observableFromEvent(this, Event.filter(
473
+ this.configurationService.onDidChangeConfiguration,
474
+ e => e.affectsConfiguration("agents.voice.liveTranscript")
475
+ ), () => this.configurationService.getValue("agents.voice.liveTranscript") !== false);
476
+ const inputValue = observableFromEvent(
477
+ this,
478
+ this._widget.inputEditor.onDidChangeModelContent,
479
+ () => this._widget.getInput()
480
+ );
392
481
  const transcriptOverlay = $(".voice-transcript-overlay");
393
482
  const transcriptScrollable = this._register(( new DomScrollableElement(transcriptOverlay, {
394
483
  horizontal: ScrollbarVisibility.Hidden,
@@ -399,16 +488,40 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
399
488
  transcriptOverlayNode.style.display = "none";
400
489
  inputContainerEl.append(transcriptOverlayNode);
401
490
  let animFrameId;
402
- let glowDataArray;
491
+ const glowDataArrayRef = {
492
+ value: undefined
493
+ };
403
494
  const win = getWindow(inputContainerEl);
404
- let lastGlowTarget;
405
- let lockedGlowWidget;
406
- const getActiveInputContainer = () => {
407
- if (lockedGlowWidget) {
408
- return lockedGlowWidget;
495
+ const glowController = this._register(createVoiceGlowController(
496
+ inputContainerEl,
497
+ () => isDark(this.themeService.getColorTheme().type) ? "dark" : "light",
498
+ () => resolveVoiceGlowColors(this.themeService.getColorTheme())
499
+ ));
500
+ this._register(
501
+ this.themeService.onDidColorThemeChange(() => glowController.refreshTheme())
502
+ );
503
+ const getEffectiveVoice = () => {
504
+ const sim = this.voiceInputModeService.simulatedVoiceState.get();
505
+ if (sim === "idle" || sim === "listening" || sim === "speaking") {
506
+ return {
507
+ connected: true,
508
+ voiceState: sim,
509
+ simulating: true
510
+ };
511
+ }
512
+ if (sim === "off" || sim === "connecting" || sim === "dictating") {
513
+ return {
514
+ connected: false,
515
+ voiceState: "idle",
516
+ simulating: true
517
+ };
409
518
  }
410
- const focused = this.chatWidgetService.lastFocusedWidget;
411
- return focused?.input?.inputContainerElement ?? inputContainerEl;
519
+ const voiceState = this.voiceSessionController.voiceState.get();
520
+ return {
521
+ connected: this.voiceSessionController.isConnected.get(),
522
+ voiceState: voiceState === "listening" && this.voiceSessionController.isMuted.get() ? "idle" : voiceState,
523
+ simulating: false
524
+ };
412
525
  };
413
526
  const startGlowAnimation = () => {
414
527
  if (animFrameId !== undefined) {
@@ -416,59 +529,31 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
416
529
  }
417
530
  const animate = () => {
418
531
  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;
532
+ const {
533
+ connected,
534
+ voiceState,
535
+ simulating
536
+ } = getEffectiveVoice();
537
+ const currentSession = this._currentSessionResource.get();
538
+ const boundResource = this._currentVoiceInputResource();
539
+ const isOwner = !!currentSession && !!boundResource && isEqual(currentSession, boundResource);
540
+ const glowActive = connected && isGlowingVoiceState(voiceState) && (simulating || isOwner);
429
541
  if (!glowActive) {
430
- target.style.borderColor = "";
431
- target.style.boxShadow = "";
432
- target.classList.remove("voice-active", "voice-listening");
542
+ glowController.clear();
433
543
  return;
434
544
  }
435
545
  const analyser = this.ttsPlaybackService.analyserNode ?? (voiceState === "listening" ? this.micCaptureService.analyserNode : null) ?? null;
436
546
  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})`;
547
+ if (!analyser && simulating) {
548
+ const t = Date.now() / 1000;
549
+ intensity = Math.min(
550
+ 1,
551
+ 0.28 + 0.34 * Math.abs(Math.sin(t * 6.1)) + 0.22 * Math.abs(Math.sin(t * 11.3 + 1))
552
+ );
467
553
  } else {
468
- target.style.boxShadow = `0 0 ${shadowSpread}px rgba(${rgb},${shadowAlpha}), inset 0 0 ${shadowSpread * 0.4}px rgba(${rgb},${shadowAlpha * 0.3})`;
554
+ intensity = readVoiceGlowIntensity(analyser, glowDataArrayRef);
469
555
  }
470
- target.classList.add("voice-active");
471
- target.classList.toggle("voice-listening", voiceState === "listening");
556
+ glowController.render(voiceState, intensity, this.accessibilityService.isMotionReduced());
472
557
  };
473
558
  animFrameId = win.requestAnimationFrame(animate);
474
559
  };
@@ -477,24 +562,15 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
477
562
  win.cancelAnimationFrame(animFrameId);
478
563
  animFrameId = undefined;
479
564
  }
480
- const target = lastGlowTarget ?? inputContainerEl;
481
- target.style.borderColor = "";
482
- target.style.boxShadow = "";
483
- target.classList.remove("voice-active", "voice-listening");
484
- lastGlowTarget = undefined;
565
+ glowController.clear();
485
566
  };
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
567
  this._register(autorun(reader => {
495
568
  const connected = this.voiceSessionController.isConnected.read(reader);
496
569
  const voiceState = this.voiceSessionController.voiceState.read(reader);
497
- if (connected && (voiceState === "listening" || voiceState === "speaking")) {
570
+ const sim = this.voiceInputModeService.simulatedVoiceState.read(reader);
571
+ const simGlow = sim === "listening" || sim === "speaking";
572
+ const liveGlow = connected && isGlowingVoiceState(voiceState) && !(voiceState === "listening" && this.voiceSessionController.isMuted.read(reader));
573
+ if (simGlow || liveGlow) {
498
574
  startGlowAnimation();
499
575
  } else {
500
576
  stopGlowAnimation();
@@ -503,34 +579,125 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
503
579
  this._register({
504
580
  dispose: () => stopGlowAnimation()
505
581
  });
582
+ let listeningSession;
583
+ let ownerSession;
506
584
  this._register(autorun(reader => {
585
+ const simState = this.voiceInputModeService.simulatedVoiceState.read(reader);
586
+ const simVersion = this.voiceInputModeService.simulatedVersion.read(reader);
587
+ if (simState !== undefined) {
588
+ if (simState === "idle" && simVersion) {
589
+ transcriptOverlayNode.style.display = "";
590
+ transcriptOverlayNode.classList.remove("has-transcript");
591
+ transcriptOverlay.replaceChildren();
592
+ const hint = $("span.partial");
593
+ switch (simVersion) {
594
+ case "handsFree":
595
+ hint.textContent = ( localize(10084, "Hands-free — just start talking"));
596
+ break;
597
+ case "keyboardHold":
598
+ {
599
+ const kbLabel = this.keybindingService.lookupKeybinding("workbench.action.chat.voiceInputMode.holdToTalk")?.getLabel();
600
+ hint.textContent = kbLabel ? ( localize(10085, "Hold {0} to talk", kbLabel)) : ( localize(10086, "Hold Space to talk"));
601
+ break;
602
+ }
603
+ case "buttonHold":
604
+ hint.textContent = ( localize(10087, "Hold the button to talk, tap to turn off"));
605
+ break;
606
+ case "clickToggle":
607
+ hint.textContent = ( localize(10088, "Tap the button to start listening"));
608
+ break;
609
+ }
610
+ transcriptOverlay.append(hint);
611
+ transcriptScrollable.scanDomNode();
612
+ } else {
613
+ transcriptOverlayNode.style.display = "none";
614
+ transcriptOverlayNode.classList.remove("has-transcript");
615
+ }
616
+ return;
617
+ }
507
618
  const turns = this.voiceSessionController.transcriptTurns.read(reader);
508
619
  const connected = this.voiceSessionController.isConnected.read(reader);
509
620
  const voiceState = this.voiceSessionController.voiceState.read(reader);
510
- const showTranscript = this.configurationService.getValue("agents.voice.showTranscript") !== false;
621
+ const targetSession = this.voiceSessionController.targetSession.read(reader);
622
+ const currentSession = this._currentSessionResource.read(reader);
623
+ const showTranscript = showTranscriptSetting.read(reader);
624
+ const showLiveTranscript = showLiveTranscriptSetting.read(reader);
625
+ const hasInput = inputValue.read(reader).length > 0;
511
626
  const visible = turns.filter(t => t.text.length > 0 || (t.speaker === "user" && t.isPartial));
627
+ const showListeningPlaceholder = voiceState === "listening" && (!showTranscript || !showLiveTranscript);
512
628
  if (!connected) {
629
+ listeningSession = undefined;
630
+ ownerSession = undefined;
513
631
  transcriptOverlayNode.style.display = "none";
514
632
  transcriptOverlayNode.classList.remove("has-transcript");
515
633
  return;
516
634
  }
517
- const targetSession = this.voiceSessionController.targetSession.read(reader);
518
- const currentSession = this._currentSessionResource.read(reader);
519
- if (targetSession && currentSession && !isEqual(targetSession, currentSession)) {
635
+ if (voiceState === "listening") {
636
+ if (!listeningSession) {
637
+ listeningSession = targetSession ?? currentSession;
638
+ ownerSession = listeningSession;
639
+ } else if (!targetSession && currentSession && !isEqual(currentSession, listeningSession)) {
640
+ const dictationSession = listeningSession;
641
+ const activelyDictating = ( turns.some(t => t.speaker === "user" && t.isPartial && t.text.trim().length > 0));
642
+ if (activelyDictating) {
643
+ this.voiceSessionController.finishListeningAndSubmitTo(dictationSession);
644
+ listeningSession = undefined;
645
+ } else if (isUntitledChatSession(currentSession)) {
646
+ listeningSession = currentSession;
647
+ ownerSession = currentSession;
648
+ } else {
649
+ this.voiceSessionController.discardListening();
650
+ listeningSession = undefined;
651
+ }
652
+ }
653
+ } else {
654
+ listeningSession = undefined;
655
+ }
656
+ const boundResource = this._currentVoiceInputResource(reader);
657
+ if (boundResource && currentSession && !isEqual(boundResource, currentSession)) {
658
+ transcriptOverlayNode.style.display = "none";
659
+ transcriptOverlayNode.classList.remove("has-transcript");
660
+ return;
661
+ }
662
+ const effectiveOwner = targetSession ?? ownerSession;
663
+ if (effectiveOwner && currentSession && !isEqual(effectiveOwner, currentSession)) {
520
664
  transcriptOverlayNode.style.display = "none";
521
665
  transcriptOverlayNode.classList.remove("has-transcript");
522
666
  return;
523
667
  }
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) {
668
+ if (visible.length === 0 || !showTranscript || showListeningPlaceholder) {
669
+ if (hasInput) {
670
+ transcriptOverlayNode.style.display = "none";
671
+ transcriptOverlayNode.classList.remove("has-transcript");
672
+ return;
673
+ }
674
+ const handsFree = this.configurationService.getValue("agents.voice.handsFree") === true;
675
+ if (showListeningPlaceholder) {
676
+ transcriptOverlayNode.style.display = "";
677
+ transcriptOverlayNode.classList.remove("has-transcript");
678
+ transcriptOverlay.replaceChildren();
679
+ const listening = $("span.listening");
680
+ listening.textContent = this.voiceSessionController.isMuted.read(reader) ? ( localize(10089, "Unmute to speak...")) : ( localize(10090, "Listening..."));
681
+ transcriptOverlay.append(listening);
682
+ transcriptScrollable.scanDomNode();
683
+ } else if (!showTranscript && voiceState === "speaking") {
684
+ transcriptOverlayNode.style.display = "";
685
+ transcriptOverlayNode.classList.remove("has-transcript");
686
+ transcriptOverlay.replaceChildren();
687
+ const hint = $("span.partial");
688
+ const kb = this.keybindingService.lookupKeybinding("workbench.action.chat.voiceInputMode.holdToTalk") ?? this.keybindingService.lookupKeybinding("agentsVoice.pushToTalk");
689
+ const kbLabel = kb?.getLabel();
690
+ hint.textContent = kbLabel ? ( localize(10091, "Speak or use {0}", kbLabel)) : ( localize(10092, "Speak to barge in"));
691
+ transcriptOverlay.append(hint);
692
+ transcriptScrollable.scanDomNode();
693
+ } else if (voiceState === "idle" && visible.length === 0 && showTranscript && !handsFree) {
527
694
  transcriptOverlayNode.style.display = "";
528
695
  transcriptOverlayNode.classList.remove("has-transcript");
529
696
  transcriptOverlay.replaceChildren();
530
697
  const hint = $("span.partial");
531
698
  const kb = this.keybindingService.lookupKeybinding("agentsVoice.pushToTalk");
532
699
  const kbLabel = kb?.getLabel();
533
- hint.textContent = kbLabel ? ( localize(8408, "Press {0} to talk", kbLabel)) : ( localize(8409, "Click voice mode to talk"));
700
+ hint.textContent = kbLabel ? ( localize(10093, "Press {0} to talk or barge in", kbLabel)) : ( localize(10094, "Click voice mode to talk or barge in"));
534
701
  transcriptOverlay.append(hint);
535
702
  transcriptScrollable.scanDomNode();
536
703
  } else {
@@ -582,6 +749,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
582
749
  static {
583
750
  this.SESSIONS_SIDEBAR_DEFAULT_WIDTH = 300;
584
751
  }
752
+ static {
753
+ this.SESSIONS_SIDEBAR_BORDER_WIDTH = 1;
754
+ }
585
755
  static {
586
756
  this.CHAT_WIDGET_DEFAULT_WIDTH = 300;
587
757
  }
@@ -595,7 +765,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
595
765
  const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
596
766
  const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
597
767
  const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
598
- sessionsTitle.textContent = ( localize(8410, "Sessions"));
768
+ sessionsTitle.textContent = ( localize(10095, "Sessions"));
599
769
  this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
600
770
  this.sessionsControl?.scrollToTop();
601
771
  this.sessionsControl?.focus();
@@ -623,16 +793,16 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
623
793
  ...defaultButtonStyles,
624
794
  secondary: true
625
795
  })));
626
- newSessionButton.label = ( localize(8411, "New Session"));
627
- this._register(newSessionButton.onDidClick(
628
- () => this.commandService.executeCommand(ACTION_ID_NEW_CHAT, this.getActionsContext())
629
- ));
796
+ newSessionButton.label = ( localize(10096, "New Session"));
797
+ const createNewChat = () => this.commandService.executeCommand(ACTION_ID_NEW_CHAT, this.getActionsContext());
798
+ this._register(newSessionButton.onDidClick(createNewChat));
630
799
  this.sessionsControlContainer = append(sessionsContainer, $(".agent-sessions-control-container"));
631
800
  const sessionsControl = this.sessionsControl = this._register(
632
801
  this.instantiationService.createInstance(AgentSessionsControl, this.sessionsControlContainer, {
633
802
  source: "chatViewPane",
634
803
  filter: sessionsFilter,
635
804
  overrideStyles: this.getLocationBasedColors().listOverrideStyles,
805
+ createNewChat,
636
806
  getHoverPosition: () => this.getSessionHoverPosition(),
637
807
  trackActiveEditorSession: () => {
638
808
  return !this._widget || this._widget.isEmpty();
@@ -713,7 +883,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
713
883
  } else {
714
884
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
715
885
  newSessionsContainerVisible =
716
- (!!this.chatEntitlementService.sentiment.completed || this.chatEntitlementService.hasByokModels) && (!this._widget || (this._widget.isEmpty() && !!this._widget.viewModel && !this._widget.viewModel.model.title)) && !this.welcomeController?.isShowingWelcome.get();
886
+ (!!this.chatEntitlementService.sentiment.completed || this.chatEntitlementService.hasByokModels) && (!this._widget || (this._widget.isEmpty() && !!this._widget.viewModel && !this._widget.viewModel.model.title)) && this._sessionsListSuppressionCount === 0 && !this.welcomeController?.isShowingWelcome.get();
717
887
  }
718
888
  else {
719
889
  newSessionsContainerVisible =
@@ -730,6 +900,22 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
730
900
  visible: newSessionsContainerVisible
731
901
  };
732
902
  }
903
+ refreshSessionsControlVisibility() {
904
+ const {
905
+ changed
906
+ } = this.updateSessionsControlVisibility();
907
+ if (changed) {
908
+ this.relayout();
909
+ }
910
+ }
911
+ beginSessionsListSuppression() {
912
+ this._sessionsListSuppressionCount++;
913
+ this.refreshSessionsControlVisibility();
914
+ return toDisposable(() => {
915
+ this._sessionsListSuppressionCount--;
916
+ this.refreshSessionsControlVisibility();
917
+ });
918
+ }
733
919
  getFocusedSessions() {
734
920
  return this.sessionsControl?.getFocus() ?? [];
735
921
  }
@@ -754,6 +940,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
754
940
  renderFollowups: true,
755
941
  supportsFileReferences: true,
756
942
  clear: () => this.clear(),
943
+ enableFind: true,
757
944
  rendererOptions: {
758
945
  renderTextEditsAsSummary: uri => {
759
946
  return true;
@@ -769,12 +956,16 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
769
956
  }, {
770
957
  listForeground: SIDE_BAR_FOREGROUND,
771
958
  listBackground: locationBasedColors.background,
959
+ listShadow: locationBasedColors.listOverrideStyles.treeStickyScrollShadow,
772
960
  overlayBackground: locationBasedColors.overlayBackground,
773
961
  inputEditorBackground: locationBasedColors.background,
774
962
  resultEditorBackground: editorBackground
775
963
  })
776
964
  );
777
- this._widget.render(chatControlsContainer);
965
+ this._widget.render(chatControlsContainer, parent);
966
+ this._register(
967
+ scopedInstantiationService.createInstance(AgentHostSessionInputPills, this._widget, "auto")
968
+ );
778
969
  const updateWidgetVisibility = reader => this._widget.setVisible(
779
970
  this.isBodyVisible() && !this.welcomeController?.isShowingWelcome.read(reader)
780
971
  );
@@ -785,7 +976,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
785
976
  createChatTitleControl(parent) {
786
977
  this.titleControl = this._register(this.instantiationService.createInstance(ChatViewTitleControl, parent, {
787
978
  focusChat: () => this._widget.focusInput()
788
- }));
979
+ }, undefined));
789
980
  this._register(this.titleControl.onDidChangeHeight(() => {
790
981
  this.relayout();
791
982
  }));
@@ -852,7 +1043,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
852
1043
  this._register(autorun(reader => {
853
1044
  chatWidget.inputPart.height.read(reader);
854
1045
  if (this.sessionsViewerVisible && this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
855
- this.relayout();
1046
+ this.relayoutForInputHeight();
856
1047
  }
857
1048
  }));
858
1049
  const progressBadgeDisposables = this._register(( new MutableDisposable()));
@@ -867,7 +1058,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
867
1058
  progressBadgeDisposables.value.add(autorun(reader => {
868
1059
  if (model.requestInProgress.read(reader)) {
869
1060
  this.activityBadge.value = this.activityService.showViewActivity(this.id, {
870
- badge: ( new ProgressBadge(() => ( localize(8412, "Agent Session in Progress"))))
1061
+ badge: ( new ProgressBadge(() => ( localize(10097, "Agent Session in Progress"))))
871
1062
  });
872
1063
  } else {
873
1064
  this.activityBadge.clear();
@@ -895,63 +1086,131 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
895
1086
  }));
896
1087
  }
897
1088
  applyModel() {
898
- this.restoringSession = this._applyModel();
1089
+ this._applyModelCts.value?.cancel();
1090
+ const cts = this._applyModelCts.value = ( new CancellationTokenSource());
1091
+ this.restoringSession = this._applyModel(cts.token).catch(err => {
1092
+ if (!isCancellationError(err)) {
1093
+ this.logService.error("ChatViewPane#applyModel failed", err);
1094
+ }
1095
+ });
899
1096
  this.restoringSession.finally(() => this.restoringSession = undefined);
900
1097
  }
901
- async _applyModel() {
902
- const modelRef = await this.acquireTransferredOrPersistedSession(CancellationToken.None, "ChatViewPane#applyModel");
903
- await this.showModel(CancellationToken.None, modelRef, true, !modelRef);
1098
+ async _applyModel(token) {
1099
+ const session = await this.acquireTransferredOrPersistedSession(token, "ChatViewPane#applyModel");
1100
+ await this.showModel(
1101
+ token,
1102
+ session.modelRef,
1103
+ true,
1104
+ !session.modelRef,
1105
+ undefined,
1106
+ session.localFallbackSelectionReason
1107
+ );
904
1108
  }
905
- async startNewLocalSession() {
1109
+ async startNewLocalSession(sessionTypeSelectionReason = "explicitOverride") {
1110
+ this._applyModelCts.value?.cancel();
906
1111
  const ref = this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
907
- debugOwner: "ChatViewPane#startNewLocalSession"
1112
+ debugOwner: "ChatViewPane#startNewLocalSession",
1113
+ sessionTypeSelectionReason
908
1114
  });
909
1115
  return this.showModel(CancellationToken.None, ref);
910
1116
  }
911
- async acquireDefaultNewSession(token) {
912
- const defaultType = getDefaultNewChatSessionType(this.configurationService, this.chatSessionsService);
913
- if (defaultType === localChatSessionType) {
914
- return undefined;
1117
+ async acquireDefaultNewSession(token, localFallbackSelectionReason) {
1118
+ const workspace = this.workspaceContextService.getWorkspace();
1119
+ const defaultTypeAndReason = getDefaultNewChatSessionTypeAndReasonFromServices(
1120
+ this.configurationService,
1121
+ this.chatSessionsService,
1122
+ this.storageService,
1123
+ workspace,
1124
+ this.agentHostEnablementService.enabled.get(),
1125
+ undefined,
1126
+ this.agentHostEnablementService.managedSandboxEnforced.get()
1127
+ );
1128
+ if (defaultTypeAndReason.sessionType === localChatSessionType) {
1129
+ return {
1130
+ modelRef: this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
1131
+ debugOwner: "ChatViewPane#acquireDefaultNewSession",
1132
+ sessionTypeSelectionReason: localFallbackSelectionReason ?? defaultTypeAndReason.selectionReason
1133
+ })
1134
+ };
915
1135
  }
916
- const resource = getDefaultNewChatSessionResource(this.configurationService, this.chatSessionsService);
1136
+ const resource = getNewChatSessionResource(defaultTypeAndReason.sessionType);
917
1137
  try {
918
- return await this.chatService.acquireOrLoadSession(
1138
+ const modelRef = await this.chatService.acquireOrLoadSession(
919
1139
  resource,
920
1140
  ChatAgentLocation.Chat,
921
1141
  token,
922
- "ChatViewPane#acquireDefaultNewSession"
1142
+ "ChatViewPane#acquireDefaultNewSession",
1143
+ defaultTypeAndReason.selectionReason
923
1144
  );
1145
+ return {
1146
+ modelRef,
1147
+ localFallbackSelectionReason: getLocalFallbackSessionTypeSelectionReason(defaultTypeAndReason.sessionType, !!modelRef, localFallbackSelectionReason)
1148
+ };
924
1149
  } catch (error) {
1150
+ if (isCancellationError(error)) {
1151
+ throw error;
1152
+ }
925
1153
  this.logService.warn(
926
1154
  `[ChatViewPane] Failed to acquire default agent-host session, falling back to local`,
927
1155
  error
928
1156
  );
929
- return undefined;
1157
+ return {
1158
+ modelRef: undefined,
1159
+ localFallbackSelectionReason: getLocalFallbackSessionTypeSelectionReason(defaultTypeAndReason.sessionType, false, localFallbackSelectionReason)
1160
+ };
930
1161
  }
931
1162
  }
932
1163
  async acquireTransferredOrPersistedSession(token, debugOwner) {
933
1164
  const sessionResource = this.getTransferredOrPersistedSessionInfo();
934
1165
  if (!sessionResource) {
935
- return undefined;
1166
+ return {
1167
+ modelRef: undefined
1168
+ };
936
1169
  }
937
1170
  const modelRef = await this.chatService.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, token, debugOwner);
938
1171
  if (!modelRef) {
939
- return undefined;
1172
+ return {
1173
+ modelRef: undefined,
1174
+ localFallbackSelectionReason: getLocalFallbackSessionTypeSelectionReason(getChatSessionType(sessionResource), false)
1175
+ };
940
1176
  }
941
1177
  if (this.shouldSkipRestoredLocalSession(sessionResource, modelRef.object)) {
942
1178
  modelRef.dispose();
943
- return undefined;
1179
+ return {
1180
+ modelRef: undefined
1181
+ };
944
1182
  }
945
- return modelRef;
1183
+ return {
1184
+ modelRef
1185
+ };
946
1186
  }
947
1187
  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;
1188
+ const workspace = this.workspaceContextService.getWorkspace();
1189
+ const defaultType = getDefaultNewChatSessionType(
1190
+ this.configurationService,
1191
+ this.chatSessionsService,
1192
+ this.storageService,
1193
+ workspace,
1194
+ this.agentHostEnablementService.enabled.get(),
1195
+ undefined,
1196
+ this.agentHostEnablementService.managedSandboxEnforced.get()
1197
+ );
1198
+ return defaultType !== localChatSessionType && getChatSessionType(sessionResource) === localChatSessionType && !model.hasRequests;
951
1199
  }
952
- async showModel(token, modelRef, startNewSession = true, ignoreTransferredSession = false) {
953
- const oldModelResource = this.modelRef.value?.object.sessionResource;
1200
+ async showModel(
1201
+ token,
1202
+ modelRef,
1203
+ startNewSession = true,
1204
+ ignoreTransferredSession = false,
1205
+ inputBeforeLoad,
1206
+ localFallbackSelectionReason
1207
+ ) {
1208
+ const oldModelResource = this._widget.viewModel?.sessionResource;
1209
+ if (oldModelResource) {
1210
+ this.widgetViewStates.set(getComparisonKey(oldModelResource), this._widget.getViewState());
1211
+ }
954
1212
  this.modelRef.value = undefined;
1213
+ const baselineInput = inputBeforeLoad ?? this._widget?.getInput() ?? "";
955
1214
  let ref;
956
1215
  if (startNewSession) {
957
1216
  if (modelRef) {
@@ -964,8 +1223,10 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
964
1223
  "ChatViewPane#showModel"
965
1224
  );
966
1225
  } else {
967
- ref = (await this.acquireDefaultNewSession(token)) ?? this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
968
- debugOwner: "ChatViewPane#showModel"
1226
+ const defaultSession = await this.acquireDefaultNewSession(token, localFallbackSelectionReason);
1227
+ ref = defaultSession.modelRef ?? this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
1228
+ debugOwner: "ChatViewPane#showModel",
1229
+ sessionTypeSelectionReason: defaultSession.localFallbackSelectionReason
969
1230
  });
970
1231
  }
971
1232
  if (!ref) {
@@ -986,7 +1247,15 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
986
1247
  }
987
1248
  this.viewState.sessionResource = model.sessionResource;
988
1249
  }
989
- this._widget.setModel(model);
1250
+ if (model) {
1251
+ setModelPreservingInputTypedWhileLoading(this._widget, baselineInput, () => this._widget.setModel(model));
1252
+ const widgetViewState = this.widgetViewStates.get(getComparisonKey(model.sessionResource));
1253
+ if (widgetViewState) {
1254
+ this._widget.restoreViewState(widgetViewState);
1255
+ }
1256
+ } else {
1257
+ this._widget.setModel(model);
1258
+ }
990
1259
  this.titleControl?.update(model);
991
1260
  this.updateActions();
992
1261
  if (oldModelResource) {
@@ -1033,9 +1302,10 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1033
1302
  await this.showModel(CancellationToken.None);
1034
1303
  this.updateActions();
1035
1304
  }
1036
- async loadSession(sessionResource) {
1305
+ async loadSession(sessionResource, sessionTypeSelectionReason) {
1037
1306
  const t0 = Date.now();
1038
1307
  this.logService.trace(`[ChatViewPane] loadSession start uri=${( sessionResource.toString())}`);
1308
+ const inputBeforeLoad = this._widget?.getInput() ?? "";
1039
1309
  this.loadSessionCts.value?.cancel();
1040
1310
  const cts = this.loadSessionCts.value = ( new CancellationTokenSource());
1041
1311
  const token = cts.token;
@@ -1053,6 +1323,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1053
1323
  delay: 200
1054
1324
  }, async () => {
1055
1325
  let queue = Promise.resolve();
1326
+ let didAcquireSession = false;
1056
1327
  const clearWidget = disposableTimeout(() => {
1057
1328
  if (token.isCancellationRequested || this.loadSessionCts.value !== cts) {
1058
1329
  return;
@@ -1061,7 +1332,14 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1061
1332
  }, 100);
1062
1333
  const clearWidgetCancellationListener = token.onCancellationRequested(() => clearWidget.dispose());
1063
1334
  try {
1064
- const newModelRef = await this.chatService.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, token, "ChatViewPane#loadSession");
1335
+ const newModelRef = await this.chatService.acquireOrLoadSession(
1336
+ sessionResource,
1337
+ ChatAgentLocation.Chat,
1338
+ token,
1339
+ "ChatViewPane#loadSession",
1340
+ sessionTypeSelectionReason
1341
+ );
1342
+ didAcquireSession = !!newModelRef;
1065
1343
  clearWidget.dispose();
1066
1344
  await queue;
1067
1345
  if (token.isCancellationRequested) {
@@ -1071,7 +1349,15 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1071
1349
  );
1072
1350
  return undefined;
1073
1351
  }
1074
- const result = await this.showModel(token, newModelRef);
1352
+ const localFallbackSelectionReason = getLocalFallbackSessionTypeSelectionReason(getChatSessionType(sessionResource), !!newModelRef);
1353
+ const result = await this.showModel(
1354
+ token,
1355
+ newModelRef,
1356
+ true,
1357
+ false,
1358
+ inputBeforeLoad,
1359
+ localFallbackSelectionReason
1360
+ );
1075
1361
  this.logService.trace(
1076
1362
  `[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())}`
1077
1363
  );
@@ -1086,8 +1372,16 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1086
1372
  return undefined;
1087
1373
  }
1088
1374
  this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
1089
- this.notificationService.error(( localize(8413, "Failed to open chat session: {0}", toErrorMessage(err))));
1090
- const result = await this.showModel(token, undefined);
1375
+ this.notificationService.error(( localize(10098, "Failed to open chat session: {0}", toErrorMessage(err))));
1376
+ const localFallbackSelectionReason = getLocalFallbackSessionTypeSelectionReason(getChatSessionType(sessionResource), didAcquireSession);
1377
+ const result = await this.showModel(
1378
+ token,
1379
+ undefined,
1380
+ true,
1381
+ false,
1382
+ inputBeforeLoad,
1383
+ localFallbackSelectionReason
1384
+ );
1091
1385
  this.logService.trace(
1092
1386
  `[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())} error=true`
1093
1387
  );
@@ -1119,6 +1413,12 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1119
1413
  this.layoutBody(this.lastDimensions.height, this.lastDimensions.width);
1120
1414
  }
1121
1415
  }
1416
+ relayoutForInputHeight() {
1417
+ if (this.layoutingBody || !this._widget?.visible || !this.lastDimensions) {
1418
+ return;
1419
+ }
1420
+ this.layoutChatAndSessions(this.lastDimensions.height, this.lastDimensions.width, false);
1421
+ }
1122
1422
  layoutBody(height, width) {
1123
1423
  if (this.layoutingBody) {
1124
1424
  return;
@@ -1136,6 +1436,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1136
1436
  height,
1137
1437
  width
1138
1438
  };
1439
+ this.layoutChatAndSessions(height, width, true);
1440
+ }
1441
+ layoutChatAndSessions(height, width, layoutInput) {
1139
1442
  let remainingHeight = height;
1140
1443
  const remainingWidth = width;
1141
1444
  const titleHeight = this.titleControl?.getHeight() ?? 0;
@@ -1144,10 +1447,18 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1144
1447
  heightReduction,
1145
1448
  widthReduction
1146
1449
  } = this.layoutSessionsControl(remainingHeight, remainingWidth);
1147
- this._widget.setInputPartMaxHeightOverride(
1148
- this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked ? remainingHeight : undefined
1149
- );
1150
- this._widget.layout(remainingHeight - heightReduction, remainingWidth - widthReduction);
1450
+ const inputMaxHeight = this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked ? remainingHeight : undefined;
1451
+ if (layoutInput) {
1452
+ this._widget.setInputPartMaxHeightOverride(inputMaxHeight);
1453
+ this._widget.layout(remainingHeight - heightReduction, remainingWidth - widthReduction);
1454
+ } else {
1455
+ layoutChatWidgetForInputHeight(
1456
+ this._widget,
1457
+ inputMaxHeight,
1458
+ remainingHeight - heightReduction,
1459
+ remainingWidth - widthReduction
1460
+ );
1461
+ }
1151
1462
  this.lastDimensionsPerOrientation.set(this.sessionsViewerOrientation, {
1152
1463
  height,
1153
1464
  width
@@ -1212,15 +1523,19 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1212
1523
  widthReduction: 0
1213
1524
  };
1214
1525
  }
1215
- let availableSessionsHeight = height - this.sessionsTitleContainer.offsetHeight;
1526
+ const sessionsTitleHeight = this.sessionsTitleContainer.offsetHeight;
1527
+ let availableSessionsHeight = height - sessionsTitleHeight;
1528
+ let reservedChatWidgetHeight = 0;
1216
1529
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
1217
- availableSessionsHeight -= Math.max(
1530
+ reservedChatWidgetHeight = Math.max(
1218
1531
  ChatViewPane_1.MIN_CHAT_WIDGET_HEIGHT,
1219
1532
  this._widget?.input?.height.get() ?? 0
1220
1533
  );
1534
+ availableSessionsHeight -= reservedChatWidgetHeight;
1221
1535
  } else {
1222
1536
  availableSessionsHeight -= this.sessionsNewButtonContainer?.offsetHeight ?? 0;
1223
1537
  }
1538
+ availableSessionsHeight = Math.max(0, availableSessionsHeight);
1224
1539
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.SideBySide) {
1225
1540
  const sessionsViewerSidebarWidth = this.computeEffectiveSideBySideSessionsSidebarWidth(width);
1226
1541
  this.sessionsControlContainer.style.height = `${availableSessionsHeight}px`;
@@ -1228,13 +1543,13 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1228
1543
  this.sessionsControl.layout(availableSessionsHeight, sessionsViewerSidebarWidth);
1229
1544
  this.sessionsViewerSash?.layout();
1230
1545
  heightReduction = 0;
1231
- widthReduction = this.sessionsContainer.offsetWidth;
1546
+ widthReduction = sessionsViewerSidebarWidth + ChatViewPane_1.SESSIONS_SIDEBAR_BORDER_WIDTH;
1232
1547
  }
1233
1548
  else {
1234
1549
  this.sessionsControlContainer.style.height = `${availableSessionsHeight}px`;
1235
1550
  this.sessionsControlContainer.style.width = ``;
1236
1551
  this.sessionsControl.layout(availableSessionsHeight, width);
1237
- heightReduction = this.sessionsContainer.offsetHeight;
1552
+ heightReduction = sessionsTitleHeight + availableSessionsHeight;
1238
1553
  widthReduction = 0;
1239
1554
  }
1240
1555
  return {
@@ -1305,7 +1620,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1305
1620
  super.saveState();
1306
1621
  }
1307
1622
  updateViewState(viewState) {
1308
- const newViewState = viewState ?? this._widget.getViewState();
1623
+ const newViewState = viewState ?? this._widget.getInputState();
1309
1624
  if (newViewState) {
1310
1625
  for (const [key, value] of Object.entries(newViewState)) {
1311
1626
  this.viewState[key] = value;
@@ -1332,6 +1647,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1332
1647
  } : undefined;
1333
1648
  }
1334
1649
  };
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));
1650
+ 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, IVoiceInputModeService)), ( __param(29, IChatWidgetService)), ( __param(30, IAgentTitleBarStatusService)), ( __param(31, IVoicePlaybackService)), ( __param(32, IWorkbenchEnvironmentService)), ( __param(33, IWorkspaceContextService)), ( __param(34, IAgentHostEnablementService)), ( __param(35, IAccessibilityService))], ChatViewPane));
1336
1651
 
1337
1652
  export { ChatViewPane };