11import {
22 BEDROCK ,
3- documentMimeTypes ,
43 fileExtensionMimeTypeMap ,
54 imagesMimeTypes ,
5+ videoMimeTypes ,
66} from '../../globals' ;
77import {
88 Message ,
@@ -190,7 +190,16 @@ const getMessageContent = (message: Message) => {
190190 format : fileFormat ,
191191 } ,
192192 } ) ;
193- } else if ( documentMimeTypes . includes ( mimeType ) ) {
193+ } else if ( videoMimeTypes . includes ( mimeType ) ) {
194+ out . push ( {
195+ video : {
196+ format : fileFormat ,
197+ source : {
198+ bytes,
199+ } ,
200+ } ,
201+ } ) ;
202+ } else {
194203 out . push ( {
195204 document : {
196205 format : fileFormat ,
@@ -204,25 +213,46 @@ const getMessageContent = (message: Message) => {
204213 } else if ( item . type === 'file' ) {
205214 const mimeType = item . file ?. mime_type || fileExtensionMimeTypeMap . pdf ;
206215 const fileFormat = mimeType . split ( '/' ) [ 1 ] ;
207- if ( item . file ?. file_url ) {
216+ if ( imagesMimeTypes . includes ( mimeType ) ) {
208217 out . push ( {
209- document : {
218+ image : {
219+ source : {
220+ ...( item . file ?. file_data && { bytes : item . file . file_data } ) ,
221+ ...( item . file ?. file_url && {
222+ s3Location : {
223+ uri : item . file . file_url ,
224+ } ,
225+ } ) ,
226+ } ,
227+ format : fileFormat ,
228+ } ,
229+ } ) ;
230+ } else if ( videoMimeTypes . includes ( mimeType ) ) {
231+ out . push ( {
232+ video : {
210233 format : fileFormat ,
211- name : item . file . file_name || crypto . randomUUID ( ) ,
212234 source : {
213- s3Location : {
214- uri : item . file . file_url ,
215- } ,
235+ ...( item . file ?. file_data && { bytes : item . file . file_data } ) ,
236+ ...( item . file ?. file_url && {
237+ s3Location : {
238+ uri : item . file . file_url ,
239+ } ,
240+ } ) ,
216241 } ,
217242 } ,
218243 } ) ;
219- } else if ( item . file ?. file_data ) {
244+ } else {
220245 out . push ( {
221246 document : {
222247 format : fileFormat ,
223- name : item . file . file_name || crypto . randomUUID ( ) ,
248+ name : item . file ? .file_name || crypto . randomUUID ( ) ,
224249 source : {
225- bytes : item . file . file_data ,
250+ ...( item . file ?. file_data && { bytes : item . file . file_data } ) ,
251+ ...( item . file ?. file_url && {
252+ s3Location : {
253+ uri : item . file . file_url ,
254+ } ,
255+ } ) ,
226256 } ,
227257 } ,
228258 } ) ;
0 commit comments