@@ -66,6 +66,9 @@ export class ChromeAdapter {
6666 */
6767 async isAvailable ( request : GenerateContentRequest ) : Promise < boolean > {
6868 if ( this . mode === 'only_in_cloud' ) {
69+ logger . debug (
70+ `On-device inference unavailable because mode is "only_in_cloud".`
71+ ) ;
6972 return false ;
7073 }
7174
@@ -77,10 +80,20 @@ export class ChromeAdapter {
7780 }
7881
7982 // Applies prefer_on_device logic.
80- return (
81- availability === Availability . available &&
82- ChromeAdapter . isOnDeviceRequest ( request )
83- ) ;
83+ if ( availability !== Availability . available ) {
84+ logger . debug (
85+ `On-device inference unavailable because availability is "${ availability } ".`
86+ ) ;
87+ return false ;
88+ }
89+ if ( ! ChromeAdapter . isOnDeviceRequest ( request ) ) {
90+ logger . debug (
91+ `On-device inference unavailable because request is incompatible.`
92+ ) ;
93+ return false ;
94+ }
95+
96+ return true ;
8497 }
8598
8699 /**
@@ -101,7 +114,6 @@ export class ChromeAdapter {
101114 content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
102115 )
103116 ) ;
104- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
105117 const text = await session . prompt ( contents ) ;
106118 return ChromeAdapter . toResponse ( text ) ;
107119 }
@@ -126,7 +138,6 @@ export class ChromeAdapter {
126138 content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
127139 )
128140 ) ;
129- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
130141 const stream = await session . promptStreaming ( contents ) ;
131142 return ChromeAdapter . toStreamResponse ( stream ) ;
132143 }
@@ -152,7 +163,9 @@ export class ChromeAdapter {
152163 // Returns false if the request contains multiple roles, eg a chat history.
153164 // TODO: remove this guard once LanguageModelMessage is supported.
154165 if ( content . role !== 'user' ) {
155- logger . debug ( 'Non-user role "${content.role}" rejected for on-device inference.' ) ;
166+ logger . debug (
167+ `Non-user role "${ content . role } " rejected for on-device inference.`
168+ ) ;
156169 return false ;
157170 }
158171
0 commit comments