@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
@@ -1,15 +1,23 @@
1
1
 
2
2
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
+ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
3
4
  import { isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
4
5
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-root/state';
5
6
  import { CustomizationType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
6
8
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/state';
7
9
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/state';
8
10
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state';
9
11
  import { customizationId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
12
+ import { McpServerType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes';
10
13
  import { BUILTIN_STORAGE, AICustomizationSources } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
11
14
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
12
15
  import { PromptsStorage, matchesSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
16
+ import { isContributionEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement';
17
+ import { MCP_PLUGIN_COLLECTION_ID_PREFIX } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/discovery/pluginMcpDiscovery';
18
+ import { McpServerTransportType, McpCollectionDefinition } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes';
19
+ import { ConfigurationResolverExpression } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolverExpression';
20
+ import { isDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
13
21
 
14
22
  const SYNCABLE_PROMPT_TYPES = [
15
23
  PromptsType.agent,
@@ -56,15 +64,123 @@ async function enumerateLocalCustomizationsForHarness(promptsService, syncProvid
56
64
  }
57
65
  return result;
58
66
  }
59
- async function resolveCustomizationRefs(promptsService, syncProvider, agentPluginService, bundler, sessionType) {
67
+ function launchToMcpServerConfiguration(launch) {
68
+ switch (launch.type) {
69
+ case McpServerTransportType.Stdio:
70
+ if (!launch.command) {
71
+ return undefined;
72
+ }
73
+ return {
74
+ type: McpServerType.LOCAL,
75
+ command: launch.command,
76
+ args: launch.args.length > 0 ? [...launch.args] : undefined,
77
+ env: ( Object.keys(launch.env)).length > 0 ? {
78
+ ...launch.env
79
+ } : undefined,
80
+ envFile: launch.envFile,
81
+ cwd: launch.cwd
82
+ };
83
+ case McpServerTransportType.HTTP:
84
+ return {
85
+ type: McpServerType.REMOTE,
86
+ url: ( launch.uri.toString()),
87
+ headers: launch.headers.length > 0 ? Object.fromEntries(launch.headers) : undefined
88
+ };
89
+ }
90
+ }
91
+ async function resolveConfigurationForSync(configurationResolverService, folder, configuration) {
92
+ const expr = ConfigurationResolverExpression.parse(configuration);
93
+ for (const replacement of expr.unresolved()) {
94
+ if (replacement.name === "input" || replacement.name === "command") {
95
+ return undefined;
96
+ }
97
+ }
98
+ try {
99
+ await configurationResolverService.resolveAsync(folder, expr);
100
+ } catch {
101
+ return undefined;
102
+ }
103
+ if (!Iterable.isEmpty(expr.unresolved())) {
104
+ return undefined;
105
+ }
106
+ return expr.toObject();
107
+ }
108
+ async function collectNonPluginMcpServers(mcpService, configurationResolverService) {
109
+ const result = [];
110
+ for (const server of mcpService.servers.get()) {
111
+ if (server.collection.id.startsWith(MCP_PLUGIN_COLLECTION_ID_PREFIX)) {
112
+ continue;
113
+ }
114
+ if (!isContributionEnabled(server.enablement.get())) {
115
+ continue;
116
+ }
117
+ const definitions = server.readDefinitions().get();
118
+ const definition = definitions.server;
119
+ const launch = definition?.launch;
120
+ if (!launch) {
121
+ continue;
122
+ }
123
+ let configuration = launchToMcpServerConfiguration(launch);
124
+ if (!configuration) {
125
+ continue;
126
+ }
127
+ const collection = definitions.collection;
128
+ if (collection && McpCollectionDefinition.isWorkspaceDiscovered(collection)) {
129
+ if (!McpCollectionDefinition.isVscodeMcpJson(collection)) {
130
+ continue;
131
+ }
132
+ const resolved = await resolveConfigurationForSync(
133
+ configurationResolverService,
134
+ definition.variableReplacement?.folder,
135
+ configuration
136
+ );
137
+ if (!resolved) {
138
+ continue;
139
+ }
140
+ configuration = resolved;
141
+ }
142
+ result.push({
143
+ name: server.definition.label,
144
+ configuration
145
+ });
146
+ }
147
+ return result;
148
+ }
149
+ async function resolveCustomizationRefs(
150
+ fileService,
151
+ promptsService,
152
+ syncProvider,
153
+ agentPluginService,
154
+ mcpService,
155
+ configurationResolverService,
156
+ bundler,
157
+ sessionType
158
+ ) {
60
159
  const enumerated = await enumerateLocalCustomizationsForHarness(promptsService, syncProvider, sessionType, CancellationToken.None);
61
160
  const enabled = enumerated.filter(e => !e.disabled);
62
- if (enabled.length === 0) {
63
- return [];
64
- }
65
161
  const plugins = agentPluginService.plugins.get();
66
162
  const pluginRefs = ( new Map());
67
163
  const looseFiles = [];
164
+ const addPluginRef = plugin => {
165
+ const key = ( plugin.uri.toString());
166
+ if (!( pluginRefs.has(key))) {
167
+ const promise = (async () => {
168
+ let nonce;
169
+ try {
170
+ nonce = (await fileService.stat(plugin.uri)).mtime;
171
+ } catch {}
172
+ return {
173
+ type: CustomizationType.Plugin,
174
+ id: customizationId(key),
175
+ uri: key,
176
+ name: plugin.label,
177
+ nonce: nonce?.toString(16),
178
+ enabled: true
179
+ };
180
+ })();
181
+ pluginRefs.set(key, promise);
182
+ }
183
+ };
68
184
  for (const entry of enabled) {
69
185
  if (entry.source === AICustomizationSources.plugin) {
70
186
  const plugin = plugins.find(p => isEqualOrParent(entry.uri, p.uri));
@@ -74,16 +190,10 @@ async function resolveCustomizationRefs(promptsService, syncProvider, agentPlugi
74
190
  if (syncProvider.isDisabled(plugin.uri)) {
75
191
  continue;
76
192
  }
77
- const key = ( plugin.uri.toString());
78
- if (!( pluginRefs.has(key))) {
79
- pluginRefs.set(key, {
80
- type: CustomizationType.Plugin,
81
- id: customizationId(key),
82
- uri: key,
83
- name: plugin.label,
84
- enabled: true
85
- });
193
+ if (!isContributionEnabled(plugin.enablement.get())) {
194
+ continue;
86
195
  }
196
+ addPluginRef(plugin);
87
197
  } else {
88
198
  looseFiles.push({
89
199
  uri: entry.uri,
@@ -91,14 +201,27 @@ async function resolveCustomizationRefs(promptsService, syncProvider, agentPlugi
91
201
  });
92
202
  }
93
203
  }
94
- const refs = [...( pluginRefs.values())];
95
- if (looseFiles.length > 0) {
96
- const result = await bundler.bundle(looseFiles);
97
- if (result) {
98
- refs.push(result.ref);
204
+ for (const plugin of plugins) {
205
+ if (( pluginRefs.has(( plugin.uri.toString())))) {
206
+ continue;
99
207
  }
208
+ if (syncProvider.isDisabled(plugin.uri)) {
209
+ continue;
210
+ }
211
+ if (!isContributionEnabled(plugin.enablement.get())) {
212
+ continue;
213
+ }
214
+ if (plugin.mcpServerDefinitions.get().length === 0) {
215
+ continue;
216
+ }
217
+ addPluginRef(plugin);
218
+ }
219
+ const refs = [...( pluginRefs.values())];
220
+ const mcpServers = await collectNonPluginMcpServers(mcpService, configurationResolverService);
221
+ if (looseFiles.length > 0 || mcpServers.length > 0) {
222
+ refs.push(bundler.bundle(looseFiles, mcpServers).then(r => r?.ref));
100
223
  }
101
- return refs;
224
+ return await Promise.all(refs).then(r => r.filter(isDefined));
102
225
  }
103
226
 
104
- export { SYNCABLE_PROMPT_TYPES, SYNCABLE_STORAGE_SOURCES, enumerateLocalCustomizationsForHarness, resolveCustomizationRefs };
227
+ export { SYNCABLE_PROMPT_TYPES, SYNCABLE_STORAGE_SOURCES, collectNonPluginMcpServers, enumerateLocalCustomizationsForHarness, resolveCustomizationRefs };
@@ -3,11 +3,8 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
4
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
5
  import { AgentSession } from '../../../../../../platform/agentHost/common/agentService.js';
6
- import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
7
6
  import { fromAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
8
7
  import { agentHostAgentPickerStorageKey } from '../../../../../../platform/agentHost/common/customAgents.js';
9
- import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/common/actions';
10
- import { StateComponents } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
11
8
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
12
9
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
13
10
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
@@ -24,14 +21,12 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
24
21
  }
25
22
  constructor(
26
23
  _chatWidgetService,
27
- _agentHostService,
28
24
  _provisionalSessionService,
29
25
  _storageService,
30
26
  environmentService
31
27
  ) {
32
28
  super();
33
29
  this._chatWidgetService = _chatWidgetService;
34
- this._agentHostService = _agentHostService;
35
30
  this._provisionalSessionService = _provisionalSessionService;
36
31
  this._storageService = _storageService;
37
32
  this._widgetListeners = this._register(( new DisposableMap()));
@@ -57,11 +52,6 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
57
52
  this._syncWidgetFromBackend(widget);
58
53
  }
59
54
  }));
60
- this._register(this._agentHostService.onDidAction(envelope => {
61
- if (envelope.action.type === ActionType.SessionAgentChanged) {
62
- this._syncWidgetsFromBackend();
63
- }
64
- }));
65
55
  }
66
56
  _attachWidget(widget) {
67
57
  if (( this._widgetListeners.has(widget))) {
@@ -75,11 +65,6 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
75
65
  this._widgetListeners.set(widget, store);
76
66
  this._syncWidgetFromBackend(widget);
77
67
  }
78
- _syncWidgetsFromBackend() {
79
- for (const widget of this._chatWidgetService.getAllWidgets()) {
80
- this._syncWidgetFromBackend(widget);
81
- }
82
- }
83
68
  _onWidgetModeChanged(widget) {
84
69
  if (( this._updatingWidgets.has(widget))) {
85
70
  return;
@@ -91,19 +76,10 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
91
76
  }
92
77
  const mode = widget.input.currentModeObs.get();
93
78
  const agentUri = this._agentUriFromMode(mode);
94
- this._storeSelectedAgent(sessionResource, agentUri);
95
- const currentAgentUri = this._readSessionState(backendSession)?.summary.agent?.uri;
96
- if (currentAgentUri === agentUri) {
79
+ if (this._readSelectedAgent(sessionResource) === agentUri) {
97
80
  return;
98
81
  }
99
- this._agentHostService.dispatch(( backendSession.toString()), {
100
- type: ActionType.SessionAgentChanged,
101
- ...(agentUri ? {
102
- agent: {
103
- uri: agentUri
104
- }
105
- } : {})
106
- });
82
+ this._storeSelectedAgent(sessionResource, agentUri);
107
83
  }
108
84
  _syncWidgetFromBackend(widget) {
109
85
  const sessionResource = widget.viewModel?.sessionResource;
@@ -111,7 +87,7 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
111
87
  if (!sessionResource || !backendSession) {
112
88
  return;
113
89
  }
114
- const agentUri = this._readSessionState(backendSession)?.summary.agent?.uri;
90
+ const agentUri = this._readSelectedAgent(sessionResource);
115
91
  void this._applyMode(widget, sessionResource, agentUri);
116
92
  }
117
93
  async _applyMode(widget, sessionResource, agentUri) {
@@ -153,9 +129,9 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
153
129
  this._storageService.remove(key, StorageScope.PROFILE);
154
130
  }
155
131
  }
156
- _readSessionState(backendSession) {
157
- const value = this._agentHostService.getSubscriptionUnmanaged(StateComponents.Session, backendSession)?.value;
158
- return value && !(value instanceof Error) ? value : undefined;
132
+ _readSelectedAgent(sessionResource) {
133
+ const key = agentHostAgentPickerStorageKey(sessionResource.scheme);
134
+ return this._storageService.get(key, StorageScope.PROFILE);
159
135
  }
160
136
  _resolveBackendSession(sessionResource) {
161
137
  const provisionalSession = this._provisionalSessionService.get(sessionResource);
@@ -169,7 +145,7 @@ let AgentHostModeSynchronizer = class AgentHostModeSynchronizer extends Disposab
169
145
  return provider ? AgentSession.uri(provider, sessionResource.path.substring(1)) : undefined;
170
146
  }
171
147
  };
172
- AgentHostModeSynchronizer = ( __decorate([( __param(0, IChatWidgetService)), ( __param(1, IAgentHostService)), ( __param(2, IAgentHostUntitledProvisionalSessionService)), ( __param(3, IStorageService)), ( __param(4, IWorkbenchEnvironmentService))], AgentHostModeSynchronizer));
148
+ AgentHostModeSynchronizer = ( __decorate([( __param(0, IChatWidgetService)), ( __param(1, IAgentHostUntitledProvisionalSessionService)), ( __param(2, IStorageService)), ( __param(3, IWorkbenchEnvironmentService))], AgentHostModeSynchronizer));
173
149
  registerWorkbenchContribution2(
174
150
  AgentHostModeSynchronizer.ID,
175
151
  AgentHostModeSynchronizer,
@@ -0,0 +1,23 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
4
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
5
+ import { IAgentHostNewSessionFolderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service";
6
+ export declare class AgentHostNewSessionFolderService extends Disposable implements IAgentHostNewSessionFolderService {
7
+ private readonly _workspaceContextService;
8
+ readonly _serviceBrand: undefined;
9
+ private readonly _folders;
10
+ /**
11
+ * The most recently chosen folder in this window. Window-level "sticky"
12
+ * default that, unlike {@link _folders}, is not cleared on session
13
+ * disposal so a new chat can default to the user's last folder choice.
14
+ */
15
+ private _defaultFolder;
16
+ private readonly _onDidChangeFolder;
17
+ readonly onDidChangeFolder: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<URI>;
18
+ constructor(chatService: IChatService, _workspaceContextService: IWorkspaceContextService);
19
+ getFolder(sessionResource: URI): URI | undefined;
20
+ setFolder(sessionResource: URI, folder: URI): void;
21
+ clear(sessionResource: URI): void;
22
+ getDefaultFolder(): URI | undefined;
23
+ }
@@ -0,0 +1,52 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
6
+ import { extUriBiasedIgnorePathCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
8
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
9
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
10
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
+
12
+ let AgentHostNewSessionFolderService = class AgentHostNewSessionFolderService extends Disposable {
13
+ constructor(chatService, _workspaceContextService) {
14
+ super();
15
+ this._workspaceContextService = _workspaceContextService;
16
+ this._folders = ( new ResourceMap());
17
+ this._onDidChangeFolder = this._register(( new Emitter()));
18
+ this.onDidChangeFolder = this._onDidChangeFolder.event;
19
+ this._register(chatService.onDidDisposeSession(e => {
20
+ for (const sessionResource of e.sessionResources) {
21
+ this.clear(sessionResource);
22
+ }
23
+ }));
24
+ }
25
+ getFolder(sessionResource) {
26
+ return this._folders.get(sessionResource);
27
+ }
28
+ setFolder(sessionResource, folder) {
29
+ this._defaultFolder = folder;
30
+ const existing = this._folders.get(sessionResource);
31
+ if (existing?.toString() === ( folder.toString())) {
32
+ return;
33
+ }
34
+ this._folders.set(sessionResource, folder);
35
+ this._onDidChangeFolder.fire(sessionResource);
36
+ }
37
+ clear(sessionResource) {
38
+ if (this._folders.delete(sessionResource)) {
39
+ this._onDidChangeFolder.fire(sessionResource);
40
+ }
41
+ }
42
+ getDefaultFolder() {
43
+ const stored = this._defaultFolder;
44
+ if (stored && ( this._workspaceContextService.getWorkspace().folders.some(folder => extUriBiasedIgnorePathCase.isEqual(folder.uri, stored)))) {
45
+ return stored;
46
+ }
47
+ return undefined;
48
+ }
49
+ };
50
+ AgentHostNewSessionFolderService = ( __decorate([( __param(0, IChatService)), ( __param(1, IWorkspaceContextService))], AgentHostNewSessionFolderService));
51
+
52
+ export { AgentHostNewSessionFolderService };
@@ -64,23 +64,23 @@ let AgentHostPermissionUiContribution = class AgentHostPermissionUiContribution
64
64
  const path = request.uri.scheme === Schemas.file ? request.uri.fsPath : ( request.uri.toString());
65
65
  const fence = "`".repeat((path.match(/`+/g)?.reduce((m, s) => Math.max(m, s.length), 0) ?? 0) + 1);
66
66
  const codePath = `${fence}${path}${fence}`;
67
- const message = ( new MarkdownString(request.mode === AgentHostPermissionMode.Write ? ( localize(5279, "Remote agent host \"{0}\" wants to write {1}", hostName, codePath)) : ( localize(5280, "Remote agent host \"{0}\" wants to read {1}", hostName, codePath))));
68
- const description = totalPending > 1 ? totalPending === 2 ? ( localize(5281, "+1 more request waiting")) : ( localize(5282, "+{0} more requests waiting", totalPending - 1)) : undefined;
67
+ const message = ( new MarkdownString(request.mode === AgentHostPermissionMode.Write ? ( localize(5507, "Remote agent host \"{0}\" wants to write {1}", hostName, codePath)) : ( localize(5508, "Remote agent host \"{0}\" wants to read {1}", hostName, codePath))));
68
+ const description = totalPending > 1 ? totalPending === 2 ? ( localize(5509, "+1 more request waiting")) : ( localize(5510, "+{0} more requests waiting", totalPending - 1)) : undefined;
69
69
  return {
70
70
  id: AgentHostPermissionUiContribution_1.NOTIFICATION_ID,
71
71
  severity: ChatInputNotificationSeverity.Warning,
72
72
  message,
73
73
  description,
74
74
  actions: [{
75
- label: ( localize(5283, "Deny")),
75
+ label: ( localize(5511, "Deny")),
76
76
  commandId: DENY_COMMAND,
77
77
  commandArgs: [request.id]
78
78
  }, {
79
- label: ( localize(5284, "Allow")),
79
+ label: ( localize(5512, "Allow")),
80
80
  commandId: ALLOW_COMMAND,
81
81
  commandArgs: [request.id]
82
82
  }, {
83
- label: ( localize(5285, "Always Allow")),
83
+ label: ( localize(5513, "Always Allow")),
84
84
  commandId: ALLOW_ALWAYS_COMMAND,
85
85
  commandArgs: [request.id]
86
86
  }],
@@ -0,0 +1,47 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable, IReader } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
4
+ import { IAgentHostToolSetEnablementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.service";
5
+ /**
6
+ * The Copilot CLI agent-host session type. Tool enablement is scoped per session type; this is the
7
+ * only target for the Chat Customizations → Tools section today.
8
+ */
9
+ export declare const AGENT_HOST_COPILOT_CLI_SESSION_TYPE = "agent-host-copilotcli";
10
+ /**
11
+ * Tool / tool-set enablement state. Both maps are keyed by id and store only deviations from the
12
+ * default ("enabled"). A tool's effective state resolves child → parent → default:
13
+ * `tools[toolId] ?? toolSets[setId] ?? true`. Storing the tool-set default (rather than every
14
+ * member) lets a disabled group also cover member tools that register later.
15
+ */
16
+ export interface IToolEnablementState {
17
+ readonly toolSets: ReadonlyMap<string, boolean>;
18
+ readonly tools: ReadonlyMap<string, boolean>;
19
+ }
20
+ export type TriState = boolean | "mixed";
21
+ /** Whether `toolId`, as a member of `toolSetId`, is effectively enabled. */
22
+ export declare function isToolEnabledInSet(state: IToolEnablementState, toolSetId: string, toolId: string): boolean;
23
+ /** Aggregate tri-state of a tool set, derived from its member tools' effective states. */
24
+ export declare function getToolSetTriState(state: IToolEnablementState, toolSetId: string, toolIds: readonly string[]): TriState;
25
+ /** The subset of a tool set needed to count its enabled tools. {@link IToolSet} satisfies this shape. */
26
+ export interface ICountableToolSet {
27
+ readonly id: string;
28
+ readonly deprecated?: boolean;
29
+ getTools(reader?: IReader): Iterable<{
30
+ readonly id: string;
31
+ }>;
32
+ }
33
+ /** Counts the enabled tools across the non-deprecated tool sets surfaced in Chat Customizations → Tools. */
34
+ export declare function countEnabledCustomizationTools(toolSets: Iterable<ICountableToolSet>, state: IToolEnablementState, reader?: IReader): number;
35
+ export declare class AgentHostToolSetEnablementService extends Disposable implements IAgentHostToolSetEnablementService {
36
+ private readonly _storageService;
37
+ readonly _serviceBrand: undefined;
38
+ private readonly _state;
39
+ constructor(_storageService: IStorageService);
40
+ observe(sessionType: string): IObservable<IToolEnablementState>;
41
+ getState(sessionType: string): IToolEnablementState;
42
+ setToolSetEnabled(sessionType: string, toolSetId: string, toolIds: readonly string[], enabled: boolean): void;
43
+ setToolEnabled(sessionType: string, toolSetId: string, toolId: string, enabled: boolean): void;
44
+ private _setState;
45
+ private _load;
46
+ private _save;
47
+ }
@@ -0,0 +1,163 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
5
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
6
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
7
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
10
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
11
+
12
+ const AGENT_HOST_COPILOT_CLI_SESSION_TYPE = "agent-host-copilotcli";
13
+ function isToolEnabledInSet(state, toolSetId, toolId) {
14
+ return state.tools.get(toolId) ?? state.toolSets.get(toolSetId) ?? true;
15
+ }
16
+ function getToolSetTriState(state, toolSetId, toolIds) {
17
+ let anyOn = false;
18
+ let anyOff = false;
19
+ for (const toolId of toolIds) {
20
+ if (isToolEnabledInSet(state, toolSetId, toolId)) {
21
+ anyOn = true;
22
+ } else {
23
+ anyOff = true;
24
+ }
25
+ if (anyOn && anyOff) {
26
+ return "mixed";
27
+ }
28
+ }
29
+ return anyOn;
30
+ }
31
+ function countEnabledCustomizationTools(toolSets, state, reader) {
32
+ const enabled = ( new Set());
33
+ for (const ts of toolSets) {
34
+ if (ts.deprecated) {
35
+ continue;
36
+ }
37
+ for (const tool of ts.getTools(reader)) {
38
+ if (isToolEnabledInSet(state, ts.id, tool.id)) {
39
+ enabled.add(tool.id);
40
+ }
41
+ }
42
+ }
43
+ return enabled.size;
44
+ }
45
+ const STORAGE_KEY = "chat.agentHost.toolSetEnablement";
46
+ const EMPTY_STATE = {
47
+ toolSets: ( new Map()),
48
+ tools: ( new Map())
49
+ };
50
+ let AgentHostToolSetEnablementService = class AgentHostToolSetEnablementService extends Disposable {
51
+ constructor(_storageService) {
52
+ super();
53
+ this._storageService = _storageService;
54
+ this._state = observableValue("agentHostToolSetEnablement", this._load());
55
+ const storeForListener = this._register(( new DisposableStore()));
56
+ this._register(
57
+ this._storageService.onDidChangeValue(StorageScope.PROFILE, STORAGE_KEY, storeForListener)(() => {
58
+ this._state.set(this._load(), undefined);
59
+ })
60
+ );
61
+ }
62
+ observe(sessionType) {
63
+ return derived(reader => this._state.read(reader).get(sessionType) ?? EMPTY_STATE);
64
+ }
65
+ getState(sessionType) {
66
+ return this._state.get().get(sessionType) ?? EMPTY_STATE;
67
+ }
68
+ setToolSetEnabled(sessionType, toolSetId, toolIds, enabled) {
69
+ const state = this.getState(sessionType);
70
+ const toolSets = ( new Map(state.toolSets));
71
+ const tools = ( new Map(state.tools));
72
+ if (enabled) {
73
+ toolSets.delete(toolSetId);
74
+ } else {
75
+ toolSets.set(toolSetId, false);
76
+ }
77
+ for (const toolId of toolIds) {
78
+ tools.delete(toolId);
79
+ }
80
+ this._setState(sessionType, {
81
+ toolSets,
82
+ tools
83
+ });
84
+ }
85
+ setToolEnabled(sessionType, toolSetId, toolId, enabled) {
86
+ const state = this.getState(sessionType);
87
+ const tools = ( new Map(state.tools));
88
+ const setDefault = state.toolSets.get(toolSetId) ?? true;
89
+ if (enabled === setDefault) {
90
+ tools.delete(toolId);
91
+ } else {
92
+ tools.set(toolId, enabled);
93
+ }
94
+ this._setState(sessionType, {
95
+ toolSets: state.toolSets,
96
+ tools
97
+ });
98
+ }
99
+ _setState(sessionType, next) {
100
+ const current = ( new Map(this._state.get()));
101
+ if (next.toolSets.size === 0 && next.tools.size === 0) {
102
+ current.delete(sessionType);
103
+ } else {
104
+ current.set(sessionType, {
105
+ toolSets: ( new Map(next.toolSets)),
106
+ tools: ( new Map(next.tools))
107
+ });
108
+ }
109
+ this._state.set(current, undefined);
110
+ this._save(current);
111
+ }
112
+ _load() {
113
+ const raw = this._storageService.get(STORAGE_KEY, StorageScope.PROFILE);
114
+ if (!raw) {
115
+ return ( new Map());
116
+ }
117
+ try {
118
+ const parsed = JSON.parse(raw);
119
+ const out = ( new Map());
120
+ for (const [sessionType, entry] of Object.entries(parsed)) {
121
+ const toolSets = ( new Map());
122
+ const tools = ( new Map());
123
+ for (const [id, value] of Object.entries(entry.toolSets ?? {})) {
124
+ toolSets.set(id, value);
125
+ }
126
+ for (const [id, value] of Object.entries(entry.tools ?? {})) {
127
+ tools.set(id, value);
128
+ }
129
+ if (toolSets.size > 0 || tools.size > 0) {
130
+ out.set(sessionType, {
131
+ toolSets,
132
+ tools
133
+ });
134
+ }
135
+ }
136
+ return out;
137
+ } catch {
138
+ return ( new Map());
139
+ }
140
+ }
141
+ _save(state) {
142
+ if (state.size === 0) {
143
+ this._storageService.remove(STORAGE_KEY, StorageScope.PROFILE);
144
+ return;
145
+ }
146
+ const out = {};
147
+ for (const [sessionType, entry] of state) {
148
+ out[sessionType] = {
149
+ toolSets: Object.fromEntries(entry.toolSets),
150
+ tools: Object.fromEntries(entry.tools)
151
+ };
152
+ }
153
+ this._storageService.store(
154
+ STORAGE_KEY,
155
+ JSON.stringify(out),
156
+ StorageScope.PROFILE,
157
+ StorageTarget.MACHINE
158
+ );
159
+ }
160
+ };
161
+ AgentHostToolSetEnablementService = ( __decorate([( __param(0, IStorageService))], AgentHostToolSetEnablementService));
162
+
163
+ export { AGENT_HOST_COPILOT_CLI_SESSION_TYPE, AgentHostToolSetEnablementService, countEnabledCustomizationTools, getToolSetTriState, isToolEnabledInSet };