Skip to content

Commit 388e603

Browse files
committed
Fix spec types test compatibility after upstream merge
Added FixSpecServerCapabilities and FixSpecInitializeResult type helpers to handle index signature requirements for ServerCapabilities that differ between the spec types (no index signature) and SDK types (passthrough with index signature).
1 parent e4c2695 commit 388e603

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/spec.types.test.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ type FixSpecClientCapabilities<T> = T extends { elicitation?: object }
6767
? Omit<T, 'elicitation'> & { elicitation?: Record<string, unknown> }
6868
: T;
6969

70+
// Targeted fix: in spec, ServerCapabilities needs index signature to match SDK's passthrough
71+
type FixSpecServerCapabilities<T> = T & { [x: string]: unknown };
72+
73+
type FixSpecInitializeResult<T> = T extends { capabilities: infer C } ? T & { capabilities: FixSpecServerCapabilities<C> } : T;
74+
7075
type FixSpecInitializeRequestParams<T> = T extends { capabilities: infer C }
7176
? Omit<T, 'capabilities'> & { capabilities: FixSpecClientCapabilities<C> }
7277
: T;
@@ -531,15 +536,15 @@ const sdkTypeChecks = {
531536
sdk = spec;
532537
spec = sdk;
533538
},
534-
InitializeResult: (sdk: SDKTypes.InitializeResult, spec: SpecTypes.InitializeResult) => {
539+
InitializeResult: (sdk: SDKTypes.InitializeResult, spec: FixSpecInitializeResult<SpecTypes.InitializeResult>) => {
535540
sdk = spec;
536541
spec = sdk;
537542
},
538543
ClientCapabilities: (sdk: SDKTypes.ClientCapabilities, spec: FixSpecClientCapabilities<SpecTypes.ClientCapabilities>) => {
539544
sdk = spec;
540545
spec = sdk;
541546
},
542-
ServerCapabilities: (sdk: SDKTypes.ServerCapabilities, spec: SpecTypes.ServerCapabilities) => {
547+
ServerCapabilities: (sdk: SDKTypes.ServerCapabilities, spec: FixSpecServerCapabilities<SpecTypes.ServerCapabilities>) => {
543548
sdk = spec;
544549
spec = sdk;
545550
},

0 commit comments

Comments
 (0)