@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 +31 -1
- 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 +39 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +274 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -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 +3 -3
- 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 +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -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 +15 -29
- 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 +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -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 +70 -65
- 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 +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -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 +248 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -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 +72 -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 +623 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -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/chatVariables.js +19 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
- 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 +305 -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 +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -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 +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -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 +45 -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 +781 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
- 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/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 +15 -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 +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -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/chatTipService.d.ts +182 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
- 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 +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -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 +16 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
- 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.js +43 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
- 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.js +10 -10
- 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 +64 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
- 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 +42 -8
- 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 +58 -31
- 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 +8 -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 +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -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 +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
- 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 +8 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -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 +73 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
- 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/inlineChat/browser/inlineChat.contribution.js +11 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
- 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 +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
- 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 +6 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
- 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/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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
4
|
+
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
5
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
6
|
+
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
7
|
+
import { createDefaultModelArrays, DefaultModelContribution } from './defaultModelContribution.js';
|
|
8
|
+
|
|
9
|
+
const arrays = createDefaultModelArrays();
|
|
10
|
+
let PlanAgentDefaultModel = class PlanAgentDefaultModel extends DefaultModelContribution {
|
|
11
|
+
static {
|
|
12
|
+
this.ID = "workbench.contrib.planAgentDefaultModel";
|
|
13
|
+
}
|
|
14
|
+
static {
|
|
15
|
+
this.modelIds = arrays.modelIds;
|
|
16
|
+
}
|
|
17
|
+
static {
|
|
18
|
+
this.modelLabels = arrays.modelLabels;
|
|
19
|
+
}
|
|
20
|
+
static {
|
|
21
|
+
this.modelDescriptions = arrays.modelDescriptions;
|
|
22
|
+
}
|
|
23
|
+
constructor(languageModelsService, logService) {
|
|
24
|
+
super(arrays, {
|
|
25
|
+
configKey: ChatConfiguration.PlanAgentDefaultModel,
|
|
26
|
+
configSectionId: "chatSidebar",
|
|
27
|
+
logPrefix: "[PlanAgentDefaultModel]",
|
|
28
|
+
filter: metadata => !!metadata.capabilities?.toolCalling
|
|
29
|
+
}, languageModelsService, logService);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
PlanAgentDefaultModel = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, ILogService))], PlanAgentDefaultModel));
|
|
33
|
+
registerWorkbenchContribution2(
|
|
34
|
+
PlanAgentDefaultModel.ID,
|
|
35
|
+
PlanAgentDefaultModel,
|
|
36
|
+
WorkbenchPhase.BlockRestore
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export { PlanAgentDefaultModel };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
|
+
import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
|
|
5
|
+
import { IAgentPluginRepositoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service";
|
|
6
|
+
import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service";
|
|
7
|
+
import { IMarketplacePlugin } from "../common/plugins/pluginMarketplaceService.js";
|
|
8
|
+
export declare class PluginInstallService implements IPluginInstallService {
|
|
9
|
+
private readonly _pluginRepositoryService;
|
|
10
|
+
private readonly _configurationService;
|
|
11
|
+
private readonly _fileService;
|
|
12
|
+
private readonly _notificationService;
|
|
13
|
+
readonly _serviceBrand: undefined;
|
|
14
|
+
constructor(_pluginRepositoryService: IAgentPluginRepositoryService, _configurationService: IConfigurationService, _fileService: IFileService, _notificationService: INotificationService);
|
|
15
|
+
installPlugin(plugin: IMarketplacePlugin): Promise<void>;
|
|
16
|
+
updatePlugin(plugin: IMarketplacePlugin): Promise<void>;
|
|
17
|
+
uninstallPlugin(pluginUri: URI): Promise<void>;
|
|
18
|
+
getPluginInstallUri(plugin: IMarketplacePlugin): URI;
|
|
19
|
+
/**
|
|
20
|
+
* Adds the given file-system path to `chat.plugins.paths` in user-local config.
|
|
21
|
+
*/
|
|
22
|
+
private _addPluginPath;
|
|
23
|
+
/**
|
|
24
|
+
* Removes the given file-system path from `chat.plugins.paths` in user-local config.
|
|
25
|
+
*/
|
|
26
|
+
private _removePluginPath;
|
|
27
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
|
|
5
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
6
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
|
|
8
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
9
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
10
|
+
import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service';
|
|
11
|
+
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
12
|
+
|
|
13
|
+
let PluginInstallService = class PluginInstallService {
|
|
14
|
+
constructor(
|
|
15
|
+
_pluginRepositoryService,
|
|
16
|
+
_configurationService,
|
|
17
|
+
_fileService,
|
|
18
|
+
_notificationService
|
|
19
|
+
) {
|
|
20
|
+
this._pluginRepositoryService = _pluginRepositoryService;
|
|
21
|
+
this._configurationService = _configurationService;
|
|
22
|
+
this._fileService = _fileService;
|
|
23
|
+
this._notificationService = _notificationService;
|
|
24
|
+
}
|
|
25
|
+
async installPlugin(plugin) {
|
|
26
|
+
try {
|
|
27
|
+
await this._pluginRepositoryService.ensureRepository(plugin.marketplaceReference, {
|
|
28
|
+
progressTitle: ( localize(6170, "Installing plugin '{0}'...", plugin.name)),
|
|
29
|
+
failureLabel: plugin.name,
|
|
30
|
+
marketplaceType: plugin.marketplaceType
|
|
31
|
+
});
|
|
32
|
+
} catch {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let pluginDir;
|
|
36
|
+
try {
|
|
37
|
+
pluginDir = this._pluginRepositoryService.getPluginInstallUri(plugin);
|
|
38
|
+
} catch {
|
|
39
|
+
this._notificationService.notify({
|
|
40
|
+
severity: Severity.Error,
|
|
41
|
+
message: ( localize(
|
|
42
|
+
6171,
|
|
43
|
+
"Plugin source directory '{0}' is invalid for repository '{1}'.",
|
|
44
|
+
plugin.source,
|
|
45
|
+
plugin.marketplace
|
|
46
|
+
))
|
|
47
|
+
});
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const pluginExists = await this._fileService.exists(pluginDir);
|
|
51
|
+
if (!pluginExists) {
|
|
52
|
+
this._notificationService.notify({
|
|
53
|
+
severity: Severity.Error,
|
|
54
|
+
message: ( localize(
|
|
55
|
+
6172,
|
|
56
|
+
"Plugin source directory '{0}' not found in repository '{1}'.",
|
|
57
|
+
plugin.source,
|
|
58
|
+
plugin.marketplace
|
|
59
|
+
))
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this._addPluginPath(pluginDir.fsPath);
|
|
64
|
+
}
|
|
65
|
+
async updatePlugin(plugin) {
|
|
66
|
+
return this._pluginRepositoryService.pullRepository(plugin.marketplaceReference, {
|
|
67
|
+
pluginName: plugin.name,
|
|
68
|
+
failureLabel: plugin.name,
|
|
69
|
+
marketplaceType: plugin.marketplaceType
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async uninstallPlugin(pluginUri) {
|
|
73
|
+
await this._removePluginPath(pluginUri.fsPath);
|
|
74
|
+
}
|
|
75
|
+
getPluginInstallUri(plugin) {
|
|
76
|
+
return this._pluginRepositoryService.getPluginInstallUri(plugin);
|
|
77
|
+
}
|
|
78
|
+
_addPluginPath(fsPath) {
|
|
79
|
+
const current = this._configurationService.getValue(ChatConfiguration.PluginPaths) ?? {};
|
|
80
|
+
if (Object.prototype.hasOwnProperty.call(current, fsPath)) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this._configurationService.updateValue(ChatConfiguration.PluginPaths, {
|
|
84
|
+
...current,
|
|
85
|
+
[fsPath]: true
|
|
86
|
+
}, ConfigurationTarget.USER_LOCAL);
|
|
87
|
+
}
|
|
88
|
+
_removePluginPath(fsPath) {
|
|
89
|
+
const current = this._configurationService.getValue(ChatConfiguration.PluginPaths) ?? {};
|
|
90
|
+
if (!Object.prototype.hasOwnProperty.call(current, fsPath)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const updated = {
|
|
94
|
+
...current
|
|
95
|
+
};
|
|
96
|
+
delete updated[fsPath];
|
|
97
|
+
return this._configurationService.updateValue(ChatConfiguration.PluginPaths, updated, ConfigurationTarget.USER_LOCAL);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
PluginInstallService = ( __decorate([( __param(0, IAgentPluginRepositoryService)), ( __param(1, IConfigurationService)), ( __param(2, IFileService)), ( __param(3, INotificationService))], PluginInstallService));
|
|
101
|
+
|
|
102
|
+
export { PluginInstallService };
|
|
@@ -17,7 +17,7 @@ class ConfigAgentActionImpl extends Action2 {
|
|
|
17
17
|
const openerService = accessor.get(IOpenerService);
|
|
18
18
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
19
19
|
const placeholder = ( localize(
|
|
20
|
-
|
|
20
|
+
6179,
|
|
21
21
|
"Select the custom agents to open and configure visibility in the agent picker"
|
|
22
22
|
));
|
|
23
23
|
const result = await pickers.selectPromptFile({
|
|
@@ -35,8 +35,8 @@ const PICKER_CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.picker.customag
|
|
|
35
35
|
function createPickerConfigureAgentsActionConfig(disabled) {
|
|
36
36
|
const config = {
|
|
37
37
|
id: disabled ? PICKER_CONFIGURE_AGENTS_ACTION_ID + ".disabled" : PICKER_CONFIGURE_AGENTS_ACTION_ID,
|
|
38
|
-
title: ( localize2(
|
|
39
|
-
tooltip: disabled ? ( localize(
|
|
38
|
+
title: ( localize2(6180, "Configure Custom Agents...")),
|
|
39
|
+
tooltip: disabled ? ( localize(6181, "Managed by your organization")) : undefined,
|
|
40
40
|
icon: disabled ? Codicon.lock : undefined,
|
|
41
41
|
category: CHAT_CATEGORY,
|
|
42
42
|
f1: false,
|
|
@@ -62,8 +62,8 @@ const CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.configure.customagents
|
|
|
62
62
|
function createManageAgentsActionConfig(disabled) {
|
|
63
63
|
const base = {
|
|
64
64
|
id: disabled ? CONFIGURE_AGENTS_ACTION_ID + ".disabled" : CONFIGURE_AGENTS_ACTION_ID,
|
|
65
|
-
title: ( localize2(
|
|
66
|
-
shortTitle: ( localize(
|
|
65
|
+
title: ( localize2(6182, "Configure Custom Agents...")),
|
|
66
|
+
shortTitle: ( localize(6183, "Custom Agents")),
|
|
67
67
|
icon: disabled ? Codicon.lock : Codicon.bookmark,
|
|
68
68
|
f1: !disabled,
|
|
69
69
|
precondition: disabled ? ( ContextKeyExpr.false()) : ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.Modes.agentModeDisabledByPolicy.negate()))),
|
|
@@ -77,7 +77,7 @@ function createManageAgentsActionConfig(disabled) {
|
|
|
77
77
|
};
|
|
78
78
|
return disabled ? {
|
|
79
79
|
...base,
|
|
80
|
-
tooltip: ( localize(
|
|
80
|
+
tooltip: ( localize(6181, "Managed by your organization"))
|
|
81
81
|
} : base;
|
|
82
82
|
}
|
|
83
83
|
class ManageAgentsAction extends ConfigAgentActionImpl {
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
1
2
|
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
|
|
3
|
+
import { ITextEditorSelection } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
|
|
4
|
+
/**
|
|
5
|
+
* Optional callbacks for customizing the hook creation and opening behaviour.
|
|
6
|
+
* The agentic editor passes these to open hooks in the embedded editor and
|
|
7
|
+
* track worktree files for auto-commit.
|
|
8
|
+
*/
|
|
9
|
+
export interface IHookQuickPickCallbacks {
|
|
10
|
+
/** Override how the hook file is opened. If not provided, uses editorService.openEditor. */
|
|
11
|
+
readonly openEditor?: (resource: URI, options?: {
|
|
12
|
+
selection?: ITextEditorSelection;
|
|
13
|
+
}) => Promise<void>;
|
|
14
|
+
/** Called after a new hook file is created on disk. */
|
|
15
|
+
readonly onHookFileCreated?: (uri: URI) => void;
|
|
16
|
+
}
|
|
2
17
|
/**
|
|
3
18
|
* Shows the Configure Hooks quick pick UI, allowing the user to view,
|
|
4
19
|
* open, or create hooks. Can be called from the action or slash command.
|
|
5
20
|
*/
|
|
6
|
-
export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor): Promise<void>;
|
|
21
|
+
export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor, callbacks?: IHookQuickPickCallbacks): Promise<void>;
|
|
7
22
|
/**
|
|
8
23
|
* Helper to register the `Manage Hooks` action.
|
|
9
24
|
*/
|
|
@@ -59,7 +59,8 @@ async function addHookToFile(
|
|
|
59
59
|
fileService,
|
|
60
60
|
editorService,
|
|
61
61
|
notificationService,
|
|
62
|
-
bulkEditService
|
|
62
|
+
bulkEditService,
|
|
63
|
+
openEditorOverride
|
|
63
64
|
) {
|
|
64
65
|
let hooksContent;
|
|
65
66
|
const fileExists = await fileService.exists(hookFileUri);
|
|
@@ -72,7 +73,7 @@ async function addHookToFile(
|
|
|
72
73
|
}
|
|
73
74
|
} catch {
|
|
74
75
|
notificationService.error(( localize(
|
|
75
|
-
|
|
76
|
+
6184,
|
|
76
77
|
"Failed to parse existing hooks file. Please fix the JSON syntax errors and try again."
|
|
77
78
|
)));
|
|
78
79
|
await editorService.openEditor({
|
|
@@ -155,7 +156,7 @@ async function addHookToFile(
|
|
|
155
156
|
range: ( new Range(1, 1, Number.MAX_SAFE_INTEGER, 1)),
|
|
156
157
|
text: jsonContent
|
|
157
158
|
}))], {
|
|
158
|
-
label: ( localize(
|
|
159
|
+
label: ( localize(6185, "Add Hook"))
|
|
159
160
|
});
|
|
160
161
|
const selection = findHookCommandSelection(jsonContent, keyToUse, newHookIndex, "command");
|
|
161
162
|
await editorService.openEditor({
|
|
@@ -180,17 +181,23 @@ async function addHookToFile(
|
|
|
180
181
|
range: ( new Range(1, 1, Number.MAX_SAFE_INTEGER, 1)),
|
|
181
182
|
text: jsonContent
|
|
182
183
|
}))], {
|
|
183
|
-
label: ( localize(
|
|
184
|
+
label: ( localize(6185, "Add Hook"))
|
|
184
185
|
});
|
|
185
186
|
}
|
|
186
187
|
const selection = findHookCommandSelection(jsonContent, keyToUse, newHookIndex, "command");
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
188
|
+
if (openEditorOverride) {
|
|
189
|
+
await openEditorOverride(hookFileUri, {
|
|
190
|
+
selection
|
|
191
|
+
});
|
|
192
|
+
} else {
|
|
193
|
+
await editorService.openEditor({
|
|
194
|
+
resource: hookFileUri,
|
|
195
|
+
options: {
|
|
196
|
+
selection,
|
|
197
|
+
pinned: false
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
194
201
|
}
|
|
195
202
|
}
|
|
196
203
|
function awaitPick(picker, backButton) {
|
|
@@ -225,7 +232,7 @@ var Step;
|
|
|
225
232
|
Step[Step["SelectFolder"] = 4] = "SelectFolder";
|
|
226
233
|
Step[Step["EnterFilename"] = 5] = "EnterFilename";
|
|
227
234
|
})(Step || (Step = {}));
|
|
228
|
-
async function showConfigureHooksQuickPick(accessor) {
|
|
235
|
+
async function showConfigureHooksQuickPick(accessor, callbacks) {
|
|
229
236
|
const promptsService = accessor.get(IPromptsService);
|
|
230
237
|
const quickInputService = accessor.get(IQuickInputService);
|
|
231
238
|
const fileService = accessor.get(IFileService);
|
|
@@ -289,8 +296,8 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
289
296
|
}));
|
|
290
297
|
picker.items = hookTypeItems;
|
|
291
298
|
picker.value = "";
|
|
292
|
-
picker.placeholder = ( localize(
|
|
293
|
-
picker.title = ( localize(
|
|
299
|
+
picker.placeholder = ( localize(6186, "Select a lifecycle event"));
|
|
300
|
+
picker.title = ( localize(6187, "Hooks"));
|
|
294
301
|
picker.buttons = [];
|
|
295
302
|
const result = await awaitPick(picker, backButton);
|
|
296
303
|
if (!result || result === "back") {
|
|
@@ -307,14 +314,14 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
307
314
|
const hooksOfType = hookEntries.filter(h => h.hookType === selectedHookType.hookType.id);
|
|
308
315
|
const hookItems = [];
|
|
309
316
|
hookItems.push({
|
|
310
|
-
label: `$(plus) ${( localize(
|
|
317
|
+
label: `$(plus) ${( localize(6188, "Add new hook..."))}`,
|
|
311
318
|
isAddNewHook: true,
|
|
312
319
|
alwaysShow: true
|
|
313
320
|
});
|
|
314
321
|
if (hooksOfType.length > 0) {
|
|
315
322
|
hookItems.push({
|
|
316
323
|
type: "separator",
|
|
317
|
-
label: ( localize(
|
|
324
|
+
label: ( localize(6189, "Existing Hooks"))
|
|
318
325
|
});
|
|
319
326
|
for (const entry of hooksOfType) {
|
|
320
327
|
const description = labelService.getUriLabel(entry.fileUri, {
|
|
@@ -332,7 +339,7 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
332
339
|
} else {
|
|
333
340
|
picker.items = hookItems;
|
|
334
341
|
picker.value = "";
|
|
335
|
-
picker.placeholder = ( localize(
|
|
342
|
+
picker.placeholder = ( localize(6190, "Select a hook to open or add a new one"));
|
|
336
343
|
picker.title = selectedHookType.hookType.label;
|
|
337
344
|
picker.buttons = [backButton];
|
|
338
345
|
const result = await awaitPick(picker, backButton);
|
|
@@ -358,13 +365,19 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
358
365
|
} catch {}
|
|
359
366
|
}
|
|
360
367
|
picker.hide();
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
+
if (callbacks?.openEditor) {
|
|
369
|
+
await callbacks.openEditor(entry.fileUri, {
|
|
370
|
+
selection
|
|
371
|
+
});
|
|
372
|
+
} else {
|
|
373
|
+
await editorService.openEditor({
|
|
374
|
+
resource: entry.fileUri,
|
|
375
|
+
options: {
|
|
376
|
+
selection,
|
|
377
|
+
pinned: false
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
}
|
|
368
381
|
return;
|
|
369
382
|
}
|
|
370
383
|
step = Step.SelectFile;
|
|
@@ -375,14 +388,14 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
375
388
|
const hookFiles = await promptsService.listPromptFilesForStorage(PromptsType.hook, PromptsStorage.local, CancellationToken.None);
|
|
376
389
|
const fileItems = [];
|
|
377
390
|
fileItems.push({
|
|
378
|
-
label: `$(new-file) ${( localize(
|
|
391
|
+
label: `$(new-file) ${( localize(6191, "Create new hook config file..."))}`,
|
|
379
392
|
isCreateNewFile: true,
|
|
380
393
|
alwaysShow: true
|
|
381
394
|
});
|
|
382
395
|
if (hookFiles.length > 0) {
|
|
383
396
|
fileItems.push({
|
|
384
397
|
type: "separator",
|
|
385
|
-
label: ( localize(
|
|
398
|
+
label: ( localize(6192, "Existing Hook Files"))
|
|
386
399
|
});
|
|
387
400
|
for (const hookFile of hookFiles) {
|
|
388
401
|
const relativePath = labelService.getUriLabel(hookFile.uri, {
|
|
@@ -399,8 +412,8 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
399
412
|
} else {
|
|
400
413
|
picker.items = fileItems;
|
|
401
414
|
picker.value = "";
|
|
402
|
-
picker.placeholder = ( localize(
|
|
403
|
-
picker.title = ( localize(
|
|
415
|
+
picker.placeholder = ( localize(6193, "Select a hook file or create a new one"));
|
|
416
|
+
picker.title = ( localize(6194, "Add Hook"));
|
|
404
417
|
picker.buttons = [backButton];
|
|
405
418
|
const result = await awaitPick(picker, backButton);
|
|
406
419
|
if (result === "back") {
|
|
@@ -422,7 +435,8 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
422
435
|
fileService,
|
|
423
436
|
editorService,
|
|
424
437
|
notificationService,
|
|
425
|
-
bulkEditService
|
|
438
|
+
bulkEditService,
|
|
439
|
+
callbacks?.openEditor
|
|
426
440
|
);
|
|
427
441
|
return;
|
|
428
442
|
}
|
|
@@ -435,7 +449,7 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
435
449
|
const localFolders = allFolders.filter(f => f.storage === PromptsStorage.local);
|
|
436
450
|
if (localFolders.length === 0) {
|
|
437
451
|
picker.hide();
|
|
438
|
-
notificationService.error(( localize(
|
|
452
|
+
notificationService.error(( localize(6195, "Please open a workspace folder to configure hooks.")));
|
|
439
453
|
return;
|
|
440
454
|
}
|
|
441
455
|
selectedFolder = localFolders[0];
|
|
@@ -448,8 +462,8 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
448
462
|
})));
|
|
449
463
|
picker.items = folderItems;
|
|
450
464
|
picker.value = "";
|
|
451
|
-
picker.placeholder = ( localize(
|
|
452
|
-
picker.title = ( localize(
|
|
465
|
+
picker.placeholder = ( localize(6196, "Select a location for the hook file"));
|
|
466
|
+
picker.title = ( localize(6197, "Hook File Location"));
|
|
453
467
|
picker.buttons = [backButton];
|
|
454
468
|
const result = await awaitPick(picker, backButton);
|
|
455
469
|
if (result === "back") {
|
|
@@ -482,20 +496,20 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
482
496
|
};
|
|
483
497
|
const inputDisposables = ( new DisposableStore());
|
|
484
498
|
const inputBox = inputDisposables.add(quickInputService.createInputBox());
|
|
485
|
-
inputBox.prompt = ( localize(
|
|
486
|
-
inputBox.placeholder = ( localize(
|
|
487
|
-
inputBox.title = ( localize(
|
|
499
|
+
inputBox.prompt = ( localize(6198, "Enter hook file name"));
|
|
500
|
+
inputBox.placeholder = ( localize(6199, "e.g., hooks, diagnostics, security"));
|
|
501
|
+
inputBox.title = ( localize(6200, "Hook File Name"));
|
|
488
502
|
inputBox.buttons = [backButton];
|
|
489
503
|
inputBox.ignoreFocusOut = true;
|
|
490
504
|
inputDisposables.add(inputBox.onDidAccept(async () => {
|
|
491
505
|
const value = inputBox.value;
|
|
492
506
|
if (!value || !value.trim()) {
|
|
493
|
-
inputBox.validationMessage = ( localize(
|
|
507
|
+
inputBox.validationMessage = ( localize(6201, "File name is required"));
|
|
494
508
|
return;
|
|
495
509
|
}
|
|
496
510
|
const name = value.trim();
|
|
497
511
|
if (/[/\\:*?"<>|]/.test(name)) {
|
|
498
|
-
inputBox.validationMessage = ( localize(
|
|
512
|
+
inputBox.validationMessage = ( localize(6202, "File name contains invalid characters"));
|
|
499
513
|
return;
|
|
500
514
|
}
|
|
501
515
|
done(name);
|
|
@@ -533,7 +547,8 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
533
547
|
fileService,
|
|
534
548
|
editorService,
|
|
535
549
|
notificationService,
|
|
536
|
-
bulkEditService
|
|
550
|
+
bulkEditService,
|
|
551
|
+
callbacks?.openEditor
|
|
537
552
|
);
|
|
538
553
|
return;
|
|
539
554
|
}
|
|
@@ -548,15 +563,22 @@ async function showConfigureHooksQuickPick(accessor) {
|
|
|
548
563
|
};
|
|
549
564
|
const jsonContent = JSON.stringify(hooksContent, null, "\t");
|
|
550
565
|
await fileService.writeFile(hookFileUri, VSBuffer.fromString(jsonContent));
|
|
566
|
+
callbacks?.onHookFileCreated?.(hookFileUri);
|
|
551
567
|
const selection = findHookCommandSelection(jsonContent, hookTypeKey, 0, "command");
|
|
552
568
|
store.dispose();
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
569
|
+
if (callbacks?.openEditor) {
|
|
570
|
+
await callbacks.openEditor(hookFileUri, {
|
|
571
|
+
selection
|
|
572
|
+
});
|
|
573
|
+
} else {
|
|
574
|
+
await editorService.openEditor({
|
|
575
|
+
resource: hookFileUri,
|
|
576
|
+
options: {
|
|
577
|
+
selection,
|
|
578
|
+
pinned: false
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
}
|
|
560
582
|
return;
|
|
561
583
|
}
|
|
562
584
|
}
|
|
@@ -566,8 +588,8 @@ class ManageHooksAction extends Action2 {
|
|
|
566
588
|
constructor() {
|
|
567
589
|
super({
|
|
568
590
|
id: CONFIGURE_HOOKS_ACTION_ID,
|
|
569
|
-
title: ( localize2(
|
|
570
|
-
shortTitle: ( localize2(
|
|
591
|
+
title: ( localize2(6203, "Configure Hooks...")),
|
|
592
|
+
shortTitle: ( localize2(6204, "Hooks")),
|
|
571
593
|
icon: Codicon.zap,
|
|
572
594
|
f1: true,
|
|
573
595
|
precondition: ChatContextKeys.enabled,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { findNodeAtLocation, parseTree, parse } from '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
|
|
3
3
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
4
4
|
import { HOOK_TYPES, formatHookCommandLabel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
|
|
5
|
-
import { parseHooksFromFile
|
|
5
|
+
import { parseHooksFromFile } from '../../common/promptSyntax/hookCompatibility.js';
|
|
6
6
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
7
|
|
|
8
8
|
function offsetToPosition(content, offset) {
|
|
@@ -98,7 +98,7 @@ async function parseAllHookFiles(
|
|
|
98
98
|
}
|
|
99
99
|
for (let i = 0; i < commands.length; i++) {
|
|
100
100
|
const command = commands[i];
|
|
101
|
-
const commandLabel = formatHookCommandLabel(command, os) || ( localize(
|
|
101
|
+
const commandLabel = formatHookCommandLabel(command, os) || ( localize(6205, "(empty command)"));
|
|
102
102
|
parsedHooks.push({
|
|
103
103
|
hookType,
|
|
104
104
|
hookTypeLabel: hookTypeMeta.label,
|
|
@@ -117,45 +117,6 @@ async function parseAllHookFiles(
|
|
|
117
117
|
console.error("Failed to read or parse hook file", ( hookFile.uri.toString()), error);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
if (options?.additionalDisabledFileUris) {
|
|
121
|
-
for (const uri of options.additionalDisabledFileUris) {
|
|
122
|
-
try {
|
|
123
|
-
const content = await fileService.readFile(uri);
|
|
124
|
-
const json = parse(( content.value.toString()));
|
|
125
|
-
const {
|
|
126
|
-
hooks
|
|
127
|
-
} = parseHooksIgnoringDisableAll(uri, json, workspaceRootUri, userHome);
|
|
128
|
-
for (const [hookType, {
|
|
129
|
-
hooks: commands,
|
|
130
|
-
originalId
|
|
131
|
-
}] of hooks) {
|
|
132
|
-
const hookTypeMeta = HOOK_TYPES.find(h => h.id === hookType);
|
|
133
|
-
if (!hookTypeMeta) {
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
for (let i = 0; i < commands.length; i++) {
|
|
137
|
-
const command = commands[i];
|
|
138
|
-
const commandLabel = formatHookCommandLabel(command, os) || ( localize(5717, "(empty command)"));
|
|
139
|
-
parsedHooks.push({
|
|
140
|
-
hookType,
|
|
141
|
-
hookTypeLabel: hookTypeMeta.label,
|
|
142
|
-
command,
|
|
143
|
-
commandLabel,
|
|
144
|
-
fileUri: uri,
|
|
145
|
-
filePath: labelService.getUriLabel(uri, {
|
|
146
|
-
relative: true
|
|
147
|
-
}),
|
|
148
|
-
index: i,
|
|
149
|
-
originalHookTypeId: originalId,
|
|
150
|
-
disabled: true
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
} catch (error) {
|
|
155
|
-
console.error("Failed to read or parse disabled hook file", ( uri.toString()), error);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
120
|
return parsedHooks;
|
|
160
121
|
}
|
|
161
122
|
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js
CHANGED
|
@@ -38,11 +38,11 @@ let PromptCodingAgentActionOverlayWidget = class PromptCodingAgentActionOverlayW
|
|
|
38
38
|
this._domNode = $(".prompt-coding-agent-action-overlay");
|
|
39
39
|
this._button = this._register(( new Button(this._domNode, {
|
|
40
40
|
supportIcons: true,
|
|
41
|
-
title: ( localize(
|
|
41
|
+
title: ( localize(6285, "Run prompt file in a remote coding agent"))
|
|
42
42
|
})));
|
|
43
43
|
this._button.element.style.background = "var(--vscode-button-background)";
|
|
44
44
|
this._button.element.style.color = "var(--vscode-button-foreground)";
|
|
45
|
-
this._button.label = ( localize(
|
|
45
|
+
this._button.label = ( localize(6286, "{0} Delegate to Copilot coding agent", "$(cloud-upload)"));
|
|
46
46
|
this._register(this._button.onDidClick(async () => {
|
|
47
47
|
await this._execute();
|
|
48
48
|
}));
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js
CHANGED
|
@@ -61,23 +61,23 @@ let PromptToolsCodeLensProvider = class PromptToolsCodeLensProvider extends Disp
|
|
|
61
61
|
return undefined;
|
|
62
62
|
}
|
|
63
63
|
let value = toolsAttr.value;
|
|
64
|
-
if (value.type === "
|
|
64
|
+
if (value.type === "scalar") {
|
|
65
65
|
value = parseCommaSeparatedList(value);
|
|
66
66
|
}
|
|
67
|
-
if (value.type !== "
|
|
67
|
+
if (value.type !== "sequence") {
|
|
68
68
|
return undefined;
|
|
69
69
|
}
|
|
70
70
|
const items = value.items;
|
|
71
|
-
const selectedTools = ( items.filter(item => item.type === "
|
|
71
|
+
const selectedTools = ( items.filter(item => item.type === "scalar").map(item => item.value));
|
|
72
72
|
const codeLens = {
|
|
73
73
|
range: toolsAttr.range.collapseToStart(),
|
|
74
74
|
command: {
|
|
75
|
-
title: ( localize(
|
|
75
|
+
title: ( localize(6287, "Configure Tools...")),
|
|
76
76
|
id: this.cmdId,
|
|
77
77
|
arguments: [
|
|
78
78
|
model,
|
|
79
|
-
toolsAttr.range,
|
|
80
|
-
toolsAttr.value.type === "
|
|
79
|
+
toolsAttr.value.range,
|
|
80
|
+
toolsAttr.value.type === "scalar",
|
|
81
81
|
selectedTools,
|
|
82
82
|
target
|
|
83
83
|
]
|
|
@@ -89,7 +89,7 @@ let PromptToolsCodeLensProvider = class PromptToolsCodeLensProvider extends Disp
|
|
|
89
89
|
}
|
|
90
90
|
async updateTools(model, range, isString, selectedTools, target) {
|
|
91
91
|
const selectedToolsNow = () => this.languageModelToolsService.toToolAndToolSetEnablementMap(selectedTools, undefined);
|
|
92
|
-
const newSelectedAfter = await this.instantiationService.invokeFunction(showToolsPicker, ( localize(
|
|
92
|
+
const newSelectedAfter = await this.instantiationService.invokeFunction(showToolsPicker, ( localize(6288, "Select tools")), "codeLens", undefined, selectedToolsNow);
|
|
93
93
|
if (!newSelectedAfter) {
|
|
94
94
|
return;
|
|
95
95
|
}
|