@plurnk/plurnk-mcp 3.2.1 → 3.3.1
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 +30 -15
- package/SPEC.md +193 -97
- package/dist/McpExecutor.d.ts +10 -1
- package/dist/McpExecutor.d.ts.map +1 -1
- package/dist/McpExecutor.js +45 -11
- package/dist/McpExecutor.js.map +1 -1
- package/dist/McpResources.d.ts +2 -1
- package/dist/McpResources.d.ts.map +1 -1
- package/dist/McpResources.js +7 -3
- package/dist/McpResources.js.map +1 -1
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +142 -43
- package/dist/Module.js.map +1 -1
- package/dist/PluginConfiguration.d.ts +8 -10
- package/dist/PluginConfiguration.d.ts.map +1 -1
- package/dist/PluginConfiguration.js +4 -4
- package/dist/PluginConfiguration.js.map +1 -1
- package/dist/capabilityMatrix.d.ts.map +1 -1
- package/dist/capabilityMatrix.js +1 -0
- package/dist/capabilityMatrix.js.map +1 -1
- package/dist/client.d.ts +7 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +180 -83
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/definition.js.map +1 -1
- package/dist/extensionChannel.d.ts.map +1 -1
- package/dist/extensionChannel.js +2 -3
- package/dist/extensionChannel.js.map +1 -1
- package/dist/inputRequired.d.ts.map +1 -1
- package/dist/inputRequired.js +11 -4
- package/dist/inputRequired.js.map +1 -1
- package/dist/oauth.d.ts +28 -4
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +83 -36
- package/dist/oauth.js.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.js +1 -1
- package/dist/protocolHeaders.d.ts.map +1 -1
- package/dist/protocolHeaders.js +3 -2
- package/dist/protocolHeaders.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +8 -3
- package/dist/registry.js.map +1 -1
- package/dist/subscriptions.js.map +1 -1
- package/dist/tasks.d.ts +2 -2
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +23 -26
- package/dist/tasks.js.map +1 -1
- package/docs/mcp.md +9 -9
- package/package.json +9 -8
package/dist/oauth.js
CHANGED
|
@@ -3,32 +3,63 @@ import packageJson from "../package.json" with { type: "json" };
|
|
|
3
3
|
// {§oauth-continuation} Host-owned diagnostics, without remote error bodies or secrets.
|
|
4
4
|
export class OAuthSetupError extends Error {
|
|
5
5
|
code;
|
|
6
|
-
|
|
6
|
+
recovery;
|
|
7
|
+
constructor(code, message, recovery) {
|
|
7
8
|
super(message);
|
|
8
9
|
this.name = "OAuthSetupError";
|
|
9
10
|
this.code = code;
|
|
11
|
+
this.recovery = recovery;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class OAuthGrant {
|
|
15
|
+
redirectUrl;
|
|
16
|
+
clientInformation = new Map();
|
|
17
|
+
tokens = new Map();
|
|
18
|
+
configuredIssuer;
|
|
19
|
+
activeIssuer;
|
|
20
|
+
currentTokens;
|
|
21
|
+
// Latched by the first tokens issued; the redirect of an accepted grant has no client waiting at it.
|
|
22
|
+
accepted = false;
|
|
23
|
+
constructor(redirectUrl) {
|
|
24
|
+
this.redirectUrl = redirectUrl;
|
|
25
|
+
}
|
|
26
|
+
get signedIn() {
|
|
27
|
+
return this.currentTokens !== undefined;
|
|
28
|
+
}
|
|
29
|
+
get summary() {
|
|
30
|
+
const tokens = this.currentTokens;
|
|
31
|
+
if (tokens?.issuer === undefined)
|
|
32
|
+
return undefined;
|
|
33
|
+
return {
|
|
34
|
+
issuer: tokens.issuer,
|
|
35
|
+
...(tokens.scope === undefined ? {} : { scope: tokens.scope }),
|
|
36
|
+
refreshable: tokens.refresh_token !== undefined,
|
|
37
|
+
};
|
|
10
38
|
}
|
|
11
39
|
}
|
|
12
40
|
export default class InteractiveOAuthProvider {
|
|
13
41
|
redirectUrl;
|
|
14
42
|
clientMetadataUrl;
|
|
43
|
+
grant;
|
|
44
|
+
#redirectConfigured;
|
|
15
45
|
#scope;
|
|
46
|
+
#issuer;
|
|
47
|
+
#authorizationParams;
|
|
16
48
|
#configuredClientInformation;
|
|
17
|
-
#clientInformation = new Map();
|
|
18
|
-
#tokens = new Map();
|
|
19
|
-
#configuredIssuer;
|
|
20
|
-
#activeIssuer;
|
|
21
|
-
#currentTokens;
|
|
22
49
|
#presentedToken = false;
|
|
23
50
|
#awaitingAuthorizationCallback = false;
|
|
24
51
|
#state;
|
|
25
|
-
#
|
|
52
|
+
#authorization;
|
|
26
53
|
#codeVerifier;
|
|
27
54
|
#discoveryState;
|
|
28
|
-
constructor({
|
|
29
|
-
this.
|
|
55
|
+
constructor({ grant, redirectConfigured, clientMetadataUrl, clientId, clientSecret, scope, issuer, authorizationParams = {}, }) {
|
|
56
|
+
this.grant = grant;
|
|
57
|
+
this.redirectUrl = grant.redirectUrl;
|
|
58
|
+
this.#redirectConfigured = redirectConfigured;
|
|
30
59
|
this.clientMetadataUrl = clientMetadataUrl;
|
|
31
60
|
this.#scope = scope;
|
|
61
|
+
this.#issuer = issuer;
|
|
62
|
+
this.#authorizationParams = authorizationParams;
|
|
32
63
|
this.#configuredClientInformation = clientId === undefined
|
|
33
64
|
? undefined
|
|
34
65
|
: { client_id: clientId, ...(clientSecret === undefined ? {} : { client_secret: clientSecret }) };
|
|
@@ -48,15 +79,16 @@ export default class InteractiveOAuthProvider {
|
|
|
48
79
|
return this.#state;
|
|
49
80
|
}
|
|
50
81
|
clientInformation(context) {
|
|
51
|
-
const
|
|
82
|
+
const grant = this.grant;
|
|
83
|
+
const issuer = context?.issuer ?? grant.activeIssuer;
|
|
52
84
|
if (issuer === undefined)
|
|
53
85
|
return undefined;
|
|
54
|
-
|
|
55
|
-
const stored =
|
|
86
|
+
grant.activeIssuer = issuer;
|
|
87
|
+
const stored = grant.clientInformation.get(issuer);
|
|
56
88
|
if (stored !== undefined)
|
|
57
89
|
return stored;
|
|
58
90
|
if (this.#configuredClientInformation === undefined
|
|
59
|
-
|| (
|
|
91
|
+
|| (grant.configuredIssuer !== undefined && grant.configuredIssuer !== issuer)) {
|
|
60
92
|
const metadata = this.#discoveryState?.authorizationServerMetadata;
|
|
61
93
|
const cimdAvailable = this.clientMetadataUrl !== undefined
|
|
62
94
|
&& metadata?.client_id_metadata_document_supported === true;
|
|
@@ -67,9 +99,9 @@ export default class InteractiveOAuthProvider {
|
|
|
67
99
|
}
|
|
68
100
|
return undefined;
|
|
69
101
|
}
|
|
70
|
-
|
|
102
|
+
grant.configuredIssuer = issuer;
|
|
71
103
|
const configured = { ...this.#configuredClientInformation, issuer };
|
|
72
|
-
|
|
104
|
+
grant.clientInformation.set(issuer, configured);
|
|
73
105
|
return configured;
|
|
74
106
|
}
|
|
75
107
|
saveClientInformation(clientInformation, context) {
|
|
@@ -77,16 +109,16 @@ export default class InteractiveOAuthProvider {
|
|
|
77
109
|
if (issuer === undefined) {
|
|
78
110
|
throw new Error("MCP OAuth client information is missing its authorization-server issuer.");
|
|
79
111
|
}
|
|
80
|
-
this
|
|
81
|
-
this
|
|
112
|
+
this.grant.activeIssuer = issuer;
|
|
113
|
+
this.grant.clientInformation.set(issuer, { ...clientInformation, issuer });
|
|
82
114
|
}
|
|
83
115
|
tokens(context) {
|
|
84
116
|
if (context === undefined) {
|
|
85
|
-
this.#presentedToken = this
|
|
86
|
-
return this
|
|
117
|
+
this.#presentedToken = this.grant.currentTokens !== undefined;
|
|
118
|
+
return this.grant.currentTokens;
|
|
87
119
|
}
|
|
88
|
-
this
|
|
89
|
-
return this
|
|
120
|
+
this.grant.activeIssuer = context.issuer;
|
|
121
|
+
return this.grant.tokens.get(context.issuer);
|
|
90
122
|
}
|
|
91
123
|
saveTokens(tokens, context) {
|
|
92
124
|
const issuer = context?.issuer ?? tokens.issuer;
|
|
@@ -94,20 +126,32 @@ export default class InteractiveOAuthProvider {
|
|
|
94
126
|
throw new Error("MCP OAuth tokens are missing their authorization-server issuer.");
|
|
95
127
|
}
|
|
96
128
|
const stored = { ...tokens, issuer };
|
|
97
|
-
|
|
98
|
-
|
|
129
|
+
const grant = this.grant;
|
|
130
|
+
grant.activeIssuer = issuer;
|
|
131
|
+
grant.currentTokens = stored;
|
|
132
|
+
grant.accepted = true;
|
|
99
133
|
this.#presentedToken = false;
|
|
100
134
|
this.#awaitingAuthorizationCallback = false;
|
|
101
|
-
|
|
135
|
+
grant.tokens.set(issuer, stored);
|
|
102
136
|
}
|
|
103
137
|
redirectToAuthorization(authorizationUrl) {
|
|
138
|
+
// {§oauth-grant} A sign-in starts only where a client waits at the redirect: one the definition configures, or the
|
|
139
|
+
// callback a client bound to begin this grant. Elsewhere the grant no longer answers, and the alias awaits a sign-in.
|
|
140
|
+
if (!this.#redirectConfigured && this.grant.accepted) {
|
|
141
|
+
this.#authorization = {};
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// {§mcp-oauth} The definition's parameters join the request; the schema keeps the flow's own out of reach.
|
|
145
|
+
for (const [name, value] of Object.entries(this.#authorizationParams))
|
|
146
|
+
authorizationUrl.searchParams.set(name, value);
|
|
104
147
|
this.#awaitingAuthorizationCallback = true;
|
|
105
|
-
this.#
|
|
148
|
+
this.#authorization = { url: authorizationUrl };
|
|
106
149
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
150
|
+
// The sign-in the SDK last asked for, with its URL where this connection starts one.
|
|
151
|
+
takeAuthorization() {
|
|
152
|
+
const authorization = this.#authorization;
|
|
153
|
+
this.#authorization = undefined;
|
|
154
|
+
return authorization;
|
|
111
155
|
}
|
|
112
156
|
assertCallbackState(callback) {
|
|
113
157
|
if (this.#state === undefined || callback.searchParams.get("state") !== this.#state) {
|
|
@@ -125,7 +169,8 @@ export default class InteractiveOAuthProvider {
|
|
|
125
169
|
}
|
|
126
170
|
saveDiscoveryState(state) {
|
|
127
171
|
if (state.authorizationServerMetadata === undefined) {
|
|
128
|
-
|
|
172
|
+
// {§oauth-issuer} Without a configured issuer, naming one is the working form.
|
|
173
|
+
throw new OAuthSetupError("oauth-metadata-unavailable", "MCP OAuth requires validated authorization-server metadata, and the server provided none.", this.#issuer === undefined ? "Name the authorization server as the definition's authorization.issuer." : undefined);
|
|
129
174
|
}
|
|
130
175
|
this.#discoveryState = state;
|
|
131
176
|
}
|
|
@@ -134,16 +179,18 @@ export default class InteractiveOAuthProvider {
|
|
|
134
179
|
this.#presentedToken = false;
|
|
135
180
|
this.#discoveryState = undefined;
|
|
136
181
|
}
|
|
137
|
-
|
|
182
|
+
// {§oauth-issuer} A configured issuer is where discovery starts, whatever the resource publishes.
|
|
183
|
+
return this.#discoveryState ?? (this.#issuer === undefined ? undefined : { authorizationServerUrl: this.#issuer });
|
|
138
184
|
}
|
|
139
185
|
invalidateCredentials(scope) {
|
|
140
|
-
|
|
141
|
-
|
|
186
|
+
const grant = this.grant;
|
|
187
|
+
if ((scope === "all" || scope === "client") && grant.activeIssuer !== undefined) {
|
|
188
|
+
grant.clientInformation.delete(grant.activeIssuer);
|
|
142
189
|
}
|
|
143
190
|
if (scope === "all" || scope === "tokens") {
|
|
144
|
-
if (
|
|
145
|
-
|
|
146
|
-
|
|
191
|
+
if (grant.activeIssuer !== undefined)
|
|
192
|
+
grant.tokens.delete(grant.activeIssuer);
|
|
193
|
+
grant.currentTokens = undefined;
|
|
147
194
|
this.#presentedToken = false;
|
|
148
195
|
}
|
|
149
196
|
if (scope === "all" || scope === "verifier") {
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,wFAAwF;AACxF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC7B,IAAI,CAAS;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export declare const MCP_SPECIFICATION_COMMIT = "5f5440bb26a62e2cf3440b92da5a667
|
|
|
3
3
|
export declare const MCP_TASKS_EXTENSION_ID = "io.modelcontextprotocol/tasks";
|
|
4
4
|
export declare const MCP_OAUTH_CLIENT_CREDENTIALS_EXTENSION_ID = "io.modelcontextprotocol/oauth-client-credentials";
|
|
5
5
|
export declare const MCP_TASKS_SPECIFICATION_COMMIT = "2c1425d9a288b9b1f489430fe1e00bb392b47e48";
|
|
6
|
-
export declare const MCP_CLIENT_VERSION = "2.
|
|
6
|
+
export declare const MCP_CLIENT_VERSION = "2.4.0";
|
|
7
7
|
export declare const MCP_CONFORMANCE_VERSION = "0.2.0-alpha.12";
|
|
8
8
|
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.js
CHANGED
|
@@ -3,6 +3,6 @@ export const MCP_SPECIFICATION_COMMIT = "5f5440bb26a62e2cf3440b92da5a667efa03b26
|
|
|
3
3
|
export const MCP_TASKS_EXTENSION_ID = "io.modelcontextprotocol/tasks";
|
|
4
4
|
export const MCP_OAUTH_CLIENT_CREDENTIALS_EXTENSION_ID = "io.modelcontextprotocol/oauth-client-credentials";
|
|
5
5
|
export const MCP_TASKS_SPECIFICATION_COMMIT = "2c1425d9a288b9b1f489430fe1e00bb392b47e48";
|
|
6
|
-
export const MCP_CLIENT_VERSION = "2.
|
|
6
|
+
export const MCP_CLIENT_VERSION = "2.4.0";
|
|
7
7
|
export const MCP_CONFORMANCE_VERSION = "0.2.0-alpha.12";
|
|
8
8
|
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolHeaders.d.ts","sourceRoot":"","sources":["../src/protocolHeaders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocolHeaders.d.ts","sourceRoot":"","sources":["../src/protocolHeaders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AA6BzD,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,MAE3C,CAAC;AAEZ,UAAU,iBAAiB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,2HAA2H;AAC3H,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAK5C;CACJ;AAKD,eAAO,MAAM,kBAAkB,SAAU,IAAI,KAAG,iBAAiB,EAuChE,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,wBAAwB,SAAU,IAAI,KAAG,IAErD,CAAC;AAiBF,eAAO,MAAM,eAAe,SAClB,IAAI,QACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjC,CAAC"}
|
package/dist/protocolHeaders.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
1
2
|
const BASE64_PREFIX = "=?base64?";
|
|
2
3
|
const BASE64_SUFFIX = "?=";
|
|
3
4
|
const RFC9110_TOKEN = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
@@ -48,7 +49,7 @@ export const headerDeclarations = (tool) => {
|
|
|
48
49
|
throw new HeaderDeclarationError(tool.name, `${pathName(path)}: ${what}`);
|
|
49
50
|
}
|
|
50
51
|
const visit = (schema, path, reachable) => {
|
|
51
|
-
if (
|
|
52
|
+
if (!isRecord(schema))
|
|
52
53
|
return;
|
|
53
54
|
const node = schema;
|
|
54
55
|
if ("x-mcp-header" in node) {
|
|
@@ -96,7 +97,7 @@ export const assertHeaderDeclarations = (tool) => {
|
|
|
96
97
|
const valueAt = (root, path) => {
|
|
97
98
|
let value = root;
|
|
98
99
|
for (const segment of path) {
|
|
99
|
-
if (
|
|
100
|
+
if (!isRecord(value))
|
|
100
101
|
return undefined;
|
|
101
102
|
value = value[segment];
|
|
102
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolHeaders.js","sourceRoot":"","sources":["../src/protocolHeaders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocolHeaders.js","sourceRoot":"","sources":["../src/protocolHeaders.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
// {§mcp-registry-discovery} — `discover` searches the official MCP Registry (API v0.1). A listed server's
|
|
2
|
+
// stdio packages become self-contained standard entries and its Streamable HTTP remotes become URL
|
|
3
|
+
// entries; anything that needs a person's input first (a template variable, a required argument with
|
|
4
|
+
// no value) has no entry. Nothing here installs, launches, or connects.
|
|
5
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
1
6
|
const text = (value) => typeof value === "string" && value.length > 0 ? value : undefined;
|
|
2
7
|
const templated = (value) => /\{[^}]*\}/u.test(value);
|
|
3
8
|
// The command each registry type runs through, as the registry's own examples launch it; a
|
|
@@ -112,7 +117,7 @@ export class RegistryError extends Error {
|
|
|
112
117
|
}
|
|
113
118
|
}
|
|
114
119
|
const isServer = (value) => {
|
|
115
|
-
if (
|
|
120
|
+
if (!isRecord(value))
|
|
116
121
|
return false;
|
|
117
122
|
const server = value;
|
|
118
123
|
return typeof server.name === "string" && typeof server.version === "string";
|
|
@@ -139,11 +144,11 @@ export const searchRegistry = async ({ url, query, limit, timeoutMs }) => {
|
|
|
139
144
|
catch (cause) {
|
|
140
145
|
throw new RegistryError(`The MCP Registry at ${endpoint.origin} answered with malformed JSON.`, response.status, { cause });
|
|
141
146
|
}
|
|
142
|
-
const listed = body
|
|
147
|
+
const listed = isRecord(body) ? body.servers : undefined;
|
|
143
148
|
if (!Array.isArray(listed))
|
|
144
149
|
throw new RegistryError(`The MCP Registry at ${endpoint.origin} answered without a server list.`, response.status);
|
|
145
150
|
return listed.flatMap((item) => {
|
|
146
|
-
const server = item
|
|
151
|
+
const server = isRecord(item) ? item.server : undefined;
|
|
147
152
|
return isServer(server) ? [server] : [];
|
|
148
153
|
});
|
|
149
154
|
};
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AAc7D,MAAM,OAAO,GAAG,CAAC,KAAc,EAAS,EAAE,CAAC,KAAK,YAAY,KAAK;IAC7D,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG,CACd,MAAc,EACd,SAA8B,EAC9B,KAAkC,EAClC,YAAqB,EACI,EAAE;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC;IAC9D,OAAO;QACH,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI;YACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;YAC5B,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI;YAC3C,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;YAC9B,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,KAAK,IAAI;YAC7C,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE;YAChC,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;YACjE,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAC9B,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAiC,EAAW,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAEnC,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,OAAO,CAAS;IAChB,QAAQ,CAAsB;IAC9B,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,QAAQ,CAA8B;IACtC,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACzC,WAAW,CAA6B;IACxC,aAAa,GAAG,CAAC,CAAC;IAClB,YAAY,CAA8B;IAC1C,OAAO,GAAG,KAAK,CAAC;IAEhB,YAAY,MAAc,EAAE,OAA4B;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAS,EAAE;YACd,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrC,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO;YAClC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC,CAAC;IACN,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAC/B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,MAAoB;QAClD,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI;YAAE,OAAO;QACzF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,mBAAmB;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,IAAqB,CAAC;QAC1B,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CallToolResult, type Progress, type Tool } from "@modelcontextprotocol/client";
|
|
2
|
-
import ExtensionChannel from "./extensionChannel.ts";
|
|
2
|
+
import type ExtensionChannel from "./extensionChannel.ts";
|
|
3
3
|
import { type ClientInteractionHandler } from "./inputRequired.ts";
|
|
4
|
-
import Subscriptions from "./subscriptions.ts";
|
|
4
|
+
import type Subscriptions from "./subscriptions.ts";
|
|
5
5
|
export interface TaskCallOptions {
|
|
6
6
|
readonly server: string;
|
|
7
7
|
readonly name: string;
|
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,cAAc,EAGnB,KAAK,QAAQ,EACb,KAAK,IAAI,EACZ,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,cAAc,EAGnB,KAAK,QAAQ,EACb,KAAK,IAAI,EACZ,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAIH,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AA4CpD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACzC;AAsYD,eAAO,MAAM,mBAAmB,iBAAkB,OAAO,KAAG,OAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAmB,eAAe,KAAG,OAAO,CAAC,cAAc,CA2BxF,CAAC"}
|
package/dist/tasks.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { ProtocolError, ProtocolErrorCode, fromJsonSchema, specTypeSchemas, } from "@modelcontextprotocol/client";
|
|
2
2
|
import { setTimeout as delay } from "node:timers/promises";
|
|
3
|
-
import
|
|
3
|
+
import { isRecord, isSafeInteger } from "@plurnk/plurnk-contracts";
|
|
4
4
|
import { resolveInputRequests, remainingTimeout, runInputRequiredRequest, } from "./inputRequired.js";
|
|
5
5
|
import { mcpParamHeaders } from "./protocolHeaders.js";
|
|
6
6
|
import { MCP_TASKS_EXTENSION_ID } from "./protocol.js";
|
|
7
|
-
import Subscriptions from "./subscriptions.js";
|
|
8
7
|
// A Task server may suggest its poll interval; this is the adapter's own cadence when it does
|
|
9
8
|
// not, and the least it will honour when it does.
|
|
10
9
|
const OWN_POLL_INTERVAL_MS = 250;
|
|
11
10
|
const MINIMUM_POLL_INTERVAL_MS = 10;
|
|
12
|
-
const asRecord = (value) => value
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const asRecord = (value) => isRecord(value) ? value : undefined;
|
|
12
|
+
const TASK_STATUSES = ["working", "input_required", "completed", "failed", "cancelled"];
|
|
13
|
+
const isTaskStatus = (value) => TASK_STATUSES.some((status) => status === value);
|
|
15
14
|
const issueText = (issues) => issues.map((issue) => issue.path?.length
|
|
16
15
|
? `${issue.path.map(String).join(".")}: ${issue.message}`
|
|
17
16
|
: issue.message).join(", ");
|
|
@@ -41,13 +40,7 @@ const parseTask = (value, surface, expectedTaskId) => {
|
|
|
41
40
|
throw protocolShapeError(surface, `taskId '${taskId}' does not match '${expectedTaskId}'.`);
|
|
42
41
|
}
|
|
43
42
|
const status = record.status;
|
|
44
|
-
if (!
|
|
45
|
-
"working",
|
|
46
|
-
"input_required",
|
|
47
|
-
"completed",
|
|
48
|
-
"failed",
|
|
49
|
-
"cancelled",
|
|
50
|
-
].includes(String(status))) {
|
|
43
|
+
if (!isTaskStatus(status)) {
|
|
51
44
|
throw protocolShapeError(surface, `'status' is not a current Tasks status.`);
|
|
52
45
|
}
|
|
53
46
|
const statusMessage = record.statusMessage;
|
|
@@ -57,22 +50,22 @@ const parseTask = (value, surface, expectedTaskId) => {
|
|
|
57
50
|
const createdAt = requireString(record, "createdAt", surface);
|
|
58
51
|
const lastUpdatedAt = requireString(record, "lastUpdatedAt", surface);
|
|
59
52
|
const ttlMs = record.ttlMs;
|
|
60
|
-
if (ttlMs !== null && (!
|
|
53
|
+
if (ttlMs !== null && (!isSafeInteger(ttlMs) || ttlMs < 0)) {
|
|
61
54
|
throw protocolShapeError(surface, "'ttlMs' must be a non-negative integer or null.");
|
|
62
55
|
}
|
|
63
56
|
const pollIntervalMs = record.pollIntervalMs;
|
|
64
57
|
if (pollIntervalMs !== undefined
|
|
65
|
-
&& (!
|
|
58
|
+
&& (!isSafeInteger(pollIntervalMs) || pollIntervalMs < 0)) {
|
|
66
59
|
throw protocolShapeError(surface, "'pollIntervalMs' must be a non-negative integer.");
|
|
67
60
|
}
|
|
68
61
|
return {
|
|
69
62
|
taskId,
|
|
70
|
-
status
|
|
63
|
+
status,
|
|
71
64
|
createdAt,
|
|
72
65
|
lastUpdatedAt,
|
|
73
|
-
ttlMs
|
|
66
|
+
ttlMs,
|
|
74
67
|
...(statusMessage === undefined ? {} : { statusMessage }),
|
|
75
|
-
...(pollIntervalMs === undefined ? {} : { pollIntervalMs
|
|
68
|
+
...(pollIntervalMs === undefined ? {} : { pollIntervalMs }),
|
|
76
69
|
};
|
|
77
70
|
};
|
|
78
71
|
const parseDetailedTask = (value, surface, expectedTaskId) => {
|
|
@@ -94,7 +87,7 @@ const parseDetailedTask = (value, surface, expectedTaskId) => {
|
|
|
94
87
|
if (task.status === "failed") {
|
|
95
88
|
const error = asRecord(record.error);
|
|
96
89
|
if (error === undefined
|
|
97
|
-
|| !
|
|
90
|
+
|| !isSafeInteger(error.code)
|
|
98
91
|
|| typeof error.message !== "string") {
|
|
99
92
|
throw protocolShapeError(surface, "failed status omitted its JSON-RPC error.");
|
|
100
93
|
}
|
|
@@ -115,9 +108,9 @@ const parseInputRequiredResult = (value) => {
|
|
|
115
108
|
if (record?.resultType !== "input_required") {
|
|
116
109
|
throw protocolShapeError("tools/call result", "expected resultType 'input_required'.");
|
|
117
110
|
}
|
|
118
|
-
const inputRequests = record.inputRequests;
|
|
111
|
+
const inputRequests = record.inputRequests === undefined ? undefined : asRecord(record.inputRequests);
|
|
119
112
|
const requestState = record.requestState;
|
|
120
|
-
if (inputRequests !== undefined &&
|
|
113
|
+
if (record.inputRequests !== undefined && inputRequests === undefined) {
|
|
121
114
|
throw protocolShapeError("tools/call result", "'inputRequests' must be an object.");
|
|
122
115
|
}
|
|
123
116
|
if (requestState !== undefined && typeof requestState !== "string") {
|
|
@@ -128,9 +121,10 @@ const parseInputRequiredResult = (value) => {
|
|
|
128
121
|
}
|
|
129
122
|
return {
|
|
130
123
|
resultType: "input_required",
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
124
|
+
// The SDK declares the input requests it will resolve and ships no validator for them; the adapter proves an
|
|
125
|
+
// object here, and `resolveInputRequests` reads each request as the SDK types it.
|
|
126
|
+
// oxlint-disable-next-line typescript/no-unsafe-type-assertion -- the stated boundary above
|
|
127
|
+
...(inputRequests === undefined ? {} : { inputRequests: inputRequests }),
|
|
134
128
|
...(requestState === undefined ? {} : { requestState }),
|
|
135
129
|
};
|
|
136
130
|
};
|
|
@@ -146,6 +140,9 @@ const parseCallToolResult = async (value) => {
|
|
|
146
140
|
return parsed.value;
|
|
147
141
|
};
|
|
148
142
|
const validateToolInput = async (tool, args) => {
|
|
143
|
+
// A tool's input schema is JSON Schema by the protocol; the SDK declares it and the validator's input type under two
|
|
144
|
+
// names, and this is the one place the tool's schema takes the validator's.
|
|
145
|
+
// oxlint-disable-next-line typescript/no-unsafe-type-assertion -- the stated boundary above
|
|
149
146
|
const validator = fromJsonSchema(tool.inputSchema);
|
|
150
147
|
const parsed = await validator["~standard"].validate(args);
|
|
151
148
|
if (parsed.issues !== undefined) {
|
|
@@ -154,7 +151,7 @@ const validateToolInput = async (tool, args) => {
|
|
|
154
151
|
};
|
|
155
152
|
const validateToolOutput = async (tool, value) => {
|
|
156
153
|
const result = await parseCallToolResult({
|
|
157
|
-
...
|
|
154
|
+
...asRecord(value),
|
|
158
155
|
resultType: "complete",
|
|
159
156
|
});
|
|
160
157
|
if (tool.outputSchema === undefined || result.isError === true)
|
|
@@ -326,8 +323,8 @@ export const callToolWithTasks = async (options) => {
|
|
|
326
323
|
timeout: options.timeout,
|
|
327
324
|
requestLeg: (params, requestOptions) => taskAwareToolLeg(options.channel, options.tool, params, requestOptions.signal, requestOptions.timeout, requestOptions.onprogress),
|
|
328
325
|
});
|
|
329
|
-
if (initial.resultType === "task") {
|
|
330
|
-
return driveTask(initial, options, startedAt + options.timeout);
|
|
326
|
+
if (isRecord(initial) && initial.resultType === "task") {
|
|
327
|
+
return driveTask({ ...parseTask(initial, "creation result"), resultType: "task" }, options, startedAt + options.timeout);
|
|
331
328
|
}
|
|
332
329
|
return validateToolOutput(options.tool, initial);
|
|
333
330
|
};
|