Skip to content

Commit 31ca791

Browse files
committed
refactor: Types cleanup
1 parent 8daa38e commit 31ca791

33 files changed

+496
-504
lines changed

tools/server/public/index.html.gz

-723 Bytes
Binary file not shown.

tools/server/webui/src/app.d.ts

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import type {
1919
ChatMessageType,
2020
ChatRole,
2121
ChatUploadedFile,
22-
MessageSiblingInfo,
23-
MessagePromptProgress,
24-
MessageTimings
22+
ChatMessageSiblingInfo,
23+
ChatMessagePromptProgress,
24+
ChatMessageTimings
2525
} from '$lib/types/chat';
2626

2727
import type {
@@ -34,6 +34,22 @@ import type {
3434
DatabaseMessageExtraPdfFile
3535
} from '$lib/types/database';
3636

37+
import type {
38+
FileTypeCategory,
39+
FileTypeImage,
40+
FileTypeAudio,
41+
FileTypePdf,
42+
FileTypeText,
43+
FileExtensionImage,
44+
FileExtensionAudio,
45+
FileExtensionPdf,
46+
FileExtensionText,
47+
MimeTypeApplication,
48+
MimeTypeAudio,
49+
MimeTypeImage,
50+
MimeTypeText
51+
} from '$lib/types/files';
52+
3753
import type {
3854
SettingsConfigValue,
3955
SettingsFieldConfig,
@@ -60,6 +76,9 @@ declare global {
6076
ApiLlamaCppServerProps,
6177
ApiProcessingState,
6278
ChatMessageData,
79+
ChatMessagePromptProgress,
80+
ChatMessageSiblingInfo,
81+
ChatMessageTimings,
6382
ChatMessageType,
6483
ChatRole,
6584
ChatUploadedFile,
@@ -70,9 +89,19 @@ declare global {
7089
DatabaseMessageExtraImageFile,
7190
DatabaseMessageExtraTextFile,
7291
DatabaseMessageExtraPdfFile,
73-
MessageSiblingInfo,
74-
MessagePromptProgress,
75-
MessageTimings,
92+
FileTypeCategory,
93+
FileTypeImage,
94+
FileTypeAudio,
95+
FileTypePdf,
96+
FileTypeText,
97+
FileExtensionImage,
98+
FileExtensionAudio,
99+
FileExtensionPdf,
100+
FileExtensionText,
101+
MimeTypeApplication,
102+
MimeTypeAudio,
103+
MimeTypeImage,
104+
MimeTypeText,
76105
SettingsConfigValue,
77106
SettingsFieldConfig,
78107
SettingsConfigType,

tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentFilePreview.svelte

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<script lang="ts">
22
import { X } from '@lucide/svelte';
33
import { Button } from '$lib/components/ui/button';
4-
import { FileTypeCategory, TextMimeType } from '$lib/constants/supported-file-types';
54
import { formatFileSize, getFileTypeLabel, getPreviewText } from '$lib/utils/file-preview';
65
76
interface Props {
@@ -29,7 +28,7 @@
2928
}: Props = $props();
3029
</script>
3130

32-
{#if type === TextMimeType.PLAIN || type === FileTypeCategory.TEXT}
31+
{#if type === MimeTypeText.PLAIN || type === FileTypeCategory.TEXT}
3332
{#if readonly}
3433
<!-- Readonly mode (ChatMessage) -->
3534
<button

tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentPreviewDialog.svelte

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@
33
import { FileText, Image, Music, FileIcon, Eye } from '@lucide/svelte';
44
import { convertPDFToImage } from '$lib/utils/pdf-processing';
55
import { Button } from '$lib/components/ui/button';
6-
import {
7-
FileTypeCategory,
8-
ApplicationMimeType,
9-
getFileTypeCategory
10-
} from '$lib/constants/supported-file-types';
6+
import { getFileTypeCategory } from '$lib/utils/file-type';
117
import { formatFileSize } from '$lib/utils/file-preview';
128
139
interface Props {
@@ -49,7 +45,7 @@
4945
: attachment?.type === 'audioFile'
5046
? attachment.mimeType || 'audio'
5147
: attachment?.type === 'pdfFile'
52-
? ApplicationMimeType.PDF
48+
? MimeTypeApplication.PDF
5349
: type || 'unknown')
5450
);
5551
@@ -72,7 +68,7 @@
7268
getFileTypeCategory(displayType) === FileTypeCategory.IMAGE || displayType === 'image'
7369
);
7470
75-
let isPdf = $derived(displayType === ApplicationMimeType.PDF);
71+
let isPdf = $derived(displayType === MimeTypeApplication.PDF);
7672
7773
let isText = $derived(
7874
getFileTypeCategory(displayType) === FileTypeCategory.TEXT || displayType === 'text'
@@ -121,7 +117,7 @@
121117
byteNumbers[i] = byteCharacters.charCodeAt(i);
122118
}
123119
const byteArray = new Uint8Array(byteNumbers);
124-
file = new File([byteArray], displayName, { type: ApplicationMimeType.PDF });
120+
file = new File([byteArray], displayName, { type: MimeTypeApplication.PDF });
125121
}
126122
}
127123

tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts">
22
import { ChatAttachmentImagePreview, ChatAttachmentFilePreview } from '$lib/components/app';
3+
import { getFileTypeCategory } from '$lib/utils/file-type';
34
import ChatAttachmentPreviewDialog from './ChatAttachmentPreviewDialog.svelte';
4-
import { FileTypeCategory, getFileTypeCategory } from '$lib/constants/supported-file-types';
55
66
interface Props {
77
class?: string;

tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,6 @@
88
ChatFormTextarea
99
} from '$lib/components/app';
1010
import { inputClasses } from '$lib/constants/input-classes';
11-
import {
12-
TextMimeType,
13-
ImageExtension,
14-
ImageMimeType,
15-
AudioExtension,
16-
AudioMimeType,
17-
PdfExtension,
18-
ApplicationMimeType,
19-
TextExtension,
20-
FileTypeCategory
21-
} from '$lib/constants/supported-file-types';
2211
import { config } from '$lib/stores/settings.svelte';
2312
import {
2413
AudioRecorder,
@@ -66,13 +55,15 @@
6655
function getAcceptStringForFileType(fileType: FileTypeCategory): string {
6756
switch (fileType) {
6857
case FileTypeCategory.IMAGE:
69-
return [...Object.values(ImageExtension), ...Object.values(ImageMimeType)].join(',');
58+
return [...Object.values(FileExtensionImage), ...Object.values(MimeTypeImage)].join(',');
7059
case FileTypeCategory.AUDIO:
71-
return [...Object.values(AudioExtension), ...Object.values(AudioMimeType)].join(',');
60+
return [...Object.values(FileExtensionAudio), ...Object.values(MimeTypeAudio)].join(',');
7261
case FileTypeCategory.PDF:
73-
return [...Object.values(PdfExtension), ...Object.values(ApplicationMimeType)].join(',');
62+
return [...Object.values(FileExtensionPdf), ...Object.values(MimeTypeApplication)].join(
63+
','
64+
);
7465
case FileTypeCategory.TEXT:
75-
return [...Object.values(TextExtension), TextMimeType.PLAIN].join(',');
66+
return [...Object.values(FileExtensionText), MimeTypeText.PLAIN].join(',');
7667
default:
7768
return '';
7869
}
@@ -132,7 +123,7 @@
132123
return;
133124
}
134125
135-
const text = event.clipboardData.getData(TextMimeType.PLAIN);
126+
const text = event.clipboardData.getData(MimeTypeText.PLAIN);
136127
137128
if (
138129
text.length > 0 &&
@@ -142,7 +133,7 @@
142133
event.preventDefault();
143134
144135
const textFile = new File([text], 'Pasted', {
145-
type: TextMimeType.PLAIN
136+
type: MimeTypeText.PLAIN
146137
});
147138
148139
onFileUpload?.([textFile]);

tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActionFileAttachments.svelte

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import { Button } from '$lib/components/ui/button';
44
import * as DropdownMenu from '$lib/components/ui/dropdown-menu';
55
import * as Tooltip from '$lib/components/ui/tooltip';
6-
import { FileTypeCategory } from '$lib/constants/supported-file-types';
76
import { TOOLTIP_DELAY_DURATION } from '$lib/constants/tooltip-config';
87
import { supportsAudio, supportsVision } from '$lib/stores/server.svelte';
98

tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions.svelte

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<script lang="ts">
22
import { Square, ArrowUp } from '@lucide/svelte';
33
import { Button } from '$lib/components/ui/button';
4-
import { FileTypeCategory } from '$lib/constants/supported-file-types';
54
import ChatFormActionFileAttachments from './ChatFormActionFileAttachments.svelte';
65
import ChatFormActionRecord from './ChatFormActionRecord.svelte';
76

tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
) => void;
1919
onNavigateToSibling?: (siblingId: string) => void;
2020
onRegenerateWithBranching?: (message: DatabaseMessage) => void;
21-
siblingInfo?: MessageSiblingInfo | null;
21+
siblingInfo?: ChatMessageSiblingInfo | null;
2222
}
2323
2424
let {

tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
role: 'user' | 'assistant';
1212
justify: 'start' | 'end';
1313
actionsPosition: 'left' | 'right';
14-
siblingInfo?: MessageSiblingInfo | null;
14+
siblingInfo?: ChatMessageSiblingInfo | null;
1515
showDeleteDialog: boolean;
1616
deletionInfo: {
1717
totalCount: number;

0 commit comments

Comments
 (0)