@modelcontextprotocol/sdk 1.22.0 → 1.23.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -11
- package/dist/cjs/client/auth.d.ts +11 -1
- package/dist/cjs/client/auth.d.ts.map +1 -1
- package/dist/cjs/client/auth.js +71 -19
- package/dist/cjs/client/auth.js.map +1 -1
- package/dist/cjs/client/index.d.ts +120 -661
- package/dist/cjs/client/index.d.ts.map +1 -1
- package/dist/cjs/client/index.js +71 -15
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/client/sse.d.ts +1 -0
- package/dist/cjs/client/sse.d.ts.map +1 -1
- package/dist/cjs/client/sse.js +5 -3
- package/dist/cjs/client/sse.js.map +1 -1
- package/dist/cjs/client/streamableHttp.d.ts +2 -1
- package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/client/streamableHttp.js +35 -15
- package/dist/cjs/client/streamableHttp.js.map +1 -1
- package/dist/cjs/examples/client/elicitationUrlExample.d.ts +2 -0
- package/dist/cjs/examples/client/elicitationUrlExample.d.ts.map +1 -0
- package/dist/cjs/examples/client/elicitationUrlExample.js +693 -0
- package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClient.js +13 -52
- package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts +26 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.js +51 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.js.map +1 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.js +10 -5
- package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +16 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
- package/dist/cjs/examples/server/elicitationFormExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationFormExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/{elicitationExample.js → elicitationFormExample.js} +14 -8
- package/dist/cjs/examples/server/elicitationFormExample.js.map +1 -0
- package/dist/cjs/examples/server/elicitationUrlExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationUrlExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/elicitationUrlExample.js +655 -0
- package/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +26 -3
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/mcpServerOutputSchema.js +34 -11
- package/dist/cjs/examples/server/mcpServerOutputSchema.js.map +1 -1
- package/dist/cjs/examples/server/simpleSseServer.js +26 -3
- package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +27 -4
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/simpleStreamableHttp.js +34 -10
- package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +26 -3
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/cjs/examples/server/toolWithSampleServer.js +30 -8
- package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -1
- package/dist/cjs/server/auth/handlers/authorize.js +34 -11
- package/dist/cjs/server/auth/handlers/authorize.js.map +1 -1
- package/dist/cjs/server/auth/handlers/token.js +35 -12
- package/dist/cjs/server/auth/handlers/token.js.map +1 -1
- package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/dist/cjs/server/auth/middleware/bearerAuth.js +13 -8
- package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
- package/dist/cjs/server/auth/middleware/clientAuth.js +27 -4
- package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
- package/dist/cjs/server/auth/router.js +1 -1
- package/dist/cjs/server/auth/router.js.map +1 -1
- package/dist/cjs/server/completable.d.ts +30 -16
- package/dist/cjs/server/completable.d.ts.map +1 -1
- package/dist/cjs/server/completable.js +38 -55
- package/dist/cjs/server/completable.js.map +1 -1
- package/dist/cjs/server/index.d.ts +192 -50
- package/dist/cjs/server/index.d.ts.map +1 -1
- package/dist/cjs/server/index.js +58 -13
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/mcp.d.ts +14 -16
- package/dist/cjs/server/mcp.d.ts.map +1 -1
- package/dist/cjs/server/mcp.js +83 -40
- package/dist/cjs/server/mcp.js.map +1 -1
- package/dist/cjs/server/zod-compat.d.ts +82 -0
- package/dist/cjs/server/zod-compat.d.ts.map +1 -0
- package/dist/cjs/server/zod-compat.js +252 -0
- package/dist/cjs/server/zod-compat.js.map +1 -0
- package/dist/cjs/server/zod-json-schema-compat.d.ts +12 -0
- package/dist/cjs/server/zod-json-schema-compat.d.ts.map +1 -0
- package/dist/cjs/server/zod-json-schema-compat.js +80 -0
- package/dist/cjs/server/zod-json-schema-compat.js.map +1 -0
- package/dist/cjs/shared/auth.d.ts +116 -502
- package/dist/cjs/shared/auth.d.ts.map +1 -1
- package/dist/cjs/shared/auth.js +133 -112
- package/dist/cjs/shared/auth.js.map +1 -1
- package/dist/cjs/shared/protocol.d.ts +5 -9
- package/dist/cjs/shared/protocol.d.ts.map +1 -1
- package/dist/cjs/shared/protocol.js +24 -10
- package/dist/cjs/shared/protocol.js.map +1 -1
- package/dist/cjs/shared/transport.d.ts +14 -0
- package/dist/cjs/shared/transport.d.ts.map +1 -1
- package/dist/cjs/shared/transport.js +40 -0
- package/dist/cjs/shared/transport.js.map +1 -1
- package/dist/cjs/shared/zodTestMatrix.d.ts +16 -0
- package/dist/cjs/shared/zodTestMatrix.d.ts.map +1 -0
- package/dist/cjs/shared/zodTestMatrix.js +43 -0
- package/dist/cjs/shared/zodTestMatrix.js.map +1 -0
- package/dist/cjs/spec.types.d.ts +383 -69
- package/dist/cjs/spec.types.d.ts.map +1 -1
- package/dist/cjs/spec.types.js +5 -7
- package/dist/cjs/spec.types.js.map +1 -1
- package/dist/cjs/types.d.ts +3584 -23864
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +564 -336
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/client/auth.d.ts +11 -1
- package/dist/esm/client/auth.d.ts.map +1 -1
- package/dist/esm/client/auth.js +71 -20
- package/dist/esm/client/auth.js.map +1 -1
- package/dist/esm/client/index.d.ts +120 -661
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +70 -15
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/sse.d.ts +1 -0
- package/dist/esm/client/sse.d.ts.map +1 -1
- package/dist/esm/client/sse.js +5 -3
- package/dist/esm/client/sse.js.map +1 -1
- package/dist/esm/client/streamableHttp.d.ts +2 -1
- package/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/dist/esm/client/streamableHttp.js +35 -15
- package/dist/esm/client/streamableHttp.js.map +1 -1
- package/dist/esm/examples/client/elicitationUrlExample.d.ts +2 -0
- package/dist/esm/examples/client/elicitationUrlExample.d.ts.map +1 -0
- package/dist/esm/examples/client/elicitationUrlExample.js +691 -0
- package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClient.js +12 -51
- package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts +26 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.js +47 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.js.map +1 -0
- package/dist/esm/examples/client/simpleStreamableHttp.js +11 -6
- package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +16 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
- package/dist/esm/examples/server/elicitationFormExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationFormExample.d.ts.map +1 -0
- package/dist/esm/examples/server/{elicitationExample.js → elicitationFormExample.js} +14 -8
- package/dist/esm/examples/server/elicitationFormExample.js.map +1 -0
- package/dist/esm/examples/server/elicitationUrlExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationUrlExample.d.ts.map +1 -0
- package/dist/esm/examples/server/elicitationUrlExample.js +650 -0
- package/dist/esm/examples/server/elicitationUrlExample.js.map +1 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js +1 -1
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/mcpServerOutputSchema.js +1 -1
- package/dist/esm/examples/server/mcpServerOutputSchema.js.map +1 -1
- package/dist/esm/examples/server/simpleSseServer.js +1 -1
- package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +1 -1
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/simpleStreamableHttp.js +4 -3
- package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +1 -1
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/esm/examples/server/toolWithSampleServer.js +6 -7
- package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -1
- package/dist/esm/server/auth/handlers/authorize.js +1 -1
- package/dist/esm/server/auth/handlers/authorize.js.map +1 -1
- package/dist/esm/server/auth/handlers/token.js +1 -1
- package/dist/esm/server/auth/handlers/token.js.map +1 -1
- package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/dist/esm/server/auth/middleware/bearerAuth.js +13 -8
- package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
- package/dist/esm/server/auth/middleware/clientAuth.js +1 -1
- package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
- package/dist/esm/server/auth/router.js +1 -1
- package/dist/esm/server/auth/router.js.map +1 -1
- package/dist/esm/server/completable.d.ts +30 -16
- package/dist/esm/server/completable.d.ts.map +1 -1
- package/dist/esm/server/completable.js +34 -53
- package/dist/esm/server/completable.js.map +1 -1
- package/dist/esm/server/index.d.ts +192 -50
- package/dist/esm/server/index.d.ts.map +1 -1
- package/dist/esm/server/index.js +58 -13
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/server/mcp.d.ts +14 -16
- package/dist/esm/server/mcp.d.ts.map +1 -1
- package/dist/esm/server/mcp.js +84 -41
- package/dist/esm/server/mcp.js.map +1 -1
- package/dist/esm/server/zod-compat.d.ts +82 -0
- package/dist/esm/server/zod-compat.d.ts.map +1 -0
- package/dist/esm/server/zod-compat.js +217 -0
- package/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/esm/server/zod-json-schema-compat.d.ts +12 -0
- package/dist/esm/server/zod-json-schema-compat.d.ts.map +1 -0
- package/dist/esm/server/zod-json-schema-compat.js +52 -0
- package/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/esm/shared/auth.d.ts +116 -502
- package/dist/esm/shared/auth.d.ts.map +1 -1
- package/dist/esm/shared/auth.js +17 -19
- package/dist/esm/shared/auth.js.map +1 -1
- package/dist/esm/shared/protocol.d.ts +5 -9
- package/dist/esm/shared/protocol.d.ts.map +1 -1
- package/dist/esm/shared/protocol.js +24 -10
- package/dist/esm/shared/protocol.js.map +1 -1
- package/dist/esm/shared/transport.d.ts +14 -0
- package/dist/esm/shared/transport.d.ts.map +1 -1
- package/dist/esm/shared/transport.js +38 -1
- package/dist/esm/shared/transport.js.map +1 -1
- package/dist/esm/shared/zodTestMatrix.d.ts +16 -0
- package/dist/esm/shared/zodTestMatrix.d.ts.map +1 -0
- package/dist/esm/shared/zodTestMatrix.js +17 -0
- package/dist/esm/shared/zodTestMatrix.js.map +1 -0
- package/dist/esm/spec.types.d.ts +383 -69
- package/dist/esm/spec.types.d.ts.map +1 -1
- package/dist/esm/spec.types.js +4 -6
- package/dist/esm/spec.types.js.map +1 -1
- package/dist/esm/types.d.ts +3584 -23864
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +268 -64
- package/dist/esm/types.js.map +1 -1
- package/package.json +13 -12
- package/dist/cjs/examples/server/elicitationExample.d.ts +0 -2
- package/dist/cjs/examples/server/elicitationExample.d.ts.map +0 -1
- package/dist/cjs/examples/server/elicitationExample.js.map +0 -1
- package/dist/esm/examples/server/elicitationExample.d.ts +0 -2
- package/dist/esm/examples/server/elicitationExample.d.ts.map +0 -1
- package/dist/esm/examples/server/elicitationExample.js.map +0 -1
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// zod-compat.ts
|
|
3
|
+
// ----------------------------------------------------
|
|
4
|
+
// Unified types + helpers to accept Zod v3 and v4 (Mini)
|
|
5
|
+
// ----------------------------------------------------
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.isZ4Schema = isZ4Schema;
|
|
31
|
+
exports.objectFromShape = objectFromShape;
|
|
32
|
+
exports.safeParse = safeParse;
|
|
33
|
+
exports.safeParseAsync = safeParseAsync;
|
|
34
|
+
exports.getObjectShape = getObjectShape;
|
|
35
|
+
exports.normalizeObjectSchema = normalizeObjectSchema;
|
|
36
|
+
exports.getParseErrorMessage = getParseErrorMessage;
|
|
37
|
+
exports.getSchemaDescription = getSchemaDescription;
|
|
38
|
+
exports.isSchemaOptional = isSchemaOptional;
|
|
39
|
+
exports.getLiteralValue = getLiteralValue;
|
|
40
|
+
const z3rt = __importStar(require("zod/v3"));
|
|
41
|
+
const z4mini = __importStar(require("zod/v4-mini"));
|
|
42
|
+
// --- Runtime detection ---
|
|
43
|
+
function isZ4Schema(s) {
|
|
44
|
+
// Present on Zod 4 (Classic & Mini) schemas; absent on Zod 3
|
|
45
|
+
const schema = s;
|
|
46
|
+
return !!schema._zod;
|
|
47
|
+
}
|
|
48
|
+
// --- Schema construction ---
|
|
49
|
+
function objectFromShape(shape) {
|
|
50
|
+
const values = Object.values(shape);
|
|
51
|
+
if (values.length === 0)
|
|
52
|
+
return z4mini.object({}); // default to v4 Mini
|
|
53
|
+
const allV4 = values.every(isZ4Schema);
|
|
54
|
+
const allV3 = values.every(s => !isZ4Schema(s));
|
|
55
|
+
if (allV4)
|
|
56
|
+
return z4mini.object(shape);
|
|
57
|
+
if (allV3)
|
|
58
|
+
return z3rt.object(shape);
|
|
59
|
+
throw new Error('Mixed Zod versions detected in object shape.');
|
|
60
|
+
}
|
|
61
|
+
// --- Unified parsing ---
|
|
62
|
+
function safeParse(schema, data) {
|
|
63
|
+
if (isZ4Schema(schema)) {
|
|
64
|
+
// Mini exposes top-level safeParse
|
|
65
|
+
const result = z4mini.safeParse(schema, data);
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
const v3Schema = schema;
|
|
69
|
+
const result = v3Schema.safeParse(data);
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
async function safeParseAsync(schema, data) {
|
|
73
|
+
if (isZ4Schema(schema)) {
|
|
74
|
+
// Mini exposes top-level safeParseAsync
|
|
75
|
+
const result = await z4mini.safeParseAsync(schema, data);
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
const v3Schema = schema;
|
|
79
|
+
const result = await v3Schema.safeParseAsync(data);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
// --- Shape extraction ---
|
|
83
|
+
function getObjectShape(schema) {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
if (!schema)
|
|
86
|
+
return undefined;
|
|
87
|
+
// Zod v3 exposes `.shape`; Zod v4 keeps the shape on `_zod.def.shape`
|
|
88
|
+
let rawShape;
|
|
89
|
+
if (isZ4Schema(schema)) {
|
|
90
|
+
const v4Schema = schema;
|
|
91
|
+
rawShape = (_b = (_a = v4Schema._zod) === null || _a === void 0 ? void 0 : _a.def) === null || _b === void 0 ? void 0 : _b.shape;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const v3Schema = schema;
|
|
95
|
+
rawShape = v3Schema.shape;
|
|
96
|
+
}
|
|
97
|
+
if (!rawShape)
|
|
98
|
+
return undefined;
|
|
99
|
+
if (typeof rawShape === 'function') {
|
|
100
|
+
try {
|
|
101
|
+
return rawShape();
|
|
102
|
+
}
|
|
103
|
+
catch (_c) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return rawShape;
|
|
108
|
+
}
|
|
109
|
+
// --- Schema normalization ---
|
|
110
|
+
/**
|
|
111
|
+
* Normalizes a schema to an object schema. Handles both:
|
|
112
|
+
* - Already-constructed object schemas (v3 or v4)
|
|
113
|
+
* - Raw shapes that need to be wrapped into object schemas
|
|
114
|
+
*/
|
|
115
|
+
function normalizeObjectSchema(schema) {
|
|
116
|
+
var _a;
|
|
117
|
+
if (!schema)
|
|
118
|
+
return undefined;
|
|
119
|
+
// First check if it's a raw shape (Record<string, AnySchema>)
|
|
120
|
+
// Raw shapes don't have _def or _zod properties and aren't schemas themselves
|
|
121
|
+
if (typeof schema === 'object') {
|
|
122
|
+
// Check if it's actually a ZodRawShapeCompat (not a schema instance)
|
|
123
|
+
// by checking if it lacks schema-like internal properties
|
|
124
|
+
const asV3 = schema;
|
|
125
|
+
const asV4 = schema;
|
|
126
|
+
// If it's not a schema instance (no _def or _zod), it might be a raw shape
|
|
127
|
+
if (!asV3._def && !asV4._zod) {
|
|
128
|
+
// Check if all values are schemas (heuristic to confirm it's a raw shape)
|
|
129
|
+
const values = Object.values(schema);
|
|
130
|
+
if (values.length > 0 &&
|
|
131
|
+
values.every(v => typeof v === 'object' &&
|
|
132
|
+
v !== null &&
|
|
133
|
+
(v._def !== undefined ||
|
|
134
|
+
v._zod !== undefined ||
|
|
135
|
+
typeof v.parse === 'function'))) {
|
|
136
|
+
return objectFromShape(schema);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// If we get here, it should be an AnySchema (not a raw shape)
|
|
141
|
+
// Check if it's already an object schema
|
|
142
|
+
if (isZ4Schema(schema)) {
|
|
143
|
+
// Check if it's a v4 object
|
|
144
|
+
const v4Schema = schema;
|
|
145
|
+
const def = (_a = v4Schema._zod) === null || _a === void 0 ? void 0 : _a.def;
|
|
146
|
+
if (def && (def.typeName === 'object' || def.shape !== undefined)) {
|
|
147
|
+
return schema;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// Check if it's a v3 object
|
|
152
|
+
const v3Schema = schema;
|
|
153
|
+
if (v3Schema.shape !== undefined) {
|
|
154
|
+
return schema;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
// --- Error message extraction ---
|
|
160
|
+
/**
|
|
161
|
+
* Safely extracts an error message from a parse result error.
|
|
162
|
+
* Zod errors can have different structures, so we handle various cases.
|
|
163
|
+
*/
|
|
164
|
+
function getParseErrorMessage(error) {
|
|
165
|
+
if (error && typeof error === 'object') {
|
|
166
|
+
// Try common error structures
|
|
167
|
+
if ('message' in error && typeof error.message === 'string') {
|
|
168
|
+
return error.message;
|
|
169
|
+
}
|
|
170
|
+
if ('issues' in error && Array.isArray(error.issues) && error.issues.length > 0) {
|
|
171
|
+
const firstIssue = error.issues[0];
|
|
172
|
+
if (firstIssue && typeof firstIssue === 'object' && 'message' in firstIssue) {
|
|
173
|
+
return String(firstIssue.message);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Fallback: try to stringify the error
|
|
177
|
+
try {
|
|
178
|
+
return JSON.stringify(error);
|
|
179
|
+
}
|
|
180
|
+
catch (_a) {
|
|
181
|
+
return String(error);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return String(error);
|
|
185
|
+
}
|
|
186
|
+
// --- Schema metadata access ---
|
|
187
|
+
/**
|
|
188
|
+
* Gets the description from a schema, if available.
|
|
189
|
+
* Works with both Zod v3 and v4.
|
|
190
|
+
*/
|
|
191
|
+
function getSchemaDescription(schema) {
|
|
192
|
+
var _a, _b, _c, _d;
|
|
193
|
+
if (isZ4Schema(schema)) {
|
|
194
|
+
const v4Schema = schema;
|
|
195
|
+
return (_b = (_a = v4Schema._zod) === null || _a === void 0 ? void 0 : _a.def) === null || _b === void 0 ? void 0 : _b.description;
|
|
196
|
+
}
|
|
197
|
+
const v3Schema = schema;
|
|
198
|
+
// v3 may have description on the schema itself or in _def
|
|
199
|
+
return (_c = schema.description) !== null && _c !== void 0 ? _c : (_d = v3Schema._def) === null || _d === void 0 ? void 0 : _d.description;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Checks if a schema is optional.
|
|
203
|
+
* Works with both Zod v3 and v4.
|
|
204
|
+
*/
|
|
205
|
+
function isSchemaOptional(schema) {
|
|
206
|
+
var _a, _b, _c;
|
|
207
|
+
if (isZ4Schema(schema)) {
|
|
208
|
+
const v4Schema = schema;
|
|
209
|
+
return ((_b = (_a = v4Schema._zod) === null || _a === void 0 ? void 0 : _a.def) === null || _b === void 0 ? void 0 : _b.typeName) === 'ZodOptional';
|
|
210
|
+
}
|
|
211
|
+
const v3Schema = schema;
|
|
212
|
+
// v3 has isOptional() method
|
|
213
|
+
if (typeof schema.isOptional === 'function') {
|
|
214
|
+
return schema.isOptional();
|
|
215
|
+
}
|
|
216
|
+
return ((_c = v3Schema._def) === null || _c === void 0 ? void 0 : _c.typeName) === 'ZodOptional';
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Gets the literal value from a schema, if it's a literal schema.
|
|
220
|
+
* Works with both Zod v3 and v4.
|
|
221
|
+
* Returns undefined if the schema is not a literal or the value cannot be determined.
|
|
222
|
+
*/
|
|
223
|
+
function getLiteralValue(schema) {
|
|
224
|
+
var _a;
|
|
225
|
+
if (isZ4Schema(schema)) {
|
|
226
|
+
const v4Schema = schema;
|
|
227
|
+
const def = (_a = v4Schema._zod) === null || _a === void 0 ? void 0 : _a.def;
|
|
228
|
+
if (def) {
|
|
229
|
+
// Try various ways to get the literal value
|
|
230
|
+
if (def.value !== undefined)
|
|
231
|
+
return def.value;
|
|
232
|
+
if (Array.isArray(def.values) && def.values.length > 0) {
|
|
233
|
+
return def.values[0];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
const v3Schema = schema;
|
|
238
|
+
const def = v3Schema._def;
|
|
239
|
+
if (def) {
|
|
240
|
+
if (def.value !== undefined)
|
|
241
|
+
return def.value;
|
|
242
|
+
if (Array.isArray(def.values) && def.values.length > 0) {
|
|
243
|
+
return def.values[0];
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Fallback: check for direct value property (some Zod versions)
|
|
247
|
+
const directValue = schema.value;
|
|
248
|
+
if (directValue !== undefined)
|
|
249
|
+
return directValue;
|
|
250
|
+
return undefined;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=zod-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-compat.js","sourceRoot":"","sources":["../../../src/server/zod-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AnySchema, AnyObjectSchema } from './zod-compat.js';
|
|
2
|
+
type JsonSchema = Record<string, unknown>;
|
|
3
|
+
type CommonOpts = {
|
|
4
|
+
strictUnions?: boolean;
|
|
5
|
+
pipeStrategy?: 'input' | 'output';
|
|
6
|
+
target?: 'jsonSchema7' | 'draft-7' | 'jsonSchema2019-09' | 'draft-2020-12';
|
|
7
|
+
};
|
|
8
|
+
export declare function toJsonSchemaCompat(schema: AnyObjectSchema, opts?: CommonOpts): JsonSchema;
|
|
9
|
+
export declare function getMethodLiteral(schema: AnyObjectSchema): string;
|
|
10
|
+
export declare function parseWithCompat(schema: AnySchema, data: unknown): unknown;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=zod-json-schema-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-json-schema-compat.d.ts","sourceRoot":"","sources":["../../../src/server/zod-json-schema-compat.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,eAAe,EAA0D,MAAM,iBAAiB,CAAC;AAGrH,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAG1C,KAAK,UAAU,GAAG;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,mBAAmB,GAAG,eAAe,CAAC;CAC9E,CAAC;AASF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAczF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAahE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAMzE"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// zod-json-schema-compat.ts
|
|
3
|
+
// ----------------------------------------------------
|
|
4
|
+
// JSON Schema conversion for both Zod v3 and Zod v4 (Mini)
|
|
5
|
+
// v3 uses your vendored converter; v4 uses Mini's toJSONSchema
|
|
6
|
+
// ----------------------------------------------------
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
|
+
if (mod && mod.__esModule) return mod;
|
|
25
|
+
var result = {};
|
|
26
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
27
|
+
__setModuleDefault(result, mod);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.toJsonSchemaCompat = toJsonSchemaCompat;
|
|
32
|
+
exports.getMethodLiteral = getMethodLiteral;
|
|
33
|
+
exports.parseWithCompat = parseWithCompat;
|
|
34
|
+
const z4mini = __importStar(require("zod/v4-mini"));
|
|
35
|
+
const zod_compat_js_1 = require("./zod-compat.js");
|
|
36
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
37
|
+
function mapMiniTarget(t) {
|
|
38
|
+
if (!t)
|
|
39
|
+
return 'draft-7';
|
|
40
|
+
if (t === 'jsonSchema7' || t === 'draft-7')
|
|
41
|
+
return 'draft-7';
|
|
42
|
+
if (t === 'jsonSchema2019-09' || t === 'draft-2020-12')
|
|
43
|
+
return 'draft-2020-12';
|
|
44
|
+
return 'draft-7'; // fallback
|
|
45
|
+
}
|
|
46
|
+
function toJsonSchemaCompat(schema, opts) {
|
|
47
|
+
var _a, _b, _c;
|
|
48
|
+
if ((0, zod_compat_js_1.isZ4Schema)(schema)) {
|
|
49
|
+
// v4 branch — use Mini's built-in toJSONSchema
|
|
50
|
+
return z4mini.toJSONSchema(schema, {
|
|
51
|
+
target: mapMiniTarget(opts === null || opts === void 0 ? void 0 : opts.target),
|
|
52
|
+
io: (_a = opts === null || opts === void 0 ? void 0 : opts.pipeStrategy) !== null && _a !== void 0 ? _a : 'input'
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// v3 branch — use vendored converter
|
|
56
|
+
return (0, zod_to_json_schema_1.zodToJsonSchema)(schema, {
|
|
57
|
+
strictUnions: (_b = opts === null || opts === void 0 ? void 0 : opts.strictUnions) !== null && _b !== void 0 ? _b : true,
|
|
58
|
+
pipeStrategy: (_c = opts === null || opts === void 0 ? void 0 : opts.pipeStrategy) !== null && _c !== void 0 ? _c : 'input'
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function getMethodLiteral(schema) {
|
|
62
|
+
const shape = (0, zod_compat_js_1.getObjectShape)(schema);
|
|
63
|
+
const methodSchema = shape === null || shape === void 0 ? void 0 : shape.method;
|
|
64
|
+
if (!methodSchema) {
|
|
65
|
+
throw new Error('Schema is missing a method literal');
|
|
66
|
+
}
|
|
67
|
+
const value = (0, zod_compat_js_1.getLiteralValue)(methodSchema);
|
|
68
|
+
if (typeof value !== 'string') {
|
|
69
|
+
throw new Error('Schema method literal must be a string');
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
function parseWithCompat(schema, data) {
|
|
74
|
+
const result = (0, zod_compat_js_1.safeParse)(schema, data);
|
|
75
|
+
if (!result.success) {
|
|
76
|
+
throw result.error;
|
|
77
|
+
}
|
|
78
|
+
return result.data;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=zod-json-schema-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-json-schema-compat.js","sourceRoot":"","sources":["../../../src/server/zod-json-schema-compat.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,uDAAuD;AACvD,2DAA2D;AAC3D,+DAA+D;AAC/D,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;AA0BvD,gDAcC;AAED,4CAaC;AAED,0CAMC;AA1DD,oDAAsC;AAEtC,mDAAqH;AACrH,2DAAqD;AAWrD,SAAS,aAAa,CAAC,CAAmC;IACtD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IAC/E,OAAO,SAAS,CAAC,CAAC,WAAW;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAuB,EAAE,IAAiB;;IACzE,IAAI,IAAA,0BAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACrB,+CAA+C;QAC/C,OAAO,MAAM,CAAC,YAAY,CAAC,MAAsB,EAAE;YAC/C,MAAM,EAAE,aAAa,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;YACnC,EAAE,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,OAAO;SACpC,CAAe,CAAC;IACrB,CAAC;IAED,qCAAqC;IACrC,OAAO,IAAA,oCAAe,EAAC,MAAuB,EAAE;QAC5C,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,IAAI;QACxC,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,OAAO;KAC9C,CAAe,CAAC;AACrB,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAuB;IACpD,MAAM,KAAK,GAAG,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAA+B,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,+BAAe,EAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,eAAe,CAAC,MAAiB,EAAE,IAAa;IAC5D,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC"}
|