@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
|
@@ -21,7 +21,7 @@ class EnterAgentSessionProjectionAction extends Action2 {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super({
|
|
23
23
|
id: EnterAgentSessionProjectionAction.ID,
|
|
24
|
-
title: ( localize2(
|
|
24
|
+
title: ( localize2(5128, "Enter Agent Session Projection")),
|
|
25
25
|
category: CHAT_CATEGORY,
|
|
26
26
|
f1: false,
|
|
27
27
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.AgentSessionProjectionEnabled}`)), ( inAgentSessionProjection.negate())))
|
|
@@ -50,7 +50,7 @@ class ExitAgentSessionProjectionAction extends Action2 {
|
|
|
50
50
|
constructor() {
|
|
51
51
|
super({
|
|
52
52
|
id: ExitAgentSessionProjectionAction.ID,
|
|
53
|
-
title: ( localize2(
|
|
53
|
+
title: ( localize2(5129, "Exit Agent Session Projection")),
|
|
54
54
|
category: CHAT_CATEGORY,
|
|
55
55
|
f1: true,
|
|
56
56
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, inAgentSessionProjection)),
|
|
@@ -68,13 +68,13 @@ class ExitAgentSessionProjectionAction extends Action2 {
|
|
|
68
68
|
}
|
|
69
69
|
class ToggleAgentStatusAction extends ToggleTitleBarConfigAction {
|
|
70
70
|
constructor() {
|
|
71
|
-
super(ChatConfiguration.AgentStatusEnabled, ( localize(
|
|
71
|
+
super(ChatConfiguration.AgentStatusEnabled, ( localize(5130, "Agent Status")), ( localize(5131, "Toggle visibility of the Agent Status in title bar")), 6, ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsCompactTitleBarContext.negate()), ChatContextKeys.supported, ( ContextKeyExpr.has("config.window.commandCenter")))));
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
class ToggleUnifiedAgentsBarAction extends ToggleTitleBarConfigAction {
|
|
75
75
|
constructor() {
|
|
76
|
-
super(ChatConfiguration.UnifiedAgentsBar, ( localize(
|
|
77
|
-
|
|
76
|
+
super(ChatConfiguration.UnifiedAgentsBar, ( localize(5132, "Agent Quick Input")), ( localize(
|
|
77
|
+
5133,
|
|
78
78
|
"Toggle Agent Quick Input, replacing the classic command center search box."
|
|
79
79
|
)), 7, ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsCompactTitleBarContext.negate()), ChatContextKeys.supported, ( ContextKeyExpr.has("config.window.commandCenter")))));
|
|
80
80
|
}
|
|
@@ -35,6 +35,8 @@ export declare class AgentSessionProjectionService extends Disposable implements
|
|
|
35
35
|
get isActive(): boolean;
|
|
36
36
|
/** Prevents re-entrant exits and enter-on-exit races */
|
|
37
37
|
private _isExiting;
|
|
38
|
+
/** Prevents checkForEmptyEditors from exiting during session swaps */
|
|
39
|
+
private _isSwappingSessions;
|
|
38
40
|
private _activeSession;
|
|
39
41
|
get activeSession(): IAgentSession | undefined;
|
|
40
42
|
private readonly _onDidChangeProjectionMode;
|
|
@@ -9,10 +9,10 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
9
9
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
10
10
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
11
11
|
import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
|
|
12
|
+
import { MODAL_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
12
13
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
13
14
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
14
15
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
15
|
-
import { ChatViewPaneTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
16
16
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
17
17
|
import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
18
18
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
@@ -64,6 +64,7 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
64
64
|
this.agentSessionsService = agentSessionsService;
|
|
65
65
|
this._isActive = false;
|
|
66
66
|
this._isExiting = false;
|
|
67
|
+
this._isSwappingSessions = false;
|
|
67
68
|
this._onDidChangeProjectionMode = this._register(( new Emitter()));
|
|
68
69
|
this.onDidChangeProjectionMode = this._onDidChangeProjectionMode.event;
|
|
69
70
|
this._onDidChangeActiveSession = this._register(( new Emitter()));
|
|
@@ -80,7 +81,7 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
80
81
|
return this.configurationService.getValue(ChatConfiguration.AgentSessionProjectionEnabled) === true;
|
|
81
82
|
}
|
|
82
83
|
_checkForEmptyEditors() {
|
|
83
|
-
if (!this._isActive || this._isExiting) {
|
|
84
|
+
if (!this._isActive || this._isExiting || this._isSwappingSessions) {
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
87
|
const hasVisibleEditors = this.editorService.visibleEditors.length > 0;
|
|
@@ -109,7 +110,7 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
109
110
|
async _openSessionInChatPanel(session) {
|
|
110
111
|
session.setRead(true);
|
|
111
112
|
await this.chatSessionsService.activateChatSessionItemProvider(session.providerType);
|
|
112
|
-
await this.chatWidgetService.openSession(session.resource,
|
|
113
|
+
await this.chatWidgetService.openSession(session.resource, undefined, {
|
|
113
114
|
title: {
|
|
114
115
|
preferred: session.label
|
|
115
116
|
},
|
|
@@ -131,17 +132,23 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
131
132
|
`[AgentSessionProjection] Found ${diffResources.length} files with diffs to display`
|
|
132
133
|
);
|
|
133
134
|
if (diffResources.length > 0) {
|
|
134
|
-
await this.
|
|
135
|
-
|
|
136
|
-
});
|
|
137
|
-
await this.commandService.executeCommand("_workbench.openMultiDiffEditor", {
|
|
138
|
-
multiDiffSourceUri: session.resource.with({
|
|
135
|
+
await this.editorService.openEditor({
|
|
136
|
+
multiDiffSource: session.resource.with({
|
|
139
137
|
scheme: session.resource.scheme + "-agent-session-projection"
|
|
140
138
|
}),
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
139
|
+
resources: ( diffResources.map(dr => ({
|
|
140
|
+
original: {
|
|
141
|
+
resource: dr.originalUri
|
|
142
|
+
},
|
|
143
|
+
modified: {
|
|
144
|
+
resource: dr.modifiedUri
|
|
145
|
+
}
|
|
146
|
+
}))),
|
|
147
|
+
label: ( localize(5134, "{0} - All Changes", session.label))
|
|
148
|
+
}, MODAL_GROUP);
|
|
149
|
+
this.logService.trace(
|
|
150
|
+
`[AgentSessionProjection] Multi-diff editor opened successfully in modal view`
|
|
151
|
+
);
|
|
145
152
|
const sessionKey = ( session.resource.toString());
|
|
146
153
|
const newWorkingSet = this.editorGroupsService.saveWorkingSet(`agent-session-projection-${sessionKey}`);
|
|
147
154
|
this._sessionWorkingSets.set(sessionKey, newWorkingSet);
|
|
@@ -176,19 +183,48 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
176
183
|
this.logService.trace(
|
|
177
184
|
"[AgentSessionProjection] Session is in progress, opening chat without projection mode"
|
|
178
185
|
);
|
|
186
|
+
if (this._isActive) {
|
|
187
|
+
await this.exitProjection({
|
|
188
|
+
startNewChat: false
|
|
189
|
+
});
|
|
190
|
+
}
|
|
179
191
|
await this._openSessionInChatPanel(session);
|
|
180
192
|
return;
|
|
181
193
|
}
|
|
182
194
|
let hasUndecidedChanges = true;
|
|
195
|
+
let editingSessionExists = true;
|
|
183
196
|
if (session.providerType === AgentSessionProviders.Local) {
|
|
184
197
|
const editingSession = this.chatEditingService.getEditingSession(session.resource);
|
|
185
|
-
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
198
|
+
editingSessionExists = !!editingSession;
|
|
199
|
+
if (editingSession) {
|
|
200
|
+
hasUndecidedChanges = ( editingSession.entries.get().some(e => e.state.get() === ModifiedFileEntryState.Modified));
|
|
201
|
+
if (!hasUndecidedChanges) {
|
|
202
|
+
this.logService.trace(
|
|
203
|
+
"[AgentSessionProjection] Local session has no undecided changes, opening chat without projection mode"
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
} else {
|
|
207
|
+
hasUndecidedChanges = false;
|
|
208
|
+
this.logService.trace("[AgentSessionProjection] Local session has no editing session yet");
|
|
190
209
|
}
|
|
191
210
|
}
|
|
211
|
+
if (!hasUndecidedChanges && this._isActive && editingSessionExists) {
|
|
212
|
+
this.logService.trace(
|
|
213
|
+
"[AgentSessionProjection] Switching to session without changes while in projection mode, exiting projection"
|
|
214
|
+
);
|
|
215
|
+
await this.exitProjection({
|
|
216
|
+
startNewChat: false
|
|
217
|
+
});
|
|
218
|
+
await this._openSessionInChatPanel(session);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (!hasUndecidedChanges && this._isActive && !editingSessionExists) {
|
|
222
|
+
this.logService.trace(
|
|
223
|
+
"[AgentSessionProjection] Switching to session without editing session while in projection mode, staying in projection"
|
|
224
|
+
);
|
|
225
|
+
await this._openSessionInChatPanel(session);
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
192
228
|
if (hasUndecidedChanges) {
|
|
193
229
|
if (!this._isActive && !this._preProjectionWorkingSet) {
|
|
194
230
|
const visibleEditorsBefore = this.editorService.visibleEditors.length;
|
|
@@ -198,46 +234,49 @@ let AgentSessionProjectionService = class AgentSessionProjectionService extends
|
|
|
198
234
|
visibleEditorsBefore
|
|
199
235
|
});
|
|
200
236
|
}
|
|
201
|
-
|
|
237
|
+
const isSwapping = this._isActive && this._activeSession;
|
|
238
|
+
if (isSwapping) {
|
|
239
|
+
this._isSwappingSessions = true;
|
|
202
240
|
const previousSessionKey = ( this._activeSession.resource.toString());
|
|
203
241
|
const previousWorkingSet = this.editorGroupsService.saveWorkingSet(`agent-session-projection-${previousSessionKey}`);
|
|
204
242
|
this._sessionWorkingSets.set(previousSessionKey, previousWorkingSet);
|
|
205
243
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
} else {
|
|
213
|
-
filesOpened = await this._openSessionFiles(session);
|
|
214
|
-
}
|
|
215
|
-
if (!filesOpened) {
|
|
216
|
-
this.logService.trace(
|
|
217
|
-
"[AgentSessionProjection] No files to display, opening chat without projection mode"
|
|
218
|
-
);
|
|
219
|
-
if (!this._isActive && this._preProjectionWorkingSet) {
|
|
220
|
-
await this.editorGroupsService.applyWorkingSet(this._preProjectionWorkingSet);
|
|
221
|
-
this.editorGroupsService.deleteWorkingSet(this._preProjectionWorkingSet);
|
|
222
|
-
this._preProjectionWorkingSet = undefined;
|
|
223
|
-
}
|
|
224
|
-
} else {
|
|
225
|
-
const wasActive = this._isActive;
|
|
226
|
-
this._isActive = true;
|
|
227
|
-
this._activeSession = session;
|
|
228
|
-
this._inProjectionModeContextKey.set(true);
|
|
229
|
-
this.layoutService.mainContainer.classList.add("agent-session-projection-active");
|
|
230
|
-
if (!wasActive) {
|
|
231
|
-
this._wasAuxiliaryBarMaximized = isAuxBarMaximized;
|
|
232
|
-
this.logService.trace("[AgentSessionProjection] captured auxiliary bar maximized state", {
|
|
233
|
-
wasAuxiliaryBarMaximized: this._wasAuxiliaryBarMaximized
|
|
234
|
-
});
|
|
244
|
+
try {
|
|
245
|
+
let filesOpened = false;
|
|
246
|
+
if (session.providerType === AgentSessionProviders.Local) {
|
|
247
|
+
filesOpened = true;
|
|
248
|
+
} else {
|
|
249
|
+
filesOpened = await this._openSessionFiles(session);
|
|
235
250
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
251
|
+
if (!filesOpened) {
|
|
252
|
+
this.logService.trace(
|
|
253
|
+
"[AgentSessionProjection] No files to display, opening chat without projection mode"
|
|
254
|
+
);
|
|
255
|
+
if (!this._isActive && this._preProjectionWorkingSet) {
|
|
256
|
+
await this.editorGroupsService.applyWorkingSet(this._preProjectionWorkingSet);
|
|
257
|
+
this.editorGroupsService.deleteWorkingSet(this._preProjectionWorkingSet);
|
|
258
|
+
this._preProjectionWorkingSet = undefined;
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
const wasActive = this._isActive;
|
|
262
|
+
this._isActive = true;
|
|
263
|
+
this._activeSession = session;
|
|
264
|
+
this._inProjectionModeContextKey.set(true);
|
|
265
|
+
this.layoutService.mainContainer.classList.add("agent-session-projection-active");
|
|
266
|
+
if (!wasActive) {
|
|
267
|
+
this._wasAuxiliaryBarMaximized = isAuxBarMaximized;
|
|
268
|
+
this.logService.trace("[AgentSessionProjection] captured auxiliary bar maximized state", {
|
|
269
|
+
wasAuxiliaryBarMaximized: this._wasAuxiliaryBarMaximized
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
this.agentTitleBarStatusService.enterSessionMode(session.resource, session.label);
|
|
273
|
+
if (!wasActive) {
|
|
274
|
+
this._onDidChangeProjectionMode.fire(true);
|
|
275
|
+
}
|
|
276
|
+
this._onDidChangeActiveSession.fire(session);
|
|
239
277
|
}
|
|
240
|
-
|
|
278
|
+
} finally {
|
|
279
|
+
this._isSwappingSessions = false;
|
|
241
280
|
}
|
|
242
281
|
}
|
|
243
282
|
await this._openSessionInChatPanel(session);
|
|
@@ -73,6 +73,12 @@ let AgentSessionReadyContribution = class AgentSessionReadyContribution extends
|
|
|
73
73
|
this._checkSession(currentWidget.viewModel?.sessionResource);
|
|
74
74
|
}
|
|
75
75
|
}));
|
|
76
|
+
this._register(this.agentSessionsService.model.onDidChangeSessions(() => {
|
|
77
|
+
const currentWidget = this.chatWidgetService.getAllWidgets().find(w => w.location === ChatAgentLocation.Chat);
|
|
78
|
+
if (currentWidget) {
|
|
79
|
+
this._checkSession(currentWidget.viewModel?.sessionResource);
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
76
82
|
}
|
|
77
83
|
_watchWidget(widget) {
|
|
78
84
|
this._widgetDisposables.clear();
|
|
@@ -85,6 +91,16 @@ let AgentSessionReadyContribution = class AgentSessionReadyContribution extends
|
|
|
85
91
|
if (sessionResource?.toString() !== this._watchedSessionResource?.toString()) {
|
|
86
92
|
this._suppressSessionReady = false;
|
|
87
93
|
}
|
|
94
|
+
if (this.agentSessionProjectionService.isActive) {
|
|
95
|
+
const activeSession = this.agentSessionProjectionService.activeSession;
|
|
96
|
+
if (sessionResource && activeSession && ( sessionResource.toString()) !== ( activeSession.resource.toString())) {
|
|
97
|
+
const newSession = this.agentSessionsService.getSession(sessionResource);
|
|
98
|
+
if (newSession) {
|
|
99
|
+
this.agentSessionProjectionService.enterProjection(newSession);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
88
104
|
this._updateSessionReadyState(sessionResource);
|
|
89
105
|
}
|
|
90
106
|
_clearEntriesWatcher() {
|
|
@@ -101,7 +117,6 @@ let AgentSessionReadyContribution = class AgentSessionReadyContribution extends
|
|
|
101
117
|
}
|
|
102
118
|
if (this.agentSessionProjectionService.isActive) {
|
|
103
119
|
this._clearEntriesWatcher();
|
|
104
|
-
this.agentTitleBarStatusService.exitSessionReadyMode();
|
|
105
120
|
return;
|
|
106
121
|
}
|
|
107
122
|
if (!sessionResource) {
|
|
@@ -181,14 +196,14 @@ registerWorkbenchContribution2(
|
|
|
181
196
|
);
|
|
182
197
|
MenuRegistry.appendMenuItem(MenuId.CommandCenter, {
|
|
183
198
|
submenu: MenuId.AgentsTitleBarControlMenu,
|
|
184
|
-
title: ( localize(
|
|
199
|
+
title: ( localize(5135, "Agents")),
|
|
185
200
|
icon: Codicon.chatSparkle,
|
|
186
201
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ContextKeyExpr.has(`config.${ChatConfiguration.AgentStatusEnabled}`)), ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`)))))),
|
|
187
202
|
order: 10002
|
|
188
203
|
});
|
|
189
204
|
MenuRegistry.appendMenuItem(MenuId.TitleBar, {
|
|
190
205
|
submenu: MenuId.ChatTitleBarMenu,
|
|
191
|
-
title: ( localize(
|
|
206
|
+
title: ( localize(5136, "Chat")),
|
|
192
207
|
group: "navigation",
|
|
193
208
|
icon: Codicon.chatSparkle,
|
|
194
209
|
when: ( ContextKeyExpr.and(ChatContextKeys.supported, ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabled.negate()))), ( ContextKeyExpr.has(`config.${ChatConfiguration.AgentStatusEnabled}`)), ( ( ContextKeyExpr.has("config.window.commandCenter")).negate()))),
|
|
@@ -197,7 +212,7 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, {
|
|
|
197
212
|
MenuRegistry.appendMenuItem(MenuId.AgentsTitleBarControlMenu, {
|
|
198
213
|
command: {
|
|
199
214
|
id: "workbench.action.chat.toggle",
|
|
200
|
-
title: ( localize(
|
|
215
|
+
title: ( localize(5137, "Open Chat"))
|
|
201
216
|
},
|
|
202
217
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ContextKeyExpr.has(`config.${ChatConfiguration.AgentStatusEnabled}`)), ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`)))))),
|
|
203
218
|
group: "a_open",
|
|
@@ -206,7 +221,7 @@ MenuRegistry.appendMenuItem(MenuId.AgentsTitleBarControlMenu, {
|
|
|
206
221
|
MenuRegistry.appendMenuItem(MenuId.AgentsTitleBarControlMenu, {
|
|
207
222
|
command: {
|
|
208
223
|
id: `toggle.${ChatConfiguration.UnifiedAgentsBar}`,
|
|
209
|
-
title: ( localize(
|
|
224
|
+
title: ( localize(5138, "Agent Quick Input (Experimental)")),
|
|
210
225
|
toggled: ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))
|
|
211
226
|
},
|
|
212
227
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ProductQualityContext.notEqualsTo("stable")))),
|
|
@@ -20,6 +20,7 @@ import { IActionViewItemService } from "@codingame/monaco-vscode-api/vscode/vs/p
|
|
|
20
20
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
21
21
|
import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
|
|
22
22
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
23
|
+
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
23
24
|
/**
|
|
24
25
|
* Agent Status Widget - renders agent status in the command center.
|
|
25
26
|
*
|
|
@@ -47,6 +48,7 @@ export declare class AgentTitleBarStatusWidget extends BaseActionViewItem {
|
|
|
47
48
|
private readonly configurationService;
|
|
48
49
|
private readonly chatEntitlementService;
|
|
49
50
|
private readonly chatWidgetService;
|
|
51
|
+
private readonly telemetryService;
|
|
50
52
|
private _container;
|
|
51
53
|
private readonly _dynamicDisposables;
|
|
52
54
|
/** The currently displayed in-progress session (if any) - clicking pill opens this */
|
|
@@ -63,7 +65,7 @@ export declare class AgentTitleBarStatusWidget extends BaseActionViewItem {
|
|
|
63
65
|
private readonly _commandCenterMenu;
|
|
64
66
|
/** Menu for ChatTitleBarMenu items (same as chat controls dropdown) */
|
|
65
67
|
private readonly _chatTitleBarMenu;
|
|
66
|
-
constructor(action: IAction, options: IBaseActionViewItemOptions | undefined, instantiationService: IInstantiationService, agentTitleBarStatusService: IAgentTitleBarStatusService, hoverService: IHoverService, commandService: ICommandService, keybindingService: IKeybindingService, agentSessionsService: IAgentSessionsService, labelService: ILabelService, workspaceContextService: IWorkspaceContextService, environmentService: IBrowserWorkbenchEnvironmentService, editorGroupsService: IEditorGroupsService, editorService: IEditorService, menuService: IMenuService, contextKeyService: IContextKeyService, storageService: IStorageService, configurationService: IConfigurationService, chatEntitlementService: IChatEntitlementService, chatWidgetService: IChatWidgetService);
|
|
68
|
+
constructor(action: IAction, options: IBaseActionViewItemOptions | undefined, instantiationService: IInstantiationService, agentTitleBarStatusService: IAgentTitleBarStatusService, hoverService: IHoverService, commandService: ICommandService, keybindingService: IKeybindingService, agentSessionsService: IAgentSessionsService, labelService: ILabelService, workspaceContextService: IWorkspaceContextService, environmentService: IBrowserWorkbenchEnvironmentService, editorGroupsService: IEditorGroupsService, editorService: IEditorService, menuService: IMenuService, contextKeyService: IContextKeyService, storageService: IStorageService, configurationService: IConfigurationService, chatEntitlementService: IChatEntitlementService, chatWidgetService: IChatWidgetService, telemetryService: ITelemetryService);
|
|
67
69
|
render(container: HTMLElement): void;
|
|
68
70
|
setFocusable(_focusable: boolean): void;
|
|
69
71
|
focus(): void;
|
|
@@ -48,6 +48,7 @@ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
48
48
|
import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
49
49
|
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
50
50
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
51
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
51
52
|
import { isSessionInProgressStatus, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
52
53
|
|
|
53
54
|
registerCss(agenttitlebarstatuswidget);
|
|
@@ -57,7 +58,7 @@ const OPEN_CHAT_QUOTA_EXCEEDED_DIALOG = "workbench.action.chat.openQuotaExceeded
|
|
|
57
58
|
const QUICK_OPEN_ACTION_ID = "workbench.action.quickOpenWithModes";
|
|
58
59
|
const FILTER_STORAGE_KEY = "agentSessions.filterExcludes.agentsessionsviewerfiltersubmenu";
|
|
59
60
|
const PREVIOUS_FILTER_STORAGE_KEY = "agentSessions.filterExcludes.previousUserFilter";
|
|
60
|
-
const NLS_EXTENSION_HOST = ( localize(
|
|
61
|
+
const NLS_EXTENSION_HOST = ( localize(5139, "[Extension Development Host]"));
|
|
61
62
|
const TITLE_DIRTY = "● ";
|
|
62
63
|
let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActionViewItem {
|
|
63
64
|
constructor(
|
|
@@ -79,7 +80,8 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
79
80
|
storageService,
|
|
80
81
|
configurationService,
|
|
81
82
|
chatEntitlementService,
|
|
82
|
-
chatWidgetService
|
|
83
|
+
chatWidgetService,
|
|
84
|
+
telemetryService
|
|
83
85
|
) {
|
|
84
86
|
super(undefined, action, options);
|
|
85
87
|
this.instantiationService = instantiationService;
|
|
@@ -99,6 +101,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
99
101
|
this.configurationService = configurationService;
|
|
100
102
|
this.chatEntitlementService = chatEntitlementService;
|
|
101
103
|
this.chatWidgetService = chatWidgetService;
|
|
104
|
+
this.telemetryService = telemetryService;
|
|
102
105
|
this._dynamicDisposables = this._register(( new DisposableStore()));
|
|
103
106
|
this._isRendering = false;
|
|
104
107
|
this._badgeFilterAppliedByThisWindow = null;
|
|
@@ -282,7 +285,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
282
285
|
pill.classList.add("needs-attention");
|
|
283
286
|
}
|
|
284
287
|
pill.setAttribute("role", "button");
|
|
285
|
-
pill.setAttribute("aria-label", ( localize(
|
|
288
|
+
pill.setAttribute("aria-label", ( localize(5140, "Open Quick Access")));
|
|
286
289
|
pill.tabIndex = 0;
|
|
287
290
|
this._firstFocusableElement = pill;
|
|
288
291
|
this._container.appendChild(pill);
|
|
@@ -307,7 +310,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
307
310
|
if (progressText) {
|
|
308
311
|
label.classList.add("has-progress");
|
|
309
312
|
}
|
|
310
|
-
const hoverLabel = ( localize(
|
|
313
|
+
const hoverLabel = ( localize(5141, "Ask anything or describe what to build next"));
|
|
311
314
|
label.textContent = defaultLabel;
|
|
312
315
|
pill.appendChild(label);
|
|
313
316
|
const sendIcon = $("span.agent-status-send");
|
|
@@ -331,10 +334,10 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
331
334
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
332
335
|
disposables.add(this.hoverService.setupManagedHover(hoverDelegate, pill, () => {
|
|
333
336
|
if (this._displayedSession) {
|
|
334
|
-
return localize(
|
|
337
|
+
return localize(5142, "Open session: {0}", this._displayedSession.label);
|
|
335
338
|
}
|
|
336
339
|
const kbForTooltip = this.keybindingService.lookupKeybinding(UNIFIED_QUICK_ACCESS_ACTION_ID)?.getLabel();
|
|
337
|
-
return kbForTooltip ? ( localize(
|
|
340
|
+
return kbForTooltip ? ( localize(5143, "Open Quick Access ({0})", kbForTooltip)) : ( localize(5144, "Open Quick Access"));
|
|
338
341
|
}));
|
|
339
342
|
disposables.add(addDisposableListener(pill, EventType.CLICK, e => {
|
|
340
343
|
e.preventDefault();
|
|
@@ -367,13 +370,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
367
370
|
this._renderSearchButton(disposables, pill);
|
|
368
371
|
const titleLabel = $("span.agent-status-title");
|
|
369
372
|
const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
|
|
370
|
-
titleLabel.textContent = sessionInfo?.title ?? ( localize(
|
|
373
|
+
titleLabel.textContent = sessionInfo?.title ?? ( localize(5145, "Agent Session Projection"));
|
|
371
374
|
pill.appendChild(titleLabel);
|
|
372
375
|
this._renderEscapeButton(disposables, pill);
|
|
373
376
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
374
377
|
disposables.add(this.hoverService.setupManagedHover(hoverDelegate, pill, () => {
|
|
375
378
|
const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
|
|
376
|
-
return sessionInfo ? ( localize(
|
|
379
|
+
return sessionInfo ? ( localize(5146, "Agent Session Projection: {0}", sessionInfo.title)) : ( localize(5145, "Agent Session Projection"));
|
|
377
380
|
}));
|
|
378
381
|
const exitHandler = e => {
|
|
379
382
|
e.preventDefault();
|
|
@@ -399,13 +402,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
399
402
|
this._container.appendChild(pill);
|
|
400
403
|
const titleLabel = $("span.agent-status-title");
|
|
401
404
|
const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
|
|
402
|
-
titleLabel.textContent = sessionInfo?.title ?? ( localize(
|
|
405
|
+
titleLabel.textContent = sessionInfo?.title ?? ( localize(5147, "Review Changes"));
|
|
403
406
|
pill.appendChild(titleLabel);
|
|
404
407
|
this._renderEnterButton(disposables, pill);
|
|
405
408
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
406
409
|
disposables.add(this.hoverService.setupManagedHover(hoverDelegate, pill, () => {
|
|
407
410
|
const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
|
|
408
|
-
return sessionInfo ? ( localize(
|
|
411
|
+
return sessionInfo ? ( localize(5148, "Review changes from: {0}", sessionInfo.title)) : ( localize(5149, "Review agent session changes"));
|
|
409
412
|
}));
|
|
410
413
|
const enterHandler = e => {
|
|
411
414
|
e.preventDefault();
|
|
@@ -484,7 +487,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
484
487
|
const searchButton = $("span.agent-status-search");
|
|
485
488
|
reset(searchButton, renderIcon(Codicon.searchSparkle));
|
|
486
489
|
searchButton.setAttribute("role", "button");
|
|
487
|
-
searchButton.setAttribute("aria-label", ( localize(
|
|
490
|
+
searchButton.setAttribute("aria-label", ( localize(5150, "Open Quick Open")));
|
|
488
491
|
searchButton.tabIndex = 0;
|
|
489
492
|
if (!this._firstFocusableElement) {
|
|
490
493
|
this._firstFocusableElement = searchButton;
|
|
@@ -492,7 +495,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
492
495
|
container.appendChild(searchButton);
|
|
493
496
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
494
497
|
const searchKb = this.keybindingService.lookupKeybinding(QUICK_OPEN_ACTION_ID)?.getLabel();
|
|
495
|
-
const searchTooltip = searchKb ? ( localize(
|
|
498
|
+
const searchTooltip = searchKb ? ( localize(5151, "Go to File ({0})", searchKb)) : ( localize(5152, "Go to File"));
|
|
496
499
|
disposables.add(
|
|
497
500
|
this.hoverService.setupManagedHover(hoverDelegate, searchButton, searchTooltip)
|
|
498
501
|
);
|
|
@@ -534,17 +537,17 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
534
537
|
const anonymous = this.chatEntitlementService.anonymous;
|
|
535
538
|
const free = this.chatEntitlementService.entitlement === ChatEntitlement.Free;
|
|
536
539
|
let primaryActionId = TOGGLE_CHAT_ACTION_ID;
|
|
537
|
-
let primaryActionTitle = ( localize(
|
|
540
|
+
let primaryActionTitle = ( localize(5153, "Toggle Chat"));
|
|
538
541
|
let primaryActionIcon = Codicon.chatSparkle;
|
|
539
542
|
if (chatSentiment.installed && !chatSentiment.disabled) {
|
|
540
543
|
if (signedOut && !anonymous) {
|
|
541
544
|
primaryActionId = CHAT_SETUP_ACTION_ID;
|
|
542
|
-
primaryActionTitle = ( localize(
|
|
545
|
+
primaryActionTitle = ( localize(5154, "Sign in to use AI features..."));
|
|
543
546
|
primaryActionIcon = Codicon.chatSparkleError;
|
|
544
547
|
} else if (chatQuotaExceeded && free) {
|
|
545
548
|
primaryActionId = OPEN_CHAT_QUOTA_EXCEEDED_DIALOG;
|
|
546
549
|
primaryActionTitle = ( localize(
|
|
547
|
-
|
|
550
|
+
5155,
|
|
548
551
|
"GitHub Copilot Free plan chat messages quota reached. Click for details."
|
|
549
552
|
));
|
|
550
553
|
primaryActionIcon = Codicon.chatSparkleWarning;
|
|
@@ -557,7 +560,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
557
560
|
}, undefined, undefined, undefined, undefined);
|
|
558
561
|
const dropdownAction = toAction({
|
|
559
562
|
id: "agentStatus.sparkle.dropdown",
|
|
560
|
-
label: "",
|
|
563
|
+
label: ( localize(5156, "More Actions")),
|
|
561
564
|
run() {}
|
|
562
565
|
});
|
|
563
566
|
const sparkleDropdown = this.instantiationService.createInstance(
|
|
@@ -614,7 +617,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
614
617
|
this._openSessionsWithFilter("unread");
|
|
615
618
|
}
|
|
616
619
|
}));
|
|
617
|
-
const unreadTooltip = unreadSessions.length === 1 ? ( localize(
|
|
620
|
+
const unreadTooltip = unreadSessions.length === 1 ? ( localize(5157, "{0} unread session", unreadSessions.length)) : ( localize(5158, "{0} unread sessions", unreadSessions.length));
|
|
618
621
|
disposables.add(
|
|
619
622
|
this.hoverService.setupManagedHover(hoverDelegate, unreadSection, unreadTooltip)
|
|
620
623
|
);
|
|
@@ -656,7 +659,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
656
659
|
this._openSessionsWithFilter("inProgress");
|
|
657
660
|
}
|
|
658
661
|
}));
|
|
659
|
-
const activeTooltip = hasAttentionNeeded ? (attentionNeededSessions.length === 1 ? ( localize(
|
|
662
|
+
const activeTooltip = hasAttentionNeeded ? (attentionNeededSessions.length === 1 ? ( localize(5159, "{0} session needs input", attentionNeededSessions.length)) : ( localize(5160, "{0} sessions need input", attentionNeededSessions.length))) : (activeSessions.length === 1 ? ( localize(5161, "{0} session in progress", activeSessions.length)) : ( localize(5162, "{0} sessions in progress", activeSessions.length)));
|
|
660
663
|
disposables.add(
|
|
661
664
|
this.hoverService.setupManagedHover(hoverDelegate, activeSection, activeTooltip)
|
|
662
665
|
);
|
|
@@ -751,6 +754,11 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
751
754
|
} = this._getCurrentFilterState();
|
|
752
755
|
const currentFilter = this._getStoredFilter();
|
|
753
756
|
const preservedProviders = currentFilter?.providers ?? [];
|
|
757
|
+
const isToggleOff = (filterType === "unread" && isFilteredToUnread) || (filterType === "inProgress" && isFilteredToInProgress);
|
|
758
|
+
this.telemetryService.publicLog2("agentStatusWidget.click", {
|
|
759
|
+
source: filterType,
|
|
760
|
+
action: isToggleOff ? "clearFilter" : "applyFilter"
|
|
761
|
+
});
|
|
754
762
|
if (filterType === "unread") {
|
|
755
763
|
if (isFilteredToUnread) {
|
|
756
764
|
this._restoreUserFilter();
|
|
@@ -784,12 +792,12 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
784
792
|
const escButton = $("span.agent-status-esc-button");
|
|
785
793
|
escButton.textContent = "Esc";
|
|
786
794
|
escButton.setAttribute("role", "button");
|
|
787
|
-
escButton.setAttribute("aria-label", ( localize(
|
|
795
|
+
escButton.setAttribute("aria-label", ( localize(5163, "Exit Agent Session Projection")));
|
|
788
796
|
escButton.tabIndex = 0;
|
|
789
797
|
parent.appendChild(escButton);
|
|
790
798
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
791
799
|
disposables.add(
|
|
792
|
-
this.hoverService.setupManagedHover(hoverDelegate, escButton, ( localize(
|
|
800
|
+
this.hoverService.setupManagedHover(hoverDelegate, escButton, ( localize(5164, "Exit Agent Session Projection (Escape)")))
|
|
793
801
|
);
|
|
794
802
|
disposables.add(addDisposableListener(escButton, EventType.MOUSE_DOWN, e => {
|
|
795
803
|
e.preventDefault();
|
|
@@ -812,16 +820,16 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
812
820
|
_renderEnterButton(disposables, parent) {
|
|
813
821
|
const enterButton = $("span.agent-status-enter-button");
|
|
814
822
|
const keybinding = this.keybindingService.lookupKeybinding(EnterAgentSessionProjectionAction.ID);
|
|
815
|
-
enterButton.textContent = keybinding?.getLabel() ?? ( localize(
|
|
823
|
+
enterButton.textContent = keybinding?.getLabel() ?? ( localize(5165, "Review"));
|
|
816
824
|
enterButton.setAttribute("role", "button");
|
|
817
|
-
enterButton.setAttribute("aria-label", ( localize(
|
|
825
|
+
enterButton.setAttribute("aria-label", ( localize(5166, "Enter Agent Session Projection")));
|
|
818
826
|
enterButton.tabIndex = 0;
|
|
819
827
|
if (!this._firstFocusableElement) {
|
|
820
828
|
this._firstFocusableElement = enterButton;
|
|
821
829
|
}
|
|
822
830
|
parent.appendChild(enterButton);
|
|
823
831
|
const hoverDelegate = getDefaultHoverDelegate("mouse");
|
|
824
|
-
const hoverText = keybinding ? ( localize(
|
|
832
|
+
const hoverText = keybinding ? ( localize(5167, "Review Changes ({0})", keybinding.getLabel())) : ( localize(5168, "Review Changes"));
|
|
825
833
|
disposables.add(this.hoverService.setupManagedHover(hoverDelegate, enterButton, hoverText));
|
|
826
834
|
const enterProjection = e => {
|
|
827
835
|
e.preventDefault();
|
|
@@ -844,8 +852,16 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
844
852
|
}
|
|
845
853
|
_handlePillClick() {
|
|
846
854
|
if (this._displayedSession) {
|
|
855
|
+
this.telemetryService.publicLog2("agentStatusWidget.click", {
|
|
856
|
+
source: "pill",
|
|
857
|
+
action: "openSession"
|
|
858
|
+
});
|
|
847
859
|
this.instantiationService.invokeFunction(openSession, this._displayedSession);
|
|
848
860
|
} else {
|
|
861
|
+
this.telemetryService.publicLog2("agentStatusWidget.click", {
|
|
862
|
+
source: "pill",
|
|
863
|
+
action: "quickAccess"
|
|
864
|
+
});
|
|
849
865
|
this.commandService.executeCommand(UNIFIED_QUICK_ACCESS_ACTION_ID);
|
|
850
866
|
}
|
|
851
867
|
}
|
|
@@ -888,13 +904,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
888
904
|
}
|
|
889
905
|
}
|
|
890
906
|
if (!label) {
|
|
891
|
-
label = ( localize(
|
|
907
|
+
label = ( localize(5169, "Ask anything..."));
|
|
892
908
|
}
|
|
893
909
|
if (prefix) {
|
|
894
|
-
label = ( localize(
|
|
910
|
+
label = ( localize(5170, "{0} {1}", prefix, label));
|
|
895
911
|
}
|
|
896
912
|
if (suffix) {
|
|
897
|
-
label = ( localize(
|
|
913
|
+
label = ( localize(5171, "{0} {1}", label, suffix));
|
|
898
914
|
}
|
|
899
915
|
return label.replaceAll(/\r\n|\r|\n/g, "⏎");
|
|
900
916
|
}
|
|
@@ -913,7 +929,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
|
|
|
913
929
|
};
|
|
914
930
|
}
|
|
915
931
|
};
|
|
916
|
-
AgentTitleBarStatusWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IAgentTitleBarStatusService)), ( __param(4, IHoverService)), ( __param(5, ICommandService)), ( __param(6, IKeybindingService)), ( __param(7, IAgentSessionsService)), ( __param(8, ILabelService)), ( __param(9, IWorkspaceContextService)), ( __param(10, IBrowserWorkbenchEnvironmentService)), ( __param(11, IEditorGroupsService)), ( __param(12, IEditorService)), ( __param(13, IMenuService)), ( __param(14, IContextKeyService)), ( __param(15, IStorageService)), ( __param(16, IConfigurationService)), ( __param(17, IChatEntitlementService)), ( __param(18, IChatWidgetService))], AgentTitleBarStatusWidget));
|
|
932
|
+
AgentTitleBarStatusWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IAgentTitleBarStatusService)), ( __param(4, IHoverService)), ( __param(5, ICommandService)), ( __param(6, IKeybindingService)), ( __param(7, IAgentSessionsService)), ( __param(8, ILabelService)), ( __param(9, IWorkspaceContextService)), ( __param(10, IBrowserWorkbenchEnvironmentService)), ( __param(11, IEditorGroupsService)), ( __param(12, IEditorService)), ( __param(13, IMenuService)), ( __param(14, IContextKeyService)), ( __param(15, IStorageService)), ( __param(16, IConfigurationService)), ( __param(17, IChatEntitlementService)), ( __param(18, IChatWidgetService)), ( __param(19, ITelemetryService))], AgentTitleBarStatusWidget));
|
|
917
933
|
let AgentTitleBarStatusRendering = class AgentTitleBarStatusRendering extends Disposable {
|
|
918
934
|
static {
|
|
919
935
|
this.ID = "workbench.contrib.agentStatus.rendering";
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
flex: 1;
|
|
57
57
|
min-width: 0;
|
|
58
58
|
-webkit-app-region: no-drag;
|
|
59
|
-
background-color: var(--vscode-
|
|
59
|
+
background-color: var(--vscode-agentStatusIndicator-background);
|
|
60
60
|
border: 1px solid var(--vscode-commandCenter-border, transparent);
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
align-items: center;
|
|
219
219
|
height: 22px;
|
|
220
220
|
border-radius: 6px;
|
|
221
|
-
background-color: var(--vscode-
|
|
221
|
+
background-color: var(--vscode-agentStatusIndicator-background);
|
|
222
222
|
border: 1px solid var(--vscode-commandCenter-border, transparent);
|
|
223
223
|
flex-shrink: 0;
|
|
224
224
|
-webkit-app-region: no-drag;
|
|
@@ -247,9 +247,14 @@
|
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
.agent-status-badge-section.filtered {
|
|
250
|
+
color: var(--vscode-inputOption-activeForeground);
|
|
250
251
|
background-color: var(--vscode-inputOption-activeBackground);
|
|
251
252
|
}
|
|
252
253
|
|
|
254
|
+
.agent-status-badge-section.filtered .agent-status-icon .codicon {
|
|
255
|
+
color: var(--vscode-inputOption-activeForeground);
|
|
256
|
+
}
|
|
257
|
+
|
|
253
258
|
.agent-status-badge-section.filtered:hover {
|
|
254
259
|
filter: brightness(1.1);
|
|
255
260
|
}
|