@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.
Files changed (40) hide show
  1. package/index.d.ts +2 -2
  2. package/index.d.ts.map +1 -1
  3. package/index.js +2 -2
  4. package/index.js.map +1 -1
  5. package/mcp-server/McpServerConfigPanel.d.ts +28 -1
  6. package/mcp-server/McpServerConfigPanel.d.ts.map +1 -1
  7. package/mcp-server/McpServerConfigPanel.js +23 -2
  8. package/mcp-server/McpServerConfigPanel.js.map +1 -1
  9. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  10. package/mcp-server/McpServerDetailView.js +96 -9
  11. package/mcp-server/McpServerDetailView.js.map +1 -1
  12. package/mcp-server/McpServerPicker.d.ts.map +1 -1
  13. package/mcp-server/McpServerPicker.js +34 -2
  14. package/mcp-server/McpServerPicker.js.map +1 -1
  15. package/mcp-server/OAuthCallbackHandler.d.ts +52 -0
  16. package/mcp-server/OAuthCallbackHandler.d.ts.map +1 -0
  17. package/mcp-server/OAuthCallbackHandler.js +98 -0
  18. package/mcp-server/OAuthCallbackHandler.js.map +1 -0
  19. package/mcp-server/index.d.ts +6 -2
  20. package/mcp-server/index.d.ts.map +1 -1
  21. package/mcp-server/index.js +2 -0
  22. package/mcp-server/index.js.map +1 -1
  23. package/mcp-server/useMcpServerCredentials.d.ts +59 -7
  24. package/mcp-server/useMcpServerCredentials.d.ts.map +1 -1
  25. package/mcp-server/useMcpServerCredentials.js +37 -10
  26. package/mcp-server/useMcpServerCredentials.js.map +1 -1
  27. package/mcp-server/useMcpServerOAuthConnect.d.ts +81 -0
  28. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -0
  29. package/mcp-server/useMcpServerOAuthConnect.js +187 -0
  30. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -0
  31. package/package.json +4 -4
  32. package/src/index.ts +9 -1
  33. package/src/mcp-server/McpServerConfigPanel.tsx +153 -3
  34. package/src/mcp-server/McpServerDetailView.tsx +283 -97
  35. package/src/mcp-server/McpServerPicker.tsx +40 -2
  36. package/src/mcp-server/OAuthCallbackHandler.tsx +237 -0
  37. package/src/mcp-server/index.ts +17 -1
  38. package/src/mcp-server/useMcpServerCredentials.ts +86 -13
  39. package/src/mcp-server/useMcpServerOAuthConnect.ts +298 -0
  40. 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
- return (_jsx("div", { className: cn("w-72", className), children: _jsx(McpServerConfigPanel, { mcpServer: entry.mcpServer, credentials: needsCredentials
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: entry.missingVariables,
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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"}
@@ -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,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC"}
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"}
@@ -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
@@ -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;AAM9D,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,uBAAuB,EAAE,MAAM,2BAA2B,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
- /** `true` when all required credentials are available. */
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 { missingVariables, isReady, saveCredentials, isSaving } =
49
- * useMcpServerCredentials("acme", mcpServer);
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
- * if (!isReady) {
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;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IAChD,0DAA0D;IAC1D,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,SAAS,EAAE,SAAS,GAAG,IAAI,GAC1B,6BAA6B,CAoC/B"}
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 { missingVariables, isReady, saveCredentials, isSaving } =
25
- * useMcpServerCredentials("acme", mcpServer);
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
- * if (!isReady) {
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 missingVariables = useMemo(() => {
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, personalEnv.environment]);
50
- const isReady = !personalEnv.isLoading && missingVariables.length === 0;
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;AAgCnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAkB,EAClB,SAA2B;IAE3B,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEhD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;QAClD,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAErE,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CACvD,CAAC;QACF,OAAO,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CACvC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzC,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,MAAmC,EAAiB,EAAE;QAC3D,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,OAAO;QACP,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,eAAe;QACf,QAAQ,EAAE,WAAW,CAAC,UAAU;QAChC,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC;AACJ,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"}