diff --git a/packages/vertexai/src/methods/chrome-adapter.test.ts b/packages/vertexai/src/methods/chrome-adapter.test.ts index 859a02a4e85..f9233c637e2 100644 --- a/packages/vertexai/src/methods/chrome-adapter.test.ts +++ b/packages/vertexai/src/methods/chrome-adapter.test.ts @@ -82,7 +82,7 @@ describe('ChromeAdapter', () => { }) ).to.be.false; }); - it('returns false if request content has function role', async () => { + it('returns false if request content has non-user role', async () => { const adapter = new ChromeAdapter( { availability: async () => Availability.available @@ -93,7 +93,7 @@ describe('ChromeAdapter', () => { await adapter.isAvailable({ contents: [ { - role: 'function', + role: 'model', parts: [] } ] diff --git a/packages/vertexai/src/methods/chrome-adapter.ts b/packages/vertexai/src/methods/chrome-adapter.ts index 63e1db83e89..13599f31c53 100644 --- a/packages/vertexai/src/methods/chrome-adapter.ts +++ b/packages/vertexai/src/methods/chrome-adapter.ts @@ -144,9 +144,10 @@ export class ChromeAdapter { return false; } - // Applies the same checks as above, but for each content item. for (const content of request.contents) { - if (content.role === 'function') { + // Returns false if the request contains multiple roles, eg a chat history. + // TODO: remove this guard once LanguageModelMessage is supported. + if (content.role !== 'user') { return false; } }