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
25 changed files with 2954 additions and 1665 deletions

View file

@ -51,7 +51,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',
@ -64,7 +64,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).
### Patch Changes

View file

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

View file

@ -94,7 +94,7 @@
"ajv": "catalog:runtimeShared",
"ajv-formats": "catalog:runtimeShared",
"@eslint/js": "catalog:devTools",
"@modelcontextprotocol/core": "workspace:^",
"@modelcontextprotocol/core-internal": "workspace:^",
"@modelcontextprotocol/eslint-config": "workspace:^",
"@modelcontextprotocol/test-helpers": "workspace:^",
"@modelcontextprotocol/tsconfig": "workspace:^",

View file

@ -1,5 +1,5 @@
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';
import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/server/_shims';
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.
@ -44,4 +44,4 @@ export { WebStandardStreamableHTTPServerTransport } from './server/streamableHtt
export { fromJsonSchema } from './fromJsonSchema';
// re-export curated public API from core
export * from '@modelcontextprotocol/core/public';
export * from '@modelcontextprotocol/core-internal/public';

View file

@ -1,4 +1,4 @@
import type { StandardSchemaV1 } from '@modelcontextprotocol/core';
import type { StandardSchemaV1 } from '@modelcontextprotocol/core-internal';
export const COMPLETABLE_SYMBOL: unique symbol = Symbol.for('mcp.completable');

View file

@ -7,7 +7,7 @@
* @module
*/
import type { CallToolResult } from '@modelcontextprotocol/core';
import type { CallToolResult } from '@modelcontextprotocol/core-internal';
import * as z from 'zod/v4';
import { McpServer } from './mcp';

View file

@ -24,7 +24,7 @@ import type {
ToolExecution,
Transport,
Variables
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import {
assertCompleteRequestPrompt,
assertCompleteRequestResourceTemplate,
@ -36,7 +36,7 @@ import {
UriTemplate,
validateAndWarnToolName,
validateStandardSchema
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import type * as z from 'zod/v4';
import { getCompleter, isCompletable } from './completable';

View file

@ -30,7 +30,7 @@ import type {
ServerContext,
ToolResultContent,
ToolUseContent
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import {
CallToolRequestSchema,
CallToolResultSchema,
@ -48,7 +48,7 @@ import {
ProtocolErrorCode,
SdkError,
SdkErrorCode
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/server/_shims';
export type ServerOptions = ProtocolOptions & {

View file

@ -1,7 +1,7 @@
import type { Readable, Writable } from 'node:stream';
import type { JSONRPCMessage, Transport } from '@modelcontextprotocol/core';
import { ReadBuffer, serializeMessage } from '@modelcontextprotocol/core';
import type { JSONRPCMessage, Transport } from '@modelcontextprotocol/core-internal';
import { ReadBuffer, serializeMessage } from '@modelcontextprotocol/core-internal';
import { process } from '@modelcontextprotocol/server/_shims';
/**

View file

@ -7,7 +7,7 @@
* For Node.js Express/HTTP compatibility, use {@linkcode @modelcontextprotocol/node!NodeStreamableHTTPServerTransport | NodeStreamableHTTPServerTransport} which wraps this transport.
*/
import type { AuthInfo, JSONRPCMessage, MessageExtraInfo, RequestId, Transport } from '@modelcontextprotocol/core';
import type { AuthInfo, JSONRPCMessage, MessageExtraInfo, RequestId, Transport } from '@modelcontextprotocol/core-internal';
import {
DEFAULT_NEGOTIATED_PROTOCOL_VERSION,
isInitializeRequest,
@ -16,7 +16,7 @@ import {
isJSONRPCResultResponse,
JSONRPCMessageSchema,
SUPPORTED_PROTOCOL_VERSIONS
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
export type StreamId = string;
export type EventId = string;

View file

@ -3,5 +3,5 @@
*
* 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';
export { default as process } from 'node:process';

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';
/**
* Stub process object for non-Node.js environments.

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';

View file

@ -1,5 +1,5 @@
import type { JsonSchemaType, JsonSchemaValidatorResult, jsonSchemaValidator } from '@modelcontextprotocol/core';
import { InMemoryTransport, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core';
import type { JsonSchemaType, JsonSchemaValidatorResult, jsonSchemaValidator } from '@modelcontextprotocol/core-internal';
import { InMemoryTransport, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core-internal';
import { fromJsonSchema } from '../../src/fromJsonSchema';
import { Server } from '../../src/server/server';

View file

@ -1,5 +1,5 @@
import type { JSONRPCMessage } from '@modelcontextprotocol/core';
import { InMemoryTransport, isStandardSchema, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core';
import type { JSONRPCMessage } from '@modelcontextprotocol/core-internal';
import { InMemoryTransport, isStandardSchema, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core-internal';
import { describe, expect, expectTypeOf, it, vi } from 'vitest';
import * as z from 'zod/v4';
import { McpServer } from '../../src/index';

View file

@ -1,5 +1,5 @@
import type { Icon, JSONRPCMessage } from '@modelcontextprotocol/core';
import { InMemoryTransport, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core';
import type { Icon, JSONRPCMessage } from '@modelcontextprotocol/core-internal';
import { InMemoryTransport, LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/core-internal';
import { describe, expect, it, vi } from 'vitest';
import { McpServer, ResourceTemplate } from '../../src/index';

View file

@ -1,11 +1,11 @@
import type { JSONRPCMessage, JSONRPCRequest } from '@modelcontextprotocol/core';
import type { JSONRPCMessage, JSONRPCRequest } from '@modelcontextprotocol/core-internal';
import {
InitializeResultSchema,
InMemoryTransport,
isJSONRPCResultResponse,
LATEST_PROTOCOL_VERSION,
SUPPORTED_PROTOCOL_VERSIONS
} from '@modelcontextprotocol/core';
} from '@modelcontextprotocol/core-internal';
import { Server } from '../../src/server/server';
/** An older protocol version the server supports out of the box. */

View file

@ -1,7 +1,7 @@
import { Readable, Writable } from 'node:stream';
import type { JSONRPCMessage } from '@modelcontextprotocol/core';
import { ReadBuffer, serializeMessage } from '@modelcontextprotocol/core';
import type { JSONRPCMessage } from '@modelcontextprotocol/core-internal';
import { ReadBuffer, serializeMessage } from '@modelcontextprotocol/core-internal';
import { StdioServerTransport } from '../../src/server/stdio';

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