File tree Expand file tree Collapse file tree 5 files changed +39
-2
lines changed
components/app/chat/ChatAttachments Expand file tree Collapse file tree 5 files changed +39
-2
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,8 @@ import type {
3131 DatabaseMessageExtraAudioFile ,
3232 DatabaseMessageExtraImageFile ,
3333 DatabaseMessageExtraTextFile ,
34- DatabaseMessageExtraPdfFile
34+ DatabaseMessageExtraPdfFile ,
35+ DatabaseMessageExtraLegacyContext
3536} from '$lib/types/database' ;
3637
3738import type {
@@ -73,6 +74,7 @@ declare global {
7374 DatabaseMessageExtraImageFile ,
7475 DatabaseMessageExtraTextFile ,
7576 DatabaseMessageExtraPdfFile ,
77+ DatabaseMessageExtraLegacyContext ,
7678 SettingsConfigValue ,
7779 SettingsFieldConfig ,
7880 SettingsConfigType ,
Original file line number Diff line number Diff line change 9494 attachmentIndex: index ,
9595 textContent: attachment .content
9696 });
97+ } else if (attachment .type === ' context' ) {
98+ // Legacy format from old webui - treat as text file
99+ items .push ({
100+ id: ` attachment-${index } ` ,
101+ name: attachment .name ,
102+ type: ' text' ,
103+ isImage: false ,
104+ attachment ,
105+ attachmentIndex: index ,
106+ textContent: attachment .content
107+ });
97108 } else if (attachment .type === ' audioFile' ) {
98109 items .push ({
99110 id: ` attachment-${index } ` ,
Original file line number Diff line number Diff line change @@ -462,6 +462,19 @@ export class ChatService {
462462 } ) ;
463463 }
464464
465+ // Handle legacy 'context' type from old webui (pasted content)
466+ const legacyContextFiles = message . extra . filter (
467+ ( extra : DatabaseMessageExtra ) : extra is DatabaseMessageExtraLegacyContext =>
468+ extra . type === 'context'
469+ ) ;
470+
471+ for ( const legacyContextFile of legacyContextFiles ) {
472+ contentParts . push ( {
473+ type : 'text' ,
474+ text : `\n\n--- File: ${ legacyContextFile . name } ---\n${ legacyContextFile . content } `
475+ } ) ;
476+ }
477+
465478 const audioFiles = message . extra . filter (
466479 ( extra : DatabaseMessageExtra ) : extra is DatabaseMessageExtraAudioFile =>
467480 extra . type === 'audioFile'
Original file line number Diff line number Diff line change @@ -34,11 +34,22 @@ export interface DatabaseMessageExtraPdfFile {
3434 processedAsImages : boolean ; // Whether PDF was processed as images
3535}
3636
37+ /**
38+ * Legacy format from old webui - pasted content was stored as "context" type
39+ * @deprecated Use DatabaseMessageExtraTextFile instead
40+ */
41+ export interface DatabaseMessageExtraLegacyContext {
42+ type : 'context' ;
43+ name : string ;
44+ content : string ;
45+ }
46+
3747export type DatabaseMessageExtra =
3848 | DatabaseMessageExtraImageFile
3949 | DatabaseMessageExtraTextFile
4050 | DatabaseMessageExtraAudioFile
41- | DatabaseMessageExtraPdfFile ;
51+ | DatabaseMessageExtraPdfFile
52+ | DatabaseMessageExtraLegacyContext ;
4253
4354export interface DatabaseMessage {
4455 id : string ;
You can’t perform that action at this time.
0 commit comments