@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
@@ -57,7 +57,7 @@ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs
57
57
  import { IHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/history/common/history.service';
58
58
  import { TerminalCommandArtifactCollector } from './terminalCommandArtifactCollector.js';
59
59
  import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
60
- import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
60
+ import { ChatConfiguration, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
61
61
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
62
62
  import { TerminalChatCommandId } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
63
63
  import { clamp } from '@codingame/monaco-vscode-api/vscode/vs/base/common/numbers';
@@ -194,9 +194,9 @@ async function createRunInTerminalToolData(accessor) {
194
194
  id: TerminalToolId.RunInTerminal,
195
195
  toolReferenceName: TOOL_REFERENCE_NAME,
196
196
  legacyToolReferenceFullNames: LEGACY_TOOL_REFERENCE_FULL_NAMES,
197
- displayName: ( localize(13396, "Run in Terminal")),
197
+ displayName: ( localize(13593, "Run in Terminal")),
198
198
  modelDescription,
199
- userDescription: ( localize(13397, "Run commands in the terminal")),
199
+ userDescription: ( localize(13594, "Run commands in the terminal")),
200
200
  source: ToolDataSource.Internal,
201
201
  icon: Codicon.terminal,
202
202
  inputSchema: {
@@ -234,7 +234,7 @@ var TerminalToolStorageKeysInternal;
234
234
  const telemetryIgnoredSequences = [
235
235
  "\u001b[I",
236
236
  "\u001b[O"];
237
- const altBufferMessage = "\n" + ( localize(13398, "The command opened the alternate buffer."));
237
+ const altBufferMessage = "\n" + ( localize(13595, "The command opened the alternate buffer."));
238
238
  let RunInTerminalTool = class RunInTerminalTool extends Disposable {
239
239
  static {
240
240
  RunInTerminalTool_1 = this;
@@ -494,16 +494,16 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
494
494
  cdPrefix
495
495
  };
496
496
  confirmationTitle = args.isBackground ? ( localize(
497
- 13399,
497
+ 13596,
498
498
  "Run `{0}` command in background within `{1}`?",
499
499
  shellType,
500
500
  directoryLabel
501
- )) : ( localize(13400, "Run `{0}` command within `{1}`?", shellType, directoryLabel));
501
+ )) : ( localize(13597, "Run `{0}` command within `{1}`?", shellType, directoryLabel));
502
502
  } else {
503
503
  toolSpecificData.confirmation = {
504
504
  commandLine: commandToDisplay
505
505
  };
506
- confirmationTitle = args.isBackground ? ( localize(13401, "Run `{0}` command in background?", shellType)) : ( localize(13402, "Run `{0}` command?", shellType));
506
+ confirmationTitle = args.isBackground ? ( localize(13598, "Run `{0}` command in background?", shellType)) : ( localize(13599, "Run `{0}` command?", shellType));
507
507
  }
508
508
  const commandForPresenter = extractedCd?.command ?? commandToDisplay;
509
509
  let presenterInput = commandForPresenter;
@@ -523,13 +523,13 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
523
523
  };
524
524
  if (extractedCd && toolSpecificData.confirmation?.cwdLabel) {
525
525
  confirmationTitle = args.isBackground ? ( localize(
526
- 13403,
526
+ 13600,
527
527
  "Run `{0}` command in `{1}` in background within `{2}`?",
528
528
  presenterResult.languageDisplayName,
529
529
  shellType,
530
530
  toolSpecificData.confirmation.cwdLabel
531
531
  )) : ( localize(
532
- 13404,
532
+ 13601,
533
533
  "Run `{0}` command in `{1}` within `{2}`?",
534
534
  presenterResult.languageDisplayName,
535
535
  shellType,
@@ -537,12 +537,12 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
537
537
  ));
538
538
  } else {
539
539
  confirmationTitle = args.isBackground ? ( localize(
540
- 13405,
540
+ 13602,
541
541
  "Run `{0}` command in `{1}` in background?",
542
542
  presenterResult.languageDisplayName,
543
543
  shellType
544
544
  )) : ( localize(
545
- 13406,
545
+ 13603,
546
546
  "Run `{0}` command in `{1}`?",
547
547
  presenterResult.languageDisplayName,
548
548
  shellType
@@ -554,10 +554,11 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
554
554
  presenterInput = presenterResult.commandLine;
555
555
  }
556
556
  }
557
- const shouldShowConfirmation = !isFinalAutoApproved || context.forceConfirmationReason !== undefined;
557
+ const isSessionAutoApproved = chatSessionResource && this._isSessionAutoApproveLevel(chatSessionResource);
558
+ const shouldShowConfirmation = (!isFinalAutoApproved && !isSessionAutoApproved) || context.forceConfirmationReason !== undefined;
558
559
  const confirmationMessages = shouldShowConfirmation ? {
559
560
  title: confirmationTitle,
560
- message: ( new MarkdownString(( localize(13407, "Explanation: {0}\n\nGoal: {1}", args.explanation, args.goal)))),
561
+ message: ( new MarkdownString(( localize(13604, "Explanation: {0}\n\nGoal: {1}", args.explanation, args.goal)))),
561
562
  disclaimer,
562
563
  terminalCustomActions: customActions
563
564
  } : undefined;
@@ -566,6 +567,19 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
566
567
  toolSpecificData
567
568
  };
568
569
  }
570
+ _isSessionAutoApproveLevel(chatSessionResource) {
571
+ const inspected = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
572
+ if (inspected.policyValue === false) {
573
+ return false;
574
+ }
575
+ const widget = this._chatWidgetService.getWidgetBySessionResource(chatSessionResource) ?? this._chatWidgetService.lastFocusedWidget;
576
+ if (widget && isAutoApproveLevel(widget.input.currentModeInfo.permissionLevel)) {
577
+ return true;
578
+ }
579
+ const model = this._chatService.getSession(chatSessionResource);
580
+ const request = model?.getRequests().at(-1);
581
+ return isAutoApproveLevel(request?.modeInfo?.permissionLevel);
582
+ }
569
583
  async invoke(invocation, _countTokens, _progress, token) {
570
584
  const toolSpecificData = invocation.toolSpecificData;
571
585
  if (!toolSpecificData) {
@@ -18,7 +18,7 @@ let SandboxOutputAnalyzer = class SandboxOutputAnalyzer extends Disposable {
18
18
  return undefined;
19
19
  }
20
20
  return localize(
21
- 13408,
21
+ 13605,
22
22
  "Command failed while running in sandboxed mode. Use the command result to determine the scenario. If the issue is filesystem permissions, update allowWrite in {0} (Linux) or {1} (macOS). If the issue is domain/network related, add the required domains to {2}.allowedDomains.",
23
23
  TerminalChatAgentToolsSettingId.TerminalSandboxLinuxFileSystem,
24
24
  TerminalChatAgentToolsSettingId.TerminalSandboxMacFileSystem,
@@ -79,7 +79,7 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
79
79
  });
80
80
  }
81
81
  _progress.report({
82
- message: ( new MarkdownString(( localize(13409, "Resolving the task"))))
82
+ message: ( new MarkdownString(( localize(13606, "Resolving the task"))))
83
83
  });
84
84
  let task;
85
85
  const start = Date.now();
@@ -96,11 +96,11 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
96
96
  kind: "text",
97
97
  value: `Task not found: ${args.task.label}`
98
98
  }],
99
- toolResultMessage: ( new MarkdownString(( localize(13410, "Task not found: `{0}`", args.task.label))))
99
+ toolResultMessage: ( new MarkdownString(( localize(13607, "Task not found: `{0}`", args.task.label))))
100
100
  };
101
101
  }
102
102
  _progress.report({
103
- message: ( new MarkdownString(( localize(13411, "Running task `{0}`", args.task.label))))
103
+ message: ( new MarkdownString(( localize(13608, "Running task `{0}`", args.task.label))))
104
104
  });
105
105
  const raceResult = await Promise.race([
106
106
  this._tasksService.run(task, undefined, TaskRunSource.ChatAgent),
@@ -119,7 +119,7 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
119
119
  value: `Task started but no terminal was found for: ${args.task.label}`
120
120
  }],
121
121
  toolResultMessage: ( new MarkdownString(( localize(
122
- 13412,
122
+ 13609,
123
123
  "Task started but no terminal was found for: `{0}`",
124
124
  args.task.label
125
125
  ))))
@@ -182,26 +182,26 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
182
182
  const allTasks = await this._tasksService.tasks();
183
183
  if (allTasks?.find(t => t._label === task.label)) {
184
184
  return {
185
- invocationMessage: ( new MarkdownString(( localize(13413, "Task `{0}` already exists.", task.label)))),
186
- pastTenseMessage: ( new MarkdownString(( localize(13414, "Task `{0}` already exists.", task.label)))),
185
+ invocationMessage: ( new MarkdownString(( localize(13610, "Task `{0}` already exists.", task.label)))),
186
+ pastTenseMessage: ( new MarkdownString(( localize(13611, "Task `{0}` already exists.", task.label)))),
187
187
  confirmationMessages: undefined
188
188
  };
189
189
  }
190
190
  const activeTasks = await this._tasksService.getActiveTasks();
191
191
  if (activeTasks.find(t => t._label === task.label)) {
192
192
  return {
193
- invocationMessage: ( new MarkdownString(( localize(13415, "Task `{0}` is already running.", task.label)))),
194
- pastTenseMessage: ( new MarkdownString(( localize(13415, "Task `{0}` is already running.", task.label)))),
193
+ invocationMessage: ( new MarkdownString(( localize(13612, "Task `{0}` is already running.", task.label)))),
194
+ pastTenseMessage: ( new MarkdownString(( localize(13612, "Task `{0}` is already running.", task.label)))),
195
195
  confirmationMessages: undefined
196
196
  };
197
197
  }
198
198
  return {
199
- invocationMessage: ( new MarkdownString(( localize(13416, "Created task `{0}`", task.label)))),
200
- pastTenseMessage: ( new MarkdownString(( localize(13417, "Created task `{0}`", task.label)))),
199
+ invocationMessage: ( new MarkdownString(( localize(13613, "Created task `{0}`", task.label)))),
200
+ pastTenseMessage: ( new MarkdownString(( localize(13614, "Created task `{0}`", task.label)))),
201
201
  confirmationMessages: {
202
- title: ( localize(13418, "Allow task creation and execution?")),
202
+ title: ( localize(13615, "Allow task creation and execution?")),
203
203
  message: ( new MarkdownString(( localize(
204
- 13419,
204
+ 13616,
205
205
  "A task `{0}` with command `{1}`{2} will be created.",
206
206
  task.label,
207
207
  task.command,
@@ -216,9 +216,9 @@ const CreateAndRunTaskToolData = {
216
216
  id: TerminalToolId.CreateAndRunTask,
217
217
  toolReferenceName: "createAndRunTask",
218
218
  legacyToolReferenceFullNames: ["runTasks/createAndRunTask"],
219
- displayName: ( localize(13420, "Create and run Task")),
219
+ displayName: ( localize(13617, "Create and run Task")),
220
220
  modelDescription: "Creates and runs a build, run, or custom task for the workspace by generating or adding to a tasks.json file based on the project structure (such as package.json or README.md). If the user asks to build, run, launch and they have no tasks.json file, use this tool. If they ask to create or add a task, use this tool.",
221
- userDescription: ( localize(13421, "Create and run a task in the workspace")),
221
+ userDescription: ( localize(13618, "Create and run a task in the workspace")),
222
222
  source: ToolDataSource.Internal,
223
223
  inputSchema: {
224
224
  "type": "object",
@@ -18,7 +18,7 @@ const GetTaskOutputToolData = {
18
18
  id: TerminalToolId.GetTaskOutput,
19
19
  toolReferenceName: "getTaskOutput",
20
20
  legacyToolReferenceFullNames: ["runTasks/getTaskOutput"],
21
- displayName: ( localize(13422, "Get Task Output")),
21
+ displayName: ( localize(13619, "Get Task Output")),
22
22
  modelDescription: "Get the output of a task",
23
23
  source: ToolDataSource.Internal,
24
24
  when: TasksAvailableContext,
@@ -65,19 +65,19 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
65
65
  );
66
66
  if (!task) {
67
67
  return {
68
- invocationMessage: ( new MarkdownString(( localize(13423, "Task not found: `{0}`", args.id))))
68
+ invocationMessage: ( new MarkdownString(( localize(13620, "Task not found: `{0}`", args.id))))
69
69
  };
70
70
  }
71
71
  const taskLabel = task._label;
72
72
  const activeTasks = await this._tasksService.getActiveTasks();
73
73
  if (activeTasks.includes(task)) {
74
74
  return {
75
- invocationMessage: ( new MarkdownString(( localize(13424, "The task `{0}` is already running.", taskLabel))))
75
+ invocationMessage: ( new MarkdownString(( localize(13621, "The task `{0}` is already running.", taskLabel))))
76
76
  };
77
77
  }
78
78
  return {
79
- invocationMessage: ( new MarkdownString(( localize(13425, "Checking output for task `{0}`", taskLabel)))),
80
- pastTenseMessage: ( new MarkdownString(( localize(13426, "Checked output for task `{0}`", taskLabel))))
79
+ invocationMessage: ( new MarkdownString(( localize(13622, "Checking output for task `{0}`", taskLabel)))),
80
+ pastTenseMessage: ( new MarkdownString(( localize(13623, "Checked output for task `{0}`", taskLabel))))
81
81
  };
82
82
  }
83
83
  async invoke(invocation, _countTokens, _progress, token) {
@@ -97,7 +97,7 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
97
97
  kind: "text",
98
98
  value: `Task not found: ${args.id}`
99
99
  }],
100
- toolResultMessage: ( new MarkdownString(( localize(13423, "Task not found: `{0}`", args.id))))
100
+ toolResultMessage: ( new MarkdownString(( localize(13620, "Task not found: `{0}`", args.id))))
101
101
  };
102
102
  }
103
103
  const dependencyTasks = await resolveDependencyTasks(task, args.workspaceFolder, this._configurationService, this._tasksService);
@@ -112,7 +112,7 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
112
112
  kind: "text",
113
113
  value: `Terminal not found for task ${taskLabel}`
114
114
  }],
115
- toolResultMessage: ( new MarkdownString(( localize(13427, "Terminal not found for task `{0}`", taskLabel))))
115
+ toolResultMessage: ( new MarkdownString(( localize(13624, "Terminal not found for task `{0}`", taskLabel))))
116
116
  };
117
117
  }
118
118
  const store = ( new DisposableStore());
@@ -57,7 +57,7 @@ let RunTaskTool = class RunTaskTool {
57
57
  kind: "text",
58
58
  value: `Task not found: ${args.id}`
59
59
  }],
60
- toolResultMessage: ( new MarkdownString(( localize(13428, "Task not found: `{0}`", args.id))))
60
+ toolResultMessage: ( new MarkdownString(( localize(13625, "Task not found: `{0}`", args.id))))
61
61
  };
62
62
  }
63
63
  const taskLabel = task._label;
@@ -68,7 +68,7 @@ let RunTaskTool = class RunTaskTool {
68
68
  kind: "text",
69
69
  value: `The task ${taskLabel} is already running.`
70
70
  }],
71
- toolResultMessage: ( new MarkdownString(( localize(13429, "The task `{0}` is already running.", taskLabel))))
71
+ toolResultMessage: ( new MarkdownString(( localize(13626, "The task `{0}` is already running.", taskLabel))))
72
72
  };
73
73
  }
74
74
  const raceResult = await Promise.race([
@@ -84,7 +84,7 @@ let RunTaskTool = class RunTaskTool {
84
84
  kind: "text",
85
85
  value: `Task started but no terminal was found for: ${taskLabel}`
86
86
  }],
87
- toolResultMessage: ( new MarkdownString(( localize(13430, "Task started but no terminal was found for: `{0}`", taskLabel))))
87
+ toolResultMessage: ( new MarkdownString(( localize(13627, "Task started but no terminal was found for: `{0}`", taskLabel))))
88
88
  };
89
89
  }
90
90
  const terminals = this._terminalService.instances.filter(t => ( resources.some(r => r.path === t.resource.path && r.scheme === t.resource.scheme)));
@@ -94,7 +94,7 @@ let RunTaskTool = class RunTaskTool {
94
94
  kind: "text",
95
95
  value: `Task started but no terminal was found for: ${taskLabel}`
96
96
  }],
97
- toolResultMessage: ( new MarkdownString(( localize(13430, "Task started but no terminal was found for: `{0}`", taskLabel))))
97
+ toolResultMessage: ( new MarkdownString(( localize(13627, "Task started but no terminal was found for: `{0}`", taskLabel))))
98
98
  };
99
99
  }
100
100
  const store = ( new DisposableStore());
@@ -161,29 +161,29 @@ let RunTaskTool = class RunTaskTool {
161
161
  );
162
162
  if (!task) {
163
163
  return {
164
- invocationMessage: ( new MarkdownString(( localize(13428, "Task not found: `{0}`", args.id))))
164
+ invocationMessage: ( new MarkdownString(( localize(13625, "Task not found: `{0}`", args.id))))
165
165
  };
166
166
  }
167
167
  const taskLabel = task._label;
168
168
  const activeTasks = await this._tasksService.getActiveTasks();
169
169
  if (task && activeTasks.includes(task)) {
170
170
  return {
171
- invocationMessage: ( new MarkdownString(( localize(13431, "The task is already running."))))
171
+ invocationMessage: ( new MarkdownString(( localize(13628, "The task is already running."))))
172
172
  };
173
173
  }
174
174
  if (await this._isTaskActive(task)) {
175
175
  return {
176
- invocationMessage: ( new MarkdownString(( localize(13432, "`{0}` is already running.", taskLabel)))),
177
- pastTenseMessage: ( new MarkdownString(( localize(13433, "`{0}` was already running.", taskLabel)))),
176
+ invocationMessage: ( new MarkdownString(( localize(13629, "`{0}` is already running.", taskLabel)))),
177
+ pastTenseMessage: ( new MarkdownString(( localize(13630, "`{0}` was already running.", taskLabel)))),
178
178
  confirmationMessages: undefined
179
179
  };
180
180
  }
181
181
  return {
182
- invocationMessage: ( new MarkdownString(( localize(13434, "Running `{0}`", taskLabel)))),
183
- pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(13435, "Started `{0}`", taskLabel)) : ( localize(13436, "Ran `{0}`", taskLabel)))),
182
+ invocationMessage: ( new MarkdownString(( localize(13631, "Running `{0}`", taskLabel)))),
183
+ pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(13632, "Started `{0}`", taskLabel)) : ( localize(13633, "Ran `{0}`", taskLabel)))),
184
184
  confirmationMessages: task ? {
185
- title: ( localize(13437, "Allow task run?")),
186
- message: ( localize(13438, "Allow to run the task `{0}`?", taskLabel))
185
+ title: ( localize(13634, "Allow task run?")),
186
+ message: ( localize(13635, "Allow to run the task `{0}`?", taskLabel))
187
187
  } : undefined
188
188
  };
189
189
  }
@@ -193,9 +193,9 @@ const RunTaskToolData = {
193
193
  id: TerminalToolId.RunTask,
194
194
  toolReferenceName: "runTask",
195
195
  legacyToolReferenceFullNames: ["runTasks/runTask"],
196
- displayName: ( localize(13439, "Run Task")),
196
+ displayName: ( localize(13636, "Run Task")),
197
197
  modelDescription: `Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`,
198
- userDescription: ( localize(13440, "Run tasks in the workspace")),
198
+ userDescription: ( localize(13637, "Run tasks in the workspace")),
199
199
  icon: Codicon.tools,
200
200
  source: ToolDataSource.Internal,
201
201
  when: TasksAvailableContext,
@@ -26,7 +26,7 @@ function toolResultMessageFromResponse(
26
26
  ) {
27
27
  let resultSummary = "";
28
28
  if (result?.exitCode) {
29
- resultSummary = ( localize(13441, "Task `{0}` failed with exit code {1}.", taskLabel, result.exitCode));
29
+ resultSummary = ( localize(13638, "Task `{0}` failed with exit code {1}.", taskLabel, result.exitCode));
30
30
  } else {
31
31
  resultSummary += `\`${taskLabel}\` task `;
32
32
  const problemCount = toolResultDetails.length;
@@ -27,6 +27,7 @@ export declare class TerminalSandboxService extends Disposable implements ITermi
27
27
  private _remoteEnvDetails;
28
28
  private _appRoot;
29
29
  private _os;
30
+ private _defaultWritePaths;
30
31
  constructor(_configurationService: IConfigurationService, _fileService: IFileService, _environmentService: IEnvironmentService, _logService: ILogService, _remoteAgentService: IRemoteAgentService, _trustedDomainService: ITrustedDomainService);
31
32
  isEnabled(): Promise<boolean>;
32
33
  wrapCommand(command: string): string;
@@ -36,6 +36,7 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
36
36
  this._needsForceUpdateConfigFile = true;
37
37
  this._remoteEnvDetails = null;
38
38
  this._os = OS;
39
+ this._defaultWritePaths = ["~/.npm"];
39
40
  this._pathJoin = (...segments) => {
40
41
  const path = this._os === OperatingSystem.Windows ? win32 : posix;
41
42
  return path.join(...segments);
@@ -129,6 +130,9 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
129
130
  const linuxFileSystemSetting = this._os === OperatingSystem.Linux ? this._configurationService.getValue(TerminalChatAgentToolsSettingId.TerminalSandboxLinuxFileSystem) ?? {} : {};
130
131
  const macFileSystemSetting = this._os === OperatingSystem.Macintosh ? this._configurationService.getValue(TerminalChatAgentToolsSettingId.TerminalSandboxMacFileSystem) ?? {} : {};
131
132
  const configFileUri = URI.joinPath(this._tempDir, `vscode-sandbox-settings-${this._sandboxSettingsId}.json`);
133
+ const defaultAllowWrite = [...this._defaultWritePaths];
134
+ const linuxAllowWrite = [...( new Set([...(linuxFileSystemSetting.allowWrite ?? []), ...defaultAllowWrite]))];
135
+ const macAllowWrite = [...( new Set([...(macFileSystemSetting.allowWrite ?? []), ...defaultAllowWrite]))];
132
136
  let allowedDomains = networkSetting.allowedDomains ?? [];
133
137
  if (networkSetting.allowTrustedDomains) {
134
138
  allowedDomains = this._addTrustedDomainsToAllowedDomains(allowedDomains);
@@ -140,7 +144,7 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
140
144
  },
141
145
  filesystem: {
142
146
  denyRead: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyRead : linuxFileSystemSetting.denyRead,
143
- allowWrite: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.allowWrite : linuxFileSystemSetting.allowWrite,
147
+ allowWrite: this._os === OperatingSystem.Macintosh ? macAllowWrite : linuxAllowWrite,
144
148
  denyWrite: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyWrite : linuxFileSystemSetting.denyWrite
145
149
  }
146
150
  };
@@ -166,6 +170,9 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
166
170
  const environmentService = this._environmentService;
167
171
  this._tempDir = environmentService.tmpDir;
168
172
  }
173
+ if (this._tempDir) {
174
+ this._defaultWritePaths.push(this._tempDir.path);
175
+ }
169
176
  if (!this._tempDir) {
170
177
  this._logService.warn(
171
178
  "TerminalSandboxService: Cannot create sandbox settings file because no tmpDir is available in this environment"
@@ -1,12 +0,0 @@
1
- import { IDynamicVariable } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables";
2
- import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables.service";
3
- import { IToolAndToolSetEnablementMap } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
4
- import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
5
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
- export declare class ChatVariablesService implements IChatVariablesService {
7
- private readonly chatWidgetService;
8
- _serviceBrand: undefined;
9
- constructor(chatWidgetService: IChatWidgetService);
10
- getDynamicVariables(sessionResource: URI): ReadonlyArray<IDynamicVariable>;
11
- getSelectedToolAndToolSets(sessionResource: URI): IToolAndToolSetEnablementMap;
12
- }
@@ -1,67 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
4
- import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
5
- import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
6
-
7
- let ChatVariablesService = class ChatVariablesService {
8
- constructor(chatWidgetService) {
9
- this.chatWidgetService = chatWidgetService;
10
- }
11
- getDynamicVariables(sessionResource) {
12
- const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
13
- if (!widget || !widget.viewModel || !widget.supportsFileReferences) {
14
- return [];
15
- }
16
- const model = widget.getContrib(ChatDynamicVariableModel.ID);
17
- if (!model) {
18
- return [];
19
- }
20
- if (widget.viewModel.editing && model.variables.length > 0) {
21
- return model.variables;
22
- }
23
- if (widget.input.attachmentModel.attachments.length > 0 && widget.viewModel.editing) {
24
- const references = [];
25
- const editorModel = widget.inputEditor.getModel();
26
- const modelTextLength = editorModel?.getValueLength() ?? 0;
27
- for (const attachment of widget.input.attachmentModel.attachments) {
28
- if (attachment.range) {
29
- if (attachment.range.start >= attachment.range.endExclusive) {
30
- continue;
31
- }
32
- if (attachment.range.start < 0 || attachment.range.endExclusive > modelTextLength) {
33
- continue;
34
- }
35
- if (!editorModel) {
36
- continue;
37
- }
38
- const startPos = editorModel.getPositionAt(attachment.range.start);
39
- const endPos = editorModel.getPositionAt(attachment.range.endExclusive);
40
- const referenceObj = {
41
- id: attachment.id,
42
- fullName: attachment.name,
43
- modelDescription: attachment.modelDescription,
44
- range: ( new Range(startPos.lineNumber, startPos.column, endPos.lineNumber, endPos.column)),
45
- icon: attachment.icon,
46
- isFile: attachment.kind === "file",
47
- isDirectory: attachment.kind === "directory",
48
- data: attachment.value
49
- };
50
- references.push(referenceObj);
51
- }
52
- }
53
- return references.length > 0 ? references : model.variables;
54
- }
55
- return model.variables;
56
- }
57
- getSelectedToolAndToolSets(sessionResource) {
58
- const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
59
- if (!widget) {
60
- return ( new Map());
61
- }
62
- return widget.input.selectedToolsModel.entriesMap.get();
63
- }
64
- };
65
- ChatVariablesService = ( __decorate([( __param(0, IChatWidgetService))], ChatVariablesService));
66
-
67
- export { ChatVariablesService };