Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/conversation/common/languageModelChatMessageHelpers.ts
13399 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
7
import { LanguageModelDataPart } from '../../../vscodeTypes';
8
9
export enum ChatImageMimeType {
10
PNG = 'image/png',
11
JPEG = 'image/jpeg',
12
GIF = 'image/gif',
13
WEBP = 'image/webp',
14
BMP = 'image/bmp',
15
}
16
17
export function isImageDataPart(part: unknown): part is LanguageModelDataPart {
18
if (part instanceof LanguageModelDataPart && isChatImageMimeType(part.mimeType)) {
19
return true;
20
}
21
22
return false;
23
}
24
25
function isChatImageMimeType(mimeType: string): mimeType is ChatImageMimeType {
26
switch (mimeType) {
27
case ChatImageMimeType.JPEG:
28
case ChatImageMimeType.PNG:
29
case ChatImageMimeType.GIF:
30
case ChatImageMimeType.WEBP:
31
case ChatImageMimeType.BMP:
32
return true;
33
default:
34
return false;
35
}
36
}
37
38