@codingame/monaco-vscode-chat-service-override 26.2.2 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +35 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
|
@@ -41,6 +41,7 @@ import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/work
|
|
|
41
41
|
import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
|
|
42
42
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
43
43
|
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
44
|
+
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
44
45
|
import { ChatModeKind, ChatAgentLocation, ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
45
46
|
import { CHAT_CATEGORY, CHAT_SETUP_ACTION_ID, CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
46
47
|
import { ChatViewContainerId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
@@ -48,6 +49,7 @@ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workb
|
|
|
48
49
|
import { chatViewsWelcomeRegistry } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
|
|
49
50
|
import { ChatSetupAnonymous } from './chatSetup.js';
|
|
50
51
|
import { ChatSetupController } from './chatSetupController.js';
|
|
52
|
+
import { GrowthSessionController, registerGrowthSession } from './chatSetupGrowthSession.js';
|
|
51
53
|
import { SetupAgent, AINewSymbolNamesProvider, ChatCodeActionsProvider, AICodeActionsHelper } from './chatSetupProviders.js';
|
|
52
54
|
import { ChatSetup } from './chatSetupRunner.js';
|
|
53
55
|
|
|
@@ -70,7 +72,9 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
70
72
|
extensionEnablementService,
|
|
71
73
|
extensionsWorkbenchService,
|
|
72
74
|
extensionService,
|
|
73
|
-
environmentService
|
|
75
|
+
environmentService,
|
|
76
|
+
chatSessionsService,
|
|
77
|
+
configurationService
|
|
74
78
|
) {
|
|
75
79
|
super();
|
|
76
80
|
this.instantiationService = instantiationService;
|
|
@@ -80,6 +84,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
80
84
|
this.extensionsWorkbenchService = extensionsWorkbenchService;
|
|
81
85
|
this.extensionService = extensionService;
|
|
82
86
|
this.environmentService = environmentService;
|
|
87
|
+
this.chatSessionsService = chatSessionsService;
|
|
88
|
+
this.configurationService = configurationService;
|
|
83
89
|
const context = chatEntitlementService.context?.value;
|
|
84
90
|
const requests = chatEntitlementService.requests?.value;
|
|
85
91
|
if (!context || !requests) {
|
|
@@ -89,6 +95,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
89
95
|
this.instantiationService.createInstance(ChatSetupController, context, requests)
|
|
90
96
|
)));
|
|
91
97
|
this.registerSetupAgents(context, controller);
|
|
98
|
+
this.registerGrowthSession(chatEntitlementService);
|
|
92
99
|
this.registerActions(context, requests, controller);
|
|
93
100
|
this.registerUrlLinkHandler();
|
|
94
101
|
this.checkExtensionInstallation(context);
|
|
@@ -183,10 +190,34 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
183
190
|
};
|
|
184
191
|
this._register(Event.runAndSubscribe(context.onDidChange, () => updateRegistration()));
|
|
185
192
|
}
|
|
193
|
+
registerGrowthSession(chatEntitlementService) {
|
|
194
|
+
const growthSessionDisposables = markAsSingleton(( new MutableDisposable()));
|
|
195
|
+
const updateGrowthSession = () => {
|
|
196
|
+
const experimentEnabled = this.configurationService.getValue(ChatConfiguration.GrowthNotificationEnabled) === true;
|
|
197
|
+
const shouldShow = experimentEnabled && !chatEntitlementService.sentiment.installed;
|
|
198
|
+
if (shouldShow && !growthSessionDisposables.value) {
|
|
199
|
+
const disposables = ( new DisposableStore());
|
|
200
|
+
const controller = disposables.add(this.instantiationService.createInstance(GrowthSessionController));
|
|
201
|
+
if (!controller.isDismissed) {
|
|
202
|
+
disposables.add(registerGrowthSession(this.chatSessionsService, controller));
|
|
203
|
+
disposables.add(controller.onDidDismiss(() => {
|
|
204
|
+
growthSessionDisposables.clear();
|
|
205
|
+
}));
|
|
206
|
+
growthSessionDisposables.value = disposables;
|
|
207
|
+
} else {
|
|
208
|
+
disposables.dispose();
|
|
209
|
+
}
|
|
210
|
+
} else if (!shouldShow) {
|
|
211
|
+
growthSessionDisposables.clear();
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
this._register(chatEntitlementService.onDidChangeSentiment(() => updateGrowthSession()));
|
|
215
|
+
updateGrowthSession();
|
|
216
|
+
}
|
|
186
217
|
registerActions(context, requests, controller) {
|
|
187
218
|
class ChatSetupTriggerAction extends Action2 {
|
|
188
219
|
static {
|
|
189
|
-
this.CHAT_SETUP_ACTION_LABEL = ( localize2(
|
|
220
|
+
this.CHAT_SETUP_ACTION_LABEL = ( localize2(6061, "Use AI Features with Copilot for free..."));
|
|
190
221
|
}
|
|
191
222
|
constructor() {
|
|
192
223
|
super({
|
|
@@ -231,8 +262,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
231
262
|
confirmed
|
|
232
263
|
} = await dialogService.confirm({
|
|
233
264
|
type: Severity.Error,
|
|
234
|
-
message: ( localize(
|
|
235
|
-
primaryButton: ( localize(
|
|
265
|
+
message: ( localize(6062, "Chat setup failed. Would you like to try again?")),
|
|
266
|
+
primaryButton: ( localize(6063, "Retry"))
|
|
236
267
|
});
|
|
237
268
|
if (confirmed) {
|
|
238
269
|
return Boolean(await commandService.executeCommand(CHAT_SETUP_ACTION_ID, mode, options));
|
|
@@ -248,7 +279,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
248
279
|
title: ChatSetupTriggerAction.CHAT_SETUP_ACTION_LABEL
|
|
249
280
|
});
|
|
250
281
|
}
|
|
251
|
-
async run(accessor) {
|
|
282
|
+
async run(accessor, options) {
|
|
252
283
|
const commandService = accessor.get(ICommandService);
|
|
253
284
|
const telemetryService = accessor.get(ITelemetryService);
|
|
254
285
|
const chatEntitlementService = accessor.get(IChatEntitlementService);
|
|
@@ -257,7 +288,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
257
288
|
from: "api"
|
|
258
289
|
});
|
|
259
290
|
return commandService.executeCommand(CHAT_SETUP_ACTION_ID, undefined, {
|
|
260
|
-
forceAnonymous: chatEntitlementService.anonymous ? ChatSetupAnonymous.EnabledWithDialog : undefined
|
|
291
|
+
forceAnonymous: chatEntitlementService.anonymous ? ChatSetupAnonymous.EnabledWithDialog : undefined,
|
|
292
|
+
...options
|
|
261
293
|
});
|
|
262
294
|
}
|
|
263
295
|
}
|
|
@@ -265,7 +297,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
265
297
|
constructor() {
|
|
266
298
|
super({
|
|
267
299
|
id: "workbench.action.chat.triggerSetupForceSignIn",
|
|
268
|
-
title: ( localize2(
|
|
300
|
+
title: ( localize2(6064, "Sign in to use AI features"))
|
|
269
301
|
});
|
|
270
302
|
}
|
|
271
303
|
async run(accessor) {
|
|
@@ -303,7 +335,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
303
335
|
constructor() {
|
|
304
336
|
super({
|
|
305
337
|
id: "workbench.action.chat.triggerSetupFromAccounts",
|
|
306
|
-
title: ( localize2(
|
|
338
|
+
title: ( localize2(6065, "Sign in to use AI features...")),
|
|
307
339
|
menu: {
|
|
308
340
|
id: MenuId.AccountsContext,
|
|
309
341
|
group: "2_copilot",
|
|
@@ -326,8 +358,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
326
358
|
constructor() {
|
|
327
359
|
super({
|
|
328
360
|
id: "workbench.action.chat.upgradePlan",
|
|
329
|
-
title: ( localize2(
|
|
330
|
-
category: ( localize2(
|
|
361
|
+
title: ( localize2(6066, "Upgrade to GitHub Copilot Pro")),
|
|
362
|
+
category: ( localize2(6067, "Chat")),
|
|
331
363
|
f1: true,
|
|
332
364
|
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ContextKeyExpr.or(
|
|
333
365
|
ChatContextKeys.Entitlement.canSignUp,
|
|
@@ -368,8 +400,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
368
400
|
constructor() {
|
|
369
401
|
super({
|
|
370
402
|
id: "workbench.action.chat.manageOverages",
|
|
371
|
-
title: ( localize2(
|
|
372
|
-
category: ( localize2(
|
|
403
|
+
title: ( localize2(6068, "Manage GitHub Copilot Overages")),
|
|
404
|
+
category: ( localize2(6067, "Chat")),
|
|
373
405
|
f1: true,
|
|
374
406
|
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ContextKeyExpr.or(
|
|
375
407
|
ChatContextKeys.Entitlement.planPro,
|
|
@@ -422,8 +454,6 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
422
454
|
break;
|
|
423
455
|
}
|
|
424
456
|
case "chat.internal.review":
|
|
425
|
-
case "chat.internal.generateDocs":
|
|
426
|
-
case "chat.internal.generateTests":
|
|
427
457
|
{
|
|
428
458
|
const result = await commandService.executeCommand(CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID);
|
|
429
459
|
if (result) {
|
|
@@ -436,54 +466,34 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
436
466
|
registerGenerateCodeCommand("chat.internal.explain", "github.copilot.chat.explain");
|
|
437
467
|
registerGenerateCodeCommand("chat.internal.fix", "github.copilot.chat.fix");
|
|
438
468
|
registerGenerateCodeCommand("chat.internal.review", "github.copilot.chat.review");
|
|
439
|
-
registerGenerateCodeCommand("chat.internal.generateDocs", "github.copilot.chat.generateDocs");
|
|
440
|
-
registerGenerateCodeCommand("chat.internal.generateTests", "github.copilot.chat.generateTests");
|
|
441
469
|
const internalGenerateCodeContext = ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabled.negate()), ( ChatContextKeys.Setup.installed.negate())));
|
|
442
470
|
MenuRegistry.appendMenuItem(MenuId.EditorContext, {
|
|
443
471
|
command: {
|
|
444
472
|
id: "chat.internal.explain",
|
|
445
|
-
title: ( localize(
|
|
473
|
+
title: ( localize(6069, "Explain"))
|
|
446
474
|
},
|
|
447
475
|
group: "1_chat",
|
|
448
476
|
order: 4,
|
|
449
477
|
when: internalGenerateCodeContext
|
|
450
478
|
});
|
|
451
|
-
MenuRegistry.appendMenuItem(MenuId.
|
|
479
|
+
MenuRegistry.appendMenuItem(MenuId.EditorContext, {
|
|
452
480
|
command: {
|
|
453
481
|
id: "chat.internal.fix",
|
|
454
|
-
title: ( localize(
|
|
482
|
+
title: ( localize(6070, "Fix"))
|
|
455
483
|
},
|
|
456
|
-
group: "
|
|
457
|
-
order:
|
|
484
|
+
group: "1_chat",
|
|
485
|
+
order: 5,
|
|
458
486
|
when: ( ContextKeyExpr.and(internalGenerateCodeContext, ( EditorContextKeys.readOnly.negate())))
|
|
459
487
|
});
|
|
460
|
-
MenuRegistry.appendMenuItem(MenuId.
|
|
488
|
+
MenuRegistry.appendMenuItem(MenuId.EditorContext, {
|
|
461
489
|
command: {
|
|
462
490
|
id: "chat.internal.review",
|
|
463
|
-
title: ( localize(
|
|
491
|
+
title: ( localize(6071, "Code Review"))
|
|
464
492
|
},
|
|
465
|
-
group: "
|
|
466
|
-
order:
|
|
493
|
+
group: "1_chat",
|
|
494
|
+
order: 6,
|
|
467
495
|
when: internalGenerateCodeContext
|
|
468
496
|
});
|
|
469
|
-
MenuRegistry.appendMenuItem(MenuId.ChatTextEditorMenu, {
|
|
470
|
-
command: {
|
|
471
|
-
id: "chat.internal.generateDocs",
|
|
472
|
-
title: ( localize(5566, "Generate Docs"))
|
|
473
|
-
},
|
|
474
|
-
group: "2_generate",
|
|
475
|
-
order: 1,
|
|
476
|
-
when: ( ContextKeyExpr.and(internalGenerateCodeContext, ( EditorContextKeys.readOnly.negate())))
|
|
477
|
-
});
|
|
478
|
-
MenuRegistry.appendMenuItem(MenuId.ChatTextEditorMenu, {
|
|
479
|
-
command: {
|
|
480
|
-
id: "chat.internal.generateTests",
|
|
481
|
-
title: ( localize(5567, "Generate Tests"))
|
|
482
|
-
},
|
|
483
|
-
group: "2_generate",
|
|
484
|
-
order: 2,
|
|
485
|
-
when: ( ContextKeyExpr.and(internalGenerateCodeContext, ( EditorContextKeys.readOnly.negate())))
|
|
486
|
-
});
|
|
487
497
|
}
|
|
488
498
|
registerUrlLinkHandler() {
|
|
489
499
|
this._register(
|
|
@@ -535,7 +545,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
535
545
|
}));
|
|
536
546
|
}
|
|
537
547
|
};
|
|
538
|
-
ChatSetupContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IChatEntitlementService)), ( __param(2, ILogService)), ( __param(3, IContextKeyService)), ( __param(4, IWorkbenchExtensionEnablementService)), ( __param(5, IExtensionsWorkbenchService)), ( __param(6, IExtensionService)), ( __param(7, IEnvironmentService))], ChatSetupContribution));
|
|
548
|
+
ChatSetupContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IChatEntitlementService)), ( __param(2, ILogService)), ( __param(3, IContextKeyService)), ( __param(4, IWorkbenchExtensionEnablementService)), ( __param(5, IExtensionsWorkbenchService)), ( __param(6, IExtensionService)), ( __param(7, IEnvironmentService)), ( __param(8, IChatSessionsService)), ( __param(9, IConfigurationService))], ChatSetupContribution));
|
|
539
549
|
let ChatSetupExtensionUrlHandler = class ChatSetupExtensionUrlHandler {
|
|
540
550
|
constructor(productService, commandService, telemetryService, chatModeService) {
|
|
541
551
|
this.productService = productService;
|
|
@@ -647,7 +657,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
|
|
|
647
657
|
}
|
|
648
658
|
await this.extensionsWorkbenchService.setEnablement([defaultChatExtension], state);
|
|
649
659
|
await this.extensionsWorkbenchService.updateRunningExtensions(
|
|
650
|
-
state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(
|
|
660
|
+
state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(6072, "Enabling AI features")) : ( localize(6073, "Disabling AI features"))
|
|
651
661
|
);
|
|
652
662
|
}
|
|
653
663
|
maybeHideAuxiliaryBar() {
|
|
@@ -665,7 +675,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
|
|
|
665
675
|
this.ID = "workbench.action.chat.hideSetup";
|
|
666
676
|
}
|
|
667
677
|
static {
|
|
668
|
-
this.TITLE = ( localize2(
|
|
678
|
+
this.TITLE = ( localize2(6074, "Learn How to Hide AI Features"));
|
|
669
679
|
}
|
|
670
680
|
constructor() {
|
|
671
681
|
super({
|
|
@@ -28,7 +28,7 @@ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode
|
|
|
28
28
|
import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
29
29
|
import { CHAT_OPEN_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
30
30
|
import { ChatViewContainerId, ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
31
|
-
import { ChatSetupStep, refreshTokens } from './chatSetup.js';
|
|
31
|
+
import { ChatSetupStep, maybeEnableAuthExtension, refreshTokens } from './chatSetup.js';
|
|
32
32
|
import { IDefaultAccountService } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount.service';
|
|
33
33
|
|
|
34
34
|
const defaultChat = {
|
|
@@ -106,7 +106,7 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
106
106
|
}
|
|
107
107
|
async setup(options = {}) {
|
|
108
108
|
const watch = ( new StopWatch(false));
|
|
109
|
-
const title = ( localize(
|
|
109
|
+
const title = ( localize(6075, "Getting chat ready..."));
|
|
110
110
|
const badge = this.activityService.showViewContainerActivity(ChatViewContainerId, {
|
|
111
111
|
badge: ( new ProgressBadge(() => title))
|
|
112
112
|
});
|
|
@@ -162,6 +162,10 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
162
162
|
return success;
|
|
163
163
|
}
|
|
164
164
|
async signIn(options) {
|
|
165
|
+
const authExtensionReEnabled = await maybeEnableAuthExtension(this.extensionsWorkbenchService, this.logService);
|
|
166
|
+
if (authExtensionReEnabled) {
|
|
167
|
+
refreshTokens(this.commandService);
|
|
168
|
+
}
|
|
165
169
|
let entitlements;
|
|
166
170
|
let defaultAccount;
|
|
167
171
|
try {
|
|
@@ -178,12 +182,12 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
178
182
|
} = await this.dialogService.confirm({
|
|
179
183
|
type: Severity.Error,
|
|
180
184
|
message: ( localize(
|
|
181
|
-
|
|
185
|
+
6076,
|
|
182
186
|
"Failed to sign in to {0}. Would you like to try again?",
|
|
183
187
|
this.defaultAccountService.getDefaultAccountAuthenticationProvider().name
|
|
184
188
|
)),
|
|
185
|
-
detail: ( localize(
|
|
186
|
-
primaryButton: ( localize(
|
|
189
|
+
detail: ( localize(6077, "You must be signed in to use AI features.")),
|
|
190
|
+
primaryButton: ( localize(6078, "Retry"))
|
|
187
191
|
});
|
|
188
192
|
if (confirmed) {
|
|
189
193
|
return this.signIn(options);
|
|
@@ -264,11 +268,11 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
264
268
|
} = await this.dialogService.confirm({
|
|
265
269
|
type: Severity.Error,
|
|
266
270
|
message: ( localize(
|
|
267
|
-
|
|
271
|
+
6079,
|
|
268
272
|
"An error occurred while setting up chat. Would you like to try again?"
|
|
269
273
|
)),
|
|
270
274
|
detail: error && !isCancellationError(error) ? toErrorMessage(error) : undefined,
|
|
271
|
-
primaryButton: ( localize(
|
|
275
|
+
primaryButton: ( localize(6078, "Retry"))
|
|
272
276
|
});
|
|
273
277
|
if (confirmed) {
|
|
274
278
|
return this.doInstallWithRetry();
|
|
@@ -346,8 +350,8 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
346
350
|
}
|
|
347
351
|
let isSingleWord = false;
|
|
348
352
|
const result = await this.quickInputService.input({
|
|
349
|
-
prompt: ( localize(
|
|
350
|
-
placeHolder: ( localize(
|
|
353
|
+
prompt: ( localize(6080, "What is your {0} instance?", defaultChat.provider.enterprise.name)),
|
|
354
|
+
placeHolder: ( localize(6081, "i.e. \"octocat\" or \"https://octocat.ghe.com\"...")),
|
|
351
355
|
ignoreFocusLost: true,
|
|
352
356
|
value: uri,
|
|
353
357
|
validateInput: async value => {
|
|
@@ -358,14 +362,14 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
358
362
|
if (domainRegEx.test(value)) {
|
|
359
363
|
isSingleWord = true;
|
|
360
364
|
return {
|
|
361
|
-
content: ( localize(
|
|
365
|
+
content: ( localize(6082, "Will resolve to {0}", `https://${value}.ghe.com`)),
|
|
362
366
|
severity: Severity.Info
|
|
363
367
|
};
|
|
364
368
|
}
|
|
365
369
|
if (!fullUriRegEx.test(value)) {
|
|
366
370
|
return {
|
|
367
371
|
content: ( localize(
|
|
368
|
-
|
|
372
|
+
6083,
|
|
369
373
|
"You must enter a valid {0} instance (i.e. \"octocat\" or \"https://octocat.ghe.com\")",
|
|
370
374
|
defaultChat.provider.enterprise.name
|
|
371
375
|
)),
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
|
|
4
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
5
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
6
|
+
import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
|
|
7
|
+
import { IChatSessionItem, IChatSessionItemController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
|
|
8
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
9
|
+
import { IAgentSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel";
|
|
10
|
+
import { ISessionOpenerParticipant, ISessionOpenOptions } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener";
|
|
11
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
12
|
+
/**
|
|
13
|
+
* Core-side growth session controller that shows a single "attention needed"
|
|
14
|
+
* session item in the agent sessions view for anonymous/new users.
|
|
15
|
+
*
|
|
16
|
+
* When the user clicks the session, we open the chat panel (which triggers the
|
|
17
|
+
* anonymous setup flow). When the user opens chat at all, the badge is cleared.
|
|
18
|
+
*
|
|
19
|
+
* The session is shown at most once, tracked via a storage flag.
|
|
20
|
+
*/
|
|
21
|
+
export declare class GrowthSessionController extends Disposable implements IChatSessionItemController {
|
|
22
|
+
private readonly storageService;
|
|
23
|
+
private readonly chatWidgetService;
|
|
24
|
+
private readonly lifecycleService;
|
|
25
|
+
private readonly logService;
|
|
26
|
+
static readonly STORAGE_KEY = "chat.growthSession.dismissed";
|
|
27
|
+
private static readonly SESSION_URI;
|
|
28
|
+
private readonly _onDidChangeChatSessionItems;
|
|
29
|
+
readonly onDidChangeChatSessionItems: Event<void>;
|
|
30
|
+
private readonly _onDidDismiss;
|
|
31
|
+
readonly onDidDismiss: Event<void>;
|
|
32
|
+
private readonly _created;
|
|
33
|
+
private _dismissed;
|
|
34
|
+
get isDismissed(): boolean;
|
|
35
|
+
constructor(storageService: IStorageService, chatWidgetService: IChatWidgetService, lifecycleService: ILifecycleService, logService: ILogService);
|
|
36
|
+
get items(): readonly IChatSessionItem[];
|
|
37
|
+
refresh(): Promise<void>;
|
|
38
|
+
private dismiss;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Handles clicks on the growth session item in the agent sessions view.
|
|
42
|
+
* Opens a new local chat session with a pre-seeded welcome message.
|
|
43
|
+
* The user can then send messages that go through the normal agent.
|
|
44
|
+
*/
|
|
45
|
+
export declare class GrowthSessionOpenerParticipant implements ISessionOpenerParticipant {
|
|
46
|
+
handleOpenSession(accessor: ServicesAccessor, session: IAgentSession, _openOptions?: ISessionOpenOptions): Promise<boolean>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Registers the growth session controller and opener participant.
|
|
50
|
+
* Returns a disposable that cleans up all registrations.
|
|
51
|
+
*/
|
|
52
|
+
export declare function registerGrowthSession(chatSessionsService: IChatSessionsService, growthController: GrowthSessionController): IDisposable;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
4
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
|
+
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
7
|
+
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
|
+
import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
9
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
10
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
11
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
12
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
13
|
+
import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
14
|
+
import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
15
|
+
import { ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
16
|
+
import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
17
|
+
import { sessionOpenerRegistry } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener';
|
|
18
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
19
|
+
import { CHAT_OPEN_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
20
|
+
|
|
21
|
+
var GrowthSessionController_1;
|
|
22
|
+
let GrowthSessionController = class GrowthSessionController extends Disposable {
|
|
23
|
+
static {
|
|
24
|
+
GrowthSessionController_1 = this;
|
|
25
|
+
}
|
|
26
|
+
static {
|
|
27
|
+
this.STORAGE_KEY = "chat.growthSession.dismissed";
|
|
28
|
+
}
|
|
29
|
+
static {
|
|
30
|
+
this.SESSION_URI = ( URI.from({
|
|
31
|
+
scheme: AgentSessionProviders.Growth,
|
|
32
|
+
path: "/growth-welcome"
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
get isDismissed() {
|
|
36
|
+
return this._dismissed;
|
|
37
|
+
}
|
|
38
|
+
constructor(storageService, chatWidgetService, lifecycleService, logService) {
|
|
39
|
+
super();
|
|
40
|
+
this.storageService = storageService;
|
|
41
|
+
this.chatWidgetService = chatWidgetService;
|
|
42
|
+
this.lifecycleService = lifecycleService;
|
|
43
|
+
this.logService = logService;
|
|
44
|
+
this._onDidChangeChatSessionItems = this._register(( new Emitter()));
|
|
45
|
+
this.onDidChangeChatSessionItems = this._onDidChangeChatSessionItems.event;
|
|
46
|
+
this._onDidDismiss = this._register(( new Emitter()));
|
|
47
|
+
this.onDidDismiss = this._onDidDismiss.event;
|
|
48
|
+
this._created = Date.now();
|
|
49
|
+
this._dismissed = this.storageService.getBoolean(GrowthSessionController_1.STORAGE_KEY, StorageScope.APPLICATION, false);
|
|
50
|
+
this.lifecycleService.when(LifecyclePhase.Restored).then(() => {
|
|
51
|
+
if (this._store.isDisposed || this._dismissed) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this._register(this.chatWidgetService.onDidAddWidget(() => {
|
|
55
|
+
this.dismiss();
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
get items() {
|
|
60
|
+
if (this._dismissed) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return [{
|
|
64
|
+
resource: GrowthSessionController_1.SESSION_URI,
|
|
65
|
+
label: ( localize(6084, "Try Copilot")),
|
|
66
|
+
description: ( localize(6085, "GitHub Copilot is available. Try it for free.")),
|
|
67
|
+
status: ChatSessionStatus.NeedsInput,
|
|
68
|
+
iconPath: Codicon.lightbulb,
|
|
69
|
+
timing: {
|
|
70
|
+
created: this._created,
|
|
71
|
+
lastRequestStarted: undefined,
|
|
72
|
+
lastRequestEnded: undefined
|
|
73
|
+
}
|
|
74
|
+
}];
|
|
75
|
+
}
|
|
76
|
+
async refresh() {}
|
|
77
|
+
dismiss() {
|
|
78
|
+
if (this._dismissed) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this.logService.trace("[GrowthSession] Dismissing growth session");
|
|
82
|
+
this._dismissed = true;
|
|
83
|
+
this.storageService.store(
|
|
84
|
+
GrowthSessionController_1.STORAGE_KEY,
|
|
85
|
+
true,
|
|
86
|
+
StorageScope.APPLICATION,
|
|
87
|
+
StorageTarget.USER
|
|
88
|
+
);
|
|
89
|
+
this._onDidChangeChatSessionItems.fire();
|
|
90
|
+
this._onDidDismiss.fire();
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
GrowthSessionController = GrowthSessionController_1 = ( __decorate([( __param(0, IStorageService)), ( __param(1, IChatWidgetService)), ( __param(2, ILifecycleService)), ( __param(3, ILogService))], GrowthSessionController));
|
|
94
|
+
class GrowthSessionOpenerParticipant {
|
|
95
|
+
async handleOpenSession(accessor, session, _openOptions) {
|
|
96
|
+
if (session.providerType !== AgentSessionProviders.Growth) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
const commandService = accessor.get(ICommandService);
|
|
100
|
+
const opts = {
|
|
101
|
+
query: "",
|
|
102
|
+
isPartialQuery: true,
|
|
103
|
+
previousRequests: [{
|
|
104
|
+
request: ( localize(6086, "Tell me about GitHub Copilot!")),
|
|
105
|
+
response: ( localize(
|
|
106
|
+
6087,
|
|
107
|
+
"Welcome to GitHub Copilot, your AI coding assistant! Here are some things you can try:\n\n- 🐛 *\"Help me debug this error\"* — paste an error message and get a fix\n- 🧪 *\"Write tests for my function\"* — select code and ask for unit tests\n- 💡 *\"Explain this code\"* — highlight something unfamiliar and ask what it does\n- 🚀 *\"Scaffold a REST API\"* — describe what you want and let Agent mode build it\n- 🎨 *\"Refactor this to be more readable\"* — select messy code and clean it up\n\nType anything below to get started!"
|
|
108
|
+
))
|
|
109
|
+
}]
|
|
110
|
+
};
|
|
111
|
+
await commandService.executeCommand(CHAT_OPEN_ACTION_ID, opts);
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function registerGrowthSession(chatSessionsService, growthController) {
|
|
116
|
+
const disposables = ( new DisposableStore());
|
|
117
|
+
disposables.add(
|
|
118
|
+
chatSessionsService.registerChatSessionItemController(AgentSessionProviders.Growth, growthController)
|
|
119
|
+
);
|
|
120
|
+
disposables.add(sessionOpenerRegistry.registerParticipant(( new GrowthSessionOpenerParticipant())));
|
|
121
|
+
return disposables;
|
|
122
|
+
}
|
|
123
|
+
registerAction2(class ResetGrowthSessionAction extends Action2 {
|
|
124
|
+
constructor() {
|
|
125
|
+
super({
|
|
126
|
+
id: "workbench.action.chat.resetGrowthSession",
|
|
127
|
+
title: ( localize2(6088, "Reset Growth Session Notification")),
|
|
128
|
+
category: ( localize2(6089, "Developer")),
|
|
129
|
+
f1: true
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
run(accessor) {
|
|
133
|
+
const storageService = accessor.get(IStorageService);
|
|
134
|
+
storageService.remove(GrowthSessionController.STORAGE_KEY, StorageScope.APPLICATION);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
export { GrowthSessionController, GrowthSessionOpenerParticipant, registerGrowthSession };
|
|
@@ -3,6 +3,7 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
|
|
|
3
3
|
import { Lazy } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lazy";
|
|
4
4
|
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
5
5
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
6
|
+
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
6
7
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
7
8
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
8
9
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
@@ -22,6 +23,9 @@ import { Selection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/
|
|
|
22
23
|
import { IMarker } from "@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers";
|
|
23
24
|
import { IMarkerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service";
|
|
24
25
|
import { ChatSetupController } from "./chatSetupController.js";
|
|
26
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
27
|
+
import { IOutputService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/output/common/output.service";
|
|
28
|
+
import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service";
|
|
25
29
|
export declare class SetupAgent extends Disposable implements IChatAgentImplementation {
|
|
26
30
|
private readonly context;
|
|
27
31
|
private readonly controller;
|
|
@@ -33,6 +37,10 @@ export declare class SetupAgent extends Disposable implements IChatAgentImplemen
|
|
|
33
37
|
private readonly workspaceTrustManagementService;
|
|
34
38
|
private readonly chatEntitlementService;
|
|
35
39
|
private readonly viewsService;
|
|
40
|
+
private readonly contextKeyService;
|
|
41
|
+
private readonly outputService;
|
|
42
|
+
private readonly extensionsWorkbenchService;
|
|
43
|
+
private readonly commandService;
|
|
36
44
|
static registerDefaultAgents(instantiationService: IInstantiationService, location: ChatAgentLocation, mode: ChatModeKind, context: ChatEntitlementContext, controller: Lazy<ChatSetupController>): {
|
|
37
45
|
agent: SetupAgent;
|
|
38
46
|
disposable: IDisposable;
|
|
@@ -42,10 +50,11 @@ export declare class SetupAgent extends Disposable implements IChatAgentImplemen
|
|
|
42
50
|
private static readonly SETUP_NEEDED_MESSAGE;
|
|
43
51
|
private static readonly TRUST_NEEDED_MESSAGE;
|
|
44
52
|
private static readonly CHAT_RETRY_COMMAND_ID;
|
|
53
|
+
private static readonly CHAT_SHOW_OUTPUT_COMMAND_ID;
|
|
45
54
|
private readonly _onUnresolvableError;
|
|
46
55
|
readonly onUnresolvableError: Event<void>;
|
|
47
56
|
private readonly pendingForwardedRequests;
|
|
48
|
-
constructor(context: ChatEntitlementContext, controller: Lazy<ChatSetupController>, location: ChatAgentLocation, instantiationService: IInstantiationService, logService: ILogService, telemetryService: ITelemetryService, environmentService: IWorkbenchEnvironmentService, workspaceTrustManagementService: IWorkspaceTrustManagementService, chatEntitlementService: IChatEntitlementService, viewsService: IViewsService);
|
|
57
|
+
constructor(context: ChatEntitlementContext, controller: Lazy<ChatSetupController>, location: ChatAgentLocation, instantiationService: IInstantiationService, logService: ILogService, telemetryService: ITelemetryService, environmentService: IWorkbenchEnvironmentService, workspaceTrustManagementService: IWorkspaceTrustManagementService, chatEntitlementService: IChatEntitlementService, viewsService: IViewsService, contextKeyService: IContextKeyService, outputService: IOutputService, extensionsWorkbenchService: IExtensionsWorkbenchService, commandService: ICommandService);
|
|
49
58
|
private registerCommands;
|
|
50
59
|
invoke(request: IChatAgentRequest, progress: (parts: IChatProgress[]) => void): Promise<IChatAgentResult>;
|
|
51
60
|
private doInvoke;
|
|
@@ -53,6 +62,7 @@ export declare class SetupAgent extends Disposable implements IChatAgentImplemen
|
|
|
53
62
|
private forwardRequestToChat;
|
|
54
63
|
private doForwardRequestToChat;
|
|
55
64
|
private doForwardRequestToChatWhenReady;
|
|
65
|
+
private whenPanelAgentHasGuidance;
|
|
56
66
|
private whenLanguageModelReady;
|
|
57
67
|
private whenToolsModelReady;
|
|
58
68
|
private whenAgentReady;
|