v2: codemod iterations, canonical zod schema exports from sdk-shared (#2354)

Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
This commit is contained in:
Konstantin Konstantinov 2026-06-25 21:42:44 +03:00 • committed by GitHub
commit 0fb8406d83
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 2954 additions and 1665 deletions

View file

@ -61,7 +61,7 @@
For raw JSON Schema (e.g. TypeBox output), use the new `fromJsonSchema` adapter:
```typescript
import { fromJsonSchema, AjvJsonSchemaValidator } from '@modelcontextprotocol/core';
import { fromJsonSchema, AjvJsonSchemaValidator } from '@modelcontextprotocol/core-internal';
server.registerTool(
'greet',
@ -74,7 +74,8 @@
**Breaking changes:**
- `experimental.tasks.getTaskResult()` no longer accepts a `resultSchema` parameter. Returns `GetTaskPayloadResult` (a loose `Result`); cast to the expected type at the call site.
- Removed unused exports from `@modelcontextprotocol/core`: `SchemaInput`, `schemaToJson`, `parseSchemaAsync`, `getSchemaShape`, `getSchemaDescription`, `isOptionalSchema`, `unwrapOptionalSchema`. Use the new `standardSchemaToJsonSchema` and `validateStandardSchema` instead.
- Removed unused exports from `@modelcontextprotocol/core-internal`: `SchemaInput`, `schemaToJson`, `parseSchemaAsync`, `getSchemaShape`, `getSchemaDescription`, `isOptionalSchema`, `unwrapOptionalSchema`. Use the new `standardSchemaToJsonSchema` and `validateStandardSchema`
instead.
- `completable()` remains Zod-specific (it relies on Zod's `.shape` introspection).
- [#1710](https://github.com/modelcontextprotocol/typescript-sdk/pull/1710) [`e563e63`](https://github.com/modelcontextprotocol/typescript-sdk/commit/e563e63bd2b3c2c1d1137406bef3f842c946201e) Thanks [@felixweinberger](https://github.com/felixweinberger)! - Add `AuthProvider` for

View file

@ -6,7 +6,7 @@ export default [
...baseConfig,
{
settings: {
'import/internal-regex': '^@modelcontextprotocol/core'
'import/internal-regex': '^@modelcontextprotocol/core-internal'
}
}
];

View file

@ -92,7 +92,7 @@
"zod": "catalog:runtimeShared"
},
"devDependencies": {
"@modelcontextprotocol/core": "workspace:^",
"@modelcontextprotocol/core-internal": "workspace:^",
"@modelcontextprotocol/tsconfig": "workspace:^",
"@modelcontextprotocol/vitest-config": "workspace:^",
"@modelcontextprotocol/eslint-config": "workspace:^",

View file

@ -7,7 +7,7 @@
* @module
*/
import type { AuthorizationServerMetadata } from '@modelcontextprotocol/core';
import type { AuthorizationServerMetadata } from '@modelcontextprotocol/core-internal';
import type { OAuthClientProvider } from './auth';
import { fetchToken } from './auth';

View file

@ -9,7 +9,7 @@ import type {
OAuthMetadata,
OAuthProtectedResourceMetadata,
OAuthTokens
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import {
checkResourceAllowed,
LATEST_PROTOCOL_VERSION,
@ -22,7 +22,7 @@ import {
OAuthTokensSchema,
OpenIdProviderDiscoveryMetadataSchema,
resourceUrlFromServerUrl
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import pkceChallenge from 'pkce-challenge';
/**

View file

@ -5,7 +5,7 @@
* for common machine-to-machine authentication scenarios.
*/
import type { FetchLike, OAuthClientInformation, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/core';
import type { FetchLike, OAuthClientInformation, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/core-internal';
import type { CryptoKey, JWK } from 'jose';
import type { AddClientAuthentication, OAuthClientProvider } from './auth';

View file

@ -7,7 +7,7 @@
* @module
*/
import type { Prompt, Resource, Tool } from '@modelcontextprotocol/core';
import type { Prompt, Resource, Tool } from '@modelcontextprotocol/core-internal';
import { Client } from './client';
import { SSEClientTransport } from './sse';

View file

@ -32,7 +32,7 @@ import type {
Tool,
Transport,
UnsubscribeRequest
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import {
CallToolResultSchema,
CompleteResultSchema,
@ -58,7 +58,7 @@ import {
ReadResourceResultSchema,
SdkError,
SdkErrorCode
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
/**
* Elicitation default application helper. Applies defaults to the `data` based on the `schema`.

View file

@ -8,8 +8,8 @@
* @module
*/
import type { FetchLike } from '@modelcontextprotocol/core';
import { IdJagTokenExchangeResponseSchema, OAuthErrorResponseSchema, OAuthTokensSchema } from '@modelcontextprotocol/core';
import type { FetchLike } from '@modelcontextprotocol/core-internal';
import { IdJagTokenExchangeResponseSchema, OAuthErrorResponseSchema, OAuthTokensSchema } from '@modelcontextprotocol/core-internal';
import type { ClientAuthMethod } from './auth';
import { applyClientAuthentication, discoverAuthorizationServerMetadata } from './auth';

View file

@ -1,4 +1,4 @@
import type { FetchLike } from '@modelcontextprotocol/core';
import type { FetchLike } from '@modelcontextprotocol/core-internal';
import type { OAuthClientProvider } from './auth';
import { auth, extractWWWAuthenticateParams, UnauthorizedError } from './auth';

View file

@ -1,4 +1,4 @@
import type { FetchLike, JSONRPCMessage, Transport } from '@modelcontextprotocol/core';
import type { FetchLike, JSONRPCMessage, Transport } from '@modelcontextprotocol/core-internal';
import {
createFetchWithInit,
JSONRPCMessageSchema,
@ -6,7 +6,7 @@ import {
SdkError,
SdkErrorCode,
SdkHttpError
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import type { ErrorEvent, EventSourceInit } from 'eventsource';
import { EventSource } from 'eventsource';

View file

@ -3,8 +3,8 @@ import process from 'node:process';
import type { Stream } from 'node:stream';
import { PassThrough } from 'node:stream';
import type { JSONRPCMessage, Transport } from '@modelcontextprotocol/core';
import { ReadBuffer, SdkError, SdkErrorCode, serializeMessage } from '@modelcontextprotocol/core';
import type { JSONRPCMessage, Transport } from '@modelcontextprotocol/core-internal';
import { ReadBuffer, SdkError, SdkErrorCode, serializeMessage } from '@modelcontextprotocol/core-internal';
import spawn from 'cross-spawn';
export type StdioServerParameters = {

View file

@ -1,6 +1,6 @@
import type { ReadableWritablePair } from 'node:stream/web';
import type { FetchLike, JSONRPCMessage, Transport } from '@modelcontextprotocol/core';
import type { FetchLike, JSONRPCMessage, Transport } from '@modelcontextprotocol/core-internal';
import {
createFetchWithInit,
isInitializedNotification,
@ -12,7 +12,7 @@ import {
SdkError,
SdkErrorCode,
SdkHttpError
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import { EventSourceParserStream } from 'eventsource-parser/stream';
import type { AuthProvider, OAuthClientProvider } from './auth';

View file

@ -1,6 +1,6 @@
import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/client/_shims';
import type { JsonSchemaType, jsonSchemaValidator, StandardSchemaWithJSON } from '@modelcontextprotocol/core';
import { fromJsonSchema as coreFromJsonSchema } from '@modelcontextprotocol/core';
import type { JsonSchemaType, jsonSchemaValidator, StandardSchemaWithJSON } from '@modelcontextprotocol/core-internal';
import { fromJsonSchema as coreFromJsonSchema } from '@modelcontextprotocol/core-internal';
let _defaultValidator: jsonSchemaValidator | undefined;

View file

@ -2,7 +2,7 @@
//
// This file defines the complete public surface. It consists of:
// - Package-specific exports: listed explicitly below (named imports)
// - Protocol-level types: re-exported from @modelcontextprotocol/core/public
// - Protocol-level types: re-exported from @modelcontextprotocol/core-internal/public
//
// Any new export added here becomes public API. Use named exports, not wildcards.
@ -75,4 +75,4 @@ export { StreamableHTTPClientTransport } from './client/streamableHttp';
export { fromJsonSchema } from './fromJsonSchema';
// re-export curated public API from core
export * from '@modelcontextprotocol/core/public';
export * from '@modelcontextprotocol/core-internal/public';

View file

@ -3,7 +3,7 @@
*
* This file is selected via package.json export conditions when running in a browser.
*/
export { CfWorkerJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core/validators/cfWorker';
export { CfWorkerJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core-internal/validators/cfWorker';
/**
* Whether `fetch()` may throw `TypeError` due to CORS. Only true in browser contexts

View file

@ -3,7 +3,7 @@
*
* This file is selected via package.json export conditions when running in Node.js.
*/
export { AjvJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core/validators/ajv';
export { AjvJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core-internal/validators/ajv';
/**
* Whether `fetch()` may throw `TypeError` due to CORS. CORS is a browser-only concept —

View file

@ -3,7 +3,7 @@
*
* This file is selected via package.json export conditions when running in workerd.
*/
export { CfWorkerJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core/validators/cfWorker';
export { CfWorkerJsonSchemaValidator as DefaultJsonSchemaValidator } from '@modelcontextprotocol/core-internal/validators/cfWorker';
/**
* Whether `fetch()` may throw `TypeError` due to CORS. CORS is a browser-only concept —

View file

@ -11,4 +11,4 @@
* const validator = new AjvJsonSchemaValidator(ajv);
* ```
*/
export { addFormats, Ajv, AjvJsonSchemaValidator } from '@modelcontextprotocol/core/validators/ajv';
export { addFormats, Ajv, AjvJsonSchemaValidator } from '@modelcontextprotocol/core-internal/validators/ajv';

View file

@ -1,3 +1,3 @@
/** Customisation entry point for the `@cfworker/json-schema` validator. */
export type { CfWorkerSchemaDraft } from '@modelcontextprotocol/core/validators/cfWorker';
export { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/core/validators/cfWorker';
export type { CfWorkerSchemaDraft } from '@modelcontextprotocol/core-internal/validators/cfWorker';
export { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/core-internal/validators/cfWorker';

Some files were not shown because too many files have changed in this diff Show more