Skip to content

Commit 7c3542e

Browse files
committed
public export on core package - named exports, types.ts - add header comment
1 parent 7f8082b commit 7c3542e

File tree

2 files changed

+52
-8
lines changed

2 files changed

+52
-8
lines changed

packages/core/src/exports/public/index.ts

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,25 +72,65 @@ export { createFetchWithInit } from '../../shared/transport.js';
7272
export type { Variables } from '../../shared/uriTemplate.js';
7373
export { UriTemplate } from '../../shared/uriTemplate.js';
7474

75-
// Types — all TypeScript types (standalone interfaces + schema-derived)
75+
// Types — all TypeScript types (standalone interfaces + schema-derived).
76+
// This is the one intentional `export *`: types.ts contains only spec-derived TS
77+
// types, and every type there should be public. See comment in types.ts.
7678
export * from '../../types/types.js';
7779

7880
// Constants
79-
export * from '../../types/constants.js';
81+
export {
82+
DEFAULT_NEGOTIATED_PROTOCOL_VERSION,
83+
INTERNAL_ERROR,
84+
INVALID_PARAMS,
85+
INVALID_REQUEST,
86+
JSONRPC_VERSION,
87+
LATEST_PROTOCOL_VERSION,
88+
METHOD_NOT_FOUND,
89+
PARSE_ERROR,
90+
RELATED_TASK_META_KEY,
91+
SUPPORTED_PROTOCOL_VERSIONS
92+
} from '../../types/constants.js';
8093

8194
// Enums
82-
export * from '../../types/enums.js';
95+
export { ProtocolErrorCode } from '../../types/enums.js';
8396

8497
// Error classes
85-
export * from '../../types/errors.js';
98+
export { ProtocolError, UrlElicitationRequiredError } from '../../types/errors.js';
8699

87100
// Type guards
88-
export * from '../../types/guards.js';
101+
export {
102+
assertCompleteRequestPrompt,
103+
assertCompleteRequestResourceTemplate,
104+
isInitializedNotification,
105+
isInitializeRequest,
106+
isJSONRPCErrorResponse,
107+
isJSONRPCNotification,
108+
isJSONRPCRequest,
109+
isJSONRPCResultResponse,
110+
isTaskAugmentedRequestParams
111+
} from '../../types/guards.js';
89112

90113
// Experimental task types and classes
91-
export * from '../../experimental/index.js';
114+
export { assertClientRequestTaskCapability, assertToolsCallTaskCapability } from '../../experimental/tasks/helpers.js';
115+
export type {
116+
BaseQueuedMessage,
117+
CreateTaskOptions,
118+
CreateTaskServerContext,
119+
QueuedError,
120+
QueuedMessage,
121+
QueuedNotification,
122+
QueuedRequest,
123+
QueuedResponse,
124+
TaskMessageQueue,
125+
TaskServerContext,
126+
TaskStore,
127+
TaskToolExecution
128+
} from '../../experimental/tasks/interfaces.js';
129+
export { isTerminal } from '../../experimental/tasks/interfaces.js';
130+
export { InMemoryTaskMessageQueue, InMemoryTaskStore } from '../../experimental/tasks/stores/inMemory.js';
92131

93132
// Validator types and classes
94-
export * from '../../validators/ajvProvider.js';
95-
export * from '../../validators/cfWorkerProvider.js';
133+
export { AjvJsonSchemaValidator } from '../../validators/ajvProvider.js';
134+
export type { CfWorkerSchemaDraft } from '../../validators/cfWorkerProvider.js';
135+
export { CfWorkerJsonSchemaValidator } from '../../validators/cfWorkerProvider.js';
96136
export type { JsonSchemaType, JsonSchemaValidator, jsonSchemaValidator, JsonSchemaValidatorResult } from '../../validators/types.js';

packages/core/src/types/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
// ⚠️ PUBLIC API — every export from this file is re-exported via `export *`
2+
// in exports/public/index.ts and becomes part of the SDK's public surface.
3+
// Only add MCP-spec-derived types here. Internal helpers belong elsewhere.
4+
15
import type * as z from 'zod/v4';
26

37
import type { INTERNAL_ERROR, INVALID_PARAMS, INVALID_REQUEST, METHOD_NOT_FOUND, PARSE_ERROR } from './constants.js';

0 commit comments

Comments
 (0)