Path: blob/main/extensions/copilot/src/extension/chatSessions/copilotcli/common/pendingRequestContext.ts
13405 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import type { Attachment, SendOptions } from '@github/copilot/sdk';67export interface ICopilotCLIPendingRequestContext {8readonly prompt: string;9readonly attachments: Attachment[];10readonly source?: SendOptions['source'];11}1213const pendingRequestContextBySessionId = new Map<string, ICopilotCLIPendingRequestContext>();1415export function setPendingCopilotCLIRequestContext(sessionId: string, context: ICopilotCLIPendingRequestContext): void {16pendingRequestContextBySessionId.set(sessionId, context);17}1819export function takePendingCopilotCLIRequestContext(sessionId: string): ICopilotCLIPendingRequestContext | undefined {20const context = pendingRequestContextBySessionId.get(sessionId);21if (context) {22pendingRequestContextBySessionId.delete(sessionId);23}24return context;25}2627export function clearPendingCopilotCLIRequestContext(sessionId: string): void {28pendingRequestContextBySessionId.delete(sessionId);29}303132