@codingame/monaco-vscode-chat-service-override 26.2.2 → 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.
- package/index.js +35 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
|
@@ -38,13 +38,14 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
|
|
|
38
38
|
import { toToolSetVariableEntry, toToolVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
39
39
|
import { ToolConfirmKind, IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
40
40
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
41
|
-
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
42
|
-
import { ChatToolInvocation } from '
|
|
41
|
+
import { ChatConfiguration, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
42
|
+
import { ChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation';
|
|
43
43
|
import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
44
|
-
import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/
|
|
44
|
+
import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
|
|
45
45
|
import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
|
|
46
46
|
import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, isToolSet, createToolSchemaUri, toolMatchesModel, ToolInvocationPresentation, stringifyPromptTsxPart, ToolSetForModel, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
47
47
|
import { getToolConfirmationAlert } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider';
|
|
48
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
48
49
|
import { ObservableSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/set';
|
|
49
50
|
import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
50
51
|
import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
@@ -58,9 +59,10 @@ var AutoApproveStorageKeys;
|
|
|
58
59
|
AutoApproveStorageKeys["GlobalAutoApproveOptIn"] = "chat.tools.global.autoApprove.optIn";
|
|
59
60
|
})(AutoApproveStorageKeys || (AutoApproveStorageKeys = {}));
|
|
60
61
|
const SkipAutoApproveConfirmationKey = "vscode.chat.tools.global.autoApprove.testMode";
|
|
62
|
+
const toolIdThatCannotBeAutoApproved = "vscode_get_confirmation_with_options";
|
|
61
63
|
const globalAutoApproveDescription = ( localize2(
|
|
62
|
-
|
|
63
|
-
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine
|
|
64
|
+
6440,
|
|
65
|
+
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the [`chat.autoReply`](command:workbench.action.openSettings?%5B%22chat.autoReply%22%5D) setting."
|
|
64
66
|
));
|
|
65
67
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
66
68
|
static {
|
|
@@ -79,7 +81,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
79
81
|
_accessibilitySignalService,
|
|
80
82
|
_storageService,
|
|
81
83
|
_confirmationService,
|
|
82
|
-
_commandService
|
|
84
|
+
_commandService,
|
|
85
|
+
_chatWidgetService
|
|
83
86
|
) {
|
|
84
87
|
super();
|
|
85
88
|
this._instantiationService = _instantiationService;
|
|
@@ -95,13 +98,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
95
98
|
this._storageService = _storageService;
|
|
96
99
|
this._confirmationService = _confirmationService;
|
|
97
100
|
this._commandService = _commandService;
|
|
101
|
+
this._chatWidgetService = _chatWidgetService;
|
|
98
102
|
this._onDidChangeTools = this._register(( new Emitter()));
|
|
99
103
|
this.onDidChangeTools = this._onDidChangeTools.event;
|
|
100
104
|
this._onDidPrepareToolCallBecomeUnresponsive = this._register(( new Emitter()));
|
|
101
105
|
this.onDidPrepareToolCallBecomeUnresponsive = this._onDidPrepareToolCallBecomeUnresponsive.event;
|
|
102
106
|
this._onDidInvokeTool = this._register(( new Emitter()));
|
|
103
107
|
this.onDidInvokeTool = this._onDidInvokeTool.event;
|
|
104
|
-
this._onDidChangeToolsScheduler = ( new RunOnceScheduler(() => this._onDidChangeTools.fire(), 750));
|
|
108
|
+
this._onDidChangeToolsScheduler = this._register(( new RunOnceScheduler(() => this._onDidChangeTools.fire(), 750)));
|
|
105
109
|
this._tools = ( new Map());
|
|
106
110
|
this._toolContextKeys = ( new Set());
|
|
107
111
|
this._callsByRequestId = ( new Map());
|
|
@@ -160,25 +164,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
160
164
|
this.vscodeToolSet = this._register(
|
|
161
165
|
this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
|
|
162
166
|
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
163
|
-
description: ( localize(
|
|
167
|
+
description: ( localize(6441, "Use VS Code features"))
|
|
164
168
|
})
|
|
165
169
|
);
|
|
166
170
|
this.executeToolSet = this._register(
|
|
167
171
|
this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
|
|
168
172
|
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
169
|
-
description: ( localize(
|
|
173
|
+
description: ( localize(6442, "Execute code and applications on your machine"))
|
|
170
174
|
})
|
|
171
175
|
);
|
|
172
176
|
this.readToolSet = this._register(
|
|
173
177
|
this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
|
|
174
178
|
icon: ThemeIcon.fromId(Codicon.book.id),
|
|
175
|
-
description: ( localize(
|
|
179
|
+
description: ( localize(6443, "Read files in your workspace"))
|
|
176
180
|
})
|
|
177
181
|
);
|
|
178
182
|
this.agentToolSet = this._register(
|
|
179
183
|
this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
|
|
180
184
|
icon: ThemeIcon.fromId(Codicon.agent.id),
|
|
181
|
-
description: ( localize(
|
|
185
|
+
description: ( localize(6444, "Delegate tasks to other agents"))
|
|
182
186
|
})
|
|
183
187
|
);
|
|
184
188
|
}
|
|
@@ -187,6 +191,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
187
191
|
if (agentModeEnabled !== false) {
|
|
188
192
|
return true;
|
|
189
193
|
}
|
|
194
|
+
if (!isToolSet(toolOrToolSet) && toolOrToolSet.canBeReferencedInPrompt === false && toolOrToolSet.source.type === "internal") {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
190
197
|
const permittedInternalToolSetIds = [SpecedToolAliases.read, SpecedToolAliases.search, SpecedToolAliases.web];
|
|
191
198
|
if (isToolSet(toolOrToolSet)) {
|
|
192
199
|
const permitted = toolOrToolSet.source.type === "internal" && permittedInternalToolSetIds.includes(toolOrToolSet.referenceName);
|
|
@@ -329,8 +336,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
329
336
|
return undefined;
|
|
330
337
|
}
|
|
331
338
|
_handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
|
|
332
|
-
const hookReason = hookResult.permissionDecisionReason ?? ( localize(
|
|
333
|
-
const reason = ( localize(
|
|
339
|
+
const hookReason = hookResult.permissionDecisionReason ?? ( localize(6445, "Hook denied tool execution"));
|
|
340
|
+
const reason = ( localize(6446, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
|
|
334
341
|
this._logService.debug(
|
|
335
342
|
`[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
|
|
336
343
|
);
|
|
@@ -386,6 +393,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
386
393
|
if (dto.context?.sessionResource) {
|
|
387
394
|
model = this._chatService.getSession(dto.context.sessionResource);
|
|
388
395
|
request = model?.getRequests().at(-1);
|
|
396
|
+
if (request?.response?.isCanceled || request?.response?.isComplete) {
|
|
397
|
+
this._logService.debug(
|
|
398
|
+
`[LanguageModelToolsService#invokeTool] Ignoring tool ${dto.toolId} for cancelled/complete request ${request.id}`
|
|
399
|
+
);
|
|
400
|
+
throw ( new CancellationError());
|
|
401
|
+
}
|
|
389
402
|
}
|
|
390
403
|
let pendingToolCallKey;
|
|
391
404
|
let toolInvocation;
|
|
@@ -515,7 +528,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
515
528
|
dto.toolSpecificData = toolInvocation?.toolSpecificData;
|
|
516
529
|
if (preparedInvocation?.confirmationMessages?.title) {
|
|
517
530
|
if (!IChatToolInvocation.executionConfirmedOrDenied(toolInvocation) && !autoConfirmed) {
|
|
518
|
-
this.playAccessibilitySignal([toolInvocation]);
|
|
531
|
+
this.playAccessibilitySignal([toolInvocation], dto.context?.sessionResource);
|
|
519
532
|
}
|
|
520
533
|
const userConfirmed = await IChatToolInvocation.awaitConfirmation(toolInvocation, token);
|
|
521
534
|
if (userConfirmed.type === ToolConfirmKind.Denied) {
|
|
@@ -530,6 +543,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
530
543
|
};
|
|
531
544
|
return toolResult;
|
|
532
545
|
}
|
|
546
|
+
if (userConfirmed.type === ToolConfirmKind.UserAction && userConfirmed.selectedButton) {
|
|
547
|
+
dto.selectedCustomButton = userConfirmed.selectedButton;
|
|
548
|
+
}
|
|
533
549
|
if (dto.toolSpecificData?.kind === "input") {
|
|
534
550
|
dto.parameters = dto.toolSpecificData.rawInput;
|
|
535
551
|
dto.toolSpecificData = undefined;
|
|
@@ -566,17 +582,15 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
566
582
|
}, token);
|
|
567
583
|
invocationTimeWatch.stop();
|
|
568
584
|
this.ensureToolDetails(dto, toolResult, tool.data);
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
IChatToolInvocation.confirmWith(toolInvocation, autoConfirmedPost);
|
|
579
|
-
}
|
|
585
|
+
const afterExecuteState = await toolInvocation?.didExecuteTool(toolResult, undefined, () => this.shouldAutoConfirmPostExecution(
|
|
586
|
+
tool.data.id,
|
|
587
|
+
tool.data.runsInWorkspace,
|
|
588
|
+
tool.data.source,
|
|
589
|
+
dto.parameters,
|
|
590
|
+
dto.context?.sessionResource,
|
|
591
|
+
dto.chatRequestId
|
|
592
|
+
));
|
|
593
|
+
if (toolInvocation && afterExecuteState?.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
|
|
580
594
|
const postConfirm = await IChatToolInvocation.awaitPostConfirmation(toolInvocation, token);
|
|
581
595
|
if (postConfirm.type === ToolConfirmKind.Denied) {
|
|
582
596
|
throw ( new CancellationError());
|
|
@@ -604,7 +618,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
604
618
|
const result = isCancellationError(err) ? "userCancelled" : "error";
|
|
605
619
|
this._telemetryService.publicLog2("languageModelToolInvoked", {
|
|
606
620
|
result,
|
|
607
|
-
chatSessionId: dto.context?.
|
|
621
|
+
chatSessionId: dto.context?.sessionResource ? chatSessionResourceToId(dto.context.sessionResource) : undefined,
|
|
608
622
|
toolId: tool.data.id,
|
|
609
623
|
toolExtensionId: tool.data.source.type === "extension" ? tool.data.source.extensionId.value : undefined,
|
|
610
624
|
toolSourceKind: tool.data.source.type,
|
|
@@ -642,7 +656,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
642
656
|
async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
|
|
643
657
|
let forceConfirmationReason;
|
|
644
658
|
if (hookResult?.permissionDecision === "ask") {
|
|
645
|
-
const hookMessage = ( localize(
|
|
659
|
+
const hookMessage = ( localize(6447, "{0} required confirmation", HookType.PreToolUse));
|
|
646
660
|
forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
|
|
647
661
|
}
|
|
648
662
|
return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
|
|
@@ -655,7 +669,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
655
669
|
return {
|
|
656
670
|
autoConfirmed: {
|
|
657
671
|
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
658
|
-
reason: ( localize(
|
|
672
|
+
reason: ( localize(6448, "Allowed by hook"))
|
|
659
673
|
},
|
|
660
674
|
preparedInvocation
|
|
661
675
|
};
|
|
@@ -671,14 +685,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
671
685
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
672
686
|
const hookReason = hookResult.permissionDecisionReason;
|
|
673
687
|
const hookNote = hookReason ? ( localize(
|
|
674
|
-
|
|
688
|
+
6449,
|
|
675
689
|
"{0} hook required confirmation: {1}",
|
|
676
690
|
HookType.PreToolUse,
|
|
677
691
|
hookReason
|
|
678
|
-
)) : ( localize(
|
|
692
|
+
)) : ( localize(6450, "{0} hook required confirmation", HookType.PreToolUse));
|
|
679
693
|
preparedInvocation.confirmationMessages = {
|
|
680
694
|
...preparedInvocation.confirmationMessages,
|
|
681
|
-
title: ( localize(
|
|
695
|
+
title: ( localize(6451, "Use the '{0}' tool?", fullReferenceName)),
|
|
682
696
|
message: ( new MarkdownString(`_${hookNote}_`)),
|
|
683
697
|
allowAutoConfirm: false
|
|
684
698
|
};
|
|
@@ -689,11 +703,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
689
703
|
} else {
|
|
690
704
|
const hookReason = hookResult.permissionDecisionReason;
|
|
691
705
|
const hookNote = hookReason ? ( localize(
|
|
692
|
-
|
|
706
|
+
6452,
|
|
693
707
|
"{0} hook required confirmation: {1}",
|
|
694
708
|
HookType.PreToolUse,
|
|
695
709
|
hookReason
|
|
696
|
-
)) : ( localize(
|
|
710
|
+
)) : ( localize(6453, "{0} hook required confirmation", HookType.PreToolUse));
|
|
697
711
|
const existing = preparedInvocation.confirmationMessages;
|
|
698
712
|
if (preparedInvocation.toolSpecificData?.kind === "terminal") {
|
|
699
713
|
const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
|
|
@@ -722,7 +736,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
722
736
|
tool.data.runsInWorkspace,
|
|
723
737
|
tool.data.source,
|
|
724
738
|
dto.parameters,
|
|
725
|
-
sessionResource
|
|
739
|
+
sessionResource,
|
|
740
|
+
dto.chatRequestId
|
|
726
741
|
);
|
|
727
742
|
return {
|
|
728
743
|
autoConfirmed,
|
|
@@ -736,7 +751,6 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
736
751
|
parameters: dto.parameters,
|
|
737
752
|
toolCallId: dto.callId,
|
|
738
753
|
chatRequestId: dto.chatRequestId,
|
|
739
|
-
chatSessionId: dto.context?.sessionId,
|
|
740
754
|
chatSessionResource: dto.context?.sessionResource,
|
|
741
755
|
chatInteractionId: dto.chatInteractionId,
|
|
742
756
|
modelId: dto.modelId,
|
|
@@ -759,10 +773,10 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
759
773
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
760
774
|
prepared.confirmationMessages = {
|
|
761
775
|
...prepared.confirmationMessages,
|
|
762
|
-
title: ( localize(
|
|
763
|
-
message: ( localize(
|
|
764
|
-
disclaimer: ( new MarkdownString(( localize(
|
|
765
|
-
|
|
776
|
+
title: ( localize(6454, "Confirm tool execution")),
|
|
777
|
+
message: ( localize(6455, "Run the '{0}' tool?", fullReferenceName)),
|
|
778
|
+
disclaimer: tool.data.id === toolIdThatCannotBeAutoApproved ? undefined : ( new MarkdownString(( localize(
|
|
779
|
+
6456,
|
|
766
780
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
767
781
|
getToolFullReferenceName(tool.data),
|
|
768
782
|
createMarkdownCommandLink({
|
|
@@ -777,8 +791,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
777
791
|
};
|
|
778
792
|
}
|
|
779
793
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
780
|
-
prepared.confirmationMessages.disclaimer = ( new MarkdownString(( localize(
|
|
781
|
-
|
|
794
|
+
prepared.confirmationMessages.disclaimer = tool.data.id === toolIdThatCannotBeAutoApproved ? undefined : ( new MarkdownString(( localize(
|
|
795
|
+
6456,
|
|
782
796
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
783
797
|
getToolFullReferenceName(tool.data),
|
|
784
798
|
createMarkdownCommandLink({
|
|
@@ -868,11 +882,22 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
868
882
|
await this._callHandleToolStream(toolEntry, invocation, toolCallId, partialInput, token);
|
|
869
883
|
}
|
|
870
884
|
}
|
|
871
|
-
playAccessibilitySignal(toolInvocations) {
|
|
885
|
+
playAccessibilitySignal(toolInvocations, chatSessionResource) {
|
|
872
886
|
const autoApproved = this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove);
|
|
873
887
|
if (autoApproved) {
|
|
874
888
|
return;
|
|
875
889
|
}
|
|
890
|
+
if (chatSessionResource) {
|
|
891
|
+
const model = this._chatService.getSession(chatSessionResource);
|
|
892
|
+
const request = model?.getRequests().at(-1);
|
|
893
|
+
if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
|
|
894
|
+
return;
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
const pendingInvocations = toolInvocations.filter(inv => !IChatToolInvocation.executionConfirmedOrDenied(inv));
|
|
898
|
+
if (pendingInvocations.length === 0) {
|
|
899
|
+
return;
|
|
900
|
+
}
|
|
876
901
|
const setting = this._configurationService.getValue(AccessibilitySignal.chatUserActionRequired.settingsKey);
|
|
877
902
|
if (!setting) {
|
|
878
903
|
return;
|
|
@@ -881,7 +906,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
881
906
|
const announcementEnabled = this._accessibilityService.isScreenReaderOptimized() && setting.announcement === "auto";
|
|
882
907
|
if (soundEnabled || announcementEnabled) {
|
|
883
908
|
this._accessibilitySignalService.playSignal(AccessibilitySignal.chatUserActionRequired, {
|
|
884
|
-
customAlertMessage: this._instantiationService.invokeFunction(getToolConfirmationAlert,
|
|
909
|
+
customAlertMessage: this._instantiationService.invokeFunction(getToolConfirmationAlert, pendingInvocations),
|
|
885
910
|
userGesture: true,
|
|
886
911
|
modality: !soundEnabled ? "announcement" : undefined
|
|
887
912
|
});
|
|
@@ -923,6 +948,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
923
948
|
}
|
|
924
949
|
}));
|
|
925
950
|
}
|
|
951
|
+
_isAutoApprovePolicyRestricted() {
|
|
952
|
+
const inspected = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
|
|
953
|
+
return inspected.policyValue === false;
|
|
954
|
+
}
|
|
955
|
+
_isSessionLiveAutoApproveLevel(chatSessionResource) {
|
|
956
|
+
const widget = this._chatWidgetService.getWidgetBySessionResource(chatSessionResource) ?? this._chatWidgetService.lastFocusedWidget;
|
|
957
|
+
return !!widget && isAutoApproveLevel(widget.input.currentModeInfo.permissionLevel);
|
|
958
|
+
}
|
|
926
959
|
getEligibleForAutoApprovalSpecialCase(toolData) {
|
|
927
960
|
if (toolData.id === "vscode_fetchWebPage_internal") {
|
|
928
961
|
return "fetch";
|
|
@@ -934,6 +967,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
934
967
|
if (toolData.id === "copilot_fetchWebPage") {
|
|
935
968
|
return true;
|
|
936
969
|
}
|
|
970
|
+
if (toolData.id === toolIdThatCannotBeAutoApproved) {
|
|
971
|
+
return false;
|
|
972
|
+
}
|
|
937
973
|
const eligibilityConfig = this._configurationService.getValue(ChatConfiguration.EligibleForAutoApproval);
|
|
938
974
|
if (eligibilityConfig && typeof eligibilityConfig === "object" && fullReferenceName) {
|
|
939
975
|
if (Object.prototype.hasOwnProperty.call(eligibilityConfig, fullReferenceName)) {
|
|
@@ -955,11 +991,28 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
955
991
|
}
|
|
956
992
|
return true;
|
|
957
993
|
}
|
|
958
|
-
async shouldAutoConfirm(
|
|
994
|
+
async shouldAutoConfirm(
|
|
995
|
+
toolId,
|
|
996
|
+
runsInWorkspace,
|
|
997
|
+
source,
|
|
998
|
+
parameters,
|
|
999
|
+
chatSessionResource,
|
|
1000
|
+
chatRequestId
|
|
1001
|
+
) {
|
|
959
1002
|
const tool = this._tools.get(toolId);
|
|
960
1003
|
if (!tool) {
|
|
961
1004
|
return undefined;
|
|
962
1005
|
}
|
|
1006
|
+
if (chatSessionResource && !this._isAutoApprovePolicyRestricted()) {
|
|
1007
|
+
const model = this._chatService.getSession(chatSessionResource);
|
|
1008
|
+
const request = model?.getRequests().at(-1);
|
|
1009
|
+
if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
|
|
1010
|
+
return {
|
|
1011
|
+
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
1012
|
+
reason: "auto-approve-all"
|
|
1013
|
+
};
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
963
1016
|
if (!this.isToolEligibleForAutoApproval(tool.data)) {
|
|
964
1017
|
return undefined;
|
|
965
1018
|
}
|
|
@@ -991,7 +1044,24 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
991
1044
|
}
|
|
992
1045
|
return undefined;
|
|
993
1046
|
}
|
|
994
|
-
async shouldAutoConfirmPostExecution(
|
|
1047
|
+
async shouldAutoConfirmPostExecution(
|
|
1048
|
+
toolId,
|
|
1049
|
+
runsInWorkspace,
|
|
1050
|
+
source,
|
|
1051
|
+
parameters,
|
|
1052
|
+
chatSessionResource,
|
|
1053
|
+
chatRequestId
|
|
1054
|
+
) {
|
|
1055
|
+
if (chatSessionResource && !this._isAutoApprovePolicyRestricted()) {
|
|
1056
|
+
const model = this._chatService.getSession(chatSessionResource);
|
|
1057
|
+
const request = model?.getRequests().at(-1);
|
|
1058
|
+
if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
|
|
1059
|
+
return {
|
|
1060
|
+
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
1061
|
+
reason: "auto-approve-all"
|
|
1062
|
+
};
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
995
1065
|
if (this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove) && (await this._checkGlobalAutoApprove())) {
|
|
996
1066
|
return {
|
|
997
1067
|
type: ToolConfirmKind.Setting,
|
|
@@ -1017,35 +1087,73 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1017
1087
|
if (this._contextKeyService.getContextKeyValue(SkipAutoApproveConfirmationKey) === true) {
|
|
1018
1088
|
return true;
|
|
1019
1089
|
}
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1090
|
+
if (this._pendingGlobalAutoApproveCheck) {
|
|
1091
|
+
return this._pendingGlobalAutoApproveCheck;
|
|
1092
|
+
}
|
|
1093
|
+
this._pendingGlobalAutoApproveCheck = this._doCheckGlobalAutoApprove();
|
|
1094
|
+
try {
|
|
1095
|
+
return await this._pendingGlobalAutoApproveCheck;
|
|
1096
|
+
} finally {
|
|
1097
|
+
this._pendingGlobalAutoApproveCheck = undefined;
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
async _doCheckGlobalAutoApprove() {
|
|
1101
|
+
const store = ( new DisposableStore());
|
|
1102
|
+
try {
|
|
1103
|
+
const cts = ( new CancellationTokenSource());
|
|
1104
|
+
store.add(cts);
|
|
1105
|
+
store.add(this._storageService.onDidChangeValue(
|
|
1106
|
+
StorageScope.APPLICATION,
|
|
1107
|
+
AutoApproveStorageKeys.GlobalAutoApproveOptIn,
|
|
1108
|
+
store
|
|
1109
|
+
)(() => {
|
|
1110
|
+
if (this._storageService.getBoolean(
|
|
1111
|
+
AutoApproveStorageKeys.GlobalAutoApproveOptIn,
|
|
1112
|
+
StorageScope.APPLICATION,
|
|
1113
|
+
false
|
|
1114
|
+
)) {
|
|
1115
|
+
cts.cancel();
|
|
1116
|
+
}
|
|
1117
|
+
}));
|
|
1118
|
+
const promptResult = await this._dialogService.prompt({
|
|
1119
|
+
type: Severity.Warning,
|
|
1120
|
+
message: ( localize(6457, "Enable global auto approve?")),
|
|
1121
|
+
buttons: [{
|
|
1122
|
+
label: ( localize(6458, "Enable")),
|
|
1123
|
+
run: () => true
|
|
1124
|
+
}, {
|
|
1125
|
+
label: ( localize(6459, "Disable")),
|
|
1126
|
+
run: () => false
|
|
1127
|
+
}],
|
|
1128
|
+
custom: {
|
|
1129
|
+
icon: Codicon.warning,
|
|
1130
|
+
markdownDetails: [{
|
|
1131
|
+
markdown: ( new MarkdownString(globalAutoApproveDescription.value, {
|
|
1132
|
+
isTrusted: {
|
|
1133
|
+
enabledCommands: ["workbench.action.openSettings"]
|
|
1134
|
+
}
|
|
1135
|
+
}))
|
|
1136
|
+
}]
|
|
1137
|
+
},
|
|
1138
|
+
token: cts.token
|
|
1139
|
+
});
|
|
1140
|
+
if (cts.token.isCancellationRequested) {
|
|
1141
|
+
return true;
|
|
1036
1142
|
}
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1143
|
+
if (promptResult.result !== true) {
|
|
1144
|
+
await this._configurationService.updateValue(ChatConfiguration.GlobalAutoApprove, false);
|
|
1145
|
+
return false;
|
|
1146
|
+
}
|
|
1147
|
+
this._storageService.store(
|
|
1148
|
+
AutoApproveStorageKeys.GlobalAutoApproveOptIn,
|
|
1149
|
+
true,
|
|
1150
|
+
StorageScope.APPLICATION,
|
|
1151
|
+
StorageTarget.USER
|
|
1152
|
+
);
|
|
1153
|
+
return true;
|
|
1154
|
+
} finally {
|
|
1155
|
+
store.dispose();
|
|
1041
1156
|
}
|
|
1042
|
-
this._storageService.store(
|
|
1043
|
-
AutoApproveStorageKeys.GlobalAutoApproveOptIn,
|
|
1044
|
-
true,
|
|
1045
|
-
StorageScope.APPLICATION,
|
|
1046
|
-
StorageTarget.USER
|
|
1047
|
-
);
|
|
1048
|
-
return true;
|
|
1049
1157
|
}
|
|
1050
1158
|
cleanupCallDisposables(requestId, store) {
|
|
1051
1159
|
if (requestId) {
|
|
@@ -1303,7 +1411,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1303
1411
|
add(alias, fullReferenceName);
|
|
1304
1412
|
}
|
|
1305
1413
|
if (tool.legacyToolReferenceFullNames) {
|
|
1414
|
+
const slashIndex = fullReferenceName.lastIndexOf("/");
|
|
1415
|
+
const toolSetPrefix = slashIndex !== -1 ? fullReferenceName.substring(0, slashIndex + 1) : undefined;
|
|
1306
1416
|
for (const legacyName of tool.legacyToolReferenceFullNames) {
|
|
1417
|
+
if (toolSetPrefix && !legacyName.includes("/")) {
|
|
1418
|
+
add(toolSetPrefix + legacyName, fullReferenceName);
|
|
1419
|
+
}
|
|
1307
1420
|
if (legacyName.includes("/")) {
|
|
1308
1421
|
const toolSetFullName = legacyName.substring(0, legacyName.lastIndexOf("/"));
|
|
1309
1422
|
if (!( knownToolSetNames.has(toolSetFullName))) {
|
|
@@ -1335,7 +1448,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1335
1448
|
return getToolFullReferenceName(tool, toolSet);
|
|
1336
1449
|
}
|
|
1337
1450
|
};
|
|
1338
|
-
LanguageModelToolsService = LanguageModelToolsService_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IExtensionService)), ( __param(2, IContextKeyService)), ( __param(3, IChatService)), ( __param(4, IDialogService)), ( __param(5, ITelemetryService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IAccessibilityService)), ( __param(9, IAccessibilitySignalService)), ( __param(10, IStorageService)), ( __param(11, ILanguageModelToolsConfirmationService)), ( __param(12, ICommandService))], LanguageModelToolsService));
|
|
1451
|
+
LanguageModelToolsService = LanguageModelToolsService_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IExtensionService)), ( __param(2, IContextKeyService)), ( __param(3, IChatService)), ( __param(4, IDialogService)), ( __param(5, ITelemetryService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IAccessibilityService)), ( __param(9, IAccessibilitySignalService)), ( __param(10, IStorageService)), ( __param(11, ILanguageModelToolsConfirmationService)), ( __param(12, ICommandService)), ( __param(13, IChatWidgetService))], LanguageModelToolsService));
|
|
1339
1452
|
function getToolFullReferenceName(tool, toolSet) {
|
|
1340
1453
|
const toolName = tool.toolReferenceName ?? tool.displayName;
|
|
1341
1454
|
if (toolSet) {
|
|
@@ -1352,4 +1465,4 @@ function getToolSetFullReferenceName(toolSet) {
|
|
|
1352
1465
|
return toolSet.referenceName;
|
|
1353
1466
|
}
|
|
1354
1467
|
|
|
1355
|
-
export { LanguageModelToolsService, globalAutoApproveDescription };
|
|
1468
|
+
export { AutoApproveStorageKeys, LanguageModelToolsService, globalAutoApproveDescription };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { IBulkEditService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/bulkEditService.service";
|
|
5
|
+
import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service";
|
|
6
|
+
import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
|
|
7
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
8
|
+
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
9
|
+
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
10
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
11
|
+
import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolResult, ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
12
|
+
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
13
|
+
export declare const RenameToolId = "vscode_renameSymbol";
|
|
14
|
+
export declare class RenameTool extends Disposable implements IToolImpl {
|
|
15
|
+
private readonly _languageFeaturesService;
|
|
16
|
+
private readonly _textModelService;
|
|
17
|
+
private readonly _workspaceContextService;
|
|
18
|
+
private readonly _chatService;
|
|
19
|
+
private readonly _bulkEditService;
|
|
20
|
+
private readonly _onDidUpdateToolData;
|
|
21
|
+
readonly onDidUpdateToolData: Event<void>;
|
|
22
|
+
constructor(_languageFeaturesService: ILanguageFeaturesService, _textModelService: ITextModelService, _workspaceContextService: IWorkspaceContextService, _chatService: IChatService, _bulkEditService: IBulkEditService);
|
|
23
|
+
getToolData(): IToolData;
|
|
24
|
+
prepareToolInvocation(context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
25
|
+
invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
|
|
26
|
+
private _successResult;
|
|
27
|
+
}
|
|
28
|
+
export declare class RenameToolContribution extends Disposable implements IWorkbenchContribution {
|
|
29
|
+
static readonly ID = "chat.renameTool";
|
|
30
|
+
constructor(toolsService: ILanguageModelToolsService, instantiationService: IInstantiationService);
|
|
31
|
+
}
|