Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/chatSessions/copilotcli/common/pendingRequestContext.ts
13405 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import type { Attachment, SendOptions } from '@github/copilot/sdk';
7
8
export interface ICopilotCLIPendingRequestContext {
9
readonly prompt: string;
10
readonly attachments: Attachment[];
11
readonly source?: SendOptions['source'];
12
}
13
14
const pendingRequestContextBySessionId = new Map<string, ICopilotCLIPendingRequestContext>();
15
16
export function setPendingCopilotCLIRequestContext(sessionId: string, context: ICopilotCLIPendingRequestContext): void {
17
pendingRequestContextBySessionId.set(sessionId, context);
18
}
19
20
export function takePendingCopilotCLIRequestContext(sessionId: string): ICopilotCLIPendingRequestContext | undefined {
21
const context = pendingRequestContextBySessionId.get(sessionId);
22
if (context) {
23
pendingRequestContextBySessionId.delete(sessionId);
24
}
25
return context;
26
}
27
28
export function clearPendingCopilotCLIRequestContext(sessionId: string): void {
29
pendingRequestContextBySessionId.delete(sessionId);
30
}
31
32