Skip to content

Commit 8ba77a7

Browse files
authored
chore (provider-utils): use eventsource-parser library (vercel#6781)
## Background The eventsource-parser library has performance optimizations that will speed up stream processing. It was removed before because of performance issues, but has since then improved. ## Summary Replace event source stream processing with `eventsource-parser` library.
1 parent 142576e commit 8ba77a7

File tree

8 files changed

+35
-348
lines changed

8 files changed

+35
-348
lines changed

.changeset/gold-planes-cheer.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@ai-sdk/provider-utils': patch
3+
---
4+
5+
chore (provider-utils): use eventsource-parser library

packages/ai/core/tool/mcp/mcp-sse-transport.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createEventSourceParserStream } from '@ai-sdk/provider-utils';
1+
import { EventSourceParserStream } from '@ai-sdk/provider-utils';
22
import { MCPClientError } from '../../../src/error/mcp-client-error';
33
import { JSONRPCMessage, JSONRPCMessageSchema } from './json-rpc-message';
44
import { MCPTransport } from './mcp-transport';
@@ -55,7 +55,7 @@ export class SseMCPTransport implements MCPTransport {
5555

5656
const stream = response.body
5757
.pipeThrough(new TextDecoderStream())
58-
.pipeThrough(createEventSourceParserStream());
58+
.pipeThrough(new EventSourceParserStream());
5959

6060
const reader = stream.getReader();
6161

packages/provider-utils/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
"dependencies": {
4242
"@ai-sdk/provider": "workspace:*",
4343
"@standard-schema/spec": "^1.0.0",
44-
"zod-to-json-schema": "^3.24.1"
44+
"zod-to-json-schema": "^3.24.1",
45+
"eventsource-parser": "^3.0.2"
4546
},
4647
"devDependencies": {
4748
"@types/node": "20.17.24",

packages/provider-utils/src/event-source-parser-stream.test.ts

Lines changed: 0 additions & 194 deletions
This file was deleted.

packages/provider-utils/src/event-source-parser-stream.ts

Lines changed: 0 additions & 132 deletions
This file was deleted.

packages/provider-utils/src/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
export * from './combine-headers';
22
export { convertAsyncIteratorToReadableStream } from './convert-async-iterator-to-readable-stream';
33
export * from './delay';
4-
export { createEventSourceParserStream } from './event-source-parser-stream';
5-
export type { EventSourceChunk } from './event-source-parser-stream';
64
export * from './extract-response-headers';
75
export * from './fetch-function';
86
export { createIdGenerator, generateId } from './generate-id';
@@ -30,4 +28,10 @@ export * from './validate-types';
3028
export * from './validator';
3129
export * from './without-trailing-slash';
3230
export { zodSchema } from './zod-schema';
31+
32+
// re-exports
33+
export {
34+
type EventSourceMessage,
35+
EventSourceParserStream,
36+
} from 'eventsource-parser/stream';
3337
export * from '@standard-schema/spec';

0 commit comments

Comments
 (0)