mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-18 15:55:59 +01:00
Add chat status API proposal
Adds a new proposal that lets extensions contribute to a basic status item for chat
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import type * as vscode from 'vscode';
|
||||
import { CancellationTokenSource } from '../../../base/common/cancellation.js';
|
||||
import * as errors from '../../../base/common/errors.js';
|
||||
import { Emitter, Event } from '../../../base/common/event.js';
|
||||
@@ -21,6 +22,12 @@ import { ILogService, ILoggerService, LogLevel } from '../../../platform/log/com
|
||||
import { getRemoteName } from '../../../platform/remote/common/remoteHosts.js';
|
||||
import { TelemetryTrustedValue } from '../../../platform/telemetry/common/telemetryUtils.js';
|
||||
import { EditSessionIdentityMatch } from '../../../platform/workspace/common/editSessions.js';
|
||||
import { DebugConfigurationProviderTriggerKind } from '../../contrib/debug/common/debug.js';
|
||||
import { ExtensionDescriptionRegistry } from '../../services/extensions/common/extensionDescriptionRegistry.js';
|
||||
import { UIKind } from '../../services/extensions/common/extensionHostProtocol.js';
|
||||
import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
||||
import { ProxyIdentifier } from '../../services/extensions/common/proxyIdentifier.js';
|
||||
import { ExcludeSettingOptions, TextSearchCompleteMessageType, TextSearchContext2, TextSearchMatch2 } from '../../services/search/common/searchExtTypes.js';
|
||||
import { CandidatePortSource, ExtHostContext, ExtHostLogLevelServiceShape, MainContext } from './extHost.protocol.js';
|
||||
import { ExtHostRelatedInformation } from './extHostAiRelatedInformation.js';
|
||||
import { ExtHostApiCommands } from './extHostApiCommands.js';
|
||||
@@ -28,8 +35,10 @@ import { IExtHostApiDeprecationService } from './extHostApiDeprecationService.js
|
||||
import { IExtHostAuthentication } from './extHostAuthentication.js';
|
||||
import { ExtHostBulkEdits } from './extHostBulkEdits.js';
|
||||
import { ExtHostChatAgents2 } from './extHostChatAgents2.js';
|
||||
import { ExtHostChatStatus } from './extHostChatStatus.js';
|
||||
import { ExtHostClipboard } from './extHostClipboard.js';
|
||||
import { ExtHostEditorInsets } from './extHostCodeInsets.js';
|
||||
import { ExtHostCodeMapper } from './extHostCodeMapper.js';
|
||||
import { IExtHostCommands } from './extHostCommands.js';
|
||||
import { createExtHostComments } from './extHostComments.js';
|
||||
import { ExtHostConfigProvider, IExtHostConfiguration } from './extHostConfiguration.js';
|
||||
@@ -59,6 +68,7 @@ import { IExtHostLanguageModels } from './extHostLanguageModels.js';
|
||||
import { ExtHostLanguages } from './extHostLanguages.js';
|
||||
import { IExtHostLocalizationService } from './extHostLocalizationService.js';
|
||||
import { IExtHostManagedSockets } from './extHostManagedSockets.js';
|
||||
import { IExtHostMpcService } from './extHostMcp.js';
|
||||
import { ExtHostMessageService } from './extHostMessageService.js';
|
||||
import { ExtHostNotebookController } from './extHostNotebook.js';
|
||||
import { ExtHostNotebookDocumentSaveParticipant } from './extHostNotebookDocumentSaveParticipant.js';
|
||||
@@ -100,15 +110,6 @@ import { ExtHostWebviewPanels } from './extHostWebviewPanels.js';
|
||||
import { ExtHostWebviewViews } from './extHostWebviewView.js';
|
||||
import { IExtHostWindow } from './extHostWindow.js';
|
||||
import { IExtHostWorkspace } from './extHostWorkspace.js';
|
||||
import { DebugConfigurationProviderTriggerKind } from '../../contrib/debug/common/debug.js';
|
||||
import { ExtensionDescriptionRegistry } from '../../services/extensions/common/extensionDescriptionRegistry.js';
|
||||
import { UIKind } from '../../services/extensions/common/extensionHostProtocol.js';
|
||||
import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
||||
import { ProxyIdentifier } from '../../services/extensions/common/proxyIdentifier.js';
|
||||
import { ExcludeSettingOptions, TextSearchCompleteMessageType, TextSearchContext2, TextSearchMatch2 } from '../../services/search/common/searchExtTypes.js';
|
||||
import type * as vscode from 'vscode';
|
||||
import { ExtHostCodeMapper } from './extHostCodeMapper.js';
|
||||
import { IExtHostMpcService } from './extHostMcp.js';
|
||||
|
||||
export interface IExtensionRegistries {
|
||||
mine: ExtensionDescriptionRegistry;
|
||||
@@ -231,6 +232,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostClipboard = new ExtHostClipboard(rpcProtocol);
|
||||
const extHostMessageService = new ExtHostMessageService(rpcProtocol, extHostLogService);
|
||||
const extHostDialogs = new ExtHostDialogs(rpcProtocol);
|
||||
const extHostChatStatus = new ExtHostChatStatus(rpcProtocol);
|
||||
|
||||
// Register API-ish commands
|
||||
ExtHostApiCommands.register(extHostCommands);
|
||||
@@ -937,7 +939,11 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
get nativeHandle(): Uint8Array | undefined {
|
||||
checkProposedApiEnabled(extension, 'nativeWindowHandle');
|
||||
return extHostWindow.nativeHandle;
|
||||
}
|
||||
},
|
||||
createChatStatusItem: (id: string) => {
|
||||
checkProposedApiEnabled(extension, 'chatStatusItem');
|
||||
return extHostChatStatus.createChatStatusItem(extension, id);
|
||||
},
|
||||
};
|
||||
|
||||
// namespace: workspace
|
||||
|
||||
Reference in New Issue
Block a user