@stigmer/react 0.0.76 → 0.0.78
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/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/mcp-server/McpServerConfigPanel.d.ts +28 -1
- package/mcp-server/McpServerConfigPanel.d.ts.map +1 -1
- package/mcp-server/McpServerConfigPanel.js +23 -2
- package/mcp-server/McpServerConfigPanel.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +96 -9
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/McpServerPicker.d.ts.map +1 -1
- package/mcp-server/McpServerPicker.js +34 -2
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/OAuthCallbackHandler.d.ts +52 -0
- package/mcp-server/OAuthCallbackHandler.d.ts.map +1 -0
- package/mcp-server/OAuthCallbackHandler.js +98 -0
- package/mcp-server/OAuthCallbackHandler.js.map +1 -0
- package/mcp-server/index.d.ts +6 -2
- package/mcp-server/index.d.ts.map +1 -1
- package/mcp-server/index.js +2 -0
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/useMcpServerCredentials.d.ts +59 -7
- package/mcp-server/useMcpServerCredentials.d.ts.map +1 -1
- package/mcp-server/useMcpServerCredentials.js +37 -10
- package/mcp-server/useMcpServerCredentials.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts +81 -0
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -0
- package/mcp-server/useMcpServerOAuthConnect.js +187 -0
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -0
- package/package.json +4 -4
- package/src/index.ts +9 -1
- package/src/mcp-server/McpServerConfigPanel.tsx +153 -3
- package/src/mcp-server/McpServerDetailView.tsx +283 -97
- package/src/mcp-server/McpServerPicker.tsx +40 -2
- package/src/mcp-server/OAuthCallbackHandler.tsx +237 -0
- package/src/mcp-server/index.ts +17 -1
- package/src/mcp-server/useMcpServerCredentials.ts +86 -13
- package/src/mcp-server/useMcpServerOAuthConnect.ts +298 -0
- package/styles.css +1 -1
|
@@ -7,6 +7,7 @@ import { useMcpServerSearch } from "./useMcpServerSearch";
|
|
|
7
7
|
import { useScrollShadows } from "../internal/useScrollShadows";
|
|
8
8
|
import { ScrollFade } from "../internal/ScrollFade";
|
|
9
9
|
import { McpServerConfigPanel } from "./McpServerConfigPanel";
|
|
10
|
+
import { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect";
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Utilities
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
@@ -79,6 +80,7 @@ export function McpServerPicker({ org, scope, value, onChange, onDisplayNameReso
|
|
|
79
80
|
const instanceId = useId();
|
|
80
81
|
const listId = `${instanceId}-list`;
|
|
81
82
|
const { results, isLoading, error, query, setQuery } = useMcpServerSearch(org, { scope });
|
|
83
|
+
const oauth = useMcpServerOAuthConnect();
|
|
82
84
|
const [focusIndex, setFocusIndex] = useState(-1);
|
|
83
85
|
const [view, setView] = useState(() => initialServerKey
|
|
84
86
|
? { type: "configure", serverKey: initialServerKey }
|
|
@@ -173,9 +175,39 @@ export function McpServerPicker({ org, scope, value, onChange, onDisplayNameReso
|
|
|
173
175
|
}
|
|
174
176
|
const ref = refFromServerKey(view.serverKey);
|
|
175
177
|
const needsCredentials = entry.status === "needsSetup" || entry.status === "submitting";
|
|
176
|
-
|
|
178
|
+
const auth = entry.mcpServer.spec?.auth;
|
|
179
|
+
const oauthTargetEnvVar = auth?.targetEnvVar || null;
|
|
180
|
+
const hasOAuth = !!auth;
|
|
181
|
+
const entryMissingVars = entry.status === "needsSetup" ? entry.missingVariables : [];
|
|
182
|
+
const filteredMissingVars = oauthTargetEnvVar
|
|
183
|
+
? entryMissingVars.filter((v) => v.key !== oauthTargetEnvVar)
|
|
184
|
+
: entryMissingVars;
|
|
185
|
+
const hasManualVars = filteredMissingVars.length > 0;
|
|
186
|
+
const oauthTokenMissing = oauthTargetEnvVar
|
|
187
|
+
? entryMissingVars.some((v) => v.key === oauthTargetEnvVar)
|
|
188
|
+
: false;
|
|
189
|
+
const oauthSignInProps = hasOAuth
|
|
190
|
+
? {
|
|
191
|
+
onSignIn: async () => {
|
|
192
|
+
if (!entry.mcpServer.metadata?.id)
|
|
193
|
+
return;
|
|
194
|
+
try {
|
|
195
|
+
await oauth.startOAuth(entry.mcpServer.metadata.id);
|
|
196
|
+
setup.onServerAdded(ref);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
// error state managed by oauth hook
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
phase: oauth.phase,
|
|
203
|
+
isConnected: !oauthTokenMissing,
|
|
204
|
+
error: oauth.error,
|
|
205
|
+
onClearError: oauth.clearError,
|
|
206
|
+
}
|
|
207
|
+
: undefined;
|
|
208
|
+
return (_jsx("div", { className: cn("w-72", className), children: _jsx(McpServerConfigPanel, { mcpServer: entry.mcpServer, oauthSignIn: oauthSignInProps, credentials: needsCredentials && hasManualVars
|
|
177
209
|
? {
|
|
178
|
-
variables:
|
|
210
|
+
variables: filteredMissingVars,
|
|
179
211
|
onSubmit: (values, opts) => setup.onSubmitEnvVars(ref, values, opts),
|
|
180
212
|
isSubmitting: entry.status === "submitting",
|
|
181
213
|
poolValues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServerPicker.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerPicker.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"McpServerPicker.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Parameters extracted from the OAuth callback URL. */
|
|
2
|
+
export interface OAuthCallbackParams {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
readonly state: string;
|
|
5
|
+
}
|
|
6
|
+
/** Props for {@link OAuthCallbackHandler}. */
|
|
7
|
+
export interface OAuthCallbackHandlerProps {
|
|
8
|
+
/**
|
|
9
|
+
* Fallback callback invoked when the page was opened as a regular
|
|
10
|
+
* navigation (no `window.opener`), meaning the popup `postMessage`
|
|
11
|
+
* path cannot be used.
|
|
12
|
+
*
|
|
13
|
+
* Receives the extracted `code` and `state` so the host application
|
|
14
|
+
* can complete the OAuth flow via its own routing logic.
|
|
15
|
+
*
|
|
16
|
+
* When omitted and `window.opener` is unavailable, the component
|
|
17
|
+
* renders an instructional message asking the user to close the tab.
|
|
18
|
+
*/
|
|
19
|
+
readonly onFallback?: (params: OAuthCallbackParams) => void;
|
|
20
|
+
/** Additional CSS classes for the root container. */
|
|
21
|
+
readonly className?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Lightweight component for OAuth callback pages.
|
|
25
|
+
*
|
|
26
|
+
* Render this component at the URL configured as your OAuth redirect
|
|
27
|
+
* URI (`STIGMER_OAUTH_REDIRECT_URI`). It extracts the `code` and
|
|
28
|
+
* `state` query parameters from the current URL, posts them back to
|
|
29
|
+
* the opener window via `window.postMessage`, and closes the popup.
|
|
30
|
+
*
|
|
31
|
+
* The component handles three scenarios:
|
|
32
|
+
* 1. **Popup with opener** (primary): posts the message and closes.
|
|
33
|
+
* 2. **No opener, `onFallback` provided**: calls the fallback with
|
|
34
|
+
* the extracted parameters so the host app can handle them.
|
|
35
|
+
* 3. **No opener, no fallback**: shows a message asking the user to
|
|
36
|
+
* return to the main window.
|
|
37
|
+
*
|
|
38
|
+
* Platform builders create a route in their application that renders
|
|
39
|
+
* this component:
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* // app/auth/oauth/callback/page.tsx (Next.js)
|
|
44
|
+
* import { OAuthCallbackHandler } from "@stigmer/react";
|
|
45
|
+
*
|
|
46
|
+
* export default function OAuthCallbackPage() {
|
|
47
|
+
* return <OAuthCallbackHandler />;
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function OAuthCallbackHandler({ onFallback, className, }: OAuthCallbackHandlerProps): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
//# sourceMappingURL=OAuthCallbackHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthCallbackHandler.d.ts","sourceRoot":"","sources":["../../src/mcp-server/OAuthCallbackHandler.tsx"],"names":[],"mappings":"AAOA,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,SAAS,GACV,EAAE,yBAAyB,2CAgH3B"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { OAUTH_CALLBACK_MESSAGE_TYPE } from "./useMcpServerOAuthConnect";
|
|
6
|
+
/**
|
|
7
|
+
* Lightweight component for OAuth callback pages.
|
|
8
|
+
*
|
|
9
|
+
* Render this component at the URL configured as your OAuth redirect
|
|
10
|
+
* URI (`STIGMER_OAUTH_REDIRECT_URI`). It extracts the `code` and
|
|
11
|
+
* `state` query parameters from the current URL, posts them back to
|
|
12
|
+
* the opener window via `window.postMessage`, and closes the popup.
|
|
13
|
+
*
|
|
14
|
+
* The component handles three scenarios:
|
|
15
|
+
* 1. **Popup with opener** (primary): posts the message and closes.
|
|
16
|
+
* 2. **No opener, `onFallback` provided**: calls the fallback with
|
|
17
|
+
* the extracted parameters so the host app can handle them.
|
|
18
|
+
* 3. **No opener, no fallback**: shows a message asking the user to
|
|
19
|
+
* return to the main window.
|
|
20
|
+
*
|
|
21
|
+
* Platform builders create a route in their application that renders
|
|
22
|
+
* this component:
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* // app/auth/oauth/callback/page.tsx (Next.js)
|
|
27
|
+
* import { OAuthCallbackHandler } from "@stigmer/react";
|
|
28
|
+
*
|
|
29
|
+
* export default function OAuthCallbackPage() {
|
|
30
|
+
* return <OAuthCallbackHandler />;
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function OAuthCallbackHandler({ onFallback, className, }) {
|
|
35
|
+
const [status, setStatus] = useState("processing");
|
|
36
|
+
const [errorMessage, setErrorMessage] = useState(null);
|
|
37
|
+
const didRun = useRef(false);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (didRun.current)
|
|
40
|
+
return;
|
|
41
|
+
didRun.current = true;
|
|
42
|
+
const params = new URLSearchParams(window.location.search);
|
|
43
|
+
const code = params.get("code");
|
|
44
|
+
const state = params.get("state");
|
|
45
|
+
const oauthError = params.get("error");
|
|
46
|
+
if (oauthError) {
|
|
47
|
+
const description = params.get("error_description") || oauthError;
|
|
48
|
+
setErrorMessage(`Authentication failed: ${description}`);
|
|
49
|
+
setStatus("error");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!code || !state) {
|
|
53
|
+
setErrorMessage("Missing authorization code or state parameter. " +
|
|
54
|
+
"This page should only be reached via an OAuth redirect.");
|
|
55
|
+
setStatus("error");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const opener = window.opener;
|
|
59
|
+
if (opener && !opener.closed) {
|
|
60
|
+
const message = {
|
|
61
|
+
type: OAUTH_CALLBACK_MESSAGE_TYPE,
|
|
62
|
+
code,
|
|
63
|
+
state,
|
|
64
|
+
};
|
|
65
|
+
try {
|
|
66
|
+
opener.postMessage(message, window.location.origin);
|
|
67
|
+
setStatus("done");
|
|
68
|
+
window.close();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
setErrorMessage("Could not communicate with the parent window. " +
|
|
72
|
+
"Please close this tab and try again.");
|
|
73
|
+
setStatus("error");
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (onFallback) {
|
|
78
|
+
onFallback({ code, state });
|
|
79
|
+
setStatus("done");
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
setStatus("no-opener");
|
|
83
|
+
}, [onFallback]);
|
|
84
|
+
return (_jsx("div", { className: cn("flex min-h-[200px] items-center justify-center p-8", className), children: _jsxs("div", { className: "max-w-sm text-center", children: [status === "processing" && (_jsxs(_Fragment, { children: [_jsx(Spinner, {}), _jsx("p", { className: "mt-3 text-sm text-muted-foreground", children: "Completing authentication..." })] })), status === "done" && (_jsx("p", { className: "text-sm text-muted-foreground", children: "Authentication complete. You can close this window." })), status === "no-opener" && (_jsxs(_Fragment, { children: [_jsx(CheckIcon, {}), _jsx("p", { className: "mt-3 text-sm font-medium text-foreground", children: "Authentication successful" }), _jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: "Please close this tab and return to the application to continue." })] })), status === "error" && (_jsxs(_Fragment, { children: [_jsx(WarningIcon, {}), _jsx("p", { className: "mt-3 text-sm font-medium text-destructive", children: "Authentication failed" }), errorMessage && (_jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: errorMessage }))] }))] }) }));
|
|
85
|
+
}
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// Icons -- inline SVGs (no external icon dependency, matches SDK pattern)
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
function Spinner() {
|
|
90
|
+
return (_jsx("svg", { width: "24", height: "24", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", className: "mx-auto animate-spin text-muted-foreground", "aria-hidden": "true", children: _jsx("path", { d: "M8 2a6 6 0 1 0 6 6" }) }));
|
|
91
|
+
}
|
|
92
|
+
function CheckIcon() {
|
|
93
|
+
return (_jsx("svg", { width: "24", height: "24", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "mx-auto text-success", "aria-hidden": "true", children: _jsx("path", { d: "m3 8.5 3.5 3.5 6.5-8" }) }));
|
|
94
|
+
}
|
|
95
|
+
function WarningIcon() {
|
|
96
|
+
return (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: "mx-auto text-destructive", "aria-hidden": "true", children: [_jsx("path", { d: "M8 1.5 1 14h14L8 1.5Z" }), _jsx("path", { d: "M8 6v3.5" }), _jsx("circle", { cx: "8", cy: "11.5", r: "0.5", fill: "currentColor", stroke: "none" })] }));
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=OAuthCallbackHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthCallbackHandler.js","sourceRoot":"","sources":["../../src/mcp-server/OAuthCallbackHandler.tsx"],"names":[],"mappings":"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"}
|
package/mcp-server/index.d.ts
CHANGED
|
@@ -11,13 +11,17 @@ export type { McpServerPickerProps, McpServerSetupIntegration, } from "./McpServ
|
|
|
11
11
|
export { McpToolSelector } from "./McpToolSelector";
|
|
12
12
|
export type { McpToolSelectorProps } from "./McpToolSelector";
|
|
13
13
|
export { McpServerConfigPanel } from "./McpServerConfigPanel";
|
|
14
|
-
export type { McpServerConfigPanelProps, McpServerCredentialsProps, } from "./McpServerConfigPanel";
|
|
14
|
+
export type { McpServerConfigPanelProps, McpServerCredentialsProps, McpServerOAuthSignInProps, } from "./McpServerConfigPanel";
|
|
15
15
|
export { useMcpServerSetup, toServerKey } from "./useMcpServerSetup";
|
|
16
16
|
export type { UseMcpServerSetupReturn, SubmitMcpEnvVarsOptions, McpServerSetupEntry, McpServerSetupPhase, McpServerSetupState, } from "./useMcpServerSetup";
|
|
17
17
|
export { McpServerDetailView } from "./McpServerDetailView";
|
|
18
18
|
export type { McpServerDetailViewProps, CapabilityTab, } from "./McpServerDetailView";
|
|
19
19
|
export { useMcpServerConnect } from "./useMcpServerConnect";
|
|
20
20
|
export type { UseMcpServerConnectReturn } from "./useMcpServerConnect";
|
|
21
|
+
export { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect";
|
|
22
|
+
export type { UseMcpServerOAuthConnectReturn, OAuthConnectPhase, } from "./useMcpServerOAuthConnect";
|
|
23
|
+
export { OAuthCallbackHandler } from "./OAuthCallbackHandler";
|
|
24
|
+
export type { OAuthCallbackHandlerProps, OAuthCallbackParams, } from "./OAuthCallbackHandler";
|
|
21
25
|
export { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
22
|
-
export type { UseMcpServerCredentialsReturn } from "./useMcpServerCredentials";
|
|
26
|
+
export type { UseMcpServerCredentialsReturn, McpServerAuthMode, } from "./useMcpServerCredentials";
|
|
23
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,wBAAwB,EACxB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,wBAAwB,EACxB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EACV,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
|
package/mcp-server/index.js
CHANGED
|
@@ -8,5 +8,7 @@ export { McpServerConfigPanel } from "./McpServerConfigPanel";
|
|
|
8
8
|
export { useMcpServerSetup, toServerKey } from "./useMcpServerSetup";
|
|
9
9
|
export { McpServerDetailView } from "./McpServerDetailView";
|
|
10
10
|
export { useMcpServerConnect } from "./useMcpServerConnect";
|
|
11
|
+
export { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect";
|
|
12
|
+
export { OAuthCallbackHandler } from "./OAuthCallbackHandler";
|
|
11
13
|
export { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
package/mcp-server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,17 +1,58 @@
|
|
|
1
1
|
import type { EnvVarInput } from "@stigmer/sdk";
|
|
2
2
|
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
3
3
|
import type { EnvVarFormVariable } from "../environment/EnvVarForm";
|
|
4
|
+
/**
|
|
5
|
+
* Credential acquisition mode for an MCP server.
|
|
6
|
+
*
|
|
7
|
+
* - `"manual"` — all env vars are entered by the user via a form.
|
|
8
|
+
* - `"oauth"` — at least one env var (`target_env_var`) is acquired
|
|
9
|
+
* via OAuth. Additional manual vars may still be required (mixed mode).
|
|
10
|
+
*/
|
|
11
|
+
export type McpServerAuthMode = "manual" | "oauth";
|
|
4
12
|
/** Return value of {@link useMcpServerCredentials}. */
|
|
5
13
|
export interface UseMcpServerCredentialsReturn {
|
|
14
|
+
/**
|
|
15
|
+
* Credential acquisition mode derived from `spec.auth`.
|
|
16
|
+
*
|
|
17
|
+
* - `"manual"` when `spec.auth` is absent: all env vars are user-entered.
|
|
18
|
+
* - `"oauth"` when `spec.auth` is present: the `target_env_var` is
|
|
19
|
+
* acquired via OAuth. Check {@link missingVariables} for any
|
|
20
|
+
* additional manual vars that are also needed (mixed mode).
|
|
21
|
+
*/
|
|
22
|
+
readonly authMode: McpServerAuthMode;
|
|
23
|
+
/**
|
|
24
|
+
* The env var name managed by OAuth, or `null` when `authMode` is `"manual"`.
|
|
25
|
+
* Corresponds to `spec.auth.target_env_var`.
|
|
26
|
+
*/
|
|
27
|
+
readonly oauthTargetEnvVar: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* `true` when the OAuth-managed env var exists in the personal
|
|
30
|
+
* environment. Always `false` when `authMode` is `"manual"`.
|
|
31
|
+
*/
|
|
32
|
+
readonly isOAuthConnected: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Informational hint about expected token lifetime, or `null`.
|
|
35
|
+
* Sourced from `spec.auth.token_lifetime_hint`.
|
|
36
|
+
*/
|
|
37
|
+
readonly tokenLifetimeHint: string | null;
|
|
6
38
|
/**
|
|
7
39
|
* Variables required by the MCP server that are missing from the
|
|
8
40
|
* user's personal environment. Empty when all variables are present
|
|
9
41
|
* or the server has no `env_spec`.
|
|
10
42
|
*
|
|
43
|
+
* When `authMode` is `"oauth"`, the OAuth-managed `target_env_var`
|
|
44
|
+
* is excluded from this list — it is acquired via the OAuth flow,
|
|
45
|
+
* not via a manual form. Only additional non-OAuth vars appear here.
|
|
46
|
+
*
|
|
11
47
|
* Suitable as direct input to {@link EnvVarForm}.
|
|
12
48
|
*/
|
|
13
49
|
readonly missingVariables: EnvVarFormVariable[];
|
|
14
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* `true` when all required credentials are available — both
|
|
52
|
+
* OAuth-managed and manual variables. For OAuth servers this means
|
|
53
|
+
* the OAuth token is in the personal env AND any additional manual
|
|
54
|
+
* vars are also present.
|
|
55
|
+
*/
|
|
15
56
|
readonly isReady: boolean;
|
|
16
57
|
/** `true` while the personal environment is being fetched. */
|
|
17
58
|
readonly isLoading: boolean;
|
|
@@ -37,6 +78,12 @@ export interface UseMcpServerCredentialsReturn {
|
|
|
37
78
|
* computes the missing set and exposes `saveCredentials` to persist
|
|
38
79
|
* them.
|
|
39
80
|
*
|
|
81
|
+
* **Auth-mode-aware**: when `spec.auth` is configured, the hook
|
|
82
|
+
* identifies the OAuth-managed variable (`target_env_var`) and
|
|
83
|
+
* excludes it from `missingVariables` — that variable is acquired
|
|
84
|
+
* via {@link useMcpServerOAuthConnect}, not a manual form. Additional
|
|
85
|
+
* non-OAuth vars still appear in `missingVariables` (mixed mode).
|
|
86
|
+
*
|
|
40
87
|
* Unlike {@link useMcpServerSetup} which manages multi-server setup
|
|
41
88
|
* for session creation, this hook is scoped to a single server and
|
|
42
89
|
* always persists to the personal environment (no one-time option).
|
|
@@ -45,15 +92,20 @@ export interface UseMcpServerCredentialsReturn {
|
|
|
45
92
|
*
|
|
46
93
|
* @example
|
|
47
94
|
* ```tsx
|
|
48
|
-
* const
|
|
49
|
-
*
|
|
95
|
+
* const creds = useMcpServerCredentials("acme", mcpServer);
|
|
96
|
+
*
|
|
97
|
+
* // OAuth server — sign-in button + optional manual form
|
|
98
|
+
* if (creds.authMode === "oauth" && !creds.isOAuthConnected) {
|
|
99
|
+
* return <button onClick={startOAuth}>Sign in</button>;
|
|
100
|
+
* }
|
|
50
101
|
*
|
|
51
|
-
*
|
|
102
|
+
* // Manual vars still needed (mixed mode or manual-only)
|
|
103
|
+
* if (creds.missingVariables.length > 0) {
|
|
52
104
|
* return (
|
|
53
105
|
* <EnvVarForm
|
|
54
|
-
* variables={missingVariables}
|
|
55
|
-
* onSubmit={(values) => saveCredentials(values)}
|
|
56
|
-
* isSubmitting={isSaving}
|
|
106
|
+
* variables={creds.missingVariables}
|
|
107
|
+
* onSubmit={(values) => creds.saveCredentials(values)}
|
|
108
|
+
* isSubmitting={creds.isSaving}
|
|
57
109
|
* hideSaveToggle
|
|
58
110
|
* />
|
|
59
111
|
* );
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMcpServerCredentials.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAIxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C
|
|
1
|
+
{"version":3,"file":"useMcpServerCredentials.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAIxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,SAAS,EAAE,SAAS,GAAG,IAAI,GAC1B,6BAA6B,CAwD/B"}
|
|
@@ -13,6 +13,12 @@ import { SYSTEM_ENV_VAR_KEYS } from "../environment/systemEnvVars";
|
|
|
13
13
|
* computes the missing set and exposes `saveCredentials` to persist
|
|
14
14
|
* them.
|
|
15
15
|
*
|
|
16
|
+
* **Auth-mode-aware**: when `spec.auth` is configured, the hook
|
|
17
|
+
* identifies the OAuth-managed variable (`target_env_var`) and
|
|
18
|
+
* excludes it from `missingVariables` — that variable is acquired
|
|
19
|
+
* via {@link useMcpServerOAuthConnect}, not a manual form. Additional
|
|
20
|
+
* non-OAuth vars still appear in `missingVariables` (mixed mode).
|
|
21
|
+
*
|
|
16
22
|
* Unlike {@link useMcpServerSetup} which manages multi-server setup
|
|
17
23
|
* for session creation, this hook is scoped to a single server and
|
|
18
24
|
* always persists to the personal environment (no one-time option).
|
|
@@ -21,15 +27,20 @@ import { SYSTEM_ENV_VAR_KEYS } from "../environment/systemEnvVars";
|
|
|
21
27
|
*
|
|
22
28
|
* @example
|
|
23
29
|
* ```tsx
|
|
24
|
-
* const
|
|
25
|
-
*
|
|
30
|
+
* const creds = useMcpServerCredentials("acme", mcpServer);
|
|
31
|
+
*
|
|
32
|
+
* // OAuth server — sign-in button + optional manual form
|
|
33
|
+
* if (creds.authMode === "oauth" && !creds.isOAuthConnected) {
|
|
34
|
+
* return <button onClick={startOAuth}>Sign in</button>;
|
|
35
|
+
* }
|
|
26
36
|
*
|
|
27
|
-
*
|
|
37
|
+
* // Manual vars still needed (mixed mode or manual-only)
|
|
38
|
+
* if (creds.missingVariables.length > 0) {
|
|
28
39
|
* return (
|
|
29
40
|
* <EnvVarForm
|
|
30
|
-
* variables={missingVariables}
|
|
31
|
-
* onSubmit={(values) => saveCredentials(values)}
|
|
32
|
-
* isSubmitting={isSaving}
|
|
41
|
+
* variables={creds.missingVariables}
|
|
42
|
+
* onSubmit={(values) => creds.saveCredentials(values)}
|
|
43
|
+
* isSubmitting={creds.isSaving}
|
|
33
44
|
* hideSaveToggle
|
|
34
45
|
* />
|
|
35
46
|
* );
|
|
@@ -38,21 +49,37 @@ import { SYSTEM_ENV_VAR_KEYS } from "../environment/systemEnvVars";
|
|
|
38
49
|
*/
|
|
39
50
|
export function useMcpServerCredentials(org, mcpServer) {
|
|
40
51
|
const personalEnv = usePersonalEnvironment(org);
|
|
41
|
-
const
|
|
52
|
+
const auth = mcpServer?.spec?.auth;
|
|
53
|
+
const authMode = auth ? "oauth" : "manual";
|
|
54
|
+
const oauthTargetEnvVar = auth?.targetEnvVar || null;
|
|
55
|
+
const tokenLifetimeHint = auth?.tokenLifetimeHint || null;
|
|
56
|
+
const existingKeys = useMemo(() => new Set(Object.keys(personalEnv.environment?.spec?.data ?? {})), [personalEnv.environment]);
|
|
57
|
+
const isOAuthConnected = authMode === "oauth"
|
|
58
|
+
&& oauthTargetEnvVar !== null
|
|
59
|
+
&& existingKeys.has(oauthTargetEnvVar);
|
|
60
|
+
const allMissingVariables = useMemo(() => {
|
|
42
61
|
if (!mcpServer)
|
|
43
62
|
return [];
|
|
44
63
|
const envSpecData = mcpServer.spec?.envSpec?.data;
|
|
45
64
|
if (!envSpecData || Object.keys(envSpecData).length === 0)
|
|
46
65
|
return [];
|
|
47
|
-
const existingKeys = new Set(Object.keys(personalEnv.environment?.spec?.data ?? {}));
|
|
48
66
|
return diffEnvSpec(envSpecData, existingKeys).filter((v) => !SYSTEM_ENV_VAR_KEYS.has(v.key));
|
|
49
|
-
}, [mcpServer,
|
|
50
|
-
const
|
|
67
|
+
}, [mcpServer, existingKeys]);
|
|
68
|
+
const missingVariables = useMemo(() => {
|
|
69
|
+
if (!oauthTargetEnvVar)
|
|
70
|
+
return allMissingVariables;
|
|
71
|
+
return allMissingVariables.filter((v) => v.key !== oauthTargetEnvVar);
|
|
72
|
+
}, [allMissingVariables, oauthTargetEnvVar]);
|
|
73
|
+
const isReady = !personalEnv.isLoading && allMissingVariables.length === 0;
|
|
51
74
|
const saveCredentials = useCallback(async (values) => {
|
|
52
75
|
await personalEnv.getOrCreate();
|
|
53
76
|
await personalEnv.addVariables(values);
|
|
54
77
|
}, [personalEnv]);
|
|
55
78
|
return {
|
|
79
|
+
authMode,
|
|
80
|
+
oauthTargetEnvVar,
|
|
81
|
+
isOAuthConnected,
|
|
82
|
+
tokenLifetimeHint,
|
|
56
83
|
missingVariables,
|
|
57
84
|
isReady,
|
|
58
85
|
isLoading: personalEnv.isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMcpServerCredentials.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMcpServerCredentials.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
2
|
+
/**
|
|
3
|
+
* Message type posted by {@link OAuthCallbackHandler} to the opener window.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const OAUTH_CALLBACK_MESSAGE_TYPE = "stigmer:oauth:callback";
|
|
8
|
+
/**
|
|
9
|
+
* Shape of the `postMessage` payload sent from the OAuth callback popup.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export interface OAuthCallbackMessage {
|
|
14
|
+
readonly type: typeof OAUTH_CALLBACK_MESSAGE_TYPE;
|
|
15
|
+
readonly code: string;
|
|
16
|
+
readonly state: string;
|
|
17
|
+
}
|
|
18
|
+
/** Progress phases of the OAuth connect flow. */
|
|
19
|
+
export type OAuthConnectPhase = "idle" | "initiating" | "awaiting-callback" | "completing" | "connecting" | "done";
|
|
20
|
+
/** Return value of {@link useMcpServerOAuthConnect}. */
|
|
21
|
+
export interface UseMcpServerOAuthConnectReturn {
|
|
22
|
+
/**
|
|
23
|
+
* Start the OAuth connect flow for an MCP server.
|
|
24
|
+
*
|
|
25
|
+
* Opens a popup for the OAuth consent screen, waits for the callback,
|
|
26
|
+
* exchanges the authorization code for tokens, then chains to the
|
|
27
|
+
* `connect` RPC for tool discovery.
|
|
28
|
+
*
|
|
29
|
+
* **Must be called from a synchronous user-gesture handler** (e.g.,
|
|
30
|
+
* an `onClick` callback) so the browser allows the popup. The popup
|
|
31
|
+
* is opened synchronously before any async work to avoid popup
|
|
32
|
+
* blockers.
|
|
33
|
+
*
|
|
34
|
+
* @param mcpServerId - System-generated ID (metadata.id) of the MCP server.
|
|
35
|
+
* @returns The updated McpServer after tool discovery completes.
|
|
36
|
+
*/
|
|
37
|
+
readonly startOAuth: (mcpServerId: string) => Promise<McpServer>;
|
|
38
|
+
/** `true` while any phase of the OAuth flow is in progress. */
|
|
39
|
+
readonly isInProgress: boolean;
|
|
40
|
+
/** Current phase of the OAuth flow. */
|
|
41
|
+
readonly phase: OAuthConnectPhase;
|
|
42
|
+
/** Error from the most recent failed attempt, or `null`. */
|
|
43
|
+
readonly error: Error | null;
|
|
44
|
+
/** Reset the hook to idle state, clearing any error. */
|
|
45
|
+
readonly clearError: () => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Action hook that orchestrates the full OAuth popup flow for MCP servers.
|
|
49
|
+
*
|
|
50
|
+
* Handles the complete lifecycle:
|
|
51
|
+
* 1. Calls `initiateOAuthConnect` to get the authorization URL
|
|
52
|
+
* 2. Opens a popup window to the OAuth consent screen
|
|
53
|
+
* 3. Listens for the callback via `window.postMessage`
|
|
54
|
+
* 4. Calls `completeOAuthConnect` to exchange the code for tokens
|
|
55
|
+
* 5. Chains to `connect` for tool discovery
|
|
56
|
+
*
|
|
57
|
+
* The popup is opened **synchronously** before the `initiateOAuthConnect`
|
|
58
|
+
* RPC to avoid browser popup blockers. A blank page is shown briefly
|
|
59
|
+
* while the RPC resolves, then the popup navigates to the auth URL.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```tsx
|
|
63
|
+
* const oauth = useMcpServerOAuthConnect();
|
|
64
|
+
* const { refetch } = useMcpServer(org, slug);
|
|
65
|
+
*
|
|
66
|
+
* async function handleSignIn() {
|
|
67
|
+
* try {
|
|
68
|
+
* await oauth.startOAuth(mcpServer.metadata.id);
|
|
69
|
+
* refetch();
|
|
70
|
+
* } catch {
|
|
71
|
+
* // error is available via oauth.error
|
|
72
|
+
* }
|
|
73
|
+
* }
|
|
74
|
+
*
|
|
75
|
+
* <button onClick={handleSignIn} disabled={oauth.isInProgress}>
|
|
76
|
+
* {oauth.isInProgress ? "Signing in..." : "Sign in with OAuth"}
|
|
77
|
+
* </button>
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function useMcpServerOAuthConnect(): UseMcpServerOAuthConnectReturn;
|
|
81
|
+
//# sourceMappingURL=useMcpServerOAuthConnect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMcpServerOAuthConnect.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerOAuthConnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AASxF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,MAAM,CAAC;AAEX,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,wBAAwB,IAAI,8BAA8B,CAqGzE"}
|