@typeship-ax/mcp 0.8.0 → 0.10.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/AGENTS.md +31 -0
- package/README.md +66 -9
- package/api.json +3153 -761
- package/api.md +9796 -382
- package/dist/api-identity.d.ts +40 -0
- package/dist/api-identity.d.ts.map +1 -0
- package/dist/api-identity.js +128 -0
- package/dist/auth-profiles.d.ts +30 -0
- package/dist/auth-profiles.d.ts.map +1 -0
- package/dist/auth-profiles.js +138 -0
- package/dist/core/http.d.ts +17 -2
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +78 -17
- package/dist/credential-storage.d.ts +24 -0
- package/dist/credential-storage.d.ts.map +1 -0
- package/dist/credential-storage.js +207 -0
- package/dist/docs.d.ts +25 -0
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.js +144 -0
- package/dist/errors.d.ts +18 -10
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +24 -14
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -4
- package/dist/mcp-authorization.d.ts +52 -0
- package/dist/mcp-authorization.d.ts.map +1 -0
- package/dist/mcp-authorization.js +232 -0
- package/dist/mcp-protocol.d.ts +51 -2
- package/dist/mcp-protocol.d.ts.map +1 -1
- package/dist/mcp-protocol.js +249 -37
- package/dist/mcp.d.ts +21 -3
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +185 -68
- package/dist/named-credentials.d.ts +21 -0
- package/dist/named-credentials.d.ts.map +1 -0
- package/dist/named-credentials.js +86 -0
- package/dist/oauth-request.d.ts +21 -0
- package/dist/oauth-request.d.ts.map +1 -0
- package/dist/oauth-request.js +119 -0
- package/dist/oauth-session.d.ts +106 -0
- package/dist/oauth-session.d.ts.map +1 -0
- package/dist/oauth-session.js +244 -0
- package/dist/ops.d.ts +14 -1
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +34 -30
- package/dist/resources/account.d.ts +2 -2
- package/dist/resources/account.d.ts.map +1 -1
- package/dist/resources/account.js +1 -0
- package/dist/resources/api-keys.d.ts +3 -3
- package/dist/resources/api-keys.d.ts.map +1 -1
- package/dist/resources/api-keys.js +2 -0
- package/dist/resources/definition-revisions.d.ts +5 -5
- package/dist/resources/definition-revisions.d.ts.map +1 -1
- package/dist/resources/definition-revisions.js +4 -0
- package/dist/resources/definitions.d.ts +15 -4
- package/dist/resources/definitions.d.ts.map +1 -1
- package/dist/resources/definitions.js +11 -2
- package/dist/resources/generate.d.ts +14 -3
- package/dist/resources/generate.d.ts.map +1 -1
- package/dist/resources/generate.js +10 -2
- package/dist/resources/generations.d.ts +3 -3
- package/dist/resources/generations.d.ts.map +1 -1
- package/dist/resources/generations.js +2 -0
- package/dist/resources/projects.d.ts +56 -20
- package/dist/resources/projects.d.ts.map +1 -1
- package/dist/resources/projects.js +40 -4
- package/dist/resources/targets.d.ts +84 -10
- package/dist/resources/targets.d.ts.map +1 -1
- package/dist/resources/targets.js +127 -2
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +55 -26
- package/dist/types.d.ts +602 -123
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +24 -0
- package/dist/worker.js +4 -4
- package/package.json +11 -1
- package/server.json +42 -0
- package/src/api-identity.ts +98 -0
- package/src/auth-profiles.ts +114 -0
- package/src/core/http.ts +88 -19
- package/src/credential-storage.ts +183 -0
- package/src/docs.ts +138 -0
- package/src/errors.ts +26 -15
- package/src/index.ts +29 -4
- package/src/mcp-authorization.ts +211 -0
- package/src/mcp-protocol.ts +287 -38
- package/src/mcp.ts +186 -72
- package/src/named-credentials.ts +74 -0
- package/src/oauth-request.ts +90 -0
- package/src/oauth-session.ts +258 -0
- package/src/ops.ts +48 -31
- package/src/resources/account.ts +3 -0
- package/src/resources/api-keys.ts +5 -0
- package/src/resources/definition-revisions.ts +9 -0
- package/src/resources/definitions.ts +25 -0
- package/src/resources/generate.ts +23 -0
- package/src/resources/generations.ts +5 -0
- package/src/resources/projects.ts +95 -7
- package/src/resources/targets.ts +241 -0
- package/src/schemas.ts +55 -26
- package/src/types.ts +640 -123
- package/src/worker.ts +4 -4
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export interface McpAuthorizationConfiguration {
|
|
2
|
+
/** Exact authorization-server issuer. Never inferred from an incoming token. */
|
|
3
|
+
issuer: string;
|
|
4
|
+
/** Canonical public MCP endpoint, including its path. */
|
|
5
|
+
resource: string;
|
|
6
|
+
/** Optional public signing-key endpoint; otherwise use issuer discovery. */
|
|
7
|
+
jwksUrl?: string;
|
|
8
|
+
/** Minimum connection scopes; upstream API permissions are independent. */
|
|
9
|
+
scopes?: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
export interface McpPrincipal {
|
|
12
|
+
readonly issuer: string;
|
|
13
|
+
readonly subject: string;
|
|
14
|
+
readonly resource: string;
|
|
15
|
+
readonly scopes: readonly string[];
|
|
16
|
+
/** Provider claims verified by signature or authenticated introspection. */
|
|
17
|
+
readonly claims: Readonly<Record<string, unknown>>;
|
|
18
|
+
}
|
|
19
|
+
/** Server-only credentials. Supply at runtime, never in generation config. */
|
|
20
|
+
export interface McpTokenIntrospectionConfiguration {
|
|
21
|
+
/** Fixed provider endpoint authorized to receive this issuer's tokens. */
|
|
22
|
+
url: string;
|
|
23
|
+
clientId: string;
|
|
24
|
+
clientSecret: string;
|
|
25
|
+
authMethod?: "client_secret_basic" | "client_secret_post";
|
|
26
|
+
/** Entire response deadline, including the body; defaults to 10 seconds. */
|
|
27
|
+
timeoutMs?: number;
|
|
28
|
+
}
|
|
29
|
+
export declare class McpAuthorizationError extends Error {
|
|
30
|
+
readonly status: 401 | 403 | 503;
|
|
31
|
+
readonly code: "invalid_token" | "insufficient_scope" | "authorization_unavailable";
|
|
32
|
+
constructor(status: 401 | 403 | 503, code: "invalid_token" | "insufficient_scope" | "authorization_unavailable");
|
|
33
|
+
}
|
|
34
|
+
/** Validate configuration independently of any request or token claims. */
|
|
35
|
+
export declare function mcpAuthorizationConfiguration(value: McpAuthorizationConfiguration): McpAuthorizationConfiguration;
|
|
36
|
+
/** Resource-server validation using platform crypto or explicit introspection. The caller supplies
|
|
37
|
+
* only a token; issuer, resource, discovery and key destinations are fixed by
|
|
38
|
+
* the owner. No Authorization header is sent during discovery/key fetching.
|
|
39
|
+
* Introspection replaces JWT verification for every request: no fallback and
|
|
40
|
+
* no token-result cache, so provider revocation is checked on the next request. */
|
|
41
|
+
export declare function createMcpAuthorizer(input: McpAuthorizationConfiguration, introspection?: McpTokenIntrospectionConfiguration): {
|
|
42
|
+
configuration: McpAuthorizationConfiguration;
|
|
43
|
+
metadata(): {
|
|
44
|
+
resource: string;
|
|
45
|
+
authorization_servers: string[];
|
|
46
|
+
bearer_methods_supported: string[];
|
|
47
|
+
scopes_supported: string[];
|
|
48
|
+
};
|
|
49
|
+
challenge(error?: "invalid_token" | "insufficient_scope"): string;
|
|
50
|
+
authorize(header: string | null): Promise<McpPrincipal>;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=mcp-authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-authorization.d.ts","sourceRoot":"","sources":["../src/mcp-authorization.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,8EAA8E;AAC9E,MAAM,WAAW,kCAAkC;IACjD,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;IAC1D,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,2BAA2B;gBAA5G,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAW,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,2BAA2B;CAIlI;AAeD,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,GAAG,6BAA6B,CAMjH;AA+DD;;;;mFAImF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,kCAAkC;;;;;;;;sBA2DtG,eAAe,GAAG,oBAAoB;sBAKhC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;EAkBhE"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { oauthJsonRequest } from "./oauth-request.js";
|
|
2
|
+
export class McpAuthorizationError extends Error {
|
|
3
|
+
status;
|
|
4
|
+
code;
|
|
5
|
+
constructor(status, code) {
|
|
6
|
+
super(code === "invalid_token" ? "A valid MCP access token is required." : code === "insufficient_scope" ? "The access token lacks the required MCP permissions." : "MCP authorization is unavailable. Check the server's authorization configuration.");
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.name = "McpAuthorizationError";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const invalid = () => new McpAuthorizationError(401, "invalid_token");
|
|
13
|
+
const unavailable = () => new McpAuthorizationError(503, "authorization_unavailable");
|
|
14
|
+
const scopePattern = /^[\x21\x23-\x5B\x5D-\x7E]+$/;
|
|
15
|
+
function endpoint(value, query = false) {
|
|
16
|
+
try {
|
|
17
|
+
const url = new URL(value);
|
|
18
|
+
if (value !== value.trim() || /[\u0000-\u0020\u007F"\\]/.test(value) || url.username || url.password || url.hash || (!query && url.search) ||
|
|
19
|
+
!(url.protocol === "https:" || url.protocol === "http:" && ["127.0.0.1", "[::1]", "localhost"].includes(url.hostname)))
|
|
20
|
+
throw unavailable();
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
throw unavailable();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Validate configuration independently of any request or token claims. */
|
|
28
|
+
export function mcpAuthorizationConfiguration(value) {
|
|
29
|
+
if (!value || typeof value.issuer !== "string" || typeof value.resource !== "string")
|
|
30
|
+
throw unavailable();
|
|
31
|
+
const issuer = endpoint(value.issuer), resource = endpoint(value.resource);
|
|
32
|
+
const scopes = value.scopes ?? [];
|
|
33
|
+
if (!Array.isArray(scopes) || scopes.length > 20 || scopes.some(s => typeof s !== "string" || s.length > 500 || !scopePattern.test(s)))
|
|
34
|
+
throw unavailable();
|
|
35
|
+
return Object.freeze({ issuer, resource, ...(value.jwksUrl ? { jwksUrl: endpoint(value.jwksUrl, true) } : {}), scopes: Object.freeze([...new Set(scopes)]) });
|
|
36
|
+
}
|
|
37
|
+
function bytes(value) {
|
|
38
|
+
if (!/^[A-Za-z0-9_-]+$/.test(value) || value.length % 4 === 1)
|
|
39
|
+
throw invalid();
|
|
40
|
+
try {
|
|
41
|
+
const decoded = Uint8Array.from(atob(value.replace(/-/g, "+").replace(/_/g, "/")), ch => ch.charCodeAt(0));
|
|
42
|
+
if (btoa(String.fromCharCode(...decoded)).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_") !== value)
|
|
43
|
+
throw invalid();
|
|
44
|
+
return decoded;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw invalid();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function object(value) { return !!value && typeof value === "object" && !Array.isArray(value); }
|
|
51
|
+
function decode(value) {
|
|
52
|
+
try {
|
|
53
|
+
const parsed = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes(value)));
|
|
54
|
+
if (!object(parsed))
|
|
55
|
+
throw invalid();
|
|
56
|
+
return parsed;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
throw invalid();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function principalFor(claims, configuration) {
|
|
63
|
+
const now = Date.now() / 1000;
|
|
64
|
+
const audiences = typeof claims.aud === "string" ? [claims.aud] : claims.aud;
|
|
65
|
+
if (claims.cnf !== undefined || claims.iss !== configuration.issuer || typeof claims.sub !== "string" || !claims.sub || claims.sub.length > 1000 ||
|
|
66
|
+
!Array.isArray(audiences) || !audiences.every(a => typeof a === "string") || !audiences.includes(configuration.resource) ||
|
|
67
|
+
typeof claims.exp !== "number" || !Number.isFinite(claims.exp) || claims.exp <= now ||
|
|
68
|
+
(claims.nbf !== undefined && (typeof claims.nbf !== "number" || !Number.isFinite(claims.nbf) || claims.nbf > now)) ||
|
|
69
|
+
(claims.iat !== undefined && (typeof claims.iat !== "number" || !Number.isFinite(claims.iat) || claims.iat > now + 60)) ||
|
|
70
|
+
(claims.scope !== undefined && (typeof claims.scope !== "string" || claims.scope.length > 10_000)))
|
|
71
|
+
throw invalid();
|
|
72
|
+
const scopes = typeof claims.scope === "string" ? claims.scope.split(" ").filter(Boolean) : [];
|
|
73
|
+
if (scopes.some(s => !scopePattern.test(s)))
|
|
74
|
+
throw invalid();
|
|
75
|
+
if (configuration.scopes.some(s => !scopes.includes(s)))
|
|
76
|
+
throw new McpAuthorizationError(403, "insufficient_scope");
|
|
77
|
+
return Object.freeze({ issuer: configuration.issuer, subject: claims.sub, resource: configuration.resource, scopes: Object.freeze([...new Set(scopes)]), claims: Object.freeze(claims) });
|
|
78
|
+
}
|
|
79
|
+
function introspector(input, configuration) {
|
|
80
|
+
const url = endpoint(input.url);
|
|
81
|
+
const method = input.authMethod ?? "client_secret_basic", timeoutMs = input.timeoutMs ?? 10_000;
|
|
82
|
+
if (!["client_secret_basic", "client_secret_post"].includes(method) || !Number.isFinite(timeoutMs) || timeoutMs <= 0 || timeoutMs > 30_000 ||
|
|
83
|
+
[input.clientId, input.clientSecret].some(value => typeof value !== "string" || !value || value.length > 16_000 || /[\u0000-\u001F\u007F]/.test(value)))
|
|
84
|
+
throw unavailable();
|
|
85
|
+
// Snapshot secrets in a private closure. Public metadata/config never exposes them.
|
|
86
|
+
const { clientId, clientSecret } = input;
|
|
87
|
+
const form = (value) => new URLSearchParams({ v: value }).toString().slice(2);
|
|
88
|
+
const authorization = method === "client_secret_basic" ? "Basic " + btoa(form(clientId) + ":" + form(clientSecret)) : undefined;
|
|
89
|
+
return async (token) => {
|
|
90
|
+
const body = new URLSearchParams({ token, token_type_hint: "access_token" });
|
|
91
|
+
if (method === "client_secret_post") {
|
|
92
|
+
body.set("client_id", clientId);
|
|
93
|
+
body.set("client_secret", clientSecret);
|
|
94
|
+
}
|
|
95
|
+
let data;
|
|
96
|
+
try {
|
|
97
|
+
const response = await oauthJsonRequest(url, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", Accept: "application/json", ...(authorization ? { Authorization: authorization } : {}) }, body }, timeoutMs);
|
|
98
|
+
if (response.status !== 200)
|
|
99
|
+
throw unavailable();
|
|
100
|
+
data = response.data;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
throw unavailable();
|
|
104
|
+
}
|
|
105
|
+
if (!data || typeof data.active !== "boolean")
|
|
106
|
+
throw unavailable();
|
|
107
|
+
if (!data.active || (data.token_type !== undefined && (typeof data.token_type !== "string" || data.token_type.toLowerCase() !== "bearer")))
|
|
108
|
+
throw invalid();
|
|
109
|
+
// RFC 7662 permits omitted issuer: the owner-pinned authenticated endpoint
|
|
110
|
+
// establishes it. Audience, subject and expiry are mandatory for this handler.
|
|
111
|
+
// Never substitute client_id for the MCP resource audience.
|
|
112
|
+
const claims = { ...data, iss: data.iss === undefined ? configuration.issuer : data.iss };
|
|
113
|
+
for (const key of ["token", "access_token", "refresh_token", "id_token", "client_secret"])
|
|
114
|
+
delete claims[key];
|
|
115
|
+
return principalFor(claims, configuration);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/** Resource-server validation using platform crypto or explicit introspection. The caller supplies
|
|
119
|
+
* only a token; issuer, resource, discovery and key destinations are fixed by
|
|
120
|
+
* the owner. No Authorization header is sent during discovery/key fetching.
|
|
121
|
+
* Introspection replaces JWT verification for every request: no fallback and
|
|
122
|
+
* no token-result cache, so provider revocation is checked on the next request. */
|
|
123
|
+
export function createMcpAuthorizer(input, introspection) {
|
|
124
|
+
const configuration = mcpAuthorizationConfiguration(input);
|
|
125
|
+
const introspect = introspection === undefined ? undefined : introspector(introspection, configuration);
|
|
126
|
+
const cacheMs = 300_000, retryMs = 30_000;
|
|
127
|
+
let keys = [], expiresAt = 0, lastAttempt = -Infinity;
|
|
128
|
+
let pending;
|
|
129
|
+
async function refresh() {
|
|
130
|
+
if (pending)
|
|
131
|
+
return pending;
|
|
132
|
+
if (Date.now() - lastAttempt < retryMs)
|
|
133
|
+
return;
|
|
134
|
+
lastAttempt = Date.now();
|
|
135
|
+
pending = (async () => {
|
|
136
|
+
try {
|
|
137
|
+
let jwksUrl = configuration.jwksUrl;
|
|
138
|
+
if (!jwksUrl) {
|
|
139
|
+
const issuer = new URL(configuration.issuer), path = issuer.pathname.replace(/\/$/, "");
|
|
140
|
+
const candidates = [...new Set([
|
|
141
|
+
issuer.origin + "/.well-known/oauth-authorization-server" + path,
|
|
142
|
+
issuer.origin + "/.well-known/openid-configuration" + path,
|
|
143
|
+
issuer.origin + path + "/.well-known/openid-configuration",
|
|
144
|
+
])];
|
|
145
|
+
for (const url of candidates) {
|
|
146
|
+
const response = await oauthJsonRequest(url, {}, 10_000);
|
|
147
|
+
if (response.status === 404)
|
|
148
|
+
continue;
|
|
149
|
+
if (response.status !== 200 || response.data?.issuer !== configuration.issuer || typeof response.data.jwks_uri !== "string")
|
|
150
|
+
throw unavailable();
|
|
151
|
+
jwksUrl = endpoint(response.data.jwks_uri, true);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
if (!jwksUrl)
|
|
155
|
+
throw unavailable();
|
|
156
|
+
}
|
|
157
|
+
const response = await oauthJsonRequest(jwksUrl, {}, 10_000);
|
|
158
|
+
if (response.status !== 200 || !Array.isArray(response.data?.keys) || response.data.keys.length === 0 || response.data.keys.length > 100)
|
|
159
|
+
throw unavailable();
|
|
160
|
+
keys = response.data.keys.filter(object);
|
|
161
|
+
expiresAt = Date.now() + cacheMs;
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
throw unavailable();
|
|
165
|
+
}
|
|
166
|
+
})().finally(() => { pending = undefined; });
|
|
167
|
+
return pending;
|
|
168
|
+
}
|
|
169
|
+
function eligible(header) {
|
|
170
|
+
return keys.filter(key => (!header.kid || key.kid === header.kid) && (!key.alg || key.alg === header.alg) &&
|
|
171
|
+
(!key.use || key.use === "sig") && (!key.key_ops || Array.isArray(key.key_ops) && key.key_ops.includes("verify")) && !key.d && !key.k &&
|
|
172
|
+
(header.alg === "RS256" && key.kty === "RSA" || header.alg === "ES256" && key.kty === "EC" && key.crv === "P-256" || header.alg === "EdDSA" && key.kty === "OKP" && key.crv === "Ed25519"));
|
|
173
|
+
}
|
|
174
|
+
async function verifySignature(header, data, signature) {
|
|
175
|
+
const matches = eligible(header);
|
|
176
|
+
if (matches.length !== 1)
|
|
177
|
+
return false;
|
|
178
|
+
const key = matches[0];
|
|
179
|
+
try {
|
|
180
|
+
const algorithm = header.alg === "RS256" ? { name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" } : header.alg === "ES256" ? { name: "ECDSA", namedCurve: "P-256", hash: "SHA-256" } : { name: "Ed25519" };
|
|
181
|
+
if (header.alg === "RS256") {
|
|
182
|
+
if (!key.n || bytes(key.n).byteLength < 256)
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
const imported = await crypto.subtle.importKey("jwk", key, algorithm, false, ["verify"]);
|
|
186
|
+
if (header.alg === "RS256" && (imported.algorithm.modulusLength ?? 0) < 2048)
|
|
187
|
+
return false;
|
|
188
|
+
return await crypto.subtle.verify(algorithm, imported, signature, data);
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
configuration,
|
|
196
|
+
metadata() { return { resource: configuration.resource, authorization_servers: [configuration.issuer], bearer_methods_supported: ["header"], scopes_supported: [...configuration.scopes] }; },
|
|
197
|
+
challenge(error) {
|
|
198
|
+
const resource = new URL(configuration.resource);
|
|
199
|
+
const metadata = resource.origin + "/.well-known/oauth-protected-resource" + resource.pathname.replace(/\/$/, "");
|
|
200
|
+
return 'Bearer resource_metadata="' + metadata + '"' + (configuration.scopes.length ? ', scope="' + configuration.scopes.join(" ") + '"' : "") + (error ? ', error="' + error + '"' : "");
|
|
201
|
+
},
|
|
202
|
+
async authorize(header) {
|
|
203
|
+
if (!header || header.length > 16_400 || !/^Bearer [A-Za-z0-9._~+/-]+=*$/i.test(header))
|
|
204
|
+
throw invalid();
|
|
205
|
+
const token = header.slice(7), parts = token.split(".");
|
|
206
|
+
if (introspect)
|
|
207
|
+
return introspect(token);
|
|
208
|
+
if (parts.length !== 3)
|
|
209
|
+
throw invalid();
|
|
210
|
+
const protectedHeader = decode(parts[0]), claims = decode(parts[1]);
|
|
211
|
+
if (!["RS256", "ES256", "EdDSA"].includes(String(protectedHeader.alg)) || protectedHeader.crit !== undefined || protectedHeader.jku !== undefined || protectedHeader.x5u !== undefined ||
|
|
212
|
+
(protectedHeader.typ !== undefined && !["at+jwt", "JWT"].includes(String(protectedHeader.typ))) ||
|
|
213
|
+
(protectedHeader.kid !== undefined && (typeof protectedHeader.kid !== "string" || !protectedHeader.kid || protectedHeader.kid.length > 200)))
|
|
214
|
+
throw invalid();
|
|
215
|
+
const signed = new TextEncoder().encode(parts[0] + "." + parts[1]), signature = bytes(parts[2]);
|
|
216
|
+
if (expiresAt <= Date.now()) {
|
|
217
|
+
await refresh();
|
|
218
|
+
if (expiresAt <= Date.now())
|
|
219
|
+
throw unavailable();
|
|
220
|
+
}
|
|
221
|
+
let verified = await verifySignature(protectedHeader, signed, signature);
|
|
222
|
+
if (!verified && Date.now() - lastAttempt >= retryMs) {
|
|
223
|
+
await refresh();
|
|
224
|
+
verified = await verifySignature(protectedHeader, signed, signature);
|
|
225
|
+
}
|
|
226
|
+
if (!verified)
|
|
227
|
+
throw invalid();
|
|
228
|
+
// No bearer token or unverified claims cross into credential resolution.
|
|
229
|
+
return principalFor(claims, configuration);
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
}
|
package/dist/mcp-protocol.d.ts
CHANGED
|
@@ -75,6 +75,14 @@ export interface ToolOutcome {
|
|
|
75
75
|
structured?: unknown;
|
|
76
76
|
content?: ContentBlock[];
|
|
77
77
|
}
|
|
78
|
+
/** Throw only from an application-owned credential resolver, before calling
|
|
79
|
+
* the API. The URL must show a sign-in/linking page, never a pre-authenticated
|
|
80
|
+
* resource, token or personal information. The page must verify the same user
|
|
81
|
+
* before linking. The runtime rechecks credentials on every subsequent call. */
|
|
82
|
+
export declare class McpAccountLinkRequired extends Error {
|
|
83
|
+
readonly url: string;
|
|
84
|
+
constructor(url: string);
|
|
85
|
+
}
|
|
78
86
|
/** The subset of an operation spec (ops.ts / the hosted manifest) the
|
|
79
87
|
* protocol layer reads. */
|
|
80
88
|
export interface OpLike {
|
|
@@ -99,6 +107,7 @@ export interface OpLike {
|
|
|
99
107
|
required: boolean;
|
|
100
108
|
enum?: string[];
|
|
101
109
|
description?: string;
|
|
110
|
+
resolve?: false | ReferenceResolver;
|
|
102
111
|
}[];
|
|
103
112
|
inputSchema: Record<string, unknown>;
|
|
104
113
|
outputSchema?: Record<string, unknown>;
|
|
@@ -123,6 +132,15 @@ export interface OpLike {
|
|
|
123
132
|
/** Wire encoding of the request body. */
|
|
124
133
|
bodyKind?: string | null;
|
|
125
134
|
}
|
|
135
|
+
/** Fully proved lookup metadata carried in ops.ts / the hosted manifest. */
|
|
136
|
+
export interface ReferenceResolver {
|
|
137
|
+
via: string;
|
|
138
|
+
match: string[];
|
|
139
|
+
id: string;
|
|
140
|
+
idPattern?: string;
|
|
141
|
+
filterParam?: string;
|
|
142
|
+
inferred?: boolean;
|
|
143
|
+
}
|
|
126
144
|
/** Does the operation take a file (multipart form or raw binary body)? */
|
|
127
145
|
export declare function isUploadOp(op: OpLike): boolean;
|
|
128
146
|
/** Ops that can be MCP tools. A tool result is one value, not a stream, so
|
|
@@ -158,7 +176,8 @@ export interface McpServer {
|
|
|
158
176
|
listTools(): ToolDefinition[];
|
|
159
177
|
/**
|
|
160
178
|
* Run a tool. Return undefined for an unknown tool (the client gets
|
|
161
|
-
* -32602), a ToolOutcome otherwise.
|
|
179
|
+
* -32602), a ToolOutcome otherwise. McpAccountLinkRequired requests a
|
|
180
|
+
* browser interaction; other exceptions yield -32603.
|
|
162
181
|
*/
|
|
163
182
|
callTool(name: string, args: Record<string, unknown>): Promise<ToolOutcome | undefined>;
|
|
164
183
|
/** Optional actionable wording for an unknown tool name. The protocol
|
|
@@ -279,6 +298,8 @@ export declare function findOperation(ops: OpLike[], wanted: string): OpLike | u
|
|
|
279
298
|
export declare function missingArguments(op: OpLike, args: Record<string, unknown>): string[];
|
|
280
299
|
export interface InstructionsInput {
|
|
281
300
|
title: string;
|
|
301
|
+
/** Callable operations, used to advertise only capabilities the surface has. */
|
|
302
|
+
ops: OpLike[];
|
|
282
303
|
/** Operations the server serves (after read-only / include filtering). */
|
|
283
304
|
toolCount: number;
|
|
284
305
|
/** Operations present in the Definition but absent from this capped generation. */
|
|
@@ -293,6 +314,8 @@ export interface InstructionsInput {
|
|
|
293
314
|
authHint?: string | null;
|
|
294
315
|
/** The tool that returns the caller (the CLI's whoami target), when the API has one. */
|
|
295
316
|
identityTool?: string | null;
|
|
317
|
+
/** At least one argument accepts an exact human reference as well as an ID. */
|
|
318
|
+
referenceResolution?: boolean;
|
|
296
319
|
/** Upload operations are exposed (local server): their file arguments take paths. */
|
|
297
320
|
uploads?: boolean;
|
|
298
321
|
/** Project-supplied text, appended verbatim. */
|
|
@@ -349,6 +372,32 @@ export declare function prepareCall(op: OpLike, rawArgs: Record<string, unknown>
|
|
|
349
372
|
ok: false;
|
|
350
373
|
outcome: ToolOutcome;
|
|
351
374
|
};
|
|
375
|
+
/** One caller/session's resolved names. Hosted transports must scope this
|
|
376
|
+
* map by caller credential; generated stdio servers naturally have one map
|
|
377
|
+
* per process. */
|
|
378
|
+
export type ReferenceCache = Map<string, string | number>;
|
|
379
|
+
export interface ResolveReferencesOptions {
|
|
380
|
+
/** Operations available to act as declared/inferred resolvers. */
|
|
381
|
+
ops: OpLike[];
|
|
382
|
+
/** Operation returning the authenticated caller, for user-shaped "me". */
|
|
383
|
+
identityTool?: string | null;
|
|
384
|
+
cache: ReferenceCache;
|
|
385
|
+
/** Raw operation runner: validates and calls, but does not resolve again. */
|
|
386
|
+
runOperation(op: OpLike, args: Record<string, unknown>): Promise<ToolOutcome>;
|
|
387
|
+
/** Hard bound for list scans. Default 5. */
|
|
388
|
+
maxPages?: number;
|
|
389
|
+
}
|
|
390
|
+
export type ResolveReferencesResult = {
|
|
391
|
+
ok: true;
|
|
392
|
+
args: Record<string, unknown>;
|
|
393
|
+
} | {
|
|
394
|
+
ok: false;
|
|
395
|
+
outcome: ToolOutcome;
|
|
396
|
+
};
|
|
397
|
+
/** Resolve every eligible reference after validation/coercion and before the
|
|
398
|
+
* requested API call. Matching is exact (case-insensitive for strings),
|
|
399
|
+
* never fuzzy. Zero matches fail before the requested API call. */
|
|
400
|
+
export declare function resolveReferences(op: OpLike, preparedArgs: Record<string, unknown>, options: ResolveReferencesOptions): Promise<ResolveReferencesResult>;
|
|
352
401
|
/** The isError result for bad arguments: one stable code, one issue per
|
|
353
402
|
* argument, and the way out. */
|
|
354
403
|
export declare function argumentsError(op: {
|
|
@@ -400,7 +449,7 @@ export declare function extensionFor(mediaType: string): string;
|
|
|
400
449
|
export declare function binaryOutcome(blob: Blob, options?: BinaryOptions): Promise<ToolOutcome>;
|
|
401
450
|
/** Stable codes an agent can branch on (the same vocabulary as the
|
|
402
451
|
* generated CLI's error envelope). Additive only. */
|
|
403
|
-
export type ErrorCode = "NO_AUTH" | "AUTH_INVALID" | "PLAN_LIMIT" | "NOT_FOUND" | "INVALID_REQUEST" | "RATE_LIMITED" | "SPEC_INVALID" | "SERVER_ERROR" | "NETWORK_ERROR" | "VALIDATION_FAILED" | "INVALID_ARGUMENTS" | "CONFIRMATION_REQUIRED" | "NOT_AVAILABLE" | "CALL_FAILED";
|
|
452
|
+
export type ErrorCode = "NO_AUTH" | "AUTH_INVALID" | "PLAN_LIMIT" | "NOT_FOUND" | "INVALID_REQUEST" | "RATE_LIMITED" | "SPEC_INVALID" | "SERVER_ERROR" | "NETWORK_ERROR" | "VALIDATION_FAILED" | "INVALID_ARGUMENTS" | "CONFIRMATION_REQUIRED" | "REFERENCE_NOT_FOUND" | "REFERENCE_AMBIGUOUS" | "REFERENCE_SCAN_LIMIT" | "NOT_AVAILABLE" | "CALL_FAILED" | "ACCOUNT_LINK_REQUIRED" | "ACCOUNT_LINK_CANCELLED";
|
|
404
453
|
export interface ErrorContext {
|
|
405
454
|
/** One sentence on how to supply a credential on this transport. */
|
|
406
455
|
authHint?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD;;0BAE0B;AAC1B,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAA2B,CAAC;AAErF,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,gBAAgB,+CAA+C,CAAC;AAC7E,eAAO,MAAM,gBAAgB,uCAAuC,CAAC;AAErE;;;iEAGiE;AACjE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAI/C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErG;;6EAE6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;2BAC2B;AAC3B,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IAC1C,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IACxC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,gFAAgF;IAChF,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1J,2CAA2C;IAC3C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED;;;;4EAI4E;AAC5E,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAGnF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;oCAEoC;AACpC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,SAAS,IAAI,cAAc,EAAE,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACxF;;gEAE4D;IAC5D,kBAAkB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C;uCACmC;IACnC,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;IAC9E,mEAAmE;IACnE,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9F;AAID,eAAO,MAAM,QAAQ,GAAI,IAAI,OAAO,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,OAAO,KAAG,UAGpG,CAAC;AAEH;wDACwD;AACxD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,CAUvE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,GAAG,KAAK,IAAI,UAAU,CAEpF;AAED;;yEAEyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAc1F;AAED;+EAC+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;;yEAGyE;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAsB7H;AAMD,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAElD;AAID,wBAAsB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA2EzF;AAWD;+EAC+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,OAAO,CAKhH;AAED;;;yDAGyD;AACzD,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAA;CAAE,GAAG,eAAe,CAalM;AAED;;uEAEuE;AACvE,wBAAgB,eAAe,CAAC,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAA;CAAE,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CASpL;AAED;;;8EAG8E;AAC9E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,SAAU,EAAE,KAAK,SAAI,GAAG,OAAO,CAwEtF;AA2BD,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGxG;AAED;wEACwE;AACxE,eAAO,MAAM,eAAe,WAAW,CAAC;AAUxC;;gCAEgC;AAChC,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQnE;AAED;iDACiD;AACjD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CASxD;AAED,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,eAAO,MAAM,gBAAgB,EAAE,cAK9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAK5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAa1B,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;yDAEyD;AACzD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,CAAC,EAAE,CAWxF;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,SAAS,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,cAAc,EAAE,CAevH;AAGD,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAEpF;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;2DAE2D;AAC3D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAoBnE;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;aAEa;AACb,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD;kEACkE;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAU7E;AASD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAyEnH;AAcD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAmDxE;AAED;gCACgC;AAChC,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAYzF;AAID;+DAC+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,GAAG,OAAO,CAqB/E;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;4EACwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;iFAC6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAkBD;;;;6BAI6B;AAC7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,CAkDhI;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,CA4CnF;AAID;4DAC4D;AAC5D,eAAO,MAAM,eAAe,UAAY,CAAC;AACzC;sEACsE;AACtE,eAAO,MAAM,eAAe,UAAY,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B;mEAC+D;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvG,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+BjG;AAED;qDACqD;AACrD,MAAM,MAAM,SAAS,GACjB,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,cAAc,GAC5F,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,eAAe,GAAG,aAAa,CAAC;AAE9J,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oFAAoF;IACpF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAUD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAoClH;AAiBD;0EAC0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAkBpF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,SAAyB,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,WAAW,CAG9G;AAID,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kEAAkE;IAClE,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,YAAY,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;IAC/B,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAChD;AA4BD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA2BhD;AAQD;;kEAEkE;AAClE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuB7D;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAiElG;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoBrF;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,GAChF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA+BlC"}
|
|
1
|
+
{"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"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"}
|