Skip to content

Commit 0ae44bf

Browse files
committed
naming is hard
1 parent 3f12390 commit 0ae44bf

7 files changed

Lines changed: 30 additions & 28 deletions

File tree

packages/core/src/shared/transport.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export interface Transport {
128128
* {@linkcode @modelcontextprotocol/server!server/server.Server.connect | connect()} to
129129
* seed client capabilities and version info.
130130
*/
131-
oninitialized?: ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined;
131+
oninitializationreplay?: ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined;
132132

133133
/**
134134
* The session ID generated for this connection.

packages/core/src/util/inMemory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class InMemoryTransport implements Transport {
1818
onclose?: () => void;
1919
onerror?: (error: Error) => void;
2020
onmessage?: (message: JSONRPCMessage, extra?: { authInfo?: AuthInfo }) => void;
21-
oninitialized?: (data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void;
21+
oninitializationreplay?: (data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void;
2222
sessionId?: string;
2323

2424
/**

packages/middleware/node/src/streamableHttp.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,14 @@ export class NodeStreamableHTTPServerTransport implements Transport {
141141
/**
142142
* Sets callback for session initialization replay.
143143
*/
144-
set oninitialized(handler: ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined) {
145-
this._webStandardTransport.oninitialized = handler;
144+
set oninitializationreplay(
145+
handler: ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined
146+
) {
147+
this._webStandardTransport.oninitializationreplay = handler;
146148
}
147149

148-
get oninitialized(): ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined {
149-
return this._webStandardTransport.oninitialized;
150+
get oninitializationreplay(): ((data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void) | undefined {
151+
return this._webStandardTransport.oninitializationreplay;
150152
}
151153

152154
/**

packages/server/src/server/server.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,13 @@ export class Server extends Protocol<ServerContext> {
142142
}
143143

144144
/**
145-
* Attaches to the given transport, hooking the `oninitialized` callback
145+
* Attaches to the given transport, hooking the `oninitializationreplay` callback
146146
* to seed client capabilities and version info from replayed sessions.
147147
*/
148148
override async connect(transport: Transport): Promise<void> {
149-
const _oninitialized = transport.oninitialized;
150-
transport.oninitialized = data => {
151-
_oninitialized?.(data);
149+
const _oninitializationreplay = transport.oninitializationreplay;
150+
transport.oninitializationreplay = data => {
151+
_oninitializationreplay?.(data);
152152
this._clientCapabilities ??= data.clientCapabilities;
153153
this._clientVersion ??= data.clientVersion;
154154
};

packages/server/src/server/streamableHttp.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport {
279279
onclose?: () => void;
280280
onerror?: (error: Error) => void;
281281
onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
282-
oninitialized?: (data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void;
282+
oninitializationreplay?: (data: { clientCapabilities: ClientCapabilities; clientVersion: Implementation }) => void;
283283

284284
constructor(options: WebStandardStreamableHTTPServerTransportOptions = {}) {
285285
this.sessionIdGenerator = options.sessionIdGenerator;
@@ -892,7 +892,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport {
892892
* Called once in `handleRequest()` before method dispatch.
893893
*
894894
* No-op when already initialized, no callback provided, or no session ID header.
895-
* On success, sets `sessionId` and `_initialized`, then invokes `oninitialized`
895+
* On success, sets `sessionId` and `_initialized`, then invokes `oninitializationreplay`
896896
* so the server can seed client capabilities and version info.
897897
*/
898898
private async _tryReplayInitialization(req: Request): Promise<Response | undefined> {
@@ -912,7 +912,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport {
912912

913913
this.sessionId = sessionId;
914914
this._initialized = true;
915-
this.oninitialized?.(result);
915+
this.oninitializationreplay?.(result);
916916
return undefined;
917917
} finally {
918918
this._replayInProgress = false;

packages/server/test/server/server.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ describe('Server', () => {
4040
});
4141
});
4242

43-
describe('connect — oninitialized hook', () => {
43+
describe('connect — oninitializationreplay hook', () => {
4444
const testCapabilities: ClientCapabilities = { sampling: {} };
4545
const testVersion: Implementation = { name: 'test-client', version: '2.0.0' };
4646

47-
it('should seed getClientCapabilities() when transport.oninitialized is called', async () => {
47+
it('should seed getClientCapabilities() when transport.oninitializationreplay is called', async () => {
4848
const server = new Server({ name: 'test', version: '1.0.0' }, { capabilities: {} });
4949

5050
const [, serverTransport] = InMemoryTransport.createLinkedPair();
5151
await server.connect(serverTransport);
5252

53-
// Simulate transport calling oninitialized (as _tryReplayInitialization would)
54-
serverTransport.oninitialized?.({
53+
// Simulate transport calling oninitializationreplay (as _tryReplayInitialization would)
54+
serverTransport.oninitializationreplay?.({
5555
clientCapabilities: testCapabilities,
5656
clientVersion: testVersion
5757
});
@@ -62,7 +62,7 @@ describe('Server', () => {
6262
await server.close();
6363
});
6464

65-
it('should return undefined for getClientCapabilities() when oninitialized is not called', async () => {
65+
it('should return undefined for getClientCapabilities() when oninitializationreplay is not called', async () => {
6666
const server = new Server({ name: 'test', version: '1.0.0' }, { capabilities: {} });
6767

6868
const [, serverTransport] = InMemoryTransport.createLinkedPair();
@@ -80,8 +80,8 @@ describe('Server', () => {
8080
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
8181
await server.connect(serverTransport);
8282

83-
// First: seed via oninitialized
84-
serverTransport.oninitialized?.({
83+
// First: seed via oninitializationreplay
84+
serverTransport.oninitializationreplay?.({
8585
clientCapabilities: testCapabilities,
8686
clientVersion: testVersion
8787
});
@@ -116,18 +116,18 @@ describe('Server', () => {
116116
await server.close();
117117
});
118118

119-
it('should chain with an existing transport.oninitialized callback', async () => {
119+
it('should chain with an existing transport.oninitializationreplay callback', async () => {
120120
const server = new Server({ name: 'test', version: '1.0.0' }, { capabilities: {} });
121121

122122
const [, serverTransport] = InMemoryTransport.createLinkedPair();
123123

124124
const existingCallback = vi.fn();
125-
serverTransport.oninitialized = existingCallback;
125+
serverTransport.oninitializationreplay = existingCallback;
126126

127127
await server.connect(serverTransport);
128128

129129
const data = { clientCapabilities: testCapabilities, clientVersion: testVersion };
130-
serverTransport.oninitialized?.(data);
130+
serverTransport.oninitializationreplay?.(data);
131131

132132
// Both the existing callback and the server's hook should have fired
133133
expect(existingCallback).toHaveBeenCalledWith(data);

packages/server/test/server/streamableHttp.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,13 +1038,13 @@ describe('Zod v4', () => {
10381038
expect(transport.sessionId).toBe(REPLAY_SESSION_ID);
10391039
});
10401040

1041-
it('should invoke oninitialized with replayed data', async () => {
1041+
it('should invoke oninitializationreplay with replayed data', async () => {
10421042
const transport = new WebStandardStreamableHTTPServerTransport({
10431043
replayInitialization: () => REPLAY_DATA
10441044
});
10451045

1046-
const oninitializedSpy = vi.fn();
1047-
transport.oninitialized = oninitializedSpy;
1046+
const oninitializationreplaySpy = vi.fn();
1047+
transport.oninitializationreplay = oninitializationreplaySpy;
10481048

10491049
const mcpServer = new McpServer({ name: 'test', version: '1.0.0' });
10501050
await mcpServer.connect(transport);
@@ -1055,10 +1055,10 @@ describe('Zod v4', () => {
10551055
await transport.handleRequest(request);
10561056

10571057
// The server's connect() chains its own hook, so verify the original was also called
1058-
expect(oninitializedSpy).toHaveBeenCalledWith(REPLAY_DATA);
1058+
expect(oninitializationreplaySpy).toHaveBeenCalledWith(REPLAY_DATA);
10591059
});
10601060

1061-
it('should seed server capabilities via oninitialized hook', async () => {
1061+
it('should seed server capabilities via oninitializationreplay hook', async () => {
10621062
const transport = new WebStandardStreamableHTTPServerTransport({
10631063
replayInitialization: () => REPLAY_DATA
10641064
});

0 commit comments

Comments
 (0)