@@ -92,10 +92,13 @@ export class ChromeAdapter {
9292 */
9393 async generateContent ( request : GenerateContentRequest ) : Promise < Response > {
9494 const session = await this . createSession ( ) ;
95- // TODO: support multiple content objects when Chrome supports
95+ // NOTE: assumes all parts are from the same role, enforced by isOnDeviceRequest validation.
96+ // TODO: stop stripping roles when Chrome supports
9697 // sequence<LanguageModelMessage>
9798 const contents = await Promise . all (
98- request . contents [ 0 ] . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
99+ request . contents . flatMap ( content =>
100+ content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
101+ )
99102 ) ;
100103 const text = await session . prompt ( contents ) ;
101104 return ChromeAdapter . toResponse ( text ) ;
@@ -113,10 +116,13 @@ export class ChromeAdapter {
113116 request : GenerateContentRequest
114117 ) : Promise < Response > {
115118 const session = await this . createSession ( ) ;
116- // TODO: support multiple content objects when Chrome supports
119+ // NOTE: assumes all parts are from the same role, enforced by isOnDeviceRequest validation.
120+ // TODO: stop stripping roles when Chrome supports
117121 // sequence<LanguageModelMessage>
118122 const contents = await Promise . all (
119- request . contents [ 0 ] . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
123+ request . contents . flatMap ( content =>
124+ content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
125+ )
120126 ) ;
121127 const stream = await session . promptStreaming ( contents ) ;
122128 return ChromeAdapter . toStreamResponse ( stream ) ;
0 commit comments