v2: codemod iterations, canonical zod schema exports from sdk-shared (#2354)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
This commit is contained in:
parent
7ea6fde1b6
commit
0fb8406d83
25 changed files with 2954 additions and 1665 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default [
|
|||
...baseConfig,
|
||||
{
|
||||
settings: {
|
||||
'import/internal-regex': '^@modelcontextprotocol/core'
|
||||
'import/internal-regex': '^@modelcontextprotocol/core-internal'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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:^",
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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 & {
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
|
|
|
|||
|
|
@ -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. */
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in a new issue