@codingame/monaco-vscode-chat-service-override 34.1.3 → 35.0.1

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 +1424 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -2,21 +2,23 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
4
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
+ import { match } from '@codingame/monaco-vscode-api/vscode/vs/base/common/glob';
5
6
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
7
  import { win32, posix } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
7
8
  import { OS, OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
9
  import { arch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/process';
10
+ import { ExtUri } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
11
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
10
12
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
11
13
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
14
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
13
15
  import { matchesDomainPattern, normalizeDomain } from '../../networkFilter/common/domainMatcher.js';
14
16
  import { AgentNetworkDomainSettingId } from '../../networkFilter/common/settings.js';
15
- import { AgentSandboxSettingId, AgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
17
+ import { isAgentSandboxEnabledValue, AgentSandboxSettingId, AgentSandboxEnabledValue, normalizeAgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
16
18
  import { IWindowsMxcTerminalSandboxRuntime } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/terminalSandboxMxcRuntime.service';
17
19
  import { getTerminalSandboxReadAllowListForCommands } from './terminalSandboxReadAllowList.js';
18
20
  import { getTerminalSandboxRuntimeConfigurationForCommands } from './terminalSandboxRuntimeConfigurationPerOperation.js';
19
- import { TerminalSandboxPrerequisiteCheck } from './terminalSandboxService.js';
21
+ import { TerminalSandboxPrerequisiteCheck, TerminalSandboxPreCheckRemediation } from './terminalSandboxService.js';
20
22
 
21
23
  var TerminalSandboxEngine_1;
22
24
  let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
@@ -47,6 +49,7 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
47
49
  this._commandAllowNetwork = false;
48
50
  this._os = OS;
49
51
  this._defaultWritePaths = [];
52
+ this._fileSystemPathExtUri = ( new ExtUri(() => this._os === OperatingSystem.Windows));
50
53
  this._buildSandboxPayload = (commandLine, policy, workingDirectory, containerName, containment) => {
51
54
  return this._host.buildWindowsMxcSandboxPayload(commandLine, policy, workingDirectory, containerName, containment);
52
55
  };
@@ -74,9 +77,6 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
74
77
  areRetryWithAllowNetworkRequestsAllowed() {
75
78
  return this._areRetryWithAllowNetworkRequestsAllowed();
76
79
  }
77
- isAutoApproveUnsandboxedCommands() {
78
- return this._areUnsandboxedCommandsAllowed() && this._getSettingValue(AgentSandboxSettingId.AgentSandboxAutoApproveUnsandboxedCommands) === true;
79
- }
80
80
  async getOS() {
81
81
  this._os = await this._host.getOS();
82
82
  return this._os;
@@ -209,11 +209,21 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
209
209
  };
210
210
  }
211
211
  if (!(await this._checkSandboxDependencies(forceRefresh))) {
212
+ const missingDependencies = await this.getMissingSandboxDependencies();
213
+ if (missingDependencies.length === 0 && this._sandboxDependencyStatus?.bubblewrapInstalled && !this._sandboxDependencyStatus.bubblewrapUsable) {
214
+ return {
215
+ enabled: true,
216
+ sandboxConfigPath,
217
+ failedCheck: TerminalSandboxPrerequisiteCheck.Bubblewrap,
218
+ remediations: this._getBubblewrapRemediations(),
219
+ detail: this._sandboxDependencyStatus.bubblewrapError
220
+ };
221
+ }
212
222
  return {
213
223
  enabled: true,
214
224
  sandboxConfigPath,
215
225
  failedCheck: TerminalSandboxPrerequisiteCheck.Dependencies,
216
- missingDependencies: await this.getMissingSandboxDependencies()
226
+ missingDependencies
217
227
  };
218
228
  }
219
229
  return {
@@ -222,6 +232,32 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
222
232
  failedCheck: undefined
223
233
  };
224
234
  }
235
+ async checkFileAccess(permission, paths, precheckInputs) {
236
+ if (!(await this._isSandboxConfiguredEnabled(precheckInputs))) {
237
+ return {
238
+ allowed: true,
239
+ denied: []
240
+ };
241
+ }
242
+ await this._resolveRuntimeInfo();
243
+ if (!this._tempDir) {
244
+ await this._initTempDir();
245
+ }
246
+ const configFilePath = this._tempDir ? this._getUriPath(
247
+ URI.joinPath(this._tempDir, `vscode-sandbox-settings-${this._sandboxSettingsId}.json`)
248
+ ) : undefined;
249
+ const accessPaths = await this._getFileSystemAccessPaths(configFilePath);
250
+ const denied = [];
251
+ for (const path of paths) {
252
+ if (!path || !(await this._hasFileSystemAccess(permission, path, accessPaths))) {
253
+ denied.push(path);
254
+ }
255
+ }
256
+ return {
257
+ allowed: denied.length === 0,
258
+ denied
259
+ };
260
+ }
225
261
  async getSandboxConfigPath(forceRefresh = false, precheckInputs) {
226
262
  if (!(await this._isSandboxConfiguredEnabled(precheckInputs))) {
227
263
  return undefined;
@@ -238,7 +274,7 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
238
274
  if (os === OperatingSystem.Windows) {
239
275
  return [];
240
276
  }
241
- if (!this._sandboxDependencyStatus || !this._sandboxDependencyStatus.bubblewrapInstalled || !this._sandboxDependencyStatus.socatInstalled) {
277
+ if (!this._sandboxDependencyStatus) {
242
278
  this._sandboxDependencyStatus = await this._host.checkSandboxDependencies();
243
279
  }
244
280
  const missing = [];
@@ -269,17 +305,27 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
269
305
  return true;
270
306
  }
271
307
  if (!forceRefresh && this._sandboxDependencyStatus) {
272
- return this._sandboxDependencyStatus.bubblewrapInstalled && this._sandboxDependencyStatus.socatInstalled;
308
+ return this._sandboxDependencyStatus.bubblewrapInstalled && this._sandboxDependencyStatus.bubblewrapUsable && this._sandboxDependencyStatus.socatInstalled;
273
309
  }
274
310
  const status = await this._host.checkSandboxDependencies();
275
311
  this._sandboxDependencyStatus = status;
276
312
  if (status && !status.bubblewrapInstalled) {
277
313
  this._logService.warn("TerminalSandboxEngine: bubblewrap (bwrap) is not installed");
314
+ } else if (status && !status.bubblewrapUsable) {
315
+ this._logService.warn(
316
+ "TerminalSandboxEngine: bubblewrap (bwrap) is installed but failed its capability check",
317
+ status.bubblewrapError
318
+ );
278
319
  }
279
320
  if (status && !status.socatInstalled) {
280
321
  this._logService.warn("TerminalSandboxEngine: socat is not installed");
281
322
  }
282
- return status ? status.bubblewrapInstalled && status.socatInstalled : true;
323
+ return status ? status.bubblewrapInstalled && status.bubblewrapUsable && status.socatInstalled : true;
324
+ }
325
+ _getBubblewrapRemediations() {
326
+ return [
327
+ TerminalSandboxPreCheckRemediation.DisableUnprivilagedusernamespaceRestriction
328
+ ];
283
329
  }
284
330
  _quoteShellArgument(value) {
285
331
  return `'${value.replace(/'/g, `'\\''`)}'`;
@@ -411,10 +457,11 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
411
457
  }
412
458
  await this.getOS();
413
459
  if (this._os === OperatingSystem.Windows) {
414
- return this._getSandboxConfiguredWindowsEnabledValue() === AgentSandboxEnabledValue.AllowNetwork;
460
+ const value = this._getSandboxConfiguredWindowsEnabledValue();
461
+ return isAgentSandboxEnabledValue(value);
415
462
  }
416
463
  const value = this._getSandboxConfiguredEnabledValue();
417
- return value === AgentSandboxEnabledValue.On || value === AgentSandboxEnabledValue.AllowNetwork;
464
+ return isAgentSandboxEnabledValue(value);
418
465
  }
419
466
  async _resolveRuntimeInfo() {
420
467
  if (this._runtimeResolved) {
@@ -464,6 +511,7 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
464
511
  const commandRuntimeAllowReadPaths = this._getCommandRuntimeFileSystemPaths(commandRuntimeSetting, "allowRead");
465
512
  const commandRuntimeAllowWritePaths = this._getCommandRuntimeFileSystemPaths(commandRuntimeSetting, "allowWrite");
466
513
  const configFileUri = URI.joinPath(this._tempDir, `vscode-sandbox-settings-${this._sandboxSettingsId}.json`);
514
+ const configFilePath = this._getUriPath(configFileUri);
467
515
  let allowWritePaths = [];
468
516
  let allowReadPaths = [];
469
517
  let denyReadPaths = [];
@@ -482,26 +530,30 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
482
530
  denyReadPaths = await this._resolveFileSystemPaths(windowsFileSystemSetting.denyRead ?? []);
483
531
  this._windowsMxcEnvironment = env;
484
532
  } else if (this._os === OperatingSystem.Macintosh) {
485
- allowWritePaths = await this._resolveFileSystemPaths(
533
+ allowWritePaths = (await this._resolveFileSystemPaths(
486
534
  await this._updateAllowWritePathsWithWorkspaceFolders(macFileSystemSetting.allowWrite, commandRuntimeAllowWritePaths)
487
- );
535
+ )).filter(path => path !== configFilePath);
488
536
  allowReadPaths = await this._resolveFileSystemPaths(await this._updateAllowReadPathsWithAllowWrite(
489
537
  macFileSystemSetting.allowRead,
490
538
  allowWritePaths,
491
539
  commandRuntimeAllowReadPaths
492
540
  ));
493
- denyReadPaths = await this._resolveFileSystemPaths(this._updateDenyReadPathsWithHome(macFileSystemSetting.denyRead));
541
+ denyReadPaths = await this._resolveFileSystemPaths(
542
+ this._updateDenyReadPathsWithHome([...(macFileSystemSetting.denyRead ?? []), configFilePath])
543
+ );
494
544
  denyWritePaths = macFileSystemSetting.denyWrite ? await this._resolveFileSystemPaths(macFileSystemSetting.denyWrite) : undefined;
495
545
  } else if (this._os === OperatingSystem.Linux) {
496
- allowWritePaths = await this._resolveFileSystemPaths(
546
+ allowWritePaths = (await this._resolveFileSystemPaths(
497
547
  await this._updateAllowWritePathsWithWorkspaceFolders(linuxFileSystemSetting.allowWrite, commandRuntimeAllowWritePaths)
498
- );
548
+ )).filter(path => path !== configFilePath);
499
549
  allowReadPaths = await this._resolveFileSystemPaths(await this._updateAllowReadPathsWithAllowWrite(
500
550
  linuxFileSystemSetting.allowRead,
501
551
  allowWritePaths,
502
552
  commandRuntimeAllowReadPaths
503
553
  ));
504
- denyReadPaths = await this._resolveFileSystemPaths(this._updateDenyReadPathsWithHome(linuxFileSystemSetting.denyRead));
554
+ denyReadPaths = await this._resolveFileSystemPaths(
555
+ this._updateDenyReadPathsWithHome([...(linuxFileSystemSetting.denyRead ?? []), configFilePath])
556
+ );
505
557
  denyWritePaths = await this._resolveFileSystemPaths(linuxFileSystemSetting.denyWrite);
506
558
  }
507
559
  const sandboxSettings = this._os === OperatingSystem.Windows ? await this._windowsMxcRuntime.createConfig({
@@ -511,7 +563,6 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
511
563
  tempDir: this._tempDir,
512
564
  schemaVersion: windowsSchemaVersion,
513
565
  allowNetwork,
514
- networkDomains: this.getResolvedNetworkDomains(),
515
566
  allowReadPaths,
516
567
  allowWritePaths,
517
568
  denyReadPaths,
@@ -530,13 +581,14 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
530
581
  }
531
582
  };
532
583
  if (this._os !== OperatingSystem.Windows) {
533
- this._mergeAdditionalSandboxConfigProperties(
534
- sandboxSettings,
535
- allowNetwork ? this._withoutNetworkRuntimeSetting(runtimeSetting) : runtimeSetting
536
- );
537
- this._mergeAdditionalSandboxConfigProperties(sandboxSettings, commandRuntimeSetting);
584
+ const sandboxRuntimeSettings = sandboxSettings;
585
+ this._mergeAdditionalSandboxConfigProperties(sandboxRuntimeSettings, runtimeSetting);
586
+ this._mergeAdditionalSandboxConfigProperties(sandboxRuntimeSettings, commandRuntimeSetting);
587
+ if (this._os === OperatingSystem.Macintosh) {
588
+ sandboxRuntimeSettings.allowPty ??= true;
589
+ }
538
590
  }
539
- this._sandboxConfigPath = this._getUriPath(configFileUri);
591
+ this._sandboxConfigPath = configFilePath;
540
592
  await this._fileService.createFile(
541
593
  configFileUri,
542
594
  VSBuffer.fromString(JSON.stringify(sandboxSettings, null, "\t")),
@@ -546,6 +598,122 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
546
598
  );
547
599
  return this._sandboxConfigPath;
548
600
  }
601
+ async _getFileSystemAccessPaths(configFilePath) {
602
+ const linuxFileSystemSetting = this._os === OperatingSystem.Linux ? this._getSettingValue(AgentSandboxSettingId.AgentSandboxLinuxFileSystem) ?? {} : {};
603
+ const macFileSystemSetting = this._os === OperatingSystem.Macintosh ? this._getSettingValue(AgentSandboxSettingId.AgentSandboxMacFileSystem) ?? {} : {};
604
+ const windowsFileSystemSetting = this._os === OperatingSystem.Windows ? this._getSettingValue(AgentSandboxSettingId.AgentSandboxWindowsFileSystem) ?? {} : {};
605
+ const commandRuntimeSetting = getTerminalSandboxRuntimeConfigurationForCommands(this._os, this._commandAllowListCommandDetails);
606
+ const commandRuntimeAllowReadPaths = this._getCommandRuntimeFileSystemPaths(commandRuntimeSetting, "allowRead");
607
+ const commandRuntimeAllowWritePaths = this._getCommandRuntimeFileSystemPaths(commandRuntimeSetting, "allowWrite");
608
+ let allowWritePaths = [];
609
+ let allowReadPaths = [];
610
+ let denyReadPaths = [];
611
+ let denyWritePaths;
612
+ if (this._os === OperatingSystem.Windows) {
613
+ const filesystemPolicy = await this._getWindowsMxcFilesystemPolicy();
614
+ allowWritePaths = await this._resolveFileSystemPaths([
615
+ ...(await this._updateAllowWritePathsWithWorkspaceFolders(windowsFileSystemSetting.allowWrite)),
616
+ ...filesystemPolicy.readwritePaths
617
+ ]);
618
+ allowReadPaths = await this._resolveFileSystemPaths([
619
+ ...(windowsFileSystemSetting.allowRead ?? []),
620
+ ...filesystemPolicy.readonlyPaths
621
+ ]);
622
+ denyReadPaths = await this._resolveFileSystemPaths(windowsFileSystemSetting.denyRead ?? []);
623
+ } else if (this._os === OperatingSystem.Macintosh) {
624
+ allowWritePaths = (await this._resolveFileSystemPaths(
625
+ await this._updateAllowWritePathsWithWorkspaceFolders(macFileSystemSetting.allowWrite, commandRuntimeAllowWritePaths)
626
+ )).filter(path => path !== configFilePath);
627
+ allowReadPaths = await this._resolveFileSystemPaths(await this._updateAllowReadPathsWithAllowWrite(
628
+ macFileSystemSetting.allowRead,
629
+ allowWritePaths,
630
+ commandRuntimeAllowReadPaths
631
+ ));
632
+ denyReadPaths = await this._resolveFileSystemPaths(this._updateDenyReadPathsWithHome([
633
+ ...(macFileSystemSetting.denyRead ?? []),
634
+ ...(configFilePath ? [configFilePath] : [])
635
+ ]));
636
+ denyWritePaths = macFileSystemSetting.denyWrite ? await this._resolveFileSystemPaths(macFileSystemSetting.denyWrite) : undefined;
637
+ } else if (this._os === OperatingSystem.Linux) {
638
+ allowWritePaths = (await this._resolveFileSystemPaths(
639
+ await this._updateAllowWritePathsWithWorkspaceFolders(linuxFileSystemSetting.allowWrite, commandRuntimeAllowWritePaths)
640
+ )).filter(path => path !== configFilePath);
641
+ allowReadPaths = await this._resolveFileSystemPaths(await this._updateAllowReadPathsWithAllowWrite(
642
+ linuxFileSystemSetting.allowRead,
643
+ allowWritePaths,
644
+ commandRuntimeAllowReadPaths
645
+ ));
646
+ denyReadPaths = await this._resolveFileSystemPaths(this._updateDenyReadPathsWithHome([
647
+ ...(linuxFileSystemSetting.denyRead ?? []),
648
+ ...(configFilePath ? [configFilePath] : [])
649
+ ]));
650
+ denyWritePaths = await this._resolveFileSystemPaths(linuxFileSystemSetting.denyWrite);
651
+ }
652
+ return {
653
+ allowReadPaths,
654
+ allowWritePaths,
655
+ denyReadPaths,
656
+ denyWritePaths
657
+ };
658
+ }
659
+ async _hasFileSystemAccess(permission, path, accessPaths) {
660
+ const resolvedPaths = await this._resolveFileSystemPath(path);
661
+ if (permission === "write") {
662
+ if (this._os === OperatingSystem.Windows && this._matchesAnyFileSystemPath(resolvedPaths, accessPaths.denyReadPaths)) {
663
+ return false;
664
+ }
665
+ if (this._matchesAnyFileSystemPath(resolvedPaths, accessPaths.denyWritePaths ?? [])) {
666
+ return false;
667
+ }
668
+ return this._matchesAnyFileSystemPath(resolvedPaths, accessPaths.allowWritePaths);
669
+ }
670
+ if (this._matchesAnyFileSystemPath(
671
+ resolvedPaths,
672
+ [...accessPaths.allowReadPaths, ...accessPaths.allowWritePaths]
673
+ )) {
674
+ return true;
675
+ }
676
+ return !this._matchesAnyFileSystemPath(resolvedPaths, accessPaths.denyReadPaths);
677
+ }
678
+ _matchesAnyFileSystemPath(paths, matchers) {
679
+ return ( paths.some(path => ( matchers.some(matcher => this._matchesFileSystemPath(path, matcher)))));
680
+ }
681
+ _matchesFileSystemPath(path, matcher) {
682
+ const normalizedPath = this._normalizeFileSystemAccessPath(path);
683
+ const normalizedMatcher = this._normalizeFileSystemAccessPath(matcher, true);
684
+ const ignoreCase = this._os === OperatingSystem.Windows;
685
+ if (this._containsGlobPattern(normalizedMatcher)) {
686
+ return match(normalizedMatcher, normalizedPath, {
687
+ ignoreCase
688
+ });
689
+ }
690
+ return this._fileSystemPathExtUri.isEqualOrParent(
691
+ this._toFileSystemAccessUri(normalizedPath),
692
+ this._toFileSystemAccessUri(normalizedMatcher)
693
+ );
694
+ }
695
+ _toFileSystemAccessUri(path) {
696
+ return ( URI.from({
697
+ scheme: "terminal-sandbox-path",
698
+ path: path.startsWith("/") ? path : `/${path}`
699
+ }));
700
+ }
701
+ _normalizeFileSystemAccessPath(path, preserveGlob = false) {
702
+ let normalizedPath = this._os === OperatingSystem.Windows ? path.replace(/\\/g, "/") : path;
703
+ if (this._os === OperatingSystem.Windows && /^\/[a-zA-Z]:($|\/)/.test(normalizedPath)) {
704
+ normalizedPath = normalizedPath.slice(1);
705
+ }
706
+ if (!preserveGlob || !this._containsGlobPattern(normalizedPath)) {
707
+ normalizedPath = posix.normalize(normalizedPath);
708
+ }
709
+ if (normalizedPath.length > 1 && normalizedPath.endsWith("/") && !/^[a-zA-Z]:\/$/.test(normalizedPath)) {
710
+ normalizedPath = normalizedPath.replace(/\/+$/, "");
711
+ }
712
+ return normalizedPath;
713
+ }
714
+ _containsGlobPattern(path) {
715
+ return /[*?{\[]/.test(path);
716
+ }
549
717
  _getCommandRuntimeFileSystemPaths(runtimeSetting, key) {
550
718
  const filesystem = runtimeSetting.filesystem;
551
719
  if (!this._isObjectForSandboxConfigMerge(filesystem)) {
@@ -557,13 +725,6 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
557
725
  }
558
726
  return paths.filter(path => typeof path === "string");
559
727
  }
560
- _withoutNetworkRuntimeSetting(runtimeSetting) {
561
- const sanitizedRuntimeSetting = {
562
- ...runtimeSetting
563
- };
564
- delete sanitizedRuntimeSetting.network;
565
- return sanitizedRuntimeSetting;
566
- }
567
728
  _mergeAdditionalSandboxConfigProperties(target, additional) {
568
729
  for (const [key, value] of Object.entries(additional)) {
569
730
  if (!Object.prototype.hasOwnProperty.call(target, key)) {
@@ -648,7 +809,18 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
648
809
  }
649
810
  async _resolveFileSystemPaths(paths) {
650
811
  const resolvedPaths = await Promise.all(( (paths ?? []).map(path => this._resolveFileSystemPath(path))));
651
- return [...( new Set(resolvedPaths.flat()))];
812
+ const seenPaths = ( new Set());
813
+ return resolvedPaths.flat().filter(path => {
814
+ const comparisonKey = this._getFileSystemPathComparisonKey(path);
815
+ if (( seenPaths.has(comparisonKey))) {
816
+ return false;
817
+ }
818
+ seenPaths.add(comparisonKey);
819
+ return true;
820
+ });
821
+ }
822
+ _getFileSystemPathComparisonKey(path) {
823
+ return this._os === OperatingSystem.Windows ? path.replace(/\//g, "\\").toLowerCase() : path;
652
824
  }
653
825
  async _resolveFileSystemPath(path) {
654
826
  const expandedPath = this._os === OperatingSystem.Linux ? this._expandHomePath(path) : path;
@@ -758,12 +930,18 @@ let TerminalSandboxEngine = class TerminalSandboxEngine extends Disposable {
758
930
  return this._host.getWriteRoots()[0];
759
931
  }
760
932
  _getSandboxConfiguredEnabledValue() {
761
- return this._getSettingValue(AgentSandboxSettingId.AgentSandboxEnabled) ?? AgentSandboxEnabledValue.Off;
933
+ return this._normalizeSandboxEnabledValue(this._getSettingValue(AgentSandboxSettingId.AgentSandboxEnabled));
762
934
  }
763
935
  _getSandboxConfiguredWindowsEnabledValue() {
764
- return this._getSettingValue(AgentSandboxSettingId.AgentSandboxWindowsEnabled) ?? AgentSandboxEnabledValue.Off;
936
+ return this._normalizeSandboxEnabledValue(this._getSettingValue(AgentSandboxSettingId.AgentSandboxWindowsEnabled));
937
+ }
938
+ _normalizeSandboxEnabledValue(value) {
939
+ return value === undefined ? AgentSandboxEnabledValue.Off : normalizeAgentSandboxEnabledValue(value);
765
940
  }
766
941
  _isSandboxAllowNetworkConfigured() {
942
+ if (this._getSettingValue(AgentSandboxSettingId.AgentSandboxAllowNetwork) === true) {
943
+ return true;
944
+ }
767
945
  if (this._os === OperatingSystem.Windows) {
768
946
  return this._getSandboxConfiguredWindowsEnabledValue() === AgentSandboxEnabledValue.AllowNetwork;
769
947
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
3
- import { gitGlobalOptionsWithValue, matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
3
+ import { matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
4
4
 
5
5
  var TerminalSandboxReadAllowListOperation;
6
6
  (function(TerminalSandboxReadAllowListOperation) {
@@ -84,6 +84,7 @@ function getTerminalSandboxReadAllowListForOperation(operation, os) {
84
84
  default:
85
85
  return [
86
86
  "~/.gitconfig",
87
+ "~/.config/gh/config.yml",
87
88
  "~/.config/git/config",
88
89
  "~/.gitignore",
89
90
  "~/.gitignore_global",
@@ -280,9 +281,7 @@ const terminalSandboxReadAllowListCommandDetailRules = [{
280
281
  value: TerminalSandboxReadAllowListOperation.GnuPG
281
282
  }, {
282
283
  keywords: ["git"],
283
- value: TerminalSandboxReadAllowListOperation.GnuPG,
284
- subcommands: ["commit"],
285
- optionsWithValue: gitGlobalOptionsWithValue
284
+ value: TerminalSandboxReadAllowListOperation.GnuPG
286
285
  }];
287
286
  function getTerminalSandboxReadAllowListForCommands(os, commandKeywords, commandDetails = []) {
288
287
  if (commandKeywords.length === 0) {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
3
- import { gitGlobalOptionsWithValue, matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
3
+ import { matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
4
4
 
5
5
  var TerminalSandboxRuntimeConfigurationOperation;
6
6
  (function(TerminalSandboxRuntimeConfigurationOperation) {
@@ -29,15 +29,13 @@ const terminalSandboxRuntimeConfigurationCommandRules = [{
29
29
  }, {
30
30
  keywords: ["git"],
31
31
  value: TerminalSandboxRuntimeConfigurationOperation.GnuPG,
32
- subcommands: ["commit"],
33
- optionsWithValue: gitGlobalOptionsWithValue,
34
32
  condition: (
35
33
  {
36
34
  os
37
35
  }
38
- ) => os !== OperatingSystem.Windows,
39
- when: isGpgSignedGitCommit
36
+ ) => os !== OperatingSystem.Windows
40
37
  }];
38
+ const terminalSandboxGnuPGCompatibleCommandKeywords = ( new Set(["git", "gh", "gpg", "gpg2"]));
41
39
  function getTerminalSandboxRuntimeConfigurationForOperation(operation, os) {
42
40
  switch (operation) {
43
41
  case TerminalSandboxRuntimeConfigurationOperation.GnuPG:
@@ -78,7 +76,7 @@ function getTerminalSandboxRuntimeConfigurationForCommands(os, commandDetails) {
78
76
  for (const rule of terminalSandboxRuntimeConfigurationCommandRules) {
79
77
  if (matchesTerminalSandboxCommandRule(command, rule, {
80
78
  os
81
- })) {
79
+ }) && shouldApplyRuntimeConfigurationOperation(rule.value, commandDetails)) {
82
80
  operations.add(rule.value);
83
81
  }
84
82
  }
@@ -92,10 +90,13 @@ function getTerminalSandboxRuntimeConfigurationForCommands(os, commandDetails) {
92
90
  }
93
91
  return configuration;
94
92
  }
95
- function isGpgSignedGitCommit(command) {
96
- return ( command.args.some(
97
- arg => arg === "-S" || arg.startsWith("-S") || arg === "--gpg-sign" || arg.startsWith("--gpg-sign=")
98
- ));
93
+ function shouldApplyRuntimeConfigurationOperation(operation, commandDetails) {
94
+ switch (operation) {
95
+ case TerminalSandboxRuntimeConfigurationOperation.GnuPG:
96
+ return commandDetails.every(command => ( terminalSandboxGnuPGCompatibleCommandKeywords.has(command.keyword.toLowerCase())));
97
+ case TerminalSandboxRuntimeConfigurationOperation.Node:
98
+ return true;
99
+ }
99
100
  }
100
101
  function mergeAdditionalSandboxConfigProperties(target, additional) {
101
102
  for (const [key, value] of Object.entries(additional)) {
@@ -9,13 +9,19 @@ export interface ITerminalSandboxResolvedNetworkDomains {
9
9
  }
10
10
  export declare enum TerminalSandboxPrerequisiteCheck {
11
11
  Config = "config",
12
- Dependencies = "dependencies"
12
+ Dependencies = "dependencies",
13
+ Bubblewrap = "bubblewrap"
14
+ }
15
+ export declare enum TerminalSandboxPreCheckRemediation {
16
+ DisableUnprivilagedusernamespaceRestriction = "disableUserNamespaceRestriction"
13
17
  }
14
18
  export interface ITerminalSandboxPrerequisiteCheckResult {
15
19
  enabled: boolean;
16
20
  sandboxConfigPath: string | undefined;
17
21
  failedCheck: TerminalSandboxPrerequisiteCheck | undefined;
18
22
  missingDependencies?: string[];
23
+ remediations?: readonly TerminalSandboxPreCheckRemediation[];
24
+ detail?: string;
19
25
  }
20
26
  export interface ITerminalSandboxWrapResult {
21
27
  command: string;
@@ -25,11 +31,10 @@ export interface ITerminalSandboxWrapResult {
25
31
  requiresUnsandboxConfirmation?: boolean;
26
32
  requiresAllowNetworkConfirmation?: boolean;
27
33
  }
28
- export interface ITerminalSandboxPrecheckInputs {
29
- /**
30
- * Whether the current caller is using the default approval permission flow.
31
- */
32
- readonly isDefaultApprovalPermissionEnabled?: boolean;
34
+ export type TerminalSandboxFileAccessPermission = "read" | "write";
35
+ export interface ITerminalSandboxFileAccessCheckResult {
36
+ allowed: boolean;
37
+ denied: string[];
33
38
  }
34
39
  export interface ITerminalSandboxPrecheckInputs {
35
40
  /**
@@ -91,10 +96,12 @@ export declare class NullTerminalSandboxService implements ITerminalSandboxServi
91
96
  getOS(): Promise<OperatingSystem>;
92
97
  checkForSandboxingPrereqs(): Promise<ITerminalSandboxPrerequisiteCheckResult>;
93
98
  wrapCommand(command: string): Promise<ITerminalSandboxWrapResult>;
99
+ checkFileAccess(): Promise<ITerminalSandboxFileAccessCheckResult>;
94
100
  getSandboxConfigPath(): Promise<string | undefined>;
95
101
  getTempDir(): URI | undefined;
96
102
  setNeedsForceUpdateConfigFile(): void;
97
103
  getResolvedNetworkDomains(): ITerminalSandboxResolvedNetworkDomains;
98
104
  getMissingSandboxDependencies(): Promise<string[]>;
99
105
  installMissingSandboxDependencies(): Promise<ISandboxDependencyInstallResult>;
106
+ runSandboxRemediation(): Promise<ISandboxDependencyInstallResult>;
100
107
  }
@@ -5,6 +5,11 @@ var TerminalSandboxPrerequisiteCheck;
5
5
  (function (TerminalSandboxPrerequisiteCheck) {
6
6
  TerminalSandboxPrerequisiteCheck["Config"] = "config";
7
7
  TerminalSandboxPrerequisiteCheck["Dependencies"] = "dependencies";
8
+ TerminalSandboxPrerequisiteCheck["Bubblewrap"] = "bubblewrap";
8
9
  })(TerminalSandboxPrerequisiteCheck || (TerminalSandboxPrerequisiteCheck = {}));
10
+ var TerminalSandboxPreCheckRemediation;
11
+ (function (TerminalSandboxPreCheckRemediation) {
12
+ TerminalSandboxPreCheckRemediation["DisableUnprivilagedusernamespaceRestriction"] = "disableUserNamespaceRestriction";
13
+ })(TerminalSandboxPreCheckRemediation || (TerminalSandboxPreCheckRemediation = {}));
9
14
 
10
- export { TerminalSandboxPrerequisiteCheck };
15
+ export { TerminalSandboxPreCheckRemediation, TerminalSandboxPrerequisiteCheck };
@@ -0,0 +1,2 @@
1
+ import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
2
+ export declare const AGENTS_VOICE_WIDGET_FOCUSED: RawContextKey<boolean>;