@@ -92,10 +92,13 @@ export class ChromeAdapter {
92
92
*/
93
93
async generateContent ( request : GenerateContentRequest ) : Promise < Response > {
94
94
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
96
97
// sequence<LanguageModelMessage>
97
98
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
+ )
99
102
) ;
100
103
const text = await session . prompt ( contents ) ;
101
104
return ChromeAdapter . toResponse ( text ) ;
@@ -113,10 +116,13 @@ export class ChromeAdapter {
113
116
request : GenerateContentRequest
114
117
) : Promise < Response > {
115
118
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
117
121
// sequence<LanguageModelMessage>
118
122
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
+ )
120
126
) ;
121
127
const stream = await session . promptStreaming ( contents ) ;
122
128
return ChromeAdapter . toStreamResponse ( stream ) ;
0 commit comments