@aexol/spectral 0.9.254 → 0.9.256
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/dist/extensions/dataset-uploader/analyzer.d.ts +103 -0
- package/dist/extensions/dataset-uploader/analyzer.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/analyzer.js +266 -0
- package/dist/extensions/dataset-uploader/cleaner.d.ts +59 -0
- package/dist/extensions/dataset-uploader/cleaner.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/cleaner.js +118 -0
- package/dist/extensions/dataset-uploader/exporter.d.ts +147 -0
- package/dist/extensions/dataset-uploader/exporter.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/exporter.js +313 -0
- package/dist/extensions/dataset-uploader/extra-values.d.ts +17 -0
- package/dist/extensions/dataset-uploader/extra-values.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/extra-values.js +51 -0
- package/dist/extensions/dataset-uploader/index.d.ts +22 -0
- package/dist/extensions/dataset-uploader/index.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/index.js +247 -0
- package/dist/extensions/dataset-uploader/scrubber.d.ts +34 -0
- package/dist/extensions/dataset-uploader/scrubber.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/scrubber.js +91 -0
- package/dist/extensions/dataset-uploader/upload.d.ts +105 -0
- package/dist/extensions/dataset-uploader/upload.d.ts.map +1 -0
- package/dist/extensions/dataset-uploader/upload.js +274 -0
- package/dist/generated/zeus/const.d.ts.map +1 -1
- package/dist/generated/zeus/const.js +55 -0
- package/dist/generated/zeus/index.d.ts +264 -0
- package/dist/generated/zeus/index.d.ts.map +1 -1
- package/dist/mcp/commands.d.ts.map +1 -1
- package/dist/mcp/commands.js +3 -0
- package/dist/mcp/direct-tools.d.ts.map +1 -1
- package/dist/mcp/direct-tools.js +4 -3
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +5 -1
- package/dist/mcp/mcp-auth-flow.d.ts +20 -2
- package/dist/mcp/mcp-auth-flow.d.ts.map +1 -1
- package/dist/mcp/mcp-auth-flow.js +87 -7
- package/dist/mcp/mcp-auth-start.d.ts +63 -0
- package/dist/mcp/mcp-auth-start.d.ts.map +1 -0
- package/dist/mcp/mcp-auth-start.js +131 -0
- package/dist/mcp/mcp-oauth-provider.d.ts +24 -0
- package/dist/mcp/mcp-oauth-provider.d.ts.map +1 -1
- package/dist/mcp/mcp-oauth-provider.js +20 -0
- package/dist/mcp/proxy-modes.d.ts +7 -0
- package/dist/mcp/proxy-modes.d.ts.map +1 -1
- package/dist/mcp/proxy-modes.js +71 -11
- package/dist/mcp/server-manager.d.ts +2 -1
- package/dist/mcp/server-manager.d.ts.map +1 -1
- package/dist/mcp/server-manager.js +9 -4
- package/dist/mcp/types.d.ts +9 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/native-extensions.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/native-extensions.js +10 -0
- package/dist/server/handlers/mcp-auth.d.ts +7 -4
- package/dist/server/handlers/mcp-auth.d.ts.map +1 -1
- package/dist/server/handlers/mcp-auth.js +15 -80
- package/package.json +1 -1
package/dist/mcp/proxy-modes.js
CHANGED
|
@@ -5,7 +5,8 @@ import { transformMcpContent } from "./tool-registrar.js";
|
|
|
5
5
|
import { maybeStartUiSession } from "./ui-session.js";
|
|
6
6
|
import { formatAuthRequiredMessage, truncateAtWord } from "./utils.js";
|
|
7
7
|
import { authenticate, supportsOAuth } from "./mcp-auth-flow.js";
|
|
8
|
-
|
|
8
|
+
import { startMcpAuthFlow } from "./mcp-auth-start.js";
|
|
9
|
+
function getAuthRequiredMessage(state, serverName, defaultMessage = `Server "${serverName}" requires OAuth authentication. Run /mcp-auth ${serverName} first, or call mcp({ auth: "${serverName}" }) to start the OAuth flow (a browser opens on this machine).`) {
|
|
9
10
|
return formatAuthRequiredMessage(state.config, serverName, defaultMessage);
|
|
10
11
|
}
|
|
11
12
|
function getAuthFailedMessage(state, serverName, message) {
|
|
@@ -13,7 +14,35 @@ function getAuthFailedMessage(state, serverName, message) {
|
|
|
13
14
|
if (customGuidance) {
|
|
14
15
|
return `OAuth authentication failed for "${serverName}": ${message}. ${getAuthRequiredMessage(state, serverName)}`;
|
|
15
16
|
}
|
|
16
|
-
return `OAuth authentication failed for "${serverName}": ${message}. Run /mcp-auth ${serverName} first.`;
|
|
17
|
+
return `OAuth authentication failed for "${serverName}": ${message}. Run /mcp-auth ${serverName} first, or call mcp({ auth: "${serverName}" }) to start the OAuth flow.`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Start the OAuth flow for a server (the `mcp({ auth: "<name>" })` action).
|
|
21
|
+
* Non-blocking: opens the browser on this machine and returns immediately;
|
|
22
|
+
* the local callback server completes the token exchange in the background
|
|
23
|
+
* and reloads the MCP config, so the next connect succeeds.
|
|
24
|
+
*/
|
|
25
|
+
export async function executeAuth(state, serverName) {
|
|
26
|
+
try {
|
|
27
|
+
const result = await startMcpAuthFlow(state, serverName, { openBrowser: true });
|
|
28
|
+
if (result.status === "already-authenticated") {
|
|
29
|
+
return {
|
|
30
|
+
content: [{ type: "text", text: `MCP server "${serverName}" is already authenticated.` }],
|
|
31
|
+
details: { mode: "auth", server: serverName, status: "already-authenticated" },
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: `OAuth started for MCP server "${serverName}". A browser window should have opened on this machine — complete the sign-in there, then retry the connection.` }],
|
|
36
|
+
details: { mode: "auth", server: serverName, status: "auth_url_ready", authUrl: result.authUrl },
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
41
|
+
return {
|
|
42
|
+
content: [{ type: "text", text: `Failed to start OAuth for "${serverName}": ${message}` }],
|
|
43
|
+
details: { mode: "auth", server: serverName, error: "auth_start_failed", message },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
17
46
|
}
|
|
18
47
|
async function attemptAutoAuth(state, serverName) {
|
|
19
48
|
if (state.config.settings?.autoAuth !== true) {
|
|
@@ -340,16 +369,47 @@ export async function executeConnect(state, serverName) {
|
|
|
340
369
|
await state.manager.close(serverName);
|
|
341
370
|
let connection = await state.manager.connect(serverName, definition);
|
|
342
371
|
if (connection.status === "needs-auth") {
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
372
|
+
const autoAuthEnabled = state.config.settings?.autoAuth === true;
|
|
373
|
+
const oauthConfig = definition.oauth === false ? undefined : definition.oauth;
|
|
374
|
+
const isClientCredentials = oauthConfig?.grantType === "client_credentials";
|
|
375
|
+
// authorization-code + autoAuth: non-blocking OAuth — open the browser
|
|
376
|
+
// and return immediately (the callback server completes the exchange).
|
|
377
|
+
// client_credentials (no browser) keeps the blocking attemptAutoAuth
|
|
378
|
+
// path, as does autoAuth=false (attemptAutoAuth returns "skipped").
|
|
379
|
+
const useBrowserFlow = autoAuthEnabled && !isClientCredentials;
|
|
380
|
+
if (!useBrowserFlow) {
|
|
381
|
+
const autoAuth = await attemptAutoAuth(state, serverName);
|
|
382
|
+
if (autoAuth.status === "failed") {
|
|
383
|
+
return {
|
|
384
|
+
content: [{ type: "text", text: autoAuth.message }],
|
|
385
|
+
details: { mode: "connect", error: "auth_required", server: serverName, message: autoAuth.message },
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
if (autoAuth.status === "success") {
|
|
389
|
+
await state.manager.close(serverName);
|
|
390
|
+
connection = await state.manager.connect(serverName, definition);
|
|
391
|
+
}
|
|
349
392
|
}
|
|
350
|
-
if (
|
|
351
|
-
|
|
352
|
-
|
|
393
|
+
if (connection.status === "needs-auth" && useBrowserFlow) {
|
|
394
|
+
try {
|
|
395
|
+
const result = await startMcpAuthFlow(state, serverName, { openBrowser: true });
|
|
396
|
+
if (result.status === "auth_url_ready") {
|
|
397
|
+
return {
|
|
398
|
+
content: [{ type: "text", text: `OAuth started for MCP server "${serverName}". A browser window should have opened on this machine — complete the sign-in there, then retry the connection.` }],
|
|
399
|
+
details: { mode: "connect", error: "auth_started", server: serverName, authUrl: result.authUrl },
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
// already-authenticated (race) — reconnect below.
|
|
403
|
+
await state.manager.close(serverName);
|
|
404
|
+
connection = await state.manager.connect(serverName, definition);
|
|
405
|
+
}
|
|
406
|
+
catch (error) {
|
|
407
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
408
|
+
return {
|
|
409
|
+
content: [{ type: "text", text: getAuthFailedMessage(state, serverName, message) }],
|
|
410
|
+
details: { mode: "connect", error: "auth_failed", server: serverName, message },
|
|
411
|
+
};
|
|
412
|
+
}
|
|
353
413
|
}
|
|
354
414
|
if (connection.status === "needs-auth") {
|
|
355
415
|
const message = getAuthRequiredMessage(state, serverName);
|
|
@@ -4,7 +4,8 @@ import type { McpTool, McpResource, ServerDefinition, ServerStreamResultPatchNot
|
|
|
4
4
|
import { type ServerSamplingConfig } from "./sampling-handler.js";
|
|
5
5
|
interface ServerConnection {
|
|
6
6
|
client: Client;
|
|
7
|
-
transport
|
|
7
|
+
/** Undefined for needs-auth connections whose probe threw before a transport existed. */
|
|
8
|
+
transport?: Transport;
|
|
8
9
|
definition: ServerDefinition;
|
|
9
10
|
tools: McpTool[];
|
|
10
11
|
resources: McpResource[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../../src/mcp/server-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,mCAAmC,EACnC,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI3F,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../../src/mcp/server-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,mCAAmC,EACnC,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI3F,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC/C;AAED,KAAK,gBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAElH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,cAAc,CAAmC;IAEzD,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI;IAI3D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAyBtE,gBAAgB;IAuF9B,OAAO,CAAC,YAAY;YAWN,mBAAmB;YA0EnB,aAAa;YAab,iBAAiB;IAkB/B,OAAO,CAAC,iCAAiC;IAQzC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI/E,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBpE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIzD,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAIlD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMjD"}
|
|
@@ -95,14 +95,18 @@ export class McpServerManager {
|
|
|
95
95
|
if (transport) {
|
|
96
96
|
await transport.close().catch(() => { });
|
|
97
97
|
}
|
|
98
|
-
//
|
|
99
|
-
//
|
|
98
|
+
// OAuth-configured servers: classify ANY probe/connect failure as
|
|
99
|
+
// needs-auth, not only UnauthorizedError. OAuth discovery can fail
|
|
100
|
+
// with non-401 errors (missing/malformed WWW-Authenticate metadata,
|
|
101
|
+
// 405 from the SSE fallback, etc.) — surfacing "error" would wedge the
|
|
102
|
+
// server and hide the auth entry point. This can fire from
|
|
103
|
+
// createHttpTransport probe or client.connect.
|
|
100
104
|
// transport may be undefined if createHttpTransport threw during the probe
|
|
101
105
|
// before returning a transport; close() handles this safely.
|
|
102
|
-
if (
|
|
106
|
+
if (supportsOAuth(definition)) {
|
|
103
107
|
return {
|
|
104
108
|
client,
|
|
105
|
-
transport
|
|
109
|
+
transport,
|
|
106
110
|
definition,
|
|
107
111
|
tools: [],
|
|
108
112
|
resources: [],
|
|
@@ -143,6 +147,7 @@ export class McpServerManager {
|
|
|
143
147
|
clientId: definition.oauth?.clientId,
|
|
144
148
|
clientSecret: definition.oauth?.clientSecret,
|
|
145
149
|
scope: definition.oauth?.scope,
|
|
150
|
+
clientMetadataUrl: definition.oauth?.clientMetadataUrl,
|
|
146
151
|
redirectUri: definition.oauth?.redirectUri,
|
|
147
152
|
};
|
|
148
153
|
authProvider = new McpOAuthProvider(serverName, definition.url, oauthConfig, {
|
package/dist/mcp/types.d.ts
CHANGED
|
@@ -164,6 +164,15 @@ export interface OAuthConfig {
|
|
|
164
164
|
clientSecret?: string;
|
|
165
165
|
/** Requested OAuth scopes */
|
|
166
166
|
scope?: string;
|
|
167
|
+
/**
|
|
168
|
+
* HTTPS URL of a hosted Client ID Metadata Document (SEP-991 / CIMD).
|
|
169
|
+
* Required when the authorization server does not support dynamic client
|
|
170
|
+
* registration and no pre-registered clientId is available (e.g. Bubble,
|
|
171
|
+
* https://mcp.bubble.io/mcp). The client_id used is this URL itself, and
|
|
172
|
+
* the AS fetches the client metadata from it. Must be an https URL with a
|
|
173
|
+
* non-root pathname. clientId takes priority over this field.
|
|
174
|
+
*/
|
|
175
|
+
clientMetadataUrl?: string;
|
|
167
176
|
/**
|
|
168
177
|
* Custom redirect URI for OAuth callback.
|
|
169
178
|
* If not provided, defaults to http://localhost:{port}/callback
|
package/dist/mcp/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/extensions/native-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEhG,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;IAChD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"native-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/extensions/native-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEhG,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;IAChD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAAuB,EAwLtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAElF;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAI1G;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAI3G;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAClG,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC,CAUD"}
|
|
@@ -176,6 +176,16 @@ export const NATIVE_EXTENSIONS = [
|
|
|
176
176
|
defaultEnabled: true,
|
|
177
177
|
tags: ["sessions", "parallel", "fanout", "orchestration"],
|
|
178
178
|
},
|
|
179
|
+
{
|
|
180
|
+
id: "dataset-uploader",
|
|
181
|
+
label: "Dataset Uploader",
|
|
182
|
+
description: "Export, analyze, clean and upload harness sessions to the team dataset vault (training data). " +
|
|
183
|
+
"Use only on explicit user request.",
|
|
184
|
+
category: "integration",
|
|
185
|
+
entryPath: "src/extensions/dataset-uploader/index.ts",
|
|
186
|
+
defaultEnabled: false,
|
|
187
|
+
tags: ["dataset", "sft", "training", "upload"],
|
|
188
|
+
},
|
|
179
189
|
];
|
|
180
190
|
/**
|
|
181
191
|
* Look up a native extension by id. Returns undefined for unknown ids.
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Handler for `POST /api/mcp-auth`.
|
|
3
3
|
*
|
|
4
4
|
* Starts the OAuth flow for a locally configured MCP server managed by
|
|
5
|
-
* `spectral serve`.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* background once the local callback server
|
|
5
|
+
* `spectral serve`. Delegates to the shared non-blocking helper
|
|
6
|
+
* (`startMcpAuthFlow`) used by the agent `mcp` tool: `startAuth` captures
|
|
7
|
+
* the authorization URL through the provider's `onRedirect` hook, and the
|
|
8
|
+
* flow is completed in the background once the local callback server
|
|
9
|
+
* receives the code. `openBrowser: true` in the body launches the system
|
|
10
|
+
* browser (default: headless — the caller renders `authUrl`).
|
|
9
11
|
*
|
|
10
12
|
* Pure handler pattern — no framework, no side effects on the wire. The
|
|
11
13
|
* caller (the relay dispatcher) injects `McpExtensionState`; validation
|
|
@@ -20,6 +22,7 @@ export type McpAuthResult = {
|
|
|
20
22
|
};
|
|
21
23
|
export interface McpAuthBody {
|
|
22
24
|
name?: unknown;
|
|
25
|
+
openBrowser?: boolean;
|
|
23
26
|
}
|
|
24
27
|
export declare function handleStartMcpAuth(state: McpExtensionState | undefined, body: McpAuthBody): Promise<McpAuthResult>;
|
|
25
28
|
//# sourceMappingURL=mcp-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-auth.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/mcp-auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-auth.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/mcp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EACpC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,aAAa,CAAC,CAuBxB"}
|
|
@@ -2,46 +2,19 @@
|
|
|
2
2
|
* Handler for `POST /api/mcp-auth`.
|
|
3
3
|
*
|
|
4
4
|
* Starts the OAuth flow for a locally configured MCP server managed by
|
|
5
|
-
* `spectral serve`.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* background once the local callback server
|
|
5
|
+
* `spectral serve`. Delegates to the shared non-blocking helper
|
|
6
|
+
* (`startMcpAuthFlow`) used by the agent `mcp` tool: `startAuth` captures
|
|
7
|
+
* the authorization URL through the provider's `onRedirect` hook, and the
|
|
8
|
+
* flow is completed in the background once the local callback server
|
|
9
|
+
* receives the code. `openBrowser: true` in the body launches the system
|
|
10
|
+
* browser (default: headless — the caller renders `authUrl`).
|
|
9
11
|
*
|
|
10
12
|
* Pure handler pattern — no framework, no side effects on the wire. The
|
|
11
13
|
* caller (the relay dispatcher) injects `McpExtensionState`; validation
|
|
12
14
|
* failures throw `BadRequestError` which `relay/rest.ts` maps to 400.
|
|
13
15
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import { completeAuth, startAuth, supportsOAuth, } from "../../mcp/mcp-auth-flow.js";
|
|
16
|
-
import { clearOAuthState } from "../../mcp/mcp-auth.js";
|
|
17
|
-
import { reloadMcpConfig } from "../../mcp/init.js";
|
|
16
|
+
import { McpAuthStartError, startMcpAuthFlow, } from "../../mcp/mcp-auth-start.js";
|
|
18
17
|
import { BadRequestError } from "./errors.js";
|
|
19
|
-
/**
|
|
20
|
-
* Per-server in-flight guard. `startAuth` keys its pending transports and
|
|
21
|
-
* persisted OAuth state by server name, so two concurrent flows for the same
|
|
22
|
-
* server would clobber each other (the headless handler bypasses the
|
|
23
|
-
* `authenticate()` dedupe). Reject the second POST until the first
|
|
24
|
-
* flow's background chain finishes.
|
|
25
|
-
*/
|
|
26
|
-
const inFlightMcpAuths = new Set();
|
|
27
|
-
/**
|
|
28
|
-
* An authorization URL is about to be opened in the user's browser, so it
|
|
29
|
-
* must never be a `javascript:` / `data:` / malformed URL coming from a
|
|
30
|
-
* malicious MCP server's OAuth metadata. Defense in depth: the landing UI
|
|
31
|
-
* applies the same check before `window.open`.
|
|
32
|
-
*/
|
|
33
|
-
function assertSafeAuthorizationUrl(authUrl) {
|
|
34
|
-
let parsed;
|
|
35
|
-
try {
|
|
36
|
-
parsed = new URL(authUrl);
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
throw new BadRequestError("Invalid authorization URL");
|
|
40
|
-
}
|
|
41
|
-
if (parsed.protocol !== "https:" && parsed.protocol !== "http:") {
|
|
42
|
-
throw new BadRequestError("Invalid authorization URL");
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
18
|
export async function handleStartMcpAuth(state, body) {
|
|
46
19
|
if (!state) {
|
|
47
20
|
throw new BadRequestError("MCP adapter not loaded");
|
|
@@ -50,57 +23,19 @@ export async function handleStartMcpAuth(state, body) {
|
|
|
50
23
|
if (typeof name !== "string" || name.length === 0) {
|
|
51
24
|
throw new BadRequestError("name is required");
|
|
52
25
|
}
|
|
53
|
-
const definition = state.config.mcpServers[name];
|
|
54
|
-
if (!definition) {
|
|
55
|
-
throw new BadRequestError(`Unknown MCP server: ${name}`);
|
|
56
|
-
}
|
|
57
|
-
if (!definition.url || !supportsOAuth(definition)) {
|
|
58
|
-
throw new BadRequestError(`MCP server "${name}" does not support OAuth`);
|
|
59
|
-
}
|
|
60
|
-
if (inFlightMcpAuths.has(name)) {
|
|
61
|
-
throw new BadRequestError("OAuth authentication already in progress for this server");
|
|
62
|
-
}
|
|
63
|
-
inFlightMcpAuths.add(name);
|
|
64
|
-
let authorizationUrl;
|
|
65
|
-
let oauthState;
|
|
66
26
|
try {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
27
|
+
const result = await startMcpAuthFlow(state, name, {
|
|
28
|
+
openBrowser: body?.openBrowser === true,
|
|
29
|
+
});
|
|
30
|
+
if (result.status === "already-authenticated") {
|
|
70
31
|
return { status: "already-authenticated" };
|
|
71
32
|
}
|
|
72
|
-
|
|
73
|
-
// its persisted state could never be completed nor cleanly aborted.
|
|
74
|
-
if (!oauthState) {
|
|
75
|
-
throw new BadRequestError("OAuth state missing after authorization start");
|
|
76
|
-
}
|
|
77
|
-
assertSafeAuthorizationUrl(authorizationUrl);
|
|
33
|
+
return { status: "auth_url_ready", authUrl: result.authUrl };
|
|
78
34
|
}
|
|
79
35
|
catch (error) {
|
|
80
|
-
|
|
81
|
-
|
|
36
|
+
if (error instanceof McpAuthStartError) {
|
|
37
|
+
throw new BadRequestError(error.message);
|
|
38
|
+
}
|
|
82
39
|
throw error;
|
|
83
40
|
}
|
|
84
|
-
// Complete the flow in the background from the local callback server:
|
|
85
|
-
// waitForCallback resolves with the authorization code, completeAuth
|
|
86
|
-
// exchanges it for tokens, and the MCP config is reloaded so the server
|
|
87
|
-
// comes up authenticated. Fire-and-forget — the response already carries
|
|
88
|
-
// the authUrl and auth progress is observable via GET /api/mcp-status,
|
|
89
|
-
// so failures are swallowed. The finally block releases the per-server
|
|
90
|
-
// in-flight guard and clears the now-stale OAuth state (idempotent) on
|
|
91
|
-
// every path.
|
|
92
|
-
waitForCallback(oauthState)
|
|
93
|
-
.then((code) => completeAuth(name, code))
|
|
94
|
-
.then(() => reloadMcpConfig(state))
|
|
95
|
-
.catch(() => { })
|
|
96
|
-
.finally(() => {
|
|
97
|
-
inFlightMcpAuths.delete(name);
|
|
98
|
-
try {
|
|
99
|
-
clearOAuthState(name);
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
// Storage errors must not surface as unhandled rejections.
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
return { status: "auth_url_ready", authUrl: authorizationUrl };
|
|
106
41
|
}
|