Skip to content

Commit 3d48f5e

Browse files
feat(compat): add StreamableHTTPServerTransport alias and EventStore type re-exports to @modelcontextprotocol/node
v1 code imports `StreamableHTTPServerTransport`, `EventStore`, `EventId`, and `StreamId` from `@modelcontextprotocol/sdk/server/streamableHttp.js`. Re-export them from `@modelcontextprotocol/node` (alias is `@deprecated`, types pass through from `@modelcontextprotocol/server`) so the migration is a package-name swap.
1 parent 9ed62fe commit 3d48f5e

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@modelcontextprotocol/node': patch
3+
---
4+
5+
Add v1-compat re-exports: `StreamableHTTPServerTransport` (deprecated alias for `NodeStreamableHTTPServerTransport`) and the `EventStore` / `EventId` / `StreamId` types, so v1 imports from `@modelcontextprotocol/sdk/server/streamableHttp.js` map cleanly onto `@modelcontextprotocol/node`.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
11
export * from './streamableHttp.js';
2+
3+
// v1-compat re-exports — keep until v3.
4+
export {
5+
/** @deprecated Use {@linkcode NodeStreamableHTTPServerTransport}. Removed in v3. */
6+
NodeStreamableHTTPServerTransport as StreamableHTTPServerTransport
7+
} from './streamableHttp.js';
8+
export type { EventId, EventStore, StreamId } from '@modelcontextprotocol/server';
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { describe, expect, expectTypeOf, it } from 'vitest';
2+
3+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- testing the deprecated alias is the point
4+
import { NodeStreamableHTTPServerTransport, StreamableHTTPServerTransport } from '../src/index.js';
5+
import type { EventId, EventStore, StreamId } from '../src/index.js';
6+
7+
describe('v1 compat exports from @modelcontextprotocol/node', () => {
8+
it('StreamableHTTPServerTransport aliases NodeStreamableHTTPServerTransport', () => {
9+
// eslint-disable-next-line @typescript-eslint/no-deprecated
10+
expect(StreamableHTTPServerTransport).toBe(NodeStreamableHTTPServerTransport);
11+
// eslint-disable-next-line @typescript-eslint/no-deprecated
12+
expectTypeOf<StreamableHTTPServerTransport>().toEqualTypeOf<NodeStreamableHTTPServerTransport>();
13+
});
14+
15+
it('re-exports EventStore / EventId / StreamId types', () => {
16+
// Type-level assertions: these compile only if the types are exported.
17+
expectTypeOf<EventId>().toBeString();
18+
expectTypeOf<StreamId>().toBeString();
19+
expectTypeOf<EventStore>().toHaveProperty('storeEvent');
20+
expectTypeOf<EventStore>().toHaveProperty('replayEventsAfter');
21+
});
22+
});

0 commit comments

Comments
 (0)