Spaces:
Sleeping
Sleeping
File size: 1,227 Bytes
05c5ed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | export const DEFAULT_FILE_PART_MIME_TYPES = [
"image/jpeg",
"image/png",
"image/webp",
"image/gif",
// Enable PDF when supported by the chosen model/provider
"application/pdf",
] as const;
export const OPENAI_FILE_MIME_TYPES = [
...DEFAULT_FILE_PART_MIME_TYPES,
] as const;
export const GEMINI_FILE_MIME_TYPES = [
...DEFAULT_FILE_PART_MIME_TYPES,
] as const;
export const ANTHROPIC_FILE_MIME_TYPES = [
...DEFAULT_FILE_PART_MIME_TYPES,
] as const;
export const XAI_FILE_MIME_TYPES = [...DEFAULT_FILE_PART_MIME_TYPES] as const;
const DEFAULT_FILE_PART_MIME_SET = new Set<string>(
DEFAULT_FILE_PART_MIME_TYPES,
);
export const INGEST_SUPPORTED_MIME = new Set<string>([
"text/csv",
"application/csv",
// Future: xlsx when server-side parser is added
// "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
]);
export const isFilePartSupported = (
mime?: string,
supportedMimeTypes?: readonly string[],
) => {
if (!mime) return false;
if (supportedMimeTypes !== undefined) {
return supportedMimeTypes.includes(mime);
}
return DEFAULT_FILE_PART_MIME_SET.has(mime);
};
export const isIngestSupported = (mime?: string) =>
!!mime && INGEST_SUPPORTED_MIME.has(mime);
|