@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/Module.js
CHANGED
|
@@ -7,12 +7,13 @@ import { fileURLToPath } from "node:url";
|
|
|
7
7
|
import { readDefinition } from "./definition.js";
|
|
8
8
|
import { isDeepStrictEqual } from "node:util";
|
|
9
9
|
import { SdkHttpError, UnauthorizedError } from "@modelcontextprotocol/client";
|
|
10
|
+
import { CompleteRequestParamsSchema } from "@modelcontextprotocol/core";
|
|
11
|
+
import { Problems, Validator, isRecord } from "@plurnk/plurnk-contracts";
|
|
10
12
|
import { ConfigurationError } from "@plurnk/plurnk-meta";
|
|
11
|
-
import {
|
|
12
|
-
import ServerConnection, { AuthorizationRequiredError, isClientCredentialsRejection, McpRedirectError, } from "./client.js";
|
|
13
|
+
import ServerConnection, { AuthorizationRequiredError, awaitsSignIn, causeOf, isClientCredentialsRejection, McpRedirectError, } from "./client.js";
|
|
13
14
|
import { configuredDefinitions, connectTimeoutMs, expandedServerNames, retryDelayMs, retryPacing, registrySettings, serverSettings, } from "./config.js";
|
|
14
15
|
import { RegistryError, registryEntries, searchRegistry } from "./registry.js";
|
|
15
|
-
import McpExecutor, { runtimeDecl, runtimeServerSummary } from "./McpExecutor.js";
|
|
16
|
+
import McpExecutor, { UnavailableServerExecutor, runtimeDecl, runtimeServerSummary } from "./McpExecutor.js";
|
|
16
17
|
import McpResources from "./McpResources.js";
|
|
17
18
|
import { OAuthSetupError } from "./oauth.js";
|
|
18
19
|
const OWNER = "@plurnk/plurnk-mcp";
|
|
@@ -27,6 +28,20 @@ const actionInput = (properties, required = []) => ({
|
|
|
27
28
|
...(required.length === 0 ? {} : { required: [...required] }),
|
|
28
29
|
});
|
|
29
30
|
const attachmentConnection = (attachment) => attachment.kind === "unavailable" ? undefined : attachment.connection;
|
|
31
|
+
// {§mcp-unavailable-runtime} An enabled server that cannot run still answers to its alias: a call to it is refused with
|
|
32
|
+
// the state that keeps it from running, never as a name nothing registered.
|
|
33
|
+
const unavailableRuntime = (attachment) => {
|
|
34
|
+
const { name } = attachment.definition;
|
|
35
|
+
const detail = attachment.kind === "authorization-required"
|
|
36
|
+
? "it awaits the operator's sign-in"
|
|
37
|
+
: typeof attachment.problem.diagnostic === "string" ? attachment.problem.diagnostic : attachment.problem.detail;
|
|
38
|
+
return {
|
|
39
|
+
namespaceOwner: OWNER,
|
|
40
|
+
decl: runtimeDecl(name, runtimeServerSummary(name, undefined), false),
|
|
41
|
+
executor: new UnavailableServerExecutor(name, detail),
|
|
42
|
+
availability: { available: false, detail },
|
|
43
|
+
};
|
|
44
|
+
};
|
|
30
45
|
class ModuleActionError extends Error {
|
|
31
46
|
problem;
|
|
32
47
|
constructor(problem, cause) {
|
|
@@ -40,27 +55,13 @@ const actionError = (code, status, detail, extensions = {}, cause) => new Module
|
|
|
40
55
|
...extensions,
|
|
41
56
|
}), cause);
|
|
42
57
|
const errorsOf = (error) => error instanceof AggregateError ? [...error.errors] : [error];
|
|
43
|
-
// The first error of a type anywhere in a cause chain, aggregates included.
|
|
44
|
-
const causeOf = (error, type, seen = new Set()) => {
|
|
45
|
-
if (error === null || typeof error !== "object" || seen.has(error))
|
|
46
|
-
return undefined;
|
|
47
|
-
seen.add(error);
|
|
48
|
-
if (error instanceof type)
|
|
49
|
-
return error;
|
|
50
|
-
for (const inner of error instanceof AggregateError ? error.errors : []) {
|
|
51
|
-
const found = causeOf(inner, type, seen);
|
|
52
|
-
if (found !== undefined)
|
|
53
|
-
return found;
|
|
54
|
-
}
|
|
55
|
-
return causeOf(error.cause, type, seen);
|
|
56
|
-
};
|
|
57
58
|
const preparationError = (definition, authorization, cause, closeCause, observation = {}) => {
|
|
58
59
|
const completeCause = closeCause === undefined
|
|
59
60
|
? cause
|
|
60
61
|
: new AggregateError([cause, closeCause], `MCP server '${definition.name}' preparation and cleanup failed.`);
|
|
61
62
|
const setup = causeOf(cause, OAuthSetupError);
|
|
62
63
|
if (setup !== undefined)
|
|
63
|
-
return actionError(setup.code, 502, setup.message, { server: definition.name, retryable: false }, completeCause);
|
|
64
|
+
return actionError(setup.code, 502, setup.message, { server: definition.name, ...(setup.recovery === undefined ? {} : { recovery: setup.recovery }), retryable: false }, completeCause);
|
|
64
65
|
// {§oauth-client-credentials} — a rejected grant is an authorization fact,
|
|
65
66
|
// never a generic unavailability.
|
|
66
67
|
if (authorization?.type === "client-credentials" && isClientCredentialsRejection(cause)) {
|
|
@@ -99,9 +100,7 @@ export const closeConnections = async (connections) => {
|
|
|
99
100
|
throw new AggregateError(errors, "MCP connection shutdown failed");
|
|
100
101
|
}
|
|
101
102
|
};
|
|
102
|
-
const objectOf = (value) =>
|
|
103
|
-
? value
|
|
104
|
-
: null;
|
|
103
|
+
const objectOf = (value) => isRecord(value) ? value : null;
|
|
105
104
|
const assertActionKeys = (params, allowed) => {
|
|
106
105
|
const extras = Object.keys(params).filter((key) => !allowed.includes(key));
|
|
107
106
|
if (extras.length > 0) {
|
|
@@ -121,6 +120,18 @@ const workspaceIdentityOf = (context) => {
|
|
|
121
120
|
return { workspaceId: context.workspaceId };
|
|
122
121
|
};
|
|
123
122
|
const sameBinding = (left, right) => isDeepStrictEqual([left.definition, left.context], [right.definition, right.context]);
|
|
123
|
+
// The coordinator hands this module its own admitted definitions back as the contract's objects: the
|
|
124
|
+
// definition is read through its schema, the plugin context through the two paths it names.
|
|
125
|
+
const isPluginContext = (value) => "root" in value && typeof value.root === "string" && "data" in value && typeof value.data === "string";
|
|
126
|
+
const pluginContextOf = (value) => {
|
|
127
|
+
if (!isPluginContext(value))
|
|
128
|
+
throw new TypeError("An MCP binding's plugin context names its root and data paths.");
|
|
129
|
+
return value;
|
|
130
|
+
};
|
|
131
|
+
const bindingOf = (value) => ({
|
|
132
|
+
definition: Validator.assertMcpServerDefinition(value.definition),
|
|
133
|
+
...(value.context === undefined ? {} : { context: pluginContextOf(value.context) }),
|
|
134
|
+
});
|
|
124
135
|
const statusOf = (error) => {
|
|
125
136
|
if (typeof error !== "object" || error === null)
|
|
126
137
|
return null;
|
|
@@ -128,8 +139,9 @@ const statusOf = (error) => {
|
|
|
128
139
|
?? error.result?.problem;
|
|
129
140
|
return typeof problem?.status === "number" ? problem.status : null;
|
|
130
141
|
};
|
|
131
|
-
|
|
132
|
-
|
|
142
|
+
// An active alias's detail: its server's catalog, and the summary of a grant its connection presents ({§oauth-grant}).
|
|
143
|
+
const activeDetail = ({ executor: { catalog }, connection }) => {
|
|
144
|
+
const grant = connection.oauthGrant?.summary;
|
|
133
145
|
return {
|
|
134
146
|
protocolVersion: catalog.protocolVersion,
|
|
135
147
|
server: catalog.server ?? null,
|
|
@@ -138,6 +150,7 @@ const catalogDetail = (executor) => {
|
|
|
138
150
|
resources: catalog.resources.length,
|
|
139
151
|
resourceTemplates: catalog.resourceTemplates.length,
|
|
140
152
|
prompts: catalog.prompts.length,
|
|
153
|
+
...(grant === undefined ? {} : { grant }),
|
|
141
154
|
};
|
|
142
155
|
};
|
|
143
156
|
export default class Module {
|
|
@@ -160,6 +173,11 @@ export default class Module {
|
|
|
160
173
|
#pending = new Map();
|
|
161
174
|
#authorizing = new Set();
|
|
162
175
|
#dirty = new Map();
|
|
176
|
+
// {§mcp-request-unauthorized} The aliases whose server refused a call for want of a sign-in, by pending key.
|
|
177
|
+
#challenged = new Set();
|
|
178
|
+
// {§oauth-grant} Each alias's accepted sign-in, by pending key, with the definition it was accepted for; cooling
|
|
179
|
+
// keeps it.
|
|
180
|
+
#grants = new Map();
|
|
163
181
|
#connections = new Set();
|
|
164
182
|
#refreshTimers = new Map();
|
|
165
183
|
#retainWorkspace = new Map();
|
|
@@ -355,8 +373,10 @@ export default class Module {
|
|
|
355
373
|
? await this.#stateDirectory(workspaceId, `${OWNER}/${definition.name}`) : undefined;
|
|
356
374
|
signal?.throwIfAborted();
|
|
357
375
|
this.#assertOpen();
|
|
376
|
+
const grant = oauthRedirectUrl === undefined ? this.#grantFor(workspaceId, binding) : undefined;
|
|
358
377
|
candidate ??= new ServerConnection(definition, environment(this.#env), {
|
|
359
378
|
...(oauthRedirectUrl === undefined ? {} : { oauthRedirectUrl }),
|
|
379
|
+
...(grant === undefined ? {} : { oauthGrant: grant }),
|
|
360
380
|
...(cwd === undefined ? {} : { cwd }),
|
|
361
381
|
...(context === undefined ? {} : { plugin: context }),
|
|
362
382
|
environment: environment(this.#operatorEnvironment()),
|
|
@@ -373,6 +393,14 @@ export default class Module {
|
|
|
373
393
|
onInfrastructureError: (error) => {
|
|
374
394
|
console.error(`MCP server '${definition.name}' infrastructure failure:`, error);
|
|
375
395
|
},
|
|
396
|
+
onAuthorizationRequired: () => {
|
|
397
|
+
const key = this.#pendingKey(workspaceId, definition.name);
|
|
398
|
+
if (this.#closed || this.#challenged.has(key))
|
|
399
|
+
return;
|
|
400
|
+
this.#challenged.add(key);
|
|
401
|
+
this.#dirty.set(key, Symbol());
|
|
402
|
+
this.#scheduleCatalogRefresh(workspaceId, definition.name);
|
|
403
|
+
},
|
|
376
404
|
});
|
|
377
405
|
this.#connections.add(candidate);
|
|
378
406
|
const executor = new McpExecutor({ runtime: definition.name, glyph: "🔌" }, candidate, () => this.#retain(workspaceId), { tools: settings.tools });
|
|
@@ -437,7 +465,8 @@ export default class Module {
|
|
|
437
465
|
this.#retainWorkspace.set(workspaceId, preparation.retain);
|
|
438
466
|
const previous = preparation.previous ?? new Map();
|
|
439
467
|
for (const [name, attachment] of previous) {
|
|
440
|
-
const
|
|
468
|
+
const next = enabled.get(name);
|
|
469
|
+
const nextDefinition = next === undefined ? undefined : bindingOf(next);
|
|
441
470
|
if (nextDefinition === undefined || force === name || !sameBinding(attachment, nextDefinition)) {
|
|
442
471
|
const activeRequests = attachmentConnection(attachment)?.activeRequests ?? 0;
|
|
443
472
|
if (activeRequests > 0)
|
|
@@ -449,21 +478,28 @@ export default class Module {
|
|
|
449
478
|
const fresh = [];
|
|
450
479
|
const consumedPending = new Map();
|
|
451
480
|
const refreshed = new Map();
|
|
481
|
+
// {§mcp-request-unauthorized} The aliases this preparation connects afresh or signs in, which answer any refusal.
|
|
482
|
+
const answered = new Set();
|
|
452
483
|
try {
|
|
453
484
|
// {§mcp-setup} — every server that needs a connection or a catalog is prepared at once, so a
|
|
454
485
|
// workspace waits for its slowest server, not for the sum of them.
|
|
455
486
|
const plans = [...enabled].map(([name, value]) => {
|
|
456
487
|
const key = this.#pendingKey(workspaceId, name);
|
|
457
|
-
const binding = value;
|
|
488
|
+
const binding = bindingOf(value);
|
|
458
489
|
const existing = previous.get(name);
|
|
459
490
|
const pending = this.#pending.get(key);
|
|
460
491
|
const heldConnection = existing === undefined ? undefined : attachmentConnection(existing);
|
|
461
492
|
const settledBinding = existing !== undefined && force !== name && sameBinding(existing, binding)
|
|
462
493
|
&& pending?.prepared === undefined && pending?.authorized !== true;
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
494
|
+
// {§mcp-request-unauthorized} A server that refused a call for want of a sign-in awaits one on the connection
|
|
495
|
+
// it holds, whatever its catalog still lists.
|
|
496
|
+
const mode = settledBinding && this.#challenged.has(key) && existing?.kind === "active" && heldConnection !== undefined ? "challenged"
|
|
497
|
+
: settledBinding && !this.#dirty.has(key) ? "reuse"
|
|
498
|
+
: pending?.prepared !== undefined && sameBinding(pending, binding) ? "pending"
|
|
499
|
+
: settledBinding && heldConnection !== undefined ? "catalog"
|
|
500
|
+
: "connect";
|
|
501
|
+
if (mode === "pending" || mode === "connect")
|
|
502
|
+
answered.add(key);
|
|
467
503
|
const authorized = mode === "connect" && pending?.authorized === true && sameBinding(pending, binding);
|
|
468
504
|
return { name, key, invalidation: this.#dirty.get(key), binding, existing, pending, heldConnection, mode, authorized };
|
|
469
505
|
});
|
|
@@ -477,6 +513,9 @@ export default class Module {
|
|
|
477
513
|
return plan.existing;
|
|
478
514
|
if (plan.mode === "pending")
|
|
479
515
|
return plan.pending.prepared;
|
|
516
|
+
if (plan.mode === "challenged") {
|
|
517
|
+
return { ...plan.binding, kind: "authorization-required", connection: plan.heldConnection, authorizationUrl: undefined };
|
|
518
|
+
}
|
|
480
519
|
try {
|
|
481
520
|
if (plan.mode === "catalog") {
|
|
482
521
|
// {§mcp-catalog-refresh-in-place} — only the catalog is dirty: the executor is
|
|
@@ -551,7 +590,7 @@ export default class Module {
|
|
|
551
590
|
for (const [name, attachment] of next) {
|
|
552
591
|
switch (attachment.kind) {
|
|
553
592
|
case "active":
|
|
554
|
-
outcomes.set(name, { state: "active", detail:
|
|
593
|
+
outcomes.set(name, { state: "active", detail: activeDetail(attachment) });
|
|
555
594
|
break;
|
|
556
595
|
case "unavailable":
|
|
557
596
|
outcomes.set(name, { state: "unavailable", problem: attachment.problem });
|
|
@@ -564,7 +603,7 @@ export default class Module {
|
|
|
564
603
|
break;
|
|
565
604
|
}
|
|
566
605
|
}
|
|
567
|
-
const runtimes = [...next.values()].
|
|
606
|
+
const runtimes = [...next.values()].map((attachment) => attachment.kind === "active" ? attachment.runtime : unavailableRuntime(attachment));
|
|
568
607
|
const published = { removed: [], added: [] };
|
|
569
608
|
return {
|
|
570
609
|
runtimes,
|
|
@@ -639,6 +678,12 @@ export default class Module {
|
|
|
639
678
|
this.#clearCatalogRefresh(key);
|
|
640
679
|
}
|
|
641
680
|
}
|
|
681
|
+
// {§mcp-request-unauthorized} A fresh connection or an accepted sign-in answers a refusal; withdrawal forgets it.
|
|
682
|
+
for (const key of [...this.#challenged]) {
|
|
683
|
+
if (key.startsWith(`${workspaceId}:`) && (answered.has(key) || !next.has(key.slice(`${workspaceId}:`.length)))) {
|
|
684
|
+
this.#challenged.delete(key);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
642
687
|
const retained = new Set([...next.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []));
|
|
643
688
|
const pendingConnections = new Set([...this.#pending.values()].map(({ connection }) => connection));
|
|
644
689
|
const obsolete = [...previous.values()]
|
|
@@ -674,8 +719,10 @@ export default class Module {
|
|
|
674
719
|
if (key.startsWith(`${workspaceId}:`))
|
|
675
720
|
this.#clearCatalogRefresh(key);
|
|
676
721
|
}
|
|
677
|
-
const
|
|
678
|
-
|
|
722
|
+
for (const key of [...this.#challenged])
|
|
723
|
+
if (key.startsWith(`${workspaceId}:`))
|
|
724
|
+
this.#challenged.delete(key);
|
|
725
|
+
const connections = [...snapshot.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []);
|
|
679
726
|
this.#attachments.delete(workspaceId);
|
|
680
727
|
this.#retainWorkspace.delete(workspaceId);
|
|
681
728
|
this.#identities.delete(workspaceId);
|
|
@@ -710,9 +757,12 @@ export default class Module {
|
|
|
710
757
|
throw actionError("oauth-busy", 409, `MCP server '${alias}' is already starting authorization.`, { retryable: true });
|
|
711
758
|
this.#authorizing.add(key);
|
|
712
759
|
try {
|
|
713
|
-
const
|
|
714
|
-
if (
|
|
760
|
+
const connected = await this.#prepareAttachment(identity.workspaceId, current, undefined, redirectUrl);
|
|
761
|
+
if (connected.kind === "unavailable")
|
|
715
762
|
throw new Error("OAuth preparation returned an unavailable attachment.");
|
|
763
|
+
// {§oauth-begin-unchallenged} An alias awaiting a sign-in for a refused request starts one on a connection its
|
|
764
|
+
// server never challenges; one whose connection was challenged and is no longer is accepted as it is.
|
|
765
|
+
const prepared = connected.kind === "active" && this.#challenged.has(key) ? await this.#beginUnchallenged(connected) : connected;
|
|
716
766
|
if (this.#attachments.get(identity.workspaceId)?.get(alias) !== current) {
|
|
717
767
|
await this.#closeOwned([prepared.connection]);
|
|
718
768
|
throw actionError("oauth-target-conflict", 409, `MCP server '${alias}' changed while its OAuth authorization was pending.`, { workspaceId: identity.workspaceId, alias, recovery: "Start authorization again from the server's current definition.", retryable: false });
|
|
@@ -742,6 +792,33 @@ export default class Module {
|
|
|
742
792
|
this.#authorizing.delete(key);
|
|
743
793
|
}
|
|
744
794
|
}
|
|
795
|
+
// {§oauth-begin-unchallenged} The SDK's authorization starts on the connection; one it finds authorized stays active.
|
|
796
|
+
async #beginUnchallenged(connected) {
|
|
797
|
+
let authorizationUrl;
|
|
798
|
+
try {
|
|
799
|
+
authorizationUrl = await connected.connection.beginAuthorization();
|
|
800
|
+
}
|
|
801
|
+
catch (cause) {
|
|
802
|
+
let closeCause;
|
|
803
|
+
try {
|
|
804
|
+
await this.#closeOwned([connected.connection]);
|
|
805
|
+
}
|
|
806
|
+
catch (error) {
|
|
807
|
+
closeCause = error;
|
|
808
|
+
}
|
|
809
|
+
const { definition } = connected;
|
|
810
|
+
throw preparationError(definition, definition.type === "streamable-http" ? definition.authorization : undefined, cause, closeCause);
|
|
811
|
+
}
|
|
812
|
+
if (authorizationUrl === undefined)
|
|
813
|
+
return connected;
|
|
814
|
+
return {
|
|
815
|
+
definition: connected.definition,
|
|
816
|
+
...(connected.context === undefined ? {} : { context: connected.context }),
|
|
817
|
+
kind: "authorization-required",
|
|
818
|
+
connection: connected.connection,
|
|
819
|
+
authorizationUrl,
|
|
820
|
+
};
|
|
821
|
+
}
|
|
745
822
|
// {§oauth-continuation} — grant acceptance precedes ordinary catalog publication.
|
|
746
823
|
async #completeOAuth(identity, params) {
|
|
747
824
|
assertActionKeys(params, ["alias", "callbackUrl"]);
|
|
@@ -774,6 +851,11 @@ export default class Module {
|
|
|
774
851
|
if (this.#pending.get(key) !== pending || this.#closed)
|
|
775
852
|
throw actionError("oauth-target-conflict", 409, `MCP server '${alias}' changed while its OAuth authorization was pending.`, { workspaceId: identity.workspaceId, alias, retryable: false });
|
|
776
853
|
pending.authorized = true;
|
|
854
|
+
// {§oauth-grant} The accepted sign-in is the alias's grant, replacing any before it.
|
|
855
|
+
const grant = pending.connection.oauthGrant;
|
|
856
|
+
if (grant !== undefined) {
|
|
857
|
+
this.#grants.set(key, { definition: pending.definition, ...(pending.context === undefined ? {} : { context: pending.context }), grant });
|
|
858
|
+
}
|
|
777
859
|
this.#dirty.set(key, Symbol());
|
|
778
860
|
this.#refreshCatalog(identity.workspaceId, alias);
|
|
779
861
|
return { status: 202, alias };
|
|
@@ -788,16 +870,31 @@ export default class Module {
|
|
|
788
870
|
if (attachment === undefined || attachment.kind !== "active") {
|
|
789
871
|
throw actionError("server-not-connected", 409, `MCP server '${server}' is not connected for this workspace.`, { workspaceId, name: server, retryable: false });
|
|
790
872
|
}
|
|
791
|
-
|
|
792
|
-
const
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
}
|
|
796
|
-
return attachment.connection.complete({
|
|
797
|
-
ref: ref,
|
|
798
|
-
argument: argument,
|
|
873
|
+
// The protocol's own schema proves the completion's parameters; a context that is not an object is not sent.
|
|
874
|
+
const completion = CompleteRequestParamsSchema.safeParse({
|
|
875
|
+
ref: params.ref,
|
|
876
|
+
argument: params.argument,
|
|
799
877
|
...(objectOf(params.context) === null ? {} : { context: params.context }),
|
|
800
878
|
});
|
|
879
|
+
if (!completion.success) {
|
|
880
|
+
const issues = completion.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; ");
|
|
881
|
+
throw actionError("completion-parameters-invalid", 400, `MCP completion parameters do not match the protocol: ${issues}.`, { retryable: false });
|
|
882
|
+
}
|
|
883
|
+
try {
|
|
884
|
+
return await attachment.connection.complete(completion.data);
|
|
885
|
+
}
|
|
886
|
+
catch (cause) {
|
|
887
|
+
if (cause instanceof AuthorizationRequiredError) {
|
|
888
|
+
// {§mcp-request-unauthorized}
|
|
889
|
+
throw actionError("authorization-required", 401, awaitsSignIn(server), { workspaceId, name: server, retryable: false }, cause);
|
|
890
|
+
}
|
|
891
|
+
throw cause;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
// {§oauth-grant} The alias's grant, for a connection with the definition it was accepted for, while it holds tokens.
|
|
895
|
+
#grantFor(workspaceId, binding) {
|
|
896
|
+
const held = this.#grants.get(this.#pendingKey(workspaceId, binding.definition.name));
|
|
897
|
+
return held !== undefined && held.grant.signedIn && sameBinding(held, binding) ? held.grant : undefined;
|
|
801
898
|
}
|
|
802
899
|
// A live catalog change republishes the unchanged state; the dirty alias
|
|
803
900
|
// rebuilds its executor on the next preparation.
|
|
@@ -848,6 +945,8 @@ export default class Module {
|
|
|
848
945
|
clearTimeout(timer);
|
|
849
946
|
this.#refreshTimers.clear();
|
|
850
947
|
this.#dirty.clear();
|
|
948
|
+
this.#challenged.clear();
|
|
949
|
+
this.#grants.clear();
|
|
851
950
|
const closing = this.#closeOwned([...this.#connections]);
|
|
852
951
|
this.#attachments.clear();
|
|
853
952
|
for (const pending of this.#pending.values())
|
package/dist/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,17 +6,15 @@ export interface PluginContext {
|
|
|
6
6
|
type StdioDefinition = Extract<McpServerDefinition, {
|
|
7
7
|
type: "stdio";
|
|
8
8
|
}>;
|
|
9
|
+
export interface ResolvedStdioPlugin {
|
|
10
|
+
readonly type: "stdio";
|
|
11
|
+
readonly command: string;
|
|
12
|
+
readonly args: string[];
|
|
13
|
+
readonly cwd: string;
|
|
14
|
+
readonly env: Readonly<Record<string, string>>;
|
|
15
|
+
}
|
|
9
16
|
export default class PluginConfiguration {
|
|
10
|
-
static resolve(source: StdioDefinition, context: PluginContext):
|
|
11
|
-
type: "stdio";
|
|
12
|
-
command: string;
|
|
13
|
-
args: string[];
|
|
14
|
-
cwd: string;
|
|
15
|
-
env: {
|
|
16
|
-
PLUGIN_ROOT: string;
|
|
17
|
-
PLUGIN_DATA: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
17
|
+
static resolve(source: StdioDefinition, context: PluginContext): ResolvedStdioPlugin;
|
|
20
18
|
static prepare(source: StdioDefinition, context: PluginContext): Promise<void>;
|
|
21
19
|
}
|
|
22
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginConfiguration.d.ts","sourceRoot":"","sources":["../src/PluginConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGvE,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa
|
|
1
|
+
{"version":3,"file":"PluginConfiguration.d.ts","sourceRoot":"","sources":["../src/PluginConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGvE,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAGD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAanF;IAED,OAAa,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnF;CACJ"}
|
|
@@ -21,10 +21,10 @@ export default class PluginConfiguration {
|
|
|
21
21
|
await mkdir(context.data, { recursive: true });
|
|
22
22
|
const definition = PluginConfiguration.resolve(source, context);
|
|
23
23
|
const root = source.cwd?.startsWith("${PLUGIN_DATA}") ? context.data : context.root;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
]) {
|
|
24
|
+
const contained = [["cwd", root, definition.cwd]];
|
|
25
|
+
if (source.command.startsWith("./"))
|
|
26
|
+
contained.push(["command", context.root, definition.command]);
|
|
27
|
+
for (const [field, base, path] of contained) {
|
|
28
28
|
if (!await AgentPluginFiles.contained(await realpath(base), path)) {
|
|
29
29
|
throw new TypeError(`MCP server '${source.name}' ${field} resolves outside its plugin ${field === "cwd" && root === context.data ? "data directory" : "root"}.`);
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginConfiguration.js","sourceRoot":"","sources":["../src/PluginConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginConfiguration.js","sourceRoot":"","sources":["../src/PluginConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAmBxF,wGAAwG;AACxG,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,OAAO,CAAC,MAAuB,EAAE,OAAsB;QAC1D,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7E,OAAO;YACH,IAAI,EAAE,OAAgB;YACtB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YACjG,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACrC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;YAClE,GAAG,EAAE;gBACD,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrG,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,WAAW,EAAE,OAAO,CAAC,IAAI;aAC5B;SACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAuB,EAAE,OAAsB;QAChE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACpF,MAAM,SAAS,GAAoC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACnG,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,SAAS,CAAC,eAAe,MAAM,CAAC,IAAI,KAAK,KAAK,gCAAgC,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACrK,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilityMatrix.d.ts","sourceRoot":"","sources":["../src/capabilityMatrix.ts"],"names":[],"mappings":"AAEA,KAAK,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AACzF,KAAK,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC/E,KAAK,uBAAuB,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAKD,eAAO,MAAM,iBAAiB,EAAE,SAAS,aAAa,EAiYrD,CAAC;AAEF,eAAO,MAAM,4BAA4B,YAAI,MAAM,EAAE,KAAK,CAAU,CAAC;AAErE,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAE9B,CAAC;AAI1B,eAAO,MAAM,wBAAwB,QAAO;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"capabilityMatrix.d.ts","sourceRoot":"","sources":["../src/capabilityMatrix.ts"],"names":[],"mappings":"AAEA,KAAK,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AACzF,KAAK,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC/E,KAAK,uBAAuB,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAKD,eAAO,MAAM,iBAAiB,EAAE,SAAS,aAAa,EAiYrD,CAAC;AAEF,eAAO,MAAM,4BAA4B,YAAI,MAAM,EAAE,KAAK,CAAU,CAAC;AAErE,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAE9B,CAAC;AAI1B,eAAO,MAAM,wBAAwB,QAAO;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;CAS7D,CAAC"}
|