From 71fef59bcbab7a7d791eb3d406e278e22208d2ce Mon Sep 17 00:00:00 2001 From: Adam Weidman Date: Thu, 7 May 2026 14:09:21 -0400 Subject: [PATCH] refactor: address review comments for local protocol --- packages/core/src/agent/content-utils.test.ts | 2 +- packages/core/src/agent/legacy-agent-session.test.ts | 7 +++---- packages/core/src/agent/legacy-agent-session.ts | 6 ++---- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/core/src/agent/content-utils.test.ts b/packages/core/src/agent/content-utils.test.ts index 0ed681c078..6137bde280 100644 --- a/packages/core/src/agent/content-utils.test.ts +++ b/packages/core/src/agent/content-utils.test.ts @@ -187,7 +187,7 @@ describe('contentPartsToGeminiParts', () => { ]); }); - it('serializes unknown ContentPart variants', () => { + it('throws on unknown ContentPart variants', () => { // Force an unknown variant past the type system const content = [ { type: 'custom_widget', payload: 123 }, diff --git a/packages/core/src/agent/legacy-agent-session.test.ts b/packages/core/src/agent/legacy-agent-session.test.ts index 525548e292..1be4b023bd 100644 --- a/packages/core/src/agent/legacy-agent-session.test.ts +++ b/packages/core/src/agent/legacy-agent-session.test.ts @@ -241,11 +241,10 @@ describe('LegacyAgentSession', () => { ); }); - it('throws for non-message payloads', async () => { + it('returns null streamId for non-message payloads', async () => { const session = new LegacyAgentSession(deps); - await expect(session.send({ update: { title: 'test' } })).rejects.toThrow( - 'only supports message sends', - ); + const result = await session.send({ update: { title: 'test' } }); + expect(result.streamId).toBeNull(); }); it('throws if send is called while a stream is active', async () => { diff --git a/packages/core/src/agent/legacy-agent-session.ts b/packages/core/src/agent/legacy-agent-session.ts index e8d5e56ef5..182256323f 100644 --- a/packages/core/src/agent/legacy-agent-session.ts +++ b/packages/core/src/agent/legacy-agent-session.ts @@ -105,12 +105,10 @@ export class LegacyAgentProtocol implements AgentProtocol { }; } - async send(payload: AgentSend): Promise<{ streamId: string }> { + async send(payload: AgentSend): Promise<{ streamId: string | null }> { const message = 'message' in payload ? payload.message : undefined; if (!message) { - throw new Error( - 'LegacyAgentSession.send() only supports message sends for the moment.', - ); + return { streamId: null }; } if (this._activeStreamId) {