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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -0,0 +1,226 @@
1
+
2
+ import { $, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { FONT_SIZE, addKeyboardActivation } from './tokens.js';
5
+
6
+ function hoverIcon(className, ariaLabel) {
7
+ const el = $(`span.codicon.${className}`);
8
+ el.role = "button";
9
+ el.tabIndex = 0;
10
+ el.ariaLabel = ariaLabel;
11
+ el.style.cssText = `font-size:${FONT_SIZE.iconSm};color:var(--vscode-descriptionForeground);cursor:pointer;-webkit-app-region:no-drag;padding:1px;`;
12
+ el.addEventListener("mouseenter", () => {
13
+ el.style.color = "var(--vscode-foreground)";
14
+ });
15
+ el.addEventListener("mouseleave", () => {
16
+ el.style.color = "var(--vscode-descriptionForeground)";
17
+ });
18
+ addKeyboardActivation(el);
19
+ return el;
20
+ }
21
+ function createSessionRow(session, props) {
22
+ const isSelected = props.selectedTarget?.toString() === ( session.resource.toString());
23
+ const dotColor = session.needsInput ? "var(--vscode-editorWarning-foreground)" : session.isActive ? "var(--vscode-charts-green)" : "var(--vscode-editorWhitespace-foreground)";
24
+ const effectiveDotColor = session.isSpeaking ? "var(--vscode-agentsVoice-speakingForeground)" : dotColor;
25
+ const shouldPulse = session.isActive || session.isSpeaking;
26
+ const labelColor = session.isSpeaking ? "var(--vscode-agentsVoice-speakingForeground)" : session.isIdle ? "var(--vscode-descriptionForeground)" : "var(--vscode-foreground)";
27
+ const labelWeight = session.isSpeaking ? "500" : "normal";
28
+ const rowBg = isSelected ? "background:var(--vscode-list-activeSelectionBackground);border-radius:4px;" : "";
29
+ const rowLabelColor = isSelected ? "var(--vscode-list-activeSelectionForeground)" : labelColor;
30
+ const row = $("div");
31
+ row.role = "option";
32
+ row.tabIndex = 0;
33
+ row.ariaLabel = session.label || "Untitled session";
34
+ row.setAttribute("aria-selected", String(isSelected));
35
+ row.style.cssText = `display:flex;align-items:center;gap:6px;height:28px;padding:0 4px;border-bottom:1px solid var(--vscode-editorGroup-border);flex-shrink:0;cursor:pointer;${rowBg}`;
36
+ row.addEventListener("click", e => {
37
+ e.preventDefault();
38
+ e.stopPropagation();
39
+ if (isSelected) {
40
+ props.onSelectTarget(undefined);
41
+ } else {
42
+ props.onSelectTarget(session.resource);
43
+ }
44
+ });
45
+ row.addEventListener("keydown", e => {
46
+ if (e.key === "Enter" || e.key === " ") {
47
+ e.preventDefault();
48
+ row.click();
49
+ }
50
+ });
51
+ const showActions = () => {
52
+ if (stats) {
53
+ stats.style.display = "none";
54
+ }
55
+ if (actions) {
56
+ actions.style.display = "flex";
57
+ }
58
+ };
59
+ const hideActions = () => {
60
+ if (stats) {
61
+ stats.style.display = "flex";
62
+ }
63
+ if (actions) {
64
+ actions.style.display = "none";
65
+ }
66
+ };
67
+ row.addEventListener("mouseenter", showActions);
68
+ row.addEventListener("mouseleave", hideActions);
69
+ row.addEventListener("focusin", showActions);
70
+ row.addEventListener("focusout", e => {
71
+ if (!row.contains(e.relatedTarget)) {
72
+ hideActions();
73
+ }
74
+ });
75
+ if (isSelected) {
76
+ const check = $("span.codicon.codicon-check");
77
+ check.style.cssText = `font-size:10px;color:${rowLabelColor};flex-shrink:0;`;
78
+ row.append(check);
79
+ } else {
80
+ const dot = $("span");
81
+ dot.style.cssText = `width:7px;height:7px;border-radius:50%;background:${effectiveDotColor};flex-shrink:0;${shouldPulse ? "animation:agents-voice-pulse 1.4s ease-in-out infinite;" : ""}`;
82
+ row.append(dot);
83
+ }
84
+ const label = $("span");
85
+ label.style.cssText = `font-size:${FONT_SIZE.body};flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:${rowLabelColor};font-weight:${labelWeight};`;
86
+ label.textContent = session.label || "Untitled session";
87
+ row.append(label);
88
+ const actionsContainer = $("div");
89
+ actionsContainer.style.cssText = "display:flex;align-items:center;gap:4px;flex-shrink:0;";
90
+ const stats = $("span");
91
+ stats.setAttribute("data-role", "stats");
92
+ stats.style.cssText = `display:flex;gap:4px;font-size:${FONT_SIZE.body};`;
93
+ if (session.insertions > 0) {
94
+ const ins = $("span");
95
+ ins.style.color = "var(--vscode-charts-green)";
96
+ ins.textContent = `+${session.insertions}`;
97
+ stats.append(ins);
98
+ }
99
+ if (session.deletions > 0) {
100
+ const del = $("span");
101
+ del.style.color = "var(--vscode-editorError-foreground)";
102
+ del.textContent = `-${session.deletions}`;
103
+ stats.append(del);
104
+ }
105
+ const actions = $("span");
106
+ actions.setAttribute("data-role", "actions");
107
+ actions.style.cssText = "display:none;gap:4px;align-items:center;";
108
+ if (!session.isIdle) {
109
+ const stopBtn = hoverIcon("codicon-debug-stop", ( localize(4835, "Stop session")));
110
+ stopBtn.addEventListener("mouseenter", () => {
111
+ stopBtn.style.color = "var(--vscode-editorError-foreground)";
112
+ });
113
+ stopBtn.addEventListener("mouseleave", () => {
114
+ stopBtn.style.color = "var(--vscode-descriptionForeground)";
115
+ });
116
+ stopBtn.addEventListener("click", e => {
117
+ e.preventDefault();
118
+ e.stopPropagation();
119
+ props.onStopSession(session.resource);
120
+ });
121
+ actions.append(stopBtn);
122
+ }
123
+ actionsContainer.append(stats, actions);
124
+ row.append(actionsContainer);
125
+ const wrapper = $("div");
126
+ wrapper.append(row);
127
+ if (session.toolConfirmation) {
128
+ const tc = session.toolConfirmation;
129
+ const confRow = $("div");
130
+ confRow.style.cssText = "display:flex;flex-direction:column;gap:3px;padding:2px 2px 6px 15px;border-bottom:1px solid var(--vscode-panel-border);";
131
+ const confDesc = $("span");
132
+ confDesc.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-editorWarning-foreground);`;
133
+ confDesc.textContent = tc.description;
134
+ const confBtns = $("div");
135
+ confBtns.style.cssText = "display:flex;gap:6px;";
136
+ const btnStyle = `-webkit-app-region:no-drag;border:none;color:var(--vscode-button-foreground);font-size:${FONT_SIZE.body};padding:2px 8px;border-radius:3px;cursor:pointer;`;
137
+ if (tc.type === "approval") {
138
+ const approveBtn = $("button");
139
+ approveBtn.style.cssText = `${btnStyle}background:var(--vscode-charts-green);`;
140
+ approveBtn.textContent = ( localize(4836, "Approve"));
141
+ approveBtn.addEventListener("click", () => tc.approve());
142
+ const denyBtn = $("button");
143
+ denyBtn.style.cssText = `${btnStyle}background:var(--vscode-button-secondaryBackground);color:var(--vscode-foreground);`;
144
+ denyBtn.textContent = ( localize(4837, "Deny"));
145
+ denyBtn.addEventListener("click", () => tc.deny());
146
+ const stopBtn = $("button");
147
+ stopBtn.style.cssText = `${btnStyle}background:var(--vscode-button-secondaryBackground);color:var(--vscode-foreground);`;
148
+ stopBtn.textContent = ( localize(4838, "Stop"));
149
+ stopBtn.addEventListener("click", () => props.onCancelSession(session.resource));
150
+ confBtns.append(approveBtn, denyBtn, stopBtn);
151
+ } else {
152
+ const openInVSCode = $("button");
153
+ openInVSCode.style.cssText = `${btnStyle}background:var(--vscode-button-background);`;
154
+ openInVSCode.textContent = ( localize(4839, "Open in VS Code"));
155
+ openInVSCode.addEventListener("click", () => props.onOpenSession(session.resource));
156
+ confBtns.append(openInVSCode);
157
+ }
158
+ confRow.append(confDesc, confBtns);
159
+ wrapper.append(confRow);
160
+ }
161
+ return wrapper;
162
+ }
163
+ function createSessionList() {
164
+ const container = $("div.voice-session-list");
165
+ container.style.cssText = "display:flex;flex-direction:column;min-height:84px;max-height:320px;overflow-y:auto;margin:0 -14px 0 0;padding-right:8px;";
166
+ const style = $("style");
167
+ style.textContent = `
168
+ @keyframes agents-voice-pulse{0%,100%{opacity:1}50%{opacity:0.4}}
169
+ .voice-session-list::-webkit-scrollbar{width:6px;background:transparent;}
170
+ .voice-session-list::-webkit-scrollbar-thumb{background:var(--vscode-scrollbarSlider-activeBackground);border-radius:3px;}
171
+ .voice-session-list::-webkit-scrollbar-thumb:hover{background:var(--vscode-scrollbarSlider-activeBackground);}
172
+ .voice-session-list > div:last-of-type{border-bottom:none !important;}
173
+ `;
174
+ return {
175
+ element: container,
176
+ update(props) {
177
+ clearNode(container);
178
+ const hasGroups = props.groups && props.groups.length > 0;
179
+ const hasSessions = props.sessions.length > 0;
180
+ const headerRow = $("div");
181
+ headerRow.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:2px 2px 4px;border-bottom:1px solid var(--vscode-editorGroup-border);";
182
+ const headerLabel = $("span");
183
+ headerLabel.style.cssText = `font-size:${FONT_SIZE.micro};color:var(--vscode-disabledForeground);text-transform:uppercase;letter-spacing:0.5px;font-weight:500;`;
184
+ headerLabel.textContent = props.selectedTarget ? ( localize(4840, "Send to")) : ( localize(4841, "Send to (active)"));
185
+ const addBtn = hoverIcon("codicon-add", ( localize(4842, "New session")));
186
+ addBtn.title = ( localize(4842, "New session"));
187
+ addBtn.style.cssText += "padding:1px 2px;";
188
+ addBtn.addEventListener("click", e => {
189
+ e.preventDefault();
190
+ e.stopPropagation();
191
+ props.onNewSession();
192
+ });
193
+ headerRow.append(headerLabel, addBtn);
194
+ container.append(headerRow);
195
+ if (!hasGroups && !hasSessions) {
196
+ const empty = $("div");
197
+ empty.style.cssText = "display:flex;align-items:center;justify-content:center;height:60px;";
198
+ const emptyText = $("span");
199
+ emptyText.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-foreground);`;
200
+ emptyText.textContent = ( localize(4843, "No active sessions"));
201
+ empty.append(emptyText);
202
+ container.append(empty);
203
+ } else if (hasGroups) {
204
+ for (const group of props.groups) {
205
+ const groupHeader = $("div");
206
+ groupHeader.style.cssText = "padding:4px 2px 2px;";
207
+ const groupLabel = $("span");
208
+ groupLabel.style.cssText = `font-size:${FONT_SIZE.micro};color:var(--vscode-disabledForeground);text-transform:uppercase;letter-spacing:0.5px;font-weight:500;`;
209
+ groupLabel.textContent = group.label;
210
+ groupHeader.append(groupLabel);
211
+ container.append(groupHeader);
212
+ for (const session of group.sessions) {
213
+ container.append(createSessionRow(session, props));
214
+ }
215
+ }
216
+ } else {
217
+ for (const session of props.sessions) {
218
+ container.append(createSessionRow(session, props));
219
+ }
220
+ }
221
+ container.append(style);
222
+ }
223
+ };
224
+ }
225
+
226
+ export { createSessionList };
@@ -0,0 +1,18 @@
1
+ import type { IPendingToolConfirmation } from "../../../chat/browser/voiceClient/voiceSessionController.js";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ export interface StatusRowsProps {
4
+ readonly workingCount: number;
5
+ readonly needsInputCount: number;
6
+ readonly doneCount: number;
7
+ readonly speakingSessionLabel: string | undefined;
8
+ readonly speakingSessionResource: URI | undefined;
9
+ readonly pendingToolConfirmations: readonly IPendingToolConfirmation[];
10
+ readonly onOpenSession: (resource: URI) => void;
11
+ /** When false, hide the counter rows and the "No active sessions" placeholder. */
12
+ readonly showCounters?: boolean;
13
+ }
14
+ export interface StatusRowsComponent {
15
+ readonly element: HTMLElement;
16
+ update(props: StatusRowsProps): void;
17
+ }
18
+ export declare function createStatusRows(): StatusRowsComponent;
@@ -0,0 +1,138 @@
1
+
2
+ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { createToolConfirmations } from './confirmationComponent.js';
5
+ import { FONT_SIZE } from './tokens.js';
6
+
7
+ function createStatusRow() {
8
+ const row = $("div");
9
+ row.style.cssText = "display:flex;align-items:center;gap:6px;height:20px;flex-shrink:0;padding-left:2px;";
10
+ const dot = $("span");
11
+ dot.style.cssText = "width:7px;height:7px;border-radius:50%;flex-shrink:0;";
12
+ const text = $("span");
13
+ text.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-descriptionForeground);`;
14
+ row.append(dot, text);
15
+ return {
16
+ element: row,
17
+ update(dotColor, count, label) {
18
+ if (count <= 0) {
19
+ row.style.display = "none";
20
+ return;
21
+ }
22
+ row.style.display = "flex";
23
+ dot.style.background = dotColor;
24
+ text.textContent = `${count} session${count > 1 ? "s" : ""} ${label}`;
25
+ }
26
+ };
27
+ }
28
+ function createStatusRows() {
29
+ const container = $("div");
30
+ container.style.cssText = "display:flex;flex-direction:column;";
31
+ const inner = $("div");
32
+ inner.style.cssText = "display:flex;flex-direction:column;";
33
+ const speakingRow = $("div");
34
+ speakingRow.style.cssText = "display:flex;align-items:center;gap:6px;height:20px;flex-shrink:0;padding-left:2px;";
35
+ const speakingDot = $("span");
36
+ speakingDot.style.cssText = "width:7px;height:7px;border-radius:50%;background:var(--vscode-agentsVoice-speakingForeground);flex-shrink:0;animation:agents-voice-pulse 1.4s ease-in-out infinite;";
37
+ const speakingLabel = $("span");
38
+ speakingLabel.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-agentsVoice-speakingForeground);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
39
+ speakingRow.append(speakingDot, speakingLabel);
40
+ let speakingClickHandler;
41
+ let speakingKeyHandler;
42
+ const workingRow = createStatusRow();
43
+ const needsInputRow = createStatusRow();
44
+ const doneRow = createStatusRow();
45
+ const noSessionsRow = $("div");
46
+ noSessionsRow.style.cssText = "display:flex;align-items:center;height:20px;flex-shrink:0;padding-left:2px;";
47
+ const noSessionsText = $("span");
48
+ noSessionsText.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-descriptionForeground);font-style:italic;`;
49
+ noSessionsText.textContent = ( localize(4844, "No active sessions"));
50
+ noSessionsRow.append(noSessionsText);
51
+ inner.append(
52
+ speakingRow,
53
+ workingRow.element,
54
+ needsInputRow.element,
55
+ doneRow.element,
56
+ noSessionsRow
57
+ );
58
+ const confirmations = createToolConfirmations();
59
+ const pulseStyle = $("style");
60
+ pulseStyle.textContent = "@keyframes agents-voice-pulse{0%,100%{opacity:1}50%{opacity:0.4}}";
61
+ container.append(inner, confirmations.element, pulseStyle);
62
+ return {
63
+ element: container,
64
+ update(props) {
65
+ const showCounters = props.showCounters ?? true;
66
+ const hasAny = props.workingCount > 0 || props.needsInputCount > 0 || props.doneCount > 0 || !!props.speakingSessionLabel;
67
+ if (props.speakingSessionLabel) {
68
+ speakingRow.style.display = "flex";
69
+ speakingLabel.textContent = props.speakingSessionLabel;
70
+ if (speakingClickHandler) {
71
+ speakingRow.removeEventListener("click", speakingClickHandler);
72
+ speakingClickHandler = undefined;
73
+ }
74
+ if (speakingKeyHandler) {
75
+ speakingRow.removeEventListener("keydown", speakingKeyHandler);
76
+ speakingKeyHandler = undefined;
77
+ }
78
+ if (props.speakingSessionResource) {
79
+ const resource = props.speakingSessionResource;
80
+ speakingClickHandler = () => props.onOpenSession(resource);
81
+ speakingKeyHandler = e => {
82
+ if (e.key === "Enter" || e.key === " ") {
83
+ e.preventDefault();
84
+ props.onOpenSession(resource);
85
+ }
86
+ };
87
+ speakingRow.addEventListener("click", speakingClickHandler);
88
+ speakingRow.addEventListener("keydown", speakingKeyHandler);
89
+ speakingRow.style.cursor = "pointer";
90
+ speakingRow.tabIndex = 0;
91
+ speakingRow.setAttribute("role", "button");
92
+ speakingRow.title = ( localize(4845, "Jump to session"));
93
+ } else {
94
+ speakingRow.style.cursor = "";
95
+ speakingRow.removeAttribute("tabIndex");
96
+ speakingRow.removeAttribute("role");
97
+ speakingRow.title = "";
98
+ }
99
+ } else {
100
+ speakingRow.style.display = "none";
101
+ if (speakingClickHandler) {
102
+ speakingRow.removeEventListener("click", speakingClickHandler);
103
+ speakingClickHandler = undefined;
104
+ }
105
+ if (speakingKeyHandler) {
106
+ speakingRow.removeEventListener("keydown", speakingKeyHandler);
107
+ speakingKeyHandler = undefined;
108
+ }
109
+ speakingRow.style.cursor = "";
110
+ speakingRow.removeAttribute("tabIndex");
111
+ speakingRow.removeAttribute("role");
112
+ speakingRow.title = "";
113
+ }
114
+ if (showCounters) {
115
+ workingRow.update("var(--vscode-charts-green)", props.workingCount, ( localize(4846, "working")));
116
+ needsInputRow.update(
117
+ "var(--vscode-editorWarning-foreground)",
118
+ props.needsInputCount,
119
+ ( localize(4847, "needs input"))
120
+ );
121
+ doneRow.update("var(--vscode-disabledForeground)", props.doneCount, ( localize(4848, "done")));
122
+ noSessionsRow.style.display = !hasAny ? "flex" : "none";
123
+ } else {
124
+ workingRow.element.style.display = "none";
125
+ needsInputRow.element.style.display = "none";
126
+ doneRow.element.style.display = "none";
127
+ noSessionsRow.style.display = "none";
128
+ }
129
+ confirmations.update({
130
+ confirmations: props.pendingToolConfirmations,
131
+ onOpenSession: props.onOpenSession
132
+ });
133
+ pulseStyle.style.display = props.speakingSessionLabel ? "" : "none";
134
+ }
135
+ };
136
+ }
137
+
138
+ export { createStatusRows };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Visual design tokens for the agentsVoice floating pane.
3
+ * Centralize sizes and colors so every component pulls from the same palette.
4
+ */
5
+ export declare const FONT_SIZE: {
6
+ readonly micro: "10px";
7
+ readonly body: "12px";
8
+ readonly base: "13px";
9
+ readonly iconSm: "14px";
10
+ readonly iconMd: "16px";
11
+ };
12
+ export declare const FONT_WEIGHT: {
13
+ readonly normal: "400";
14
+ readonly medium: "500";
15
+ readonly semibold: "600";
16
+ readonly bold: "700";
17
+ };
18
+ export declare const COLOR: {
19
+ readonly userTranscript: "rgb(88,166,255)";
20
+ readonly assistantTranscript: "rgb(163,113,247)";
21
+ };
22
+ /**
23
+ * Add Enter/Space keyboard activation to a non-native button element.
24
+ * Required for elements with role="button" + tabindex="0".
25
+ */
26
+ export declare function addKeyboardActivation(el: HTMLElement): void;
@@ -0,0 +1,25 @@
1
+
2
+
3
+ const FONT_SIZE = {
4
+ micro: '10px',
5
+ body: '12px',
6
+ base: '13px',
7
+ iconSm: '14px',
8
+ iconMd: '16px',
9
+ };
10
+ const FONT_WEIGHT = {
11
+ medium: '500'};
12
+ const COLOR = {
13
+ userTranscript: 'rgb(88,166,255)',
14
+ assistantTranscript: 'rgb(163,113,247)',
15
+ };
16
+ function addKeyboardActivation(el) {
17
+ el.addEventListener('keydown', (e) => {
18
+ if (e.key === 'Enter' || e.key === ' ') {
19
+ e.preventDefault();
20
+ el.click();
21
+ }
22
+ });
23
+ }
24
+
25
+ export { COLOR, FONT_SIZE, FONT_WEIGHT, addKeyboardActivation };
@@ -0,0 +1,13 @@
1
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import type { ITranscriptTurn } from "../../../chat/browser/voiceClient/voiceSessionController.js";
3
+ export interface TranscriptProps {
4
+ readonly turns: readonly ITranscriptTurn[];
5
+ readonly chatStyle?: boolean;
6
+ /** When true, keep the scroll anchored to the top instead of the bottom. */
7
+ readonly scrollToTop?: boolean;
8
+ }
9
+ export interface TranscriptComponent {
10
+ readonly element: HTMLElement;
11
+ update(props: TranscriptProps): void;
12
+ }
13
+ export declare function createTranscript(): TranscriptComponent & IDisposable;
@@ -0,0 +1,108 @@
1
+
2
+ import { $, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
4
+ import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
5
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { COLOR, FONT_SIZE } from './tokens.js';
7
+
8
+ const MAX_LINES = 10;
9
+ const LINE_HEIGHT = 1.4;
10
+ const MAX_HEIGHT = `${MAX_LINES * LINE_HEIGHT}em`;
11
+ const USER_CONTAINER_STYLE = ["overflow-x:hidden"].join(";");
12
+ const ASSISTANT_STYLE = [
13
+ "overflow-x:hidden",
14
+ "white-space:pre-wrap",
15
+ `color:${COLOR.assistantTranscript}`
16
+ ].join(";");
17
+ const TRANSCRIPT_CSS = `
18
+ @keyframes textPulse { 0%,100%{opacity:0.9} 50%{opacity:0.4} }
19
+ `;
20
+ function createUserTurn(turn, chatStyle) {
21
+ const wrapper = $("div.voice-user-transcript");
22
+ wrapper.style.cssText = USER_CONTAINER_STYLE;
23
+ const userColor = chatStyle ? "var(--vscode-foreground)" : COLOR.userTranscript;
24
+ const inner = $("div");
25
+ if (!turn.isPartial) {
26
+ const span = $("span");
27
+ span.style.color = userColor;
28
+ span.textContent = turn.text;
29
+ inner.append(span);
30
+ } else {
31
+ const unsure = turn.committed ? turn.text.slice(turn.committed.length) : turn.text;
32
+ if (turn.committed) {
33
+ const committedSpan = $("span");
34
+ committedSpan.style.color = userColor;
35
+ committedSpan.textContent = turn.committed;
36
+ inner.append(committedSpan);
37
+ }
38
+ const unsureSpan = $("span");
39
+ unsureSpan.style.cssText = `color:${userColor};opacity:0.6;font-style:italic;animation:textPulse 1.5s ease-in-out infinite;`;
40
+ unsureSpan.textContent = unsure;
41
+ const cursor = $("span");
42
+ cursor.style.fontStyle = "normal";
43
+ cursor.textContent = "▉";
44
+ unsureSpan.append(cursor);
45
+ inner.append(unsureSpan);
46
+ }
47
+ wrapper.append(inner);
48
+ return wrapper;
49
+ }
50
+ function createAssistantTurn(turn, chatStyle) {
51
+ const el = $("div");
52
+ if (chatStyle) {
53
+ el.style.cssText = ASSISTANT_STYLE.replace(
54
+ `color:${COLOR.assistantTranscript}`,
55
+ "color:var(--vscode-descriptionForeground)"
56
+ );
57
+ } else {
58
+ el.style.cssText = ASSISTANT_STYLE;
59
+ }
60
+ el.textContent = turn.text;
61
+ return el;
62
+ }
63
+ function createTranscript() {
64
+ const store = ( new DisposableStore());
65
+ const container = $("div");
66
+ container.style.cssText = `display:flex;flex-direction:column;gap:2px;padding:2px 2px 4px;font-size:${FONT_SIZE.body};line-height:${LINE_HEIGHT};word-break:break-word;max-height:${MAX_HEIGHT};overflow:hidden;box-sizing:border-box;`;
67
+ const scrollable = store.add(( new DomScrollableElement(container, {
68
+ horizontal: ScrollbarVisibility.Hidden,
69
+ vertical: ScrollbarVisibility.Auto
70
+ })));
71
+ const wrapper = scrollable.getDomNode();
72
+ wrapper.style.maxHeight = MAX_HEIGHT;
73
+ const style = $("style");
74
+ style.textContent = TRANSCRIPT_CSS;
75
+ wrapper.prepend(style);
76
+ return {
77
+ element: wrapper,
78
+ update(props) {
79
+ let visible = props.turns.filter(t => t.text.length > 0 || (t.speaker === "user" && t.isPartial));
80
+ if (visible.length >= 2 && visible[visible.length - 1].speaker === "assistant" && visible[visible.length - 2].speaker === "assistant") {
81
+ visible = [visible[visible.length - 1]];
82
+ }
83
+ if (props.chatStyle && visible.length > 0) {
84
+ visible = [visible[visible.length - 1]];
85
+ }
86
+ clearNode(container);
87
+ if (visible.length === 0) {
88
+ container.style.display = "none";
89
+ return;
90
+ }
91
+ container.style.display = "flex";
92
+ for (const turn of visible) {
93
+ container.append(
94
+ turn.speaker === "user" ? createUserTurn(turn, props.chatStyle) : createAssistantTurn(turn, props.chatStyle)
95
+ );
96
+ }
97
+ scrollable.scanDomNode();
98
+ scrollable.setScrollPosition({
99
+ scrollTop: props.scrollToTop ? 0 : container.scrollHeight
100
+ });
101
+ },
102
+ dispose() {
103
+ store.dispose();
104
+ }
105
+ };
106
+ }
107
+
108
+ export { createTranscript };
@@ -0,0 +1,13 @@
1
+ import type { VoiceState } from "../../../chat/browser/voiceClient/voiceSessionController.js";
2
+ import type { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ export interface VoiceBarProps {
4
+ readonly voiceState: VoiceState;
5
+ readonly speakingSessionLabel: string | undefined;
6
+ readonly speakingSession: URI | undefined;
7
+ readonly onStopSpeech: () => void;
8
+ }
9
+ export interface VoiceBarComponent {
10
+ readonly element: HTMLElement;
11
+ update(props: VoiceBarProps): void;
12
+ }
13
+ export declare function createVoiceBar(): VoiceBarComponent;
@@ -0,0 +1,63 @@
1
+
2
+ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { FONT_SIZE, addKeyboardActivation } from './tokens.js';
5
+
6
+ function createVoiceBar() {
7
+ const container = $("div");
8
+ container.style.cssText = "display:flex;align-items:center;gap:6px;height:24px;padding:4px 2px;border-bottom:1px solid var(--vscode-panel-border);flex-shrink:0;";
9
+ const dot = $("span");
10
+ dot.style.cssText = "width:7px;height:7px;border-radius:50%;flex-shrink:0;";
11
+ const label = $("span");
12
+ label.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-foreground);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
13
+ const waveform = $("div");
14
+ waveform.style.cssText = "display:flex;align-items:center;gap:2px;height:16px;flex:0 0 auto;";
15
+ for (let i = 0; i < 6; i++) {
16
+ const bar = $("div");
17
+ bar.style.cssText = "width:2px;height:3px;border-radius:1px;background:var(--vscode-editorWidget-background);transition:height 0.05s ease;";
18
+ waveform.append(bar);
19
+ }
20
+ const stopBtn = $("span.codicon.codicon-debug-stop");
21
+ stopBtn.role = "button";
22
+ stopBtn.tabIndex = 0;
23
+ stopBtn.ariaLabel = ( localize(4849, "Stop speech"));
24
+ stopBtn.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-editorError-foreground);cursor:pointer;-webkit-app-region:no-drag;padding:2px;`;
25
+ addKeyboardActivation(stopBtn);
26
+ container.append(dot, label, waveform, stopBtn);
27
+ let currentStopHandler;
28
+ return {
29
+ element: container,
30
+ update(props) {
31
+ const isSpeaking = props.voiceState === "speaking";
32
+ const isListening = props.voiceState === "listening";
33
+ if ((isSpeaking && props.speakingSession) || (!isSpeaking && !isListening)) {
34
+ container.style.display = "none";
35
+ if (currentStopHandler) {
36
+ stopBtn.removeEventListener("click", currentStopHandler);
37
+ currentStopHandler = undefined;
38
+ }
39
+ return;
40
+ }
41
+ container.style.display = "flex";
42
+ dot.style.background = isSpeaking ? "var(--vscode-charts-green)" : "var(--vscode-editorInfo-foreground)";
43
+ label.textContent = isSpeaking ? (props.speakingSessionLabel || ( localize(4850, "Speaking..."))) : ( localize(4851, "Listening"));
44
+ stopBtn.style.display = isSpeaking ? "" : "none";
45
+ if (isSpeaking) {
46
+ if (currentStopHandler) {
47
+ stopBtn.removeEventListener("click", currentStopHandler);
48
+ }
49
+ currentStopHandler = e => {
50
+ e.preventDefault();
51
+ e.stopPropagation();
52
+ props.onStopSpeech();
53
+ };
54
+ stopBtn.addEventListener("click", currentStopHandler);
55
+ } else if (currentStopHandler) {
56
+ stopBtn.removeEventListener("click", currentStopHandler);
57
+ currentStopHandler = undefined;
58
+ }
59
+ }
60
+ };
61
+ }
62
+
63
+ export { createVoiceBar };