@codingame/monaco-vscode-chat-service-override 33.0.9 → 34.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 +19 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
- package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
- package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- 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 +21 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
- 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 +126 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- 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 +5 -5
- 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/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
- 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.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
- package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
|
@@ -65,6 +65,21 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
65
65
|
this.activeCodeEditorListener = this._register(( new MutableDisposable()));
|
|
66
66
|
this.entryAnchor = $("span");
|
|
67
67
|
this.runningSessionsCount = this.chatSessionsService.getInProgress().reduce((total, item) => total + item.count, 0);
|
|
68
|
+
this.dashboardTooltip = {
|
|
69
|
+
element: token => {
|
|
70
|
+
const store = ( new DisposableStore());
|
|
71
|
+
store.add(token.onCancellationRequested(() => {
|
|
72
|
+
store.dispose();
|
|
73
|
+
}));
|
|
74
|
+
const elem = ChatStatusDashboard.instantiateInContents(this.instantiationService, store, undefined);
|
|
75
|
+
store.add(disposableWindowInterval(mainWindow, () => {
|
|
76
|
+
if (!elem.isConnected) {
|
|
77
|
+
store.dispose();
|
|
78
|
+
}
|
|
79
|
+
}, 2000));
|
|
80
|
+
return elem;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
68
83
|
this.update();
|
|
69
84
|
this.registerListeners();
|
|
70
85
|
}
|
|
@@ -126,7 +141,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
126
141
|
}
|
|
127
142
|
getEntryProps() {
|
|
128
143
|
let text = "$(copilot)";
|
|
129
|
-
let ariaLabel = ( localize(
|
|
144
|
+
let ariaLabel = ( localize(6865, "Copilot status"));
|
|
130
145
|
let kind;
|
|
131
146
|
if (isNewUser(this.chatEntitlementService)) {
|
|
132
147
|
const entitlement = this.chatEntitlementService.entitlement;
|
|
@@ -138,83 +153,69 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
138
153
|
const quotas = this.chatEntitlementService.quotas;
|
|
139
154
|
const chatQuotaExceeded = quotas.chat?.percentRemaining === 0;
|
|
140
155
|
const completionsQuotaExceeded = quotas.completions?.percentRemaining === 0;
|
|
141
|
-
const isPooledQuotaDepleted = quotas.premiumChat?.unlimited && quotas.premiumChat.hasQuota === false
|
|
156
|
+
const isPooledQuotaDepleted = quotas.premiumChat?.unlimited && quotas.premiumChat.hasQuota === false;
|
|
142
157
|
if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
|
|
143
158
|
text = "$(copilot-unavailable)";
|
|
144
|
-
ariaLabel = ( localize(
|
|
159
|
+
ariaLabel = ( localize(6866, "Copilot disabled"));
|
|
145
160
|
}
|
|
146
161
|
else if (this.runningSessionsCount > 0) {
|
|
147
162
|
text = "$(copilot-in-progress)";
|
|
148
163
|
if (this.runningSessionsCount > 1) {
|
|
149
|
-
ariaLabel = ( localize(
|
|
164
|
+
ariaLabel = ( localize(6867, "{0} agent sessions in progress", this.runningSessionsCount));
|
|
150
165
|
} else {
|
|
151
|
-
ariaLabel = ( localize(
|
|
166
|
+
ariaLabel = ( localize(6868, "1 agent session in progress"));
|
|
152
167
|
}
|
|
153
168
|
}
|
|
154
|
-
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown
|
|
169
|
+
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
|
|
155
170
|
return this.getSetupEntryProps();
|
|
156
171
|
}
|
|
157
172
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
|
|
158
173
|
let quotaWarning;
|
|
159
174
|
if (chatQuotaExceeded && !completionsQuotaExceeded) {
|
|
160
|
-
quotaWarning = ( localize(
|
|
175
|
+
quotaWarning = ( localize(6869, "Chat quota reached"));
|
|
161
176
|
} else if (completionsQuotaExceeded && !chatQuotaExceeded) {
|
|
162
|
-
quotaWarning = ( localize(
|
|
177
|
+
quotaWarning = ( localize(6870, "Inline suggestions limit reached"));
|
|
163
178
|
} else {
|
|
164
|
-
quotaWarning = ( localize(
|
|
179
|
+
quotaWarning = ( localize(6871, "Quota reached"));
|
|
165
180
|
}
|
|
166
181
|
text = `$(copilot-warning) ${quotaWarning}`;
|
|
167
182
|
ariaLabel = quotaWarning;
|
|
168
183
|
kind = "prominent";
|
|
169
184
|
}
|
|
170
185
|
else if ((this.chatEntitlementService.entitlement === ChatEntitlement.Business || this.chatEntitlementService.entitlement === ChatEntitlement.Enterprise) && isPooledQuotaDepleted) {
|
|
171
|
-
const quotaWarning = ( localize(
|
|
186
|
+
const quotaWarning = ( localize(6871, "Quota reached"));
|
|
172
187
|
text = `$(copilot-warning) ${quotaWarning}`;
|
|
173
188
|
ariaLabel = quotaWarning;
|
|
174
189
|
kind = "prominent";
|
|
175
190
|
}
|
|
176
191
|
else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
|
|
177
192
|
text = "$(copilot-unavailable)";
|
|
178
|
-
ariaLabel = ( localize(
|
|
193
|
+
ariaLabel = ( localize(6872, "Inline suggestions disabled"));
|
|
179
194
|
}
|
|
180
195
|
else if (this.completionsService.isSnoozing()) {
|
|
181
196
|
text = "$(copilot-snooze)";
|
|
182
|
-
ariaLabel = ( localize(
|
|
197
|
+
ariaLabel = ( localize(6873, "Inline suggestions snoozed"));
|
|
183
198
|
}
|
|
184
199
|
}
|
|
185
200
|
const baseResult = {
|
|
186
|
-
name: ( localize(
|
|
201
|
+
name: ( localize(6874, "Copilot Status")),
|
|
187
202
|
text,
|
|
188
203
|
ariaLabel,
|
|
189
204
|
command: ShowTooltipCommand,
|
|
190
205
|
showInAllWindows: true,
|
|
191
206
|
kind,
|
|
192
207
|
content: this.entryAnchor,
|
|
193
|
-
tooltip:
|
|
194
|
-
element: token => {
|
|
195
|
-
const store = ( new DisposableStore());
|
|
196
|
-
store.add(token.onCancellationRequested(() => {
|
|
197
|
-
store.dispose();
|
|
198
|
-
}));
|
|
199
|
-
const elem = ChatStatusDashboard.instantiateInContents(this.instantiationService, store, undefined);
|
|
200
|
-
store.add(disposableWindowInterval(mainWindow, () => {
|
|
201
|
-
if (!elem.isConnected) {
|
|
202
|
-
store.dispose();
|
|
203
|
-
}
|
|
204
|
-
}, 2000));
|
|
205
|
-
return elem;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
+
tooltip: this.dashboardTooltip
|
|
208
209
|
};
|
|
209
210
|
return baseResult;
|
|
210
211
|
}
|
|
211
212
|
getSetupEntryProps() {
|
|
212
213
|
const showSignInLabel = !this.isSignInTitleBarAffordanceVisible();
|
|
213
|
-
const signInLabel = ( localize(
|
|
214
|
+
const signInLabel = ( localize(6875, "Sign In"));
|
|
214
215
|
return {
|
|
215
|
-
name: ( localize(
|
|
216
|
+
name: ( localize(6874, "Copilot Status")),
|
|
216
217
|
text: showSignInLabel ? `$(copilot) ${signInLabel}` : "$(copilot)",
|
|
217
|
-
ariaLabel: showSignInLabel ? signInLabel : ( localize(
|
|
218
|
+
ariaLabel: showSignInLabel ? signInLabel : ( localize(6865, "Copilot status")),
|
|
218
219
|
command: CHAT_SETUP_ACTION_ID,
|
|
219
220
|
showInAllWindows: true,
|
|
220
221
|
kind: undefined,
|
|
@@ -216,6 +216,9 @@
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
.chat-status-bar-entry-tooltip .quota-indicator .quota-title {
|
|
219
|
+
display: flex;
|
|
220
|
+
justify-content: space-between;
|
|
221
|
+
align-items: baseline;
|
|
219
222
|
font-size: 13px;
|
|
220
223
|
line-height: 18px;
|
|
221
224
|
font-weight: 600;
|
|
@@ -252,6 +255,7 @@
|
|
|
252
255
|
|
|
253
256
|
.chat-status-bar-entry-tooltip .quota-indicator .quota-reset {
|
|
254
257
|
font-size: 12px;
|
|
258
|
+
font-weight: normal;
|
|
255
259
|
line-height: 16px;
|
|
256
260
|
color: var(--vscode-descriptionForeground);
|
|
257
261
|
white-space: nowrap;
|
|
@@ -6,6 +6,12 @@ export declare enum ChatTipTier {
|
|
|
6
6
|
Foundational = "foundational",
|
|
7
7
|
Qol = "qol"
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Treatment names for tip messages overridable via the workbench assignment service.
|
|
11
|
+
*/
|
|
12
|
+
export declare enum ChatTipExperiment {
|
|
13
|
+
OpenAgentsWindowTip = "openagentswindowtip"
|
|
14
|
+
}
|
|
9
15
|
/**
|
|
10
16
|
* Context provided to tip builders for dynamic message construction.
|
|
11
17
|
*/
|
|
@@ -14,6 +20,11 @@ export interface ITipBuildContext {
|
|
|
14
20
|
* Keybinding service for looking up keyboard shortcuts.
|
|
15
21
|
*/
|
|
16
22
|
readonly keybindingService: IKeybindingService;
|
|
23
|
+
/**
|
|
24
|
+
* Experimental tip message overrides keyed by treatment name (see {@link ChatTipExperiment}).
|
|
25
|
+
* Builders should fall back to their default localized strings when a treatment is not set.
|
|
26
|
+
*/
|
|
27
|
+
readonly experimentalTipMessages: ReadonlyMap<string, string>;
|
|
17
28
|
}
|
|
18
29
|
/**
|
|
19
30
|
* Gets the display label for a command, looking it up from MenuRegistry.
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
4
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
5
|
+
import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
|
|
5
6
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
|
-
import { ChatConfiguration, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
7
|
+
import { ChatConfiguration, OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_WORKSPACE_IN_AGENTS_WINDOW_COMMAND_ID, ChatModeKind, OPEN_AGENTS_WINDOW_PRECONDITION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
7
8
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
8
9
|
import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
9
10
|
import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
@@ -15,6 +16,10 @@ var ChatTipTier;
|
|
|
15
16
|
ChatTipTier["Foundational"] = "foundational";
|
|
16
17
|
ChatTipTier["Qol"] = "qol";
|
|
17
18
|
})(ChatTipTier || (ChatTipTier = {}));
|
|
19
|
+
var ChatTipExperiment;
|
|
20
|
+
(function(ChatTipExperiment) {
|
|
21
|
+
ChatTipExperiment["OpenAgentsWindowTip"] = "openagentswindowtip";
|
|
22
|
+
})(ChatTipExperiment || (ChatTipExperiment = {}));
|
|
18
23
|
function formatKeybinding(ctx, commandId) {
|
|
19
24
|
const kb = ctx.keybindingService.lookupKeybinding(commandId);
|
|
20
25
|
return kb ? ` (${kb.getLabel()})` : "";
|
|
@@ -34,7 +39,7 @@ const TIP_CATALOG = [{
|
|
|
34
39
|
priority: 0,
|
|
35
40
|
buildMessage(_ctx) {
|
|
36
41
|
return (new MarkdownString(localize(
|
|
37
|
-
|
|
42
|
+
6876,
|
|
38
43
|
"Using GPT-4.1? Try switching to [Auto](command:workbench.action.chat.openModelPicker \"Open Model Picker\") in the model picker for better coding performance."
|
|
39
44
|
)));
|
|
40
45
|
},
|
|
@@ -46,7 +51,7 @@ const TIP_CATALOG = [{
|
|
|
46
51
|
buildMessage(ctx) {
|
|
47
52
|
const kb = formatKeybinding(ctx, GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID);
|
|
48
53
|
return (new MarkdownString(localize(
|
|
49
|
-
|
|
54
|
+
6877,
|
|
50
55
|
"Use [{0}](command:{1} \"Run /init\"){2} to generate or update a workspace instructions file for AI coding agents.",
|
|
51
56
|
"/init",
|
|
52
57
|
GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID,
|
|
@@ -64,7 +69,7 @@ const TIP_CATALOG = [{
|
|
|
64
69
|
buildMessage(ctx) {
|
|
65
70
|
const kb = formatKeybinding(ctx, GENERATE_PROMPT_COMMAND_ID);
|
|
66
71
|
return (new MarkdownString(localize(
|
|
67
|
-
|
|
72
|
+
6878,
|
|
68
73
|
"Use [{0}](command:{1} \"Run /create-prompt\"){2} to generate a reusable prompt file with the agent.",
|
|
69
74
|
"/create-prompt",
|
|
70
75
|
GENERATE_PROMPT_COMMAND_ID,
|
|
@@ -80,7 +85,7 @@ const TIP_CATALOG = [{
|
|
|
80
85
|
buildMessage(ctx) {
|
|
81
86
|
const kb = formatKeybinding(ctx, GENERATE_AGENT_COMMAND_ID);
|
|
82
87
|
return (new MarkdownString(localize(
|
|
83
|
-
|
|
88
|
+
6879,
|
|
84
89
|
"Use [{0}](command:{1} \"Run /create-agent\"){2} to scaffold a custom agent for your workflow.",
|
|
85
90
|
"/create-agent",
|
|
86
91
|
GENERATE_AGENT_COMMAND_ID,
|
|
@@ -96,7 +101,7 @@ const TIP_CATALOG = [{
|
|
|
96
101
|
buildMessage(ctx) {
|
|
97
102
|
const kb = formatKeybinding(ctx, GENERATE_SKILL_COMMAND_ID);
|
|
98
103
|
return (new MarkdownString(localize(
|
|
99
|
-
|
|
104
|
+
6880,
|
|
100
105
|
"Use [{0}](command:{1} \"Run /create-skill\"){2} to create a skill the agent can load when relevant.",
|
|
101
106
|
"/create-skill",
|
|
102
107
|
GENERATE_SKILL_COMMAND_ID,
|
|
@@ -112,7 +117,7 @@ const TIP_CATALOG = [{
|
|
|
112
117
|
buildMessage(ctx) {
|
|
113
118
|
const kb = formatKeybinding(ctx, "workbench.action.chat.openPlan");
|
|
114
119
|
return (new MarkdownString(localize(
|
|
115
|
-
|
|
120
|
+
6881,
|
|
116
121
|
"Try the [{0}](command:workbench.action.chat.openPlan \"Start Plan Mode\"){1} to research and plan before implementing changes.",
|
|
117
122
|
"Plan agent",
|
|
118
123
|
kb
|
|
@@ -126,7 +131,7 @@ const TIP_CATALOG = [{
|
|
|
126
131
|
tier: ChatTipTier.Qol,
|
|
127
132
|
buildMessage() {
|
|
128
133
|
return (new MarkdownString(localize(
|
|
129
|
-
|
|
134
|
+
6882,
|
|
130
135
|
"Reference files or folders with # to give the agent more context about the task."
|
|
131
136
|
)));
|
|
132
137
|
},
|
|
@@ -142,7 +147,7 @@ const TIP_CATALOG = [{
|
|
|
142
147
|
tier: ChatTipTier.Qol,
|
|
143
148
|
buildMessage() {
|
|
144
149
|
return (new MarkdownString(localize(
|
|
145
|
-
|
|
150
|
+
6883,
|
|
146
151
|
"Select a code block in the editor and right-click to access more AI actions."
|
|
147
152
|
)));
|
|
148
153
|
},
|
|
@@ -152,7 +157,7 @@ const TIP_CATALOG = [{
|
|
|
152
157
|
tier: ChatTipTier.Qol,
|
|
153
158
|
buildMessage() {
|
|
154
159
|
return (new MarkdownString(localize(
|
|
155
|
-
|
|
160
|
+
6884,
|
|
156
161
|
"Hover a previous request and select \"Restore Checkpoint\" to undo changes after that point in the chat conversation."
|
|
157
162
|
)));
|
|
158
163
|
},
|
|
@@ -166,7 +171,7 @@ const TIP_CATALOG = [{
|
|
|
166
171
|
tier: ChatTipTier.Qol,
|
|
167
172
|
buildMessage() {
|
|
168
173
|
return (new MarkdownString(localize(
|
|
169
|
-
|
|
174
|
+
6885,
|
|
170
175
|
"Steer the agent mid-task by sending follow-up messages. They queue and apply in order."
|
|
171
176
|
)));
|
|
172
177
|
},
|
|
@@ -181,7 +186,7 @@ const TIP_CATALOG = [{
|
|
|
181
186
|
buildMessage(ctx) {
|
|
182
187
|
const kb = formatKeybinding(ctx, INSERT_FORK_CONVERSATION_COMMAND_ID);
|
|
183
188
|
return (new MarkdownString(localize(
|
|
184
|
-
|
|
189
|
+
6886,
|
|
185
190
|
"Use [{0}](command:{1} \"Run /fork\"){2} to branch the conversation. Explore a different approach without losing the original context.",
|
|
186
191
|
"/fork",
|
|
187
192
|
INSERT_FORK_CONVERSATION_COMMAND_ID,
|
|
@@ -193,25 +198,12 @@ const TIP_CATALOG = [{
|
|
|
193
198
|
"workbench.action.chat.forkConversation",
|
|
194
199
|
TipTrackingCommands.ForkConversationUsed
|
|
195
200
|
]
|
|
196
|
-
}, {
|
|
197
|
-
id: "tip.agenticBrowser",
|
|
198
|
-
tier: ChatTipTier.Qol,
|
|
199
|
-
buildMessage() {
|
|
200
|
-
return (new MarkdownString(localize(
|
|
201
|
-
6768,
|
|
202
|
-
"Enable [{0}](command:workbench.action.openSettings?%5B%22workbench.browser.enableChatTools%22%5D \"Open Settings\") to let the agent open and interact with pages in the Integrated Browser.",
|
|
203
|
-
"agentic browser integration"
|
|
204
|
-
)));
|
|
205
|
-
},
|
|
206
|
-
when: ( ContextKeyExpr.and(( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ContextKeyExpr.notEquals("config.workbench.browser.enableChatTools", true)))),
|
|
207
|
-
excludeWhenSettingsChanged: ["workbench.browser.enableChatTools"],
|
|
208
|
-
dismissWhenCommandsClicked: ["workbench.action.openSettings"]
|
|
209
201
|
}, {
|
|
210
202
|
id: "tip.mermaid",
|
|
211
203
|
tier: ChatTipTier.Qol,
|
|
212
204
|
buildMessage() {
|
|
213
205
|
return (new MarkdownString(localize(
|
|
214
|
-
|
|
206
|
+
6887,
|
|
215
207
|
"Ask the agent to draw an architectural diagram or flow chart. It can render Mermaid diagrams directly in chat."
|
|
216
208
|
)));
|
|
217
209
|
},
|
|
@@ -222,7 +214,7 @@ const TIP_CATALOG = [{
|
|
|
222
214
|
tier: ChatTipTier.Qol,
|
|
223
215
|
buildMessage() {
|
|
224
216
|
return (new MarkdownString(localize(
|
|
225
|
-
|
|
217
|
+
6888,
|
|
226
218
|
"Have another task to work on? Start a new session to run multiple agents at once."
|
|
227
219
|
)));
|
|
228
220
|
},
|
|
@@ -233,7 +225,7 @@ const TIP_CATALOG = [{
|
|
|
233
225
|
tier: ChatTipTier.Qol,
|
|
234
226
|
buildMessage() {
|
|
235
227
|
return (new MarkdownString(localize(
|
|
236
|
-
|
|
228
|
+
6889,
|
|
237
229
|
"Customize the loading messages shown while the agent works with [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\").",
|
|
238
230
|
"thinking phrases",
|
|
239
231
|
ChatConfiguration.ThinkingPhrases
|
|
@@ -247,7 +239,7 @@ const TIP_CATALOG = [{
|
|
|
247
239
|
tier: ChatTipTier.Qol,
|
|
248
240
|
buildMessage() {
|
|
249
241
|
return (new MarkdownString(localize(
|
|
250
|
-
|
|
242
|
+
6890,
|
|
251
243
|
"Configure [{0}](command:workbench.action.openSettings?%5B%22chat.editing.autoAcceptDelay%22%5D \"Open Settings\") to automatically accept changes from the agent after a short countdown.",
|
|
252
244
|
"auto-accept delay"
|
|
253
245
|
)));
|
|
@@ -261,7 +253,7 @@ const TIP_CATALOG = [{
|
|
|
261
253
|
buildMessage(ctx) {
|
|
262
254
|
const kb = formatKeybinding(ctx, INSERT_TROUBLESHOOT_COMMAND_ID);
|
|
263
255
|
return (new MarkdownString(localize(
|
|
264
|
-
|
|
256
|
+
6891,
|
|
265
257
|
"Something not working? Type [{0}](command:{1} \"Run /troubleshoot\"){2} <question> to diagnose issues from debug logs.",
|
|
266
258
|
"/troubleshoot",
|
|
267
259
|
INSERT_TROUBLESHOOT_COMMAND_ID,
|
|
@@ -270,12 +262,27 @@ const TIP_CATALOG = [{
|
|
|
270
262
|
},
|
|
271
263
|
when: ( ChatContextKeys.chatSessionType.isEqualTo(localChatSessionType)),
|
|
272
264
|
excludeWhenToolsInvoked: ["listDebugEvents"]
|
|
265
|
+
}, {
|
|
266
|
+
id: "tip.agentsWindow",
|
|
267
|
+
tier: ChatTipTier.Qol,
|
|
268
|
+
buildMessage(ctx) {
|
|
269
|
+
const defaultMessage = ( localize(
|
|
270
|
+
6892,
|
|
271
|
+
"Work across multiple projects at once in the [Agents window](command:{0} \"Open Agents Window\").",
|
|
272
|
+
OPEN_AGENTS_WINDOW_COMMAND_ID
|
|
273
|
+
));
|
|
274
|
+
const experimentalTemplate = ctx.experimentalTipMessages.get(ChatTipExperiment.OpenAgentsWindowTip);
|
|
275
|
+
const message = experimentalTemplate ? experimentalTemplate.replace(/\{0\}/g, OPEN_AGENTS_WINDOW_COMMAND_ID) : defaultMessage;
|
|
276
|
+
return ( new MarkdownString(message));
|
|
277
|
+
},
|
|
278
|
+
when: ( ContextKeyExpr.and(( IsWebContext.negate()), OPEN_AGENTS_WINDOW_PRECONDITION)),
|
|
279
|
+
excludeWhenCommandsExecuted: [OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_WORKSPACE_IN_AGENTS_WINDOW_COMMAND_ID]
|
|
273
280
|
}, {
|
|
274
281
|
id: "tip.copilotCli",
|
|
275
282
|
tier: ChatTipTier.Qol,
|
|
276
283
|
buildMessage() {
|
|
277
284
|
return (new MarkdownString(localize(
|
|
278
|
-
|
|
285
|
+
6893,
|
|
279
286
|
"Run agents in parallel with [Copilot CLI](command:workbench.action.chat.openNewChatSessionInPlace.copilotcli?%5B%22sidebar%22%5D \"Switch to Copilot CLI\")."
|
|
280
287
|
)));
|
|
281
288
|
},
|
|
@@ -286,7 +293,7 @@ const TIP_CATALOG = [{
|
|
|
286
293
|
tier: ChatTipTier.Qol,
|
|
287
294
|
buildMessage() {
|
|
288
295
|
return (new MarkdownString(localize(
|
|
289
|
-
|
|
296
|
+
6894,
|
|
290
297
|
"Configure [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\") to start new sessions in Bypass Approvals or Autopilot mode.",
|
|
291
298
|
"default permissions",
|
|
292
299
|
ChatConfiguration.DefaultPermissionLevel
|
|
@@ -297,4 +304,4 @@ const TIP_CATALOG = [{
|
|
|
297
304
|
dismissWhenCommandsClicked: ["workbench.action.openSettings"]
|
|
298
305
|
}];
|
|
299
306
|
|
|
300
|
-
export { ChatTipTier, TIP_CATALOG, extractCommandIds };
|
|
307
|
+
export { ChatTipExperiment, ChatTipTier, TIP_CATALOG, extractCommandIds };
|
|
@@ -12,6 +12,7 @@ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/
|
|
|
12
12
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
13
13
|
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
14
14
|
import { TipTrackingCommands } from "./chatTipStorageKeys.js";
|
|
15
|
+
import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
|
|
15
16
|
import { IChatTipService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service";
|
|
16
17
|
export { TipTrackingCommands };
|
|
17
18
|
/** @deprecated Use TipTrackingCommands.AttachFilesReferenceUsed */
|
|
@@ -43,6 +44,7 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
|
|
|
43
44
|
private readonly _commandService;
|
|
44
45
|
private readonly _telemetryService;
|
|
45
46
|
private readonly _keybindingService;
|
|
47
|
+
private readonly _assignmentService;
|
|
46
48
|
readonly _serviceBrand: undefined;
|
|
47
49
|
private readonly _onDidDismissTip;
|
|
48
50
|
readonly onDidDismissTip: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
@@ -71,7 +73,8 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
|
|
|
71
73
|
private _thinkingPhrasesEverModified;
|
|
72
74
|
private _tipsHiddenForSession;
|
|
73
75
|
private readonly _tipCommandListener;
|
|
74
|
-
|
|
76
|
+
private readonly _experimentalTipMessages;
|
|
77
|
+
constructor(_productService: IProductService, _configurationService: IConfigurationService, _storageService: IStorageService, _chatService: IChatService, instantiationService: IInstantiationService, _logService: ILogService, _chatEntitlementService: IChatEntitlementService, _commandService: ICommandService, _telemetryService: ITelemetryService, _keybindingService: IKeybindingService, _assignmentService: IWorkbenchAssignmentService);
|
|
75
78
|
private _hasFileOrFolderReference;
|
|
76
79
|
private _getSlashCommandTrackingId;
|
|
77
80
|
private _toSlashCommandTrackingId;
|
|
@@ -104,6 +107,7 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
|
|
|
104
107
|
private _isChatLocation;
|
|
105
108
|
private _isChatQuotaExceeded;
|
|
106
109
|
private _isCopilotEnabled;
|
|
110
|
+
private _fetchExperimentalTipMessages;
|
|
107
111
|
private _createTip;
|
|
108
112
|
private _logTipTelemetry;
|
|
109
113
|
private _trackTipCommandClicks;
|
|
@@ -5,6 +5,7 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
|
|
|
5
5
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
6
6
|
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
7
7
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
8
|
+
import { getSelectedModelIdentifier } from '../common/chatSelectedModel.js';
|
|
8
9
|
import { ChatConfiguration, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
9
10
|
import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
|
|
10
11
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
@@ -22,8 +23,9 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
22
23
|
import { ChatRequestDynamicVariablePart, ChatRequestSlashCommandPart, ChatRequestAgentSubcommandPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
|
|
23
24
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
24
25
|
import { TipEligibilityTracker } from './chatTipEligibilityTracker.js';
|
|
25
|
-
import { TIP_CATALOG, ChatTipTier, extractCommandIds } from './chatTipCatalog.js';
|
|
26
|
+
import { TIP_CATALOG, ChatTipTier, ChatTipExperiment, extractCommandIds } from './chatTipCatalog.js';
|
|
26
27
|
import { TipTrackingCommands, ChatTipStorageKeys } from './chatTipStorageKeys.js';
|
|
28
|
+
import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
|
|
27
29
|
|
|
28
30
|
const CREATE_AGENT_INSTRUCTIONS_TRACKING_COMMAND = TipTrackingCommands.CreateAgentInstructionsUsed;
|
|
29
31
|
const CREATE_PROMPT_TRACKING_COMMAND = TipTrackingCommands.CreatePromptUsed;
|
|
@@ -41,7 +43,8 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
41
43
|
_chatEntitlementService,
|
|
42
44
|
_commandService,
|
|
43
45
|
_telemetryService,
|
|
44
|
-
_keybindingService
|
|
46
|
+
_keybindingService,
|
|
47
|
+
_assignmentService
|
|
45
48
|
) {
|
|
46
49
|
super();
|
|
47
50
|
this._productService = _productService;
|
|
@@ -53,6 +56,7 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
53
56
|
this._commandService = _commandService;
|
|
54
57
|
this._telemetryService = _telemetryService;
|
|
55
58
|
this._keybindingService = _keybindingService;
|
|
59
|
+
this._assignmentService = _assignmentService;
|
|
56
60
|
this._onDidDismissTip = this._register(( new Emitter()));
|
|
57
61
|
this.onDidDismissTip = this._onDidDismissTip.event;
|
|
58
62
|
this._onDidNavigateTip = this._register(( new Emitter()));
|
|
@@ -63,8 +67,13 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
63
67
|
this.onDidDisableTips = this._onDidDisableTips.event;
|
|
64
68
|
this._tipsHiddenForSession = false;
|
|
65
69
|
this._tipCommandListener = this._register(( new MutableDisposable()));
|
|
70
|
+
this._experimentalTipMessages = ( new Map());
|
|
66
71
|
this._tracker = this._register(instantiationService.createInstance(TipEligibilityTracker, TIP_CATALOG));
|
|
67
72
|
this._createSlashCommandsUsageTracker = this._register(( new CreateSlashCommandsUsageTracker(this._chatService, this._storageService, () => this._contextKeyService)));
|
|
73
|
+
this._fetchExperimentalTipMessages();
|
|
74
|
+
this._register(
|
|
75
|
+
this._assignmentService.onDidRefetchAssignments(() => this._fetchExperimentalTipMessages())
|
|
76
|
+
);
|
|
68
77
|
this._register(this._chatEntitlementService.onDidChangeQuotaExceeded(() => {
|
|
69
78
|
if (this._chatEntitlementService.quotas.chat?.percentRemaining === 0 && this._shownTip) {
|
|
70
79
|
this.hideTip();
|
|
@@ -578,24 +587,7 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
578
587
|
}
|
|
579
588
|
return normalizedModelId;
|
|
580
589
|
};
|
|
581
|
-
|
|
582
|
-
if (contextKeyModelId) {
|
|
583
|
-
return contextKeyModelId;
|
|
584
|
-
}
|
|
585
|
-
const location = contextKeyService.getContextKeyValue(ChatContextKeys.location.key) ?? ChatAgentLocation.Chat;
|
|
586
|
-
const sessionType = contextKeyService.getContextKeyValue(ChatContextKeys.chatSessionType.key) ?? "";
|
|
587
|
-
const candidateStorageKeys = sessionType ? [
|
|
588
|
-
`chat.currentLanguageModel.${location}.${sessionType}`,
|
|
589
|
-
`chat.currentLanguageModel.${location}`
|
|
590
|
-
] : [`chat.currentLanguageModel.${location}`];
|
|
591
|
-
for (const storageKey of candidateStorageKeys) {
|
|
592
|
-
const persistedModelIdentifier = this._storageService.get(storageKey, StorageScope.APPLICATION);
|
|
593
|
-
const persistedModelId = normalize(persistedModelIdentifier);
|
|
594
|
-
if (persistedModelId) {
|
|
595
|
-
return persistedModelId;
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
return "";
|
|
590
|
+
return normalize(getSelectedModelIdentifier(contextKeyService, this._storageService));
|
|
599
591
|
}
|
|
600
592
|
_isChatLocation(contextKeyService) {
|
|
601
593
|
const location = contextKeyService.getContextKeyValue(ChatContextKeys.location.key);
|
|
@@ -608,12 +600,20 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
608
600
|
const defaultChatAgent = this._productService.defaultChatAgent;
|
|
609
601
|
return !!defaultChatAgent?.chatExtensionId;
|
|
610
602
|
}
|
|
603
|
+
_fetchExperimentalTipMessages() {
|
|
604
|
+
this._assignmentService.getTreatment(ChatTipExperiment.OpenAgentsWindowTip).then(value => {
|
|
605
|
+
if (typeof value === "string" && value.length > 0) {
|
|
606
|
+
this._experimentalTipMessages.set(ChatTipExperiment.OpenAgentsWindowTip, value);
|
|
607
|
+
}
|
|
608
|
+
});
|
|
609
|
+
}
|
|
611
610
|
_createTip(tipDef) {
|
|
612
611
|
const ctx = {
|
|
613
|
-
keybindingService: this._keybindingService
|
|
612
|
+
keybindingService: this._keybindingService,
|
|
613
|
+
experimentalTipMessages: this._experimentalTipMessages
|
|
614
614
|
};
|
|
615
615
|
const rawMessage = tipDef.buildMessage(ctx);
|
|
616
|
-
const prefixedMessage = ( localize(
|
|
616
|
+
const prefixedMessage = ( localize(6895, "**Tip:** {0}", rawMessage.value));
|
|
617
617
|
const enabledCommands = extractCommandIds(prefixedMessage);
|
|
618
618
|
const markdown = ( new MarkdownString(prefixedMessage, {
|
|
619
619
|
isTrusted: enabledCommands.length > 0 ? {
|
|
@@ -636,7 +636,8 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
636
636
|
_trackTipCommandClicks(tip) {
|
|
637
637
|
this._tipCommandListener.clear();
|
|
638
638
|
const ctx = {
|
|
639
|
-
keybindingService: this._keybindingService
|
|
639
|
+
keybindingService: this._keybindingService,
|
|
640
|
+
experimentalTipMessages: this._experimentalTipMessages
|
|
640
641
|
};
|
|
641
642
|
const rawMessage = tip.buildMessage(ctx);
|
|
642
643
|
const enabledCommands = extractCommandIds(rawMessage.value);
|
|
@@ -663,6 +664,6 @@ let ChatTipService = class ChatTipService extends Disposable {
|
|
|
663
664
|
return profileValue;
|
|
664
665
|
}
|
|
665
666
|
};
|
|
666
|
-
ChatTipService = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService)), ( __param(2, IStorageService)), ( __param(3, IChatService)), ( __param(4, IInstantiationService)), ( __param(5, ILogService)), ( __param(6, IChatEntitlementService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IKeybindingService))], ChatTipService));
|
|
667
|
+
ChatTipService = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService)), ( __param(2, IStorageService)), ( __param(3, IChatService)), ( __param(4, IInstantiationService)), ( __param(5, ILogService)), ( __param(6, IChatEntitlementService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IKeybindingService)), ( __param(10, IWorkbenchAssignmentService))], ChatTipService));
|
|
667
668
|
|
|
668
669
|
export { CREATE_AGENT_INSTRUCTIONS_TRACKING_COMMAND, CREATE_AGENT_TRACKING_COMMAND, CREATE_PROMPT_TRACKING_COMMAND, CREATE_SKILL_TRACKING_COMMAND, ChatTipService, FORK_CONVERSATION_TRACKING_COMMAND, TipEligibilityTracker, TipTrackingCommands };
|
|
@@ -77,12 +77,12 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
|
|
|
77
77
|
mode: FocusMode.Notify
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
-
const notificationTitle = info.title ? ( localize(
|
|
80
|
+
const notificationTitle = info.title ? ( localize(6896, "Session: {0}", info.title)) : ( localize(6897, "Untitled Session"));
|
|
81
81
|
const cts = ( new CancellationTokenSource());
|
|
82
82
|
this._activeNotifications.set(sessionResource, toDisposable(() => cts.dispose(true)));
|
|
83
83
|
const isQuestionCarousel = this._isQuestionCarouselPending(sessionResource);
|
|
84
84
|
try {
|
|
85
|
-
const actionLabel = isQuestionCarousel ? ( localize(
|
|
85
|
+
const actionLabel = isQuestionCarousel ? ( localize(6898, "Open Session")) : ( localize(6899, "Allow"));
|
|
86
86
|
const result = await this._hostService.showToast({
|
|
87
87
|
title: this._sanitizeOSToastText(notificationTitle),
|
|
88
88
|
body: this._getNotificationBody(sessionResource, info, isQuestionCarousel),
|
|
@@ -121,7 +121,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
|
|
|
121
121
|
}
|
|
122
122
|
_getNotificationBody(sessionResource, info, isQuestionCarousel) {
|
|
123
123
|
if (isQuestionCarousel) {
|
|
124
|
-
return localize(
|
|
124
|
+
return localize(6900, "Questions need your input.");
|
|
125
125
|
}
|
|
126
126
|
const terminalCommand = this._getPendingTerminalCommand(sessionResource);
|
|
127
127
|
if (terminalCommand) {
|
|
@@ -130,7 +130,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
|
|
|
130
130
|
if (info.detail) {
|
|
131
131
|
return this._sanitizeOSToastText(info.detail);
|
|
132
132
|
}
|
|
133
|
-
return localize(
|
|
133
|
+
return localize(6901, "Approval needed to continue.");
|
|
134
134
|
}
|
|
135
135
|
_getPendingTerminalCommand(sessionResource) {
|
|
136
136
|
const model = this._chatService.getSession(sessionResource);
|
|
@@ -64,8 +64,8 @@ let AgentPluginRecommendations = class AgentPluginRecommendations extends Dispos
|
|
|
64
64
|
if (uninstalledCount === 0) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(
|
|
68
|
-
label: ( localize(
|
|
67
|
+
this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(6902, "This workspace recommends 1 agent plugin.")) : ( localize(6903, "This workspace recommends {0} agent plugins.", uninstalledCount)), [{
|
|
68
|
+
label: ( localize(6904, "Show Plugins")),
|
|
69
69
|
run: () => {
|
|
70
70
|
this._extensionsWorkbenchService.openSearch("@agentPlugins @recommended");
|
|
71
71
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js
CHANGED
|
@@ -11,22 +11,22 @@ import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workb
|
|
|
11
11
|
const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
12
12
|
extensionPoint: "chatContext",
|
|
13
13
|
jsonSchema: {
|
|
14
|
-
description: ( localize(
|
|
14
|
+
description: ( localize(6905, "Contributes chat context integrations to the chat widget.")),
|
|
15
15
|
type: "array",
|
|
16
16
|
items: {
|
|
17
17
|
type: "object",
|
|
18
18
|
properties: {
|
|
19
19
|
id: {
|
|
20
|
-
description: ( localize(
|
|
20
|
+
description: ( localize(6906, "A unique identifier for this item.")),
|
|
21
21
|
type: "string"
|
|
22
22
|
},
|
|
23
23
|
icon: {
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(6907, "The icon associated with this chat context item.")),
|
|
25
25
|
type: "string"
|
|
26
26
|
},
|
|
27
27
|
displayName: {
|
|
28
28
|
description: ( localize(
|
|
29
|
-
|
|
29
|
+
6908,
|
|
30
30
|
"A user-friendly name for this item which is used for display in menus."
|
|
31
31
|
)),
|
|
32
32
|
type: "string"
|
|
@@ -60,7 +60,7 @@ let ChatContextContribution = class ChatContextContribution extends Disposable {
|
|
|
60
60
|
const icon = contribution.icon ? ThemeIcon.fromString(contribution.icon) : undefined;
|
|
61
61
|
if (!icon && contribution.icon) {
|
|
62
62
|
ext.collector.error(( localize(
|
|
63
|
-
|
|
63
|
+
6909,
|
|
64
64
|
"Invalid icon format for chat context contribution '{0}'. Icon must be in the format '{1}' or '{2}', e.g. '{3}'.",
|
|
65
65
|
contribution.id,
|
|
66
66
|
"$(iconId)",
|