fix(core): make fromJsonSchema() use runtime-aware default validator … (#1825)

Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
This commit is contained in:
Konstantin Konstantinov 2026-03-31 14:06:08 +03:00 • committed by GitHub
commit 5f32a90f0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 74 additions and 6 deletions

View file

@ -0,0 +1,9 @@
import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/client/_shims';
import type { JsonSchemaType, jsonSchemaValidator, StandardSchemaWithJSON } from '@modelcontextprotocol/core';
import { fromJsonSchema as coreFromJsonSchema } from '@modelcontextprotocol/core';
let _defaultValidator: jsonSchemaValidator | undefined;
export function fromJsonSchema<T = unknown>(schema: JsonSchemaType, validator?: jsonSchemaValidator): StandardSchemaWithJSON<T, T> {
return coreFromJsonSchema<T>(schema, validator ?? (_defaultValidator ??= new DefaultJsonSchemaValidator()));
}

View file

@ -73,5 +73,8 @@ export { StreamableHTTPClientTransport } from './client/streamableHttp.js';
// experimental exports
export { ExperimentalClientTasks } from './experimental/tasks/client.js';
// runtime-aware wrapper (shadows core/public's fromJsonSchema with optional validator)
export { fromJsonSchema } from './fromJsonSchema.js';
// re-export curated public API from core
export * from '@modelcontextprotocol/core/public';