@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.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 (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
@@ -32,8 +32,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
32
32
 
33
33
  registerActiveXtermAction({
34
34
  id: TerminalChatCommandId.Start,
35
- title: ( localize2(13325, "Open Inline Chat")),
36
- category: ( localize2(13326, "Terminal")),
35
+ title: ( localize2(13522, "Open Inline Chat")),
36
+ category: ( localize2(13523, "Terminal")),
37
37
  keybinding: {
38
38
  primary: KeyMod.CtrlCmd | KeyCode.KeyI,
39
39
  when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
@@ -77,7 +77,7 @@ registerActiveXtermAction({
77
77
  });
78
78
  registerActiveXtermAction({
79
79
  id: TerminalChatCommandId.Close,
80
- title: ( localize2(13327, "Close")),
80
+ title: ( localize2(13524, "Close")),
81
81
  category: AbstractInlineChatAction.category,
82
82
  keybinding: {
83
83
  primary: KeyCode.Escape,
@@ -102,8 +102,8 @@ registerActiveXtermAction({
102
102
  });
103
103
  registerActiveXtermAction({
104
104
  id: TerminalChatCommandId.RunCommand,
105
- title: ( localize2(13328, "Run Chat Command")),
106
- shortTitle: ( localize2(13329, "Run")),
105
+ title: ( localize2(13525, "Run Chat Command")),
106
+ shortTitle: ( localize2(13526, "Run")),
107
107
  category: AbstractInlineChatAction.category,
108
108
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
109
109
  TerminalContextKeys.processSupported,
@@ -131,8 +131,8 @@ registerActiveXtermAction({
131
131
  });
132
132
  registerActiveXtermAction({
133
133
  id: TerminalChatCommandId.RunFirstCommand,
134
- title: ( localize2(13330, "Run First Chat Command")),
135
- shortTitle: ( localize2(13331, "Run First")),
134
+ title: ( localize2(13527, "Run First Chat Command")),
135
+ shortTitle: ( localize2(13528, "Run First")),
136
136
  category: AbstractInlineChatAction.category,
137
137
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
138
138
  TerminalContextKeys.processSupported,
@@ -160,8 +160,8 @@ registerActiveXtermAction({
160
160
  });
161
161
  registerActiveXtermAction({
162
162
  id: TerminalChatCommandId.InsertCommand,
163
- title: ( localize2(13332, "Insert Chat Command")),
164
- shortTitle: ( localize2(13333, "Insert")),
163
+ title: ( localize2(13529, "Insert Chat Command")),
164
+ shortTitle: ( localize2(13530, "Insert")),
165
165
  category: AbstractInlineChatAction.category,
166
166
  icon: Codicon.insert,
167
167
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
@@ -190,8 +190,8 @@ registerActiveXtermAction({
190
190
  });
191
191
  registerActiveXtermAction({
192
192
  id: TerminalChatCommandId.InsertFirstCommand,
193
- title: ( localize2(13334, "Insert First Chat Command")),
194
- shortTitle: ( localize2(13335, "Insert First")),
193
+ title: ( localize2(13531, "Insert First Chat Command")),
194
+ shortTitle: ( localize2(13532, "Insert First")),
195
195
  category: AbstractInlineChatAction.category,
196
196
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
197
197
  TerminalContextKeys.processSupported,
@@ -219,7 +219,7 @@ registerActiveXtermAction({
219
219
  });
220
220
  registerActiveXtermAction({
221
221
  id: TerminalChatCommandId.RerunRequest,
222
- title: ( localize2(13336, "Rerun Request")),
222
+ title: ( localize2(13533, "Rerun Request")),
223
223
  f1: false,
224
224
  icon: Codicon.refresh,
225
225
  category: AbstractInlineChatAction.category,
@@ -260,7 +260,7 @@ registerActiveXtermAction({
260
260
  });
261
261
  registerActiveXtermAction({
262
262
  id: TerminalChatCommandId.ViewInChat,
263
- title: ( localize2(13337, "View in Chat")),
263
+ title: ( localize2(13534, "View in Chat")),
264
264
  category: AbstractInlineChatAction.category,
265
265
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
266
266
  TerminalContextKeys.processSupported,
@@ -286,8 +286,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
286
286
  constructor() {
287
287
  super({
288
288
  id: TerminalChatCommandId.ViewHiddenChatTerminals,
289
- title: ( localize2(13338, "View Hidden Chat Terminals")),
290
- category: ( localize2(13339, "Terminal")),
289
+ title: ( localize2(13535, "View Hidden Chat Terminals")),
290
+ category: ( localize2(13536, "Terminal")),
291
291
  f1: true,
292
292
  precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
293
293
  menu: [{
@@ -329,7 +329,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
329
329
  return;
330
330
  }
331
331
  const items = [];
332
- const lastCommandLocalized = command => ( localize2(13340, "Last: {0}", command)).value;
332
+ const lastCommandLocalized = command => ( localize2(13537, "Last: {0}", command)).value;
333
333
  const MAX_DETAIL_LENGTH = 80;
334
334
  const metas = [];
335
335
  for (const instance of ( all.values())) {
@@ -381,10 +381,10 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
381
381
  });
382
382
  }
383
383
  const qp = quickInputService.createQuickPick();
384
- qp.placeholder = ( localize2(13341, "Select a chat terminal to show and focus")).value;
384
+ qp.placeholder = ( localize2(13538, "Select a chat terminal to show and focus")).value;
385
385
  qp.items = items;
386
386
  qp.canSelectMany = false;
387
- qp.title = ( localize2(13342, "Chat Terminals")).value;
387
+ qp.title = ( localize2(13539, "Chat Terminals")).value;
388
388
  qp.matchOnDescription = true;
389
389
  qp.matchOnDetail = true;
390
390
  const qpDisposables = ( new DisposableStore());
@@ -442,14 +442,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
442
442
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
443
443
  command: {
444
444
  id: TerminalChatCommandId.FocusMostRecentChatTerminal,
445
- title: ( localize(13343, "Chat: Focus Most Recent Terminal"))
445
+ title: ( localize(13540, "Chat: Focus Most Recent Terminal"))
446
446
  },
447
447
  when: ChatContextKeys.inChatSession
448
448
  });
449
449
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
450
450
  command: {
451
451
  id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
452
- title: ( localize(13344, "Chat: Focus Most Recent Terminal Output"))
452
+ title: ( localize(13541, "Chat: Focus Most Recent Terminal Output"))
453
453
  },
454
454
  when: ChatContextKeys.inChatSession
455
455
  });
@@ -187,7 +187,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
187
187
  }
188
188
  _resetPlaceholder() {
189
189
  const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
190
- this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(13345, "Ask about commands"));
190
+ this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(13542, "Ask about commands"));
191
191
  }
192
192
  async reveal() {
193
193
  await this._createSession();
@@ -152,7 +152,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
152
152
  const firstSubcommandFirstWord = unapprovedSubCommands.length > 0 ? unapprovedSubCommands[0].split(" ")[0] : "";
153
153
  if (firstSubcommandFirstWord !== commandLine && !( commandsWithSubcommands.has(commandLine)) && !( commandsWithSubSubCommands.has(commandLine))) {
154
154
  actions.push({
155
- label: ( localize(13346, "Allow Exact Command Line in this Session")),
155
+ label: ( localize(13543, "Allow Exact Command Line in this Session")),
156
156
  data: {
157
157
  type: "newRule",
158
158
  rule: {
@@ -166,7 +166,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
166
166
  }
167
167
  });
168
168
  actions.push({
169
- label: ( localize(13347, "Allow Exact Command Line in this Workspace")),
169
+ label: ( localize(13544, "Allow Exact Command Line in this Workspace")),
170
170
  data: {
171
171
  type: "newRule",
172
172
  rule: {
@@ -180,7 +180,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
180
180
  }
181
181
  });
182
182
  actions.push({
183
- label: ( localize(13348, "Always Allow Exact Command Line")),
183
+ label: ( localize(13545, "Always Allow Exact Command Line")),
184
184
  data: {
185
185
  type: "newRule",
186
186
  rule: {
@@ -199,15 +199,15 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
199
199
  actions.push(( new Separator()));
200
200
  }
201
201
  actions.push({
202
- label: ( localize(13349, "Allow All Commands in this Session")),
203
- tooltip: ( localize(13350, "Allow this tool to run in this session without confirmation.")),
202
+ label: ( localize(13546, "Allow All Commands in this Session")),
203
+ tooltip: ( localize(13547, "Allow this tool to run in this session without confirmation.")),
204
204
  data: {
205
205
  type: "sessionApproval"
206
206
  }
207
207
  });
208
208
  actions.push(( new Separator()));
209
209
  actions.push({
210
- label: ( localize(13351, "Configure Auto Approve...")),
210
+ label: ( localize(13548, "Configure Auto Approve...")),
211
211
  data: {
212
212
  type: "configure"
213
213
  }
@@ -126,7 +126,7 @@ registerWorkbenchContribution2(
126
126
  );
127
127
  registerActiveInstanceAction({
128
128
  id: TerminalChatAgentToolsCommandId.ChatAddTerminalSelection,
129
- title: ( localize(13352, "Add Terminal Selection to Chat")),
129
+ title: ( localize(13549, "Add Terminal Selection to Chat")),
130
130
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, sharedWhenClause.terminalAvailable)),
131
131
  menu: [{
132
132
  id: MenuId.TerminalInstanceContext,
@@ -147,8 +147,8 @@ registerActiveInstanceAction({
147
147
  chatView.attachmentModel.addContext({
148
148
  id: `terminal-selection-${Date.now()}`,
149
149
  kind: "generic",
150
- name: ( localize(13353, "Terminal Selection")),
151
- fullName: ( localize(13353, "Terminal Selection")),
150
+ name: ( localize(13550, "Terminal Selection")),
151
+ fullName: ( localize(13550, "Terminal Selection")),
152
152
  value: selection,
153
153
  icon: Codicon.terminal
154
154
  });
@@ -11,7 +11,7 @@ import { timeout, raceCancellationError } from '@codingame/monaco-vscode-api/vsc
11
11
  const AwaitTerminalToolData = {
12
12
  id: TerminalToolId.AwaitTerminal,
13
13
  toolReferenceName: "awaitTerminal",
14
- displayName: ( localize(13354, "Await Terminal")),
14
+ displayName: ( localize(13551, "Await Terminal")),
15
15
  modelDescription: "Wait for a background terminal command to complete. Returns the output, exit code, or timeout status.",
16
16
  icon: Codicon.terminal,
17
17
  source: ToolDataSource.Internal,
@@ -33,8 +33,8 @@ const AwaitTerminalToolData = {
33
33
  class AwaitTerminalTool extends Disposable {
34
34
  async prepareToolInvocation(_context, _token) {
35
35
  return {
36
- invocationMessage: ( localize(13355, "Awaiting terminal completion")),
37
- pastTenseMessage: ( localize(13356, "Awaited terminal completion"))
36
+ invocationMessage: ( localize(13552, "Awaiting terminal completion")),
37
+ pastTenseMessage: ( localize(13553, "Awaited terminal completion"))
38
38
  };
39
39
  }
40
40
  async invoke(invocation, _countTokens, _progress, token) {
@@ -154,7 +154,7 @@ let NpmScriptAutoApprover = class NpmScriptAutoApprover extends Disposable {
154
154
  isAutoApproved: true,
155
155
  scriptName,
156
156
  autoApproveInfo: ( new MarkdownString(( localize(
157
- 13357,
157
+ 13554,
158
158
  "Auto approved as {0} is defined in package.json",
159
159
  `\`${scriptName}\``
160
160
  ))))
@@ -55,7 +55,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
55
55
  isAutoApproved: true,
56
56
  isAutoApproveAllowed: true,
57
57
  disclaimers: [],
58
- autoApproveInfo: ( new MarkdownString(`${( localize(13358, "Auto approved for this session"))} ([${( localize(13359, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
58
+ autoApproveInfo: ( new MarkdownString(`${( localize(13555, "Auto approved for this session"))} ([${( localize(13556, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
59
59
  };
60
60
  }
61
61
  const trimmedCommandLine = options.commandLine.trimStart();
@@ -148,7 +148,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
148
148
  const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(" ")[0].toLowerCase()));
149
149
  if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) || (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
150
150
  disclaimers.push(( localize(
151
- 13360,
151
+ 13557,
152
152
  "Web content may contain malicious code or attempt prompt injection attacks."
153
153
  )));
154
154
  }
@@ -189,10 +189,10 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
189
189
  return ( asArray(result).filter(e => isAutoApproveRule(e.rule)).map(e => {
190
190
  const escapedSourceText = e.rule.sourceText.replaceAll("$", "\\$");
191
191
  if (e.rule.sourceTarget === "session") {
192
- return localize(13361, "{0} (session)", `\`${escapedSourceText}\``);
192
+ return localize(13558, "{0} (session)", `\`${escapedSourceText}\``);
193
193
  }
194
194
  const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, e.rule.sourceTarget);
195
- const tooltip = ( localize(13362, "View rule in settings"));
195
+ const tooltip = ( localize(13559, "View rule in settings"));
196
196
  let label = escapedSourceText;
197
197
  switch (e.rule?.sourceTarget) {
198
198
  case ConfigurationTarget.DEFAULT:
@@ -223,9 +223,9 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
223
223
  if (isGlobalAutoApproved) {
224
224
  const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, "global");
225
225
  return (new MarkdownString(`${( localize(
226
- 13363,
226
+ 13560,
227
227
  "Auto approved by setting {0}",
228
- `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(13364, "View settings"))}")`
228
+ `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(13561, "View settings"))}")`
229
229
  ))}`, mdTrustSettings));
230
230
  }
231
231
  if (isAutoApproved) {
@@ -234,7 +234,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
234
234
  {
235
235
  if (isAutoApproveRule(commandLineResult.rule)) {
236
236
  return (new MarkdownString(
237
- localize(13365, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
237
+ localize(13562, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
238
238
  mdTrustSettings
239
239
  ));
240
240
  }
@@ -249,12 +249,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
249
249
  const uniqueRules = dedupeRules(subCommandResults);
250
250
  if (uniqueRules.length === 1) {
251
251
  return (new MarkdownString(
252
- localize(13365, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
252
+ localize(13562, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
253
253
  mdTrustSettings
254
254
  ));
255
255
  } else if (uniqueRules.length > 1) {
256
256
  return (new MarkdownString(
257
- localize(13366, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
257
+ localize(13563, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
258
258
  mdTrustSettings
259
259
  ));
260
260
  }
@@ -267,7 +267,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
267
267
  {
268
268
  if (commandLineResult.rule) {
269
269
  return (new MarkdownString(localize(
270
- 13367,
270
+ 13564,
271
271
  "Auto approval denied by rule {0}",
272
272
  formatRuleLinks(commandLineResult)
273
273
  ), mdTrustSettings));
@@ -279,12 +279,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
279
279
  const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === "denied"));
280
280
  if (uniqueRules.length === 1) {
281
281
  return (new MarkdownString(
282
- localize(13367, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
282
+ localize(13564, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
283
283
  mdTrustSettings
284
284
  ));
285
285
  } else if (uniqueRules.length > 1) {
286
286
  return (new MarkdownString(
287
- localize(13368, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
287
+ localize(13565, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
288
288
  mdTrustSettings
289
289
  ));
290
290
  }
@@ -149,12 +149,12 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
149
149
  )).join(", ");
150
150
  if (!isAutoApproveAllowed) {
151
151
  disclaimers.push(( localize(
152
- 13369,
152
+ 13566,
153
153
  "File write operations detected that cannot be auto approved: {0}",
154
154
  fileWritesList
155
155
  )));
156
156
  } else {
157
- disclaimers.push(( localize(13370, "File write operations detected: {0}", fileWritesList)));
157
+ disclaimers.push(( localize(13567, "File write operations detected: {0}", fileWritesList)));
158
158
  }
159
159
  }
160
160
  return {
@@ -12,7 +12,7 @@ const GetTerminalLastCommandToolData = {
12
12
  id: TerminalToolId.TerminalLastCommand,
13
13
  toolReferenceName: "terminalLastCommand",
14
14
  legacyToolReferenceFullNames: ["runCommands/terminalLastCommand"],
15
- displayName: ( localize(13371, "Get Terminal Last Command")),
15
+ displayName: ( localize(13568, "Get Terminal Last Command")),
16
16
  modelDescription: "Get the last command run in the active terminal.",
17
17
  source: ToolDataSource.Internal,
18
18
  icon: Codicon.terminal
@@ -24,8 +24,8 @@ let GetTerminalLastCommandTool = class GetTerminalLastCommandTool extends Dispos
24
24
  }
25
25
  async prepareToolInvocation(context, token) {
26
26
  return {
27
- invocationMessage: ( localize(13372, "Getting last terminal command")),
28
- pastTenseMessage: ( localize(13373, "Got last terminal command"))
27
+ invocationMessage: ( localize(13569, "Getting last terminal command")),
28
+ pastTenseMessage: ( localize(13570, "Got last terminal command"))
29
29
  };
30
30
  }
31
31
  async invoke(invocation, _countTokens, _progress, token) {
@@ -10,7 +10,7 @@ const GetTerminalOutputToolData = {
10
10
  id: TerminalToolId.GetTerminalOutput,
11
11
  toolReferenceName: "getTerminalOutput",
12
12
  legacyToolReferenceFullNames: ["runCommands/getTerminalOutput"],
13
- displayName: ( localize(13374, "Get Terminal Output")),
13
+ displayName: ( localize(13571, "Get Terminal Output")),
14
14
  modelDescription: `Get the output of a terminal command previously started with ${TerminalToolId.RunInTerminal}`,
15
15
  icon: Codicon.terminal,
16
16
  source: ToolDataSource.Internal,
@@ -28,8 +28,8 @@ const GetTerminalOutputToolData = {
28
28
  class GetTerminalOutputTool extends Disposable {
29
29
  async prepareToolInvocation(context, token) {
30
30
  return {
31
- invocationMessage: ( localize(13375, "Checking background terminal output")),
32
- pastTenseMessage: ( localize(13376, "Checked background terminal output"))
31
+ invocationMessage: ( localize(13572, "Checking background terminal output")),
32
+ pastTenseMessage: ( localize(13573, "Checked background terminal output"))
33
33
  };
34
34
  }
35
35
  async invoke(invocation, _countTokens, _progress, token) {
@@ -11,7 +11,7 @@ const GetTerminalSelectionToolData = {
11
11
  id: TerminalToolId.TerminalSelection,
12
12
  toolReferenceName: "terminalSelection",
13
13
  legacyToolReferenceFullNames: ["runCommands/terminalSelection"],
14
- displayName: ( localize(13377, "Get Terminal Selection")),
14
+ displayName: ( localize(13574, "Get Terminal Selection")),
15
15
  modelDescription: "Get the current selection in the active terminal.",
16
16
  source: ToolDataSource.Internal,
17
17
  icon: Codicon.terminal
@@ -23,8 +23,8 @@ let GetTerminalSelectionTool = class GetTerminalSelectionTool extends Disposable
23
23
  }
24
24
  async prepareToolInvocation(context, token) {
25
25
  return {
26
- invocationMessage: ( localize(13378, "Reading terminal selection")),
27
- pastTenseMessage: ( localize(13379, "Read terminal selection"))
26
+ invocationMessage: ( localize(13575, "Reading terminal selection")),
27
+ pastTenseMessage: ( localize(13576, "Read terminal selection"))
28
28
  };
29
29
  }
30
30
  async invoke(invocation, _countTokens, _progress, token) {
@@ -9,7 +9,7 @@ import { TerminalToolId } from './toolIds.js';
9
9
  const KillTerminalToolData = {
10
10
  id: TerminalToolId.KillTerminal,
11
11
  toolReferenceName: "killTerminal",
12
- displayName: ( localize(13380, "Kill Terminal")),
12
+ displayName: ( localize(13577, "Kill Terminal")),
13
13
  modelDescription: `Kill a terminal by its ID. Use this to clean up terminals that are no longer needed (e.g., after stopping a server or when a long-running task completes). The terminal ID is returned by ${TerminalToolId.RunInTerminal} when isBackground=true.`,
14
14
  icon: Codicon.terminal,
15
15
  source: ToolDataSource.Internal,
@@ -27,8 +27,8 @@ const KillTerminalToolData = {
27
27
  class KillTerminalTool extends Disposable {
28
28
  async prepareToolInvocation(_context, _token) {
29
29
  return {
30
- invocationMessage: ( localize(13381, "Killing terminal")),
31
- pastTenseMessage: ( localize(13382, "Killed terminal"))
30
+ invocationMessage: ( localize(13578, "Killing terminal")),
31
+ pastTenseMessage: ( localize(13579, "Killed terminal"))
32
32
  };
33
33
  }
34
34
  async invoke(invocation, _countTokens, _progress, _token) {
@@ -58,6 +58,8 @@ export declare class OutputMonitor extends Disposable implements IOutputMonitor
58
58
  get outputMonitorTelemetryCounters(): Readonly<IOutputMonitorTelemetryCounters>;
59
59
  private readonly _onDidFinishCommand;
60
60
  readonly onDidFinishCommand: Event<void>;
61
+ /** The chat session resource for this tool invocation, used to check permission level. */
62
+ private readonly _sessionResource;
61
63
  constructor(_execution: IExecution, _pollFn: ((execution: IExecution, token: CancellationToken, taskService: ITaskService) => Promise<IPollingResult | undefined>) | undefined, invocationContext: IToolInvocationContext | undefined, token: CancellationToken, command: string, _languageModelsService: ILanguageModelsService, _taskService: ITaskService, _chatService: IChatService, _chatWidgetService: IChatWidgetService, _configurationService: IConfigurationService, _logService: ITerminalLogService, _terminalService: ITerminalService);
62
64
  private _startMonitoring;
63
65
  private _handleIdleState;
@@ -80,6 +82,12 @@ export declare class OutputMonitor extends Disposable implements IOutputMonitor
80
82
  private _assessOutputForErrors;
81
83
  private _determineUserInputOptions;
82
84
  private _isSensitivePrompt;
85
+ /**
86
+ * Returns true if the current session is in Autopilot mode (not Bypass Approvals).
87
+ * In Autopilot, terminal prompts should be auto-replied to so the agent can
88
+ * work autonomously from start to finish.
89
+ */
90
+ private _isAutopilotMode;
83
91
  private _normalizeAutoReplyInput;
84
92
  private _extractExplicitInputFromPrompt;
85
93
  private _selectAndHandleOption;
@@ -6,13 +6,12 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
6
6
  import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
7
  import { isObject, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
8
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
- import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
10
9
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
11
10
  import { ChatElicitationRequestPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart';
12
11
  import { ChatModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
13
12
  import { ElicitationState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
14
13
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
15
- import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
14
+ import { ChatPermissionLevel, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
16
15
  import { ChatMessageRole, getTextResponseFromStream } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
17
16
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
18
17
  import { ITaskService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskService.service';
@@ -93,6 +92,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
93
92
  };
94
93
  this._onDidFinishCommand = this._register(( new Emitter()));
95
94
  this.onDidFinishCommand = this._onDidFinishCommand.event;
95
+ this._sessionResource = invocationContext?.sessionResource;
96
96
  timeout(0).then(() => {
97
97
  this._startMonitoring(command, invocationContext, token);
98
98
  });
@@ -205,9 +205,15 @@ let OutputMonitor = class OutputMonitor extends Disposable {
205
205
  };
206
206
  }
207
207
  if ((!isTask || !isTaskInactive) && detectsGenericPressAnyKeyPattern(output)) {
208
- this._logService.trace(
209
- "OutputMonitor: Idle -> generic \"press any key\" detected, requesting free-form input"
210
- );
208
+ this._logService.trace("OutputMonitor: Idle -> generic \"press any key\" detected");
209
+ if (this._isAutopilotMode()) {
210
+ this._logService.trace("OutputMonitor: Autopilot mode -> auto-replying to \"press any key\"");
211
+ await this._execution.instance.sendText("", true);
212
+ return {
213
+ shouldContinuePollling: true
214
+ };
215
+ }
216
+ this._logService.trace("OutputMonitor: Requesting free-form input for \"press any key\"");
211
217
  const currentMarker = this._execution.instance.registerMarker();
212
218
  if (currentMarker) {
213
219
  this._lastPromptMarker = currentMarker;
@@ -268,7 +274,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
268
274
  shouldContinuePollling: true
269
275
  };
270
276
  }
271
- const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts);
277
+ const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
272
278
  if (autoReply && !this._isSensitivePrompt(confirmationPrompt.prompt)) {
273
279
  const explicitInput = confirmationPrompt.suggestedInput ?? this._extractExplicitInputFromPrompt(confirmationPrompt.prompt);
274
280
  const normalizedInput = this._normalizeAutoReplyInput(explicitInput);
@@ -442,7 +448,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
442
448
  if (!model) {
443
449
  return "No models available";
444
450
  }
445
- const response = await this._languageModelsService.sendChatRequest(model, ( new ExtensionIdentifier("core")), [{
451
+ const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
446
452
  role: ChatMessageRole.User,
447
453
  content: [{
448
454
  type: "text",
@@ -513,7 +519,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
513
519
  Now, analyze this output:
514
520
  ${lastLines}
515
521
  `;
516
- const response = await this._languageModelsService.sendChatRequest(model, ( new ExtensionIdentifier("core")), [{
522
+ const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
517
523
  role: ChatMessageRole.User,
518
524
  content: [{
519
525
  type: "text",
@@ -572,6 +578,18 @@ let OutputMonitor = class OutputMonitor extends Disposable {
572
578
  _isSensitivePrompt(prompt) {
573
579
  return /(password|passphrase|token|api\s*key|secret)/i.test(prompt);
574
580
  }
581
+ _isAutopilotMode() {
582
+ if (!this._sessionResource) {
583
+ return false;
584
+ }
585
+ const widget = this._chatWidgetService.getWidgetBySessionResource(this._sessionResource) ?? this._chatWidgetService.lastFocusedWidget;
586
+ if (widget?.input.currentModeInfo.permissionLevel === ChatPermissionLevel.Autopilot) {
587
+ return true;
588
+ }
589
+ const model = this._chatService.getSession(this._sessionResource);
590
+ const request = model?.getRequests().at(-1);
591
+ return request?.modeInfo?.permissionLevel === ChatPermissionLevel.Autopilot;
592
+ }
575
593
  _normalizeAutoReplyInput(input) {
576
594
  if (!input) {
577
595
  return undefined;
@@ -605,7 +623,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
605
623
  if (!confirmationPrompt?.options.length) {
606
624
  return undefined;
607
625
  }
608
- const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts);
626
+ const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
609
627
  let model = this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)[0]?.input.currentLanguageModel;
610
628
  if (model) {
611
629
  const models = await this._languageModelsService.selectLanguageModels({
@@ -629,7 +647,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
629
647
  if (model) {
630
648
  try {
631
649
  const promptText = `Given the following confirmation prompt and options from a terminal output, which option is the default?\nPrompt: "${prompt}"\nOptions: ${JSON.stringify(options)}\nRespond with only the option string.`;
632
- const response = await this._languageModelsService.sendChatRequest(model, ( new ExtensionIdentifier("core")), [{
650
+ const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
633
651
  role: ChatMessageRole.User,
634
652
  content: [{
635
653
  type: "text",
@@ -696,11 +714,11 @@ let OutputMonitor = class OutputMonitor extends Disposable {
696
714
  const {
697
715
  promise: userPrompt,
698
716
  part
699
- } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13383, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
700
- 13384,
717
+ } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13580, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
718
+ 13581,
701
719
  "{0}\nPlease provide the required input to the terminal.\n\n",
702
720
  confirmationPrompt.prompt
703
- )))), "", ( localize(13385, "Focus terminal")), undefined, () => {
721
+ )))), "", ( localize(13582, "Focus terminal")), undefined, () => {
704
722
  this._showInstance(execution.instance.instanceId);
705
723
  return focusTerminalSelection;
706
724
  });
@@ -753,13 +771,13 @@ let OutputMonitor = class OutputMonitor extends Disposable {
753
771
  const {
754
772
  promise: userPrompt,
755
773
  part
756
- } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13386, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
757
- 13387,
774
+ } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13583, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
775
+ 13584,
758
776
  "{0}\n Do you want to send `{1}`{2} followed by `Enter` to the terminal?",
759
777
  confirmationPrompt.prompt,
760
778
  suggestedOptionValue,
761
779
  isString(suggestedOption) ? "" : suggestedOption.description ? " (" + suggestedOption.description + ")" : ""
762
- )))), "", ( localize(13388, "Allow")), ( localize(13389, "Focus Terminal")), async value => {
780
+ )))), "", ( localize(13585, "Allow")), ( localize(13586, "Focus Terminal")), async value => {
763
781
  let option = undefined;
764
782
  if (value === true) {
765
783
  option = suggestedOptionValue;
@@ -983,8 +1001,8 @@ function detectsNonInteractiveHelpPattern(cursorLine) {
983
1001
  ].some(e => e.test(cursorLine)));
984
1002
  }
985
1003
  const taskFinishMessages = [(
986
- localize(13390, "Terminal will be reused by tasks, press any key to close it.")), ( localize(13391, "Terminal will be reused by tasks, press any key to close it.")), (
987
- localize(13392, "Press any key to close the terminal.")), ( localize(13393, "Press any key to close the terminal."))];
1004
+ localize(13587, "Terminal will be reused by tasks, press any key to close it.")), ( localize(13588, "Terminal will be reused by tasks, press any key to close it.")), (
1005
+ localize(13589, "Press any key to close the terminal.")), ( localize(13590, "Press any key to close the terminal."))];
988
1006
  function detectsVSCodeTaskFinishMessage(cursorLine) {
989
1007
  const normalized = cursorLine.replace(/\s/g, "").toLowerCase();
990
1008
  return (taskFinishMessages.some(msg => normalized.includes(msg.replace(/\s/g, "").toLowerCase())));
@@ -7,7 +7,7 @@ import { TerminalToolId } from './toolIds.js';
7
7
 
8
8
  const ConfirmTerminalCommandToolData = {
9
9
  id: TerminalToolId.ConfirmTerminalCommand,
10
- displayName: ( localize(13394, "Confirm Terminal Command")),
10
+ displayName: ( localize(13591, "Confirm Terminal Command")),
11
11
  modelDescription: [
12
12
  "This tool allows you to get explicit user confirmation for a terminal command without executing it.",
13
13
  "",
@@ -25,7 +25,7 @@ const ConfirmTerminalCommandToolData = {
25
25
  "",
26
26
  "After confirmation, use a tool to actually execute the command."
27
27
  ].join("\n"),
28
- userDescription: ( localize(13395, "Tool for confirming terminal commands")),
28
+ userDescription: ( localize(13592, "Tool for confirming terminal commands")),
29
29
  source: ToolDataSource.Internal,
30
30
  icon: Codicon.shield,
31
31
  inputSchema: {
@@ -86,6 +86,12 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
86
86
  static removeExecution(id: string): boolean;
87
87
  constructor(_chatService: IChatService, _configurationService: IConfigurationService, _historyService: IHistoryService, _instantiationService: IInstantiationService, _labelService: ILabelService, _languageModelToolsService: ILanguageModelToolsService, _remoteAgentService: IRemoteAgentService, _storageService: IStorageService, _terminalChatService: ITerminalChatService, _logService: ITerminalLogService, _terminalService: ITerminalService, _workspaceContextService: IWorkspaceContextService, _chatWidgetService: IChatWidgetService);
88
88
  prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
89
+ /**
90
+ * Returns true if the chat session's permission level (Autopilot/Bypass Approvals)
91
+ * auto-approves all tool calls, unless enterprise policy restricts it.
92
+ * Checks both the request-stamped level and the live picker level.
93
+ */
94
+ private _isSessionAutoApproveLevel;
89
95
  invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
90
96
  private _handleTerminalVisibility;
91
97
  /**