@stigmer/react 0.0.42 → 0.0.44
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/execution/ArtifactContentRenderer.d.ts +58 -0
- package/execution/ArtifactContentRenderer.d.ts.map +1 -0
- package/execution/ArtifactContentRenderer.js +163 -0
- package/execution/ArtifactContentRenderer.js.map +1 -0
- package/execution/ArtifactPreviewModal.d.ts +3 -2
- package/execution/ArtifactPreviewModal.d.ts.map +1 -1
- package/execution/ArtifactPreviewModal.js +11 -62
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/ExecutionPhaseBadge.js +1 -1
- package/execution/ExecutionPhaseBadge.js.map +1 -1
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +21 -2
- package/execution/MessageThread.js.map +1 -1
- package/execution/SetupProgress.d.ts +35 -0
- package/execution/SetupProgress.d.ts.map +1 -0
- package/execution/SetupProgress.js +65 -0
- package/execution/SetupProgress.js.map +1 -0
- package/execution/ToolCallGroup.d.ts.map +1 -1
- package/execution/ToolCallGroup.js +9 -1
- package/execution/ToolCallGroup.js.map +1 -1
- package/execution/ToolCallItem.js +8 -3
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/artifact-utils.d.ts +50 -0
- package/execution/artifact-utils.d.ts.map +1 -1
- package/execution/artifact-utils.js +67 -5
- package/execution/artifact-utils.js.map +1 -1
- package/execution/index.d.ts +6 -1
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +3 -1
- package/execution/index.js.map +1 -1
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/internal/markdown-components.d.ts +10 -0
- package/internal/markdown-components.d.ts.map +1 -1
- package/internal/markdown-components.js +13 -0
- package/internal/markdown-components.js.map +1 -1
- package/mcp-server/ApprovalPolicyGeneratorPanel.d.ts +34 -0
- package/mcp-server/ApprovalPolicyGeneratorPanel.d.ts.map +1 -0
- package/mcp-server/ApprovalPolicyGeneratorPanel.js +55 -0
- package/mcp-server/ApprovalPolicyGeneratorPanel.js.map +1 -0
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +101 -2
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/index.d.ts +8 -0
- package/mcp-server/index.d.ts.map +1 -1
- package/mcp-server/index.js +4 -0
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/useDiscoverCapabilities.d.ts +59 -0
- package/mcp-server/useDiscoverCapabilities.d.ts.map +1 -0
- package/mcp-server/useDiscoverCapabilities.js +77 -0
- package/mcp-server/useDiscoverCapabilities.js.map +1 -0
- package/mcp-server/useMcpServerCredentials.d.ts +63 -0
- package/mcp-server/useMcpServerCredentials.d.ts.map +1 -0
- package/mcp-server/useMcpServerCredentials.js +64 -0
- package/mcp-server/useMcpServerCredentials.js.map +1 -0
- package/mcp-server/useTriggerApprovalPolicySession.d.ts +42 -0
- package/mcp-server/useTriggerApprovalPolicySession.d.ts.map +1 -0
- package/mcp-server/useTriggerApprovalPolicySession.js +111 -0
- package/mcp-server/useTriggerApprovalPolicySession.js.map +1 -0
- package/package.json +4 -4
- package/session/__tests__/useSessionConversation.test.js +223 -2
- package/session/__tests__/useSessionConversation.test.js.map +1 -1
- package/session/useSessionConversation.d.ts +8 -1
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +77 -6
- package/session/useSessionConversation.js.map +1 -1
- package/skill/SkillDetailView.js +2 -2
- package/skill/SkillDetailView.js.map +1 -1
- package/src/execution/ArtifactContentRenderer.tsx +376 -0
- package/src/execution/ArtifactPreviewModal.tsx +22 -114
- package/src/execution/ExecutionPhaseBadge.tsx +1 -1
- package/src/execution/MessageThread.tsx +35 -3
- package/src/execution/SetupProgress.tsx +120 -0
- package/src/execution/ToolCallGroup.tsx +15 -1
- package/src/execution/ToolCallItem.tsx +10 -3
- package/src/execution/artifact-utils.ts +88 -4
- package/src/execution/index.ts +9 -0
- package/src/index.ts +16 -0
- package/src/internal/markdown-components.tsx +15 -0
- package/src/mcp-server/ApprovalPolicyGeneratorPanel.tsx +164 -0
- package/src/mcp-server/McpServerDetailView.tsx +428 -2
- package/src/mcp-server/index.ts +15 -0
- package/src/mcp-server/useDiscoverCapabilities.ts +117 -0
- package/src/mcp-server/useMcpServerCredentials.ts +108 -0
- package/src/mcp-server/useTriggerApprovalPolicySession.ts +161 -0
- package/src/session/__tests__/useSessionConversation.test.tsx +355 -2
- package/src/session/useSessionConversation.ts +104 -9
- package/src/skill/SkillDetailView.tsx +2 -2
- package/styles.css +1 -1
|
@@ -5,6 +5,16 @@ import remarkGfm from "remark-gfm";
|
|
|
5
5
|
* Includes GFM (tables, strikethrough, autolinks, task lists).
|
|
6
6
|
*/
|
|
7
7
|
export declare const REMARK_PLUGINS: (typeof remarkGfm)[];
|
|
8
|
+
/**
|
|
9
|
+
* Strips YAML frontmatter from markdown content.
|
|
10
|
+
*
|
|
11
|
+
* SKILL.md files store metadata (`name`, `description`) in a `---` delimited
|
|
12
|
+
* YAML block at the top. The backend extracts these into separate proto fields,
|
|
13
|
+
* but the raw `skill_md` still contains the block. `react-markdown` does not
|
|
14
|
+
* understand frontmatter and renders it as a plain paragraph — this utility
|
|
15
|
+
* removes it before rendering.
|
|
16
|
+
*/
|
|
17
|
+
export declare function stripFrontmatter(content: string): string;
|
|
8
18
|
/**
|
|
9
19
|
* Styled react-markdown component overrides for SDK markdown surfaces.
|
|
10
20
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-components.d.ts","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,cAAc,sBAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-components.d.ts","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,cAAc,sBAAc,CAAC;AAI1C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,UA8KjC,CAAC"}
|
|
@@ -6,6 +6,19 @@ import { cn } from "@stigmer/theme";
|
|
|
6
6
|
* Includes GFM (tables, strikethrough, autolinks, task lists).
|
|
7
7
|
*/
|
|
8
8
|
export const REMARK_PLUGINS = [remarkGfm];
|
|
9
|
+
const FRONTMATTER_RE = /^---\r?\n[\s\S]*?\r?\n---\r?\n?/;
|
|
10
|
+
/**
|
|
11
|
+
* Strips YAML frontmatter from markdown content.
|
|
12
|
+
*
|
|
13
|
+
* SKILL.md files store metadata (`name`, `description`) in a `---` delimited
|
|
14
|
+
* YAML block at the top. The backend extracts these into separate proto fields,
|
|
15
|
+
* but the raw `skill_md` still contains the block. `react-markdown` does not
|
|
16
|
+
* understand frontmatter and renders it as a plain paragraph — this utility
|
|
17
|
+
* removes it before rendering.
|
|
18
|
+
*/
|
|
19
|
+
export function stripFrontmatter(content) {
|
|
20
|
+
return content.replace(FRONTMATTER_RE, "");
|
|
21
|
+
}
|
|
9
22
|
/**
|
|
10
23
|
* Styled react-markdown component overrides for SDK markdown surfaces.
|
|
11
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-components.js","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-components.js","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface ApprovalPolicyGeneratorPanelProps {
|
|
2
|
+
/** The execution ID to stream. */
|
|
3
|
+
readonly executionId: string;
|
|
4
|
+
/** Called when the user clicks the close/dismiss button. */
|
|
5
|
+
readonly onClose: () => void;
|
|
6
|
+
/** Called once when the execution reaches a terminal phase. */
|
|
7
|
+
readonly onComplete?: () => void;
|
|
8
|
+
/** Additional CSS classes for the root container. */
|
|
9
|
+
readonly className?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Inline panel that streams the approval policy generation execution.
|
|
13
|
+
*
|
|
14
|
+
* Composes {@link useExecutionStream}, {@link MessageThread}, and
|
|
15
|
+
* {@link ExecutionProgress} to show real-time agent progress: thinking,
|
|
16
|
+
* tool calls, generated YAML, and applied changes.
|
|
17
|
+
*
|
|
18
|
+
* When the execution reaches a terminal phase, the `onComplete`
|
|
19
|
+
* callback fires once so the parent can refetch the MCP server to
|
|
20
|
+
* display newly applied policies.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* {result && (
|
|
25
|
+
* <ApprovalPolicyGeneratorPanel
|
|
26
|
+
* executionId={result.executionId}
|
|
27
|
+
* onClose={() => setResult(null)}
|
|
28
|
+
* onComplete={() => refetch()}
|
|
29
|
+
* />
|
|
30
|
+
* )}
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function ApprovalPolicyGeneratorPanel({ executionId, onClose, onComplete, className, }: ApprovalPolicyGeneratorPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=ApprovalPolicyGeneratorPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalPolicyGeneratorPanel.d.ts","sourceRoot":"","sources":["../../src/mcp-server/ApprovalPolicyGeneratorPanel.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,iCAAiC;IAChD,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,iCAAiC,2CA6EnC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
6
|
+
import { useExecutionStream } from "../execution/useExecutionStream";
|
|
7
|
+
import { MessageThread } from "../execution/MessageThread";
|
|
8
|
+
import { ExecutionProgress } from "../execution/ExecutionProgress";
|
|
9
|
+
import { isTerminalPhase } from "../execution/execution-phases";
|
|
10
|
+
/**
|
|
11
|
+
* Inline panel that streams the approval policy generation execution.
|
|
12
|
+
*
|
|
13
|
+
* Composes {@link useExecutionStream}, {@link MessageThread}, and
|
|
14
|
+
* {@link ExecutionProgress} to show real-time agent progress: thinking,
|
|
15
|
+
* tool calls, generated YAML, and applied changes.
|
|
16
|
+
*
|
|
17
|
+
* When the execution reaches a terminal phase, the `onComplete`
|
|
18
|
+
* callback fires once so the parent can refetch the MCP server to
|
|
19
|
+
* display newly applied policies.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* {result && (
|
|
24
|
+
* <ApprovalPolicyGeneratorPanel
|
|
25
|
+
* executionId={result.executionId}
|
|
26
|
+
* onClose={() => setResult(null)}
|
|
27
|
+
* onComplete={() => refetch()}
|
|
28
|
+
* />
|
|
29
|
+
* )}
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function ApprovalPolicyGeneratorPanel({ executionId, onClose, onComplete, className, }) {
|
|
33
|
+
const { execution, phase, isStreaming, error, reconnect } = useExecutionStream(executionId);
|
|
34
|
+
const isComplete = isTerminalPhase(phase);
|
|
35
|
+
const completeFiredRef = useRef(false);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (isComplete && onComplete && !completeFiredRef.current) {
|
|
38
|
+
completeFiredRef.current = true;
|
|
39
|
+
onComplete();
|
|
40
|
+
}
|
|
41
|
+
}, [isComplete, onComplete]);
|
|
42
|
+
return (_jsxs("div", { className: cn("flex flex-col overflow-hidden rounded-lg border border-border bg-background", className), children: [_jsxs("div", { className: "flex items-center justify-between border-b border-border px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SparklesIcon, { className: "size-4 text-muted-foreground" }), _jsx("h4", { className: "text-sm font-medium text-foreground", children: "Generating Approval Policies" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [execution && (_jsx(ExecutionProgress, { execution: execution, className: "text-xs" })), _jsx("button", { type: "button", onClick: onClose, className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground", "aria-label": "Close panel", children: _jsx(CloseIcon, { className: "size-4" }) })] })] }), _jsx("div", { className: "flex-1 overflow-hidden", children: error ? (_jsxs("div", { className: "flex flex-col items-center gap-2 p-6 text-center", children: [_jsx("p", { className: "text-sm text-destructive", children: error.message }), _jsx("button", { type: "button", onClick: reconnect, className: "rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90", children: "Retry" })] })) : (_jsx(MessageThread, { executions: [], activeStreamExecution: execution })) }), isComplete && (_jsx("div", { className: "border-t border-border px-4 py-3", children: _jsx("p", { className: "text-xs text-muted-foreground", children: phase === ExecutionPhase.EXECUTION_COMPLETED
|
|
43
|
+
? "Approval policies have been generated and applied. The detail view will refresh to show the changes."
|
|
44
|
+
: "Policy generation did not complete successfully. You can retry from the detail page." }) }))] }));
|
|
45
|
+
}
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// Inline SVG icons
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
function SparklesIcon({ className }) {
|
|
50
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M8 1v2M8 13v2M1 8h2M13 8h2M3.05 3.05l1.41 1.41M11.54 11.54l1.41 1.41M3.05 12.95l1.41-1.41M11.54 4.46l1.41-1.41" }) }));
|
|
51
|
+
}
|
|
52
|
+
function CloseIcon({ className }) {
|
|
53
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "m4 4 8 8M12 4l-8 8" }) }));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ApprovalPolicyGeneratorPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalPolicyGeneratorPanel.js","sourceRoot":"","sources":["../../src/mcp-server/ApprovalPolicyGeneratorPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServerDetailView.d.ts","sourceRoot":"","sources":["../../src/mcp-server/McpServerDetailView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"McpServerDetailView.d.ts","sourceRoot":"","sources":["../../src/mcp-server/McpServerDetailView.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAY/F,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjE,yDAAyD;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,GACV,EAAE,wBAAwB,2CAkL1B"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useRef } from "react";
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
5
|
import { timestampDate } from "@bufbuild/protobuf/wkt";
|
|
6
6
|
import { ValidationState } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/status_pb";
|
|
7
7
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
8
8
|
import { useMcpServer } from "./useMcpServer";
|
|
9
|
+
import { useDiscoverCapabilities } from "./useDiscoverCapabilities";
|
|
10
|
+
import { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
11
|
+
import { useTriggerApprovalPolicySession } from "./useTriggerApprovalPolicySession";
|
|
12
|
+
import { ApprovalPolicyGeneratorPanel } from "./ApprovalPolicyGeneratorPanel";
|
|
13
|
+
import { serializeMcpServerYaml } from "../library/serialize-resource-yaml";
|
|
9
14
|
import { ErrorMessage } from "../error/ErrorMessage";
|
|
15
|
+
import { EnvVarForm } from "../environment/EnvVarForm";
|
|
10
16
|
import { VisibilityToggle } from "../library/VisibilityToggle";
|
|
11
17
|
/**
|
|
12
18
|
* Read-only detail view for an MCP Server integration.
|
|
@@ -32,6 +38,11 @@ import { VisibilityToggle } from "../library/VisibilityToggle";
|
|
|
32
38
|
*/
|
|
33
39
|
export function McpServerDetailView({ org, slug, onResourceLoad, onVisibilityChange, isVisibilityPending, className, }) {
|
|
34
40
|
const { mcpServer, isLoading, error, refetch } = useMcpServer(org, slug);
|
|
41
|
+
const credentials = useMcpServerCredentials(org, mcpServer ?? null);
|
|
42
|
+
const discovery = useDiscoverCapabilities();
|
|
43
|
+
const policySession = useTriggerApprovalPolicySession();
|
|
44
|
+
const [showCredentialForm, setShowCredentialForm] = useState(false);
|
|
45
|
+
const [policyPanelExecutionId, setPolicyPanelExecutionId] = useState(null);
|
|
35
46
|
const onResourceLoadRef = useRef(onResourceLoad);
|
|
36
47
|
onResourceLoadRef.current = onResourceLoad;
|
|
37
48
|
useEffect(() => {
|
|
@@ -39,6 +50,57 @@ export function McpServerDetailView({ org, slug, onResourceLoad, onVisibilityCha
|
|
|
39
50
|
onResourceLoadRef.current?.({ name: mcpServer.metadata.name, id: mcpServer.metadata.id });
|
|
40
51
|
}
|
|
41
52
|
}, [mcpServer]);
|
|
53
|
+
const handleDiscoverClick = useCallback(async () => {
|
|
54
|
+
if (!mcpServer?.metadata?.id)
|
|
55
|
+
return;
|
|
56
|
+
if (!credentials.isReady) {
|
|
57
|
+
setShowCredentialForm(true);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
await discovery.discover(mcpServer.metadata.id);
|
|
62
|
+
refetch();
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// error state is managed by the hook
|
|
66
|
+
}
|
|
67
|
+
}, [mcpServer, credentials.isReady, discovery, refetch]);
|
|
68
|
+
const handleCredentialSubmit = useCallback(async (values, options) => {
|
|
69
|
+
try {
|
|
70
|
+
if (options.saveForFuture) {
|
|
71
|
+
await credentials.saveCredentials(values);
|
|
72
|
+
credentials.refetch();
|
|
73
|
+
}
|
|
74
|
+
setShowCredentialForm(false);
|
|
75
|
+
if (mcpServer?.metadata?.id) {
|
|
76
|
+
if (options.saveForFuture) {
|
|
77
|
+
await discovery.discover(mcpServer.metadata.id);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
await discovery.discover(mcpServer.metadata.id, values);
|
|
81
|
+
}
|
|
82
|
+
refetch();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// error state is managed by the hooks
|
|
87
|
+
}
|
|
88
|
+
}, [credentials, mcpServer, discovery, refetch]);
|
|
89
|
+
const handleGenerateApprovalPolicies = useCallback(async () => {
|
|
90
|
+
if (!mcpServer)
|
|
91
|
+
return;
|
|
92
|
+
try {
|
|
93
|
+
const yaml = serializeMcpServerYaml(mcpServer);
|
|
94
|
+
const result = await policySession.trigger(yaml, org, slug);
|
|
95
|
+
setPolicyPanelExecutionId(result.executionId);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// error state is managed by the hook
|
|
99
|
+
}
|
|
100
|
+
}, [mcpServer, org, slug, policySession]);
|
|
101
|
+
const handlePolicyPanelComplete = useCallback(() => {
|
|
102
|
+
refetch();
|
|
103
|
+
}, [refetch]);
|
|
42
104
|
if (isLoading)
|
|
43
105
|
return _jsx(LoadingSkeleton, { className: className });
|
|
44
106
|
if (error)
|
|
@@ -49,10 +111,12 @@ export function McpServerDetailView({ org, slug, onResourceLoad, onVisibilityCha
|
|
|
49
111
|
const status = mcpServer.status;
|
|
50
112
|
const specAudit = status?.audit?.specAudit;
|
|
51
113
|
const capabilities = status?.discoveredCapabilities;
|
|
114
|
+
const toolApprovals = spec?.defaultToolApprovals ?? [];
|
|
115
|
+
const hasDiscoveredTools = capabilities != null && capabilities.tools.length > 0;
|
|
52
116
|
return (_jsxs("div", { className: cn("flex flex-col gap-6", className), children: [status?.validationState === ValidationState.invalid &&
|
|
53
117
|
status.validationMessage && (_jsx(ValidationBanner, { message: status.validationMessage })), _jsx(Header, { server: mcpServer, createdAt: specAudit?.createdAt ? timestampDate(specAudit.createdAt) : null, updatedAt: specAudit?.updatedAt ? timestampDate(specAudit.updatedAt) : null, lastDiscoveredAt: capabilities?.lastDiscoveredAt
|
|
54
118
|
? timestampDate(capabilities.lastDiscoveredAt)
|
|
55
|
-
: null, onVisibilityChange: onVisibilityChange, isVisibilityPending: isVisibilityPending }), spec?.serverType.case && (_jsx(ServerConfigSection, { serverType: spec.serverType })),
|
|
119
|
+
: null, onVisibilityChange: onVisibilityChange, isVisibilityPending: isVisibilityPending }), _jsx(DiscoverySection, { isDiscovering: discovery.isDiscovering, discoveryError: discovery.error, onDiscover: handleDiscoverClick, onClearDiscoveryError: discovery.clearError, hasDiscoveredTools: hasDiscoveredTools, showCredentialForm: showCredentialForm, credentialVariables: credentials.missingVariables, isSavingCredentials: credentials.isSaving, onCredentialSubmit: handleCredentialSubmit, onCredentialCancel: () => setShowCredentialForm(false), credentialsLoading: credentials.isLoading }), spec?.serverType.case && (_jsx(ServerConfigSection, { serverType: spec.serverType })), hasDiscoveredTools && (_jsx(ToolsSection, { tools: capabilities.tools })), capabilities && capabilities.resourceTemplates.length > 0 && (_jsx(ResourceTemplatesSection, { templates: capabilities.resourceTemplates })), toolApprovals.length > 0 && (_jsx(ApprovalPoliciesSection, { policies: toolApprovals })), hasDiscoveredTools && (_jsx(GenerateApprovalPoliciesSection, { hasPolicies: toolApprovals.length > 0, isTriggering: policySession.isTriggering, triggerError: policySession.error, onGenerate: handleGenerateApprovalPolicies, onClearError: policySession.clearError })), policyPanelExecutionId && (_jsx(ApprovalPolicyGeneratorPanel, { executionId: policyPanelExecutionId, onClose: () => setPolicyPanelExecutionId(null), onComplete: handlePolicyPanelComplete })), spec?.envSpec && Object.keys(spec.envSpec.data).length > 0 && (_jsx(EnvSpecSection, { data: spec.envSpec.data })), spec && spec.tags.length > 0 && _jsx(TagsSection, { tags: spec.tags })] }));
|
|
56
120
|
}
|
|
57
121
|
// ---------------------------------------------------------------------------
|
|
58
122
|
// Internal section components
|
|
@@ -96,6 +160,26 @@ function TagsSection({ tags }) {
|
|
|
96
160
|
return (_jsx(Section, { title: `Tags (${tags.length})`, children: _jsx("div", { className: "flex flex-wrap gap-1.5 p-3", children: tags.map((tag) => (_jsx("span", { className: "rounded-full bg-muted px-2.5 py-0.5 text-xs font-medium text-muted-foreground", children: tag }, tag))) }) }));
|
|
97
161
|
}
|
|
98
162
|
// ---------------------------------------------------------------------------
|
|
163
|
+
// Discovery section
|
|
164
|
+
// ---------------------------------------------------------------------------
|
|
165
|
+
function DiscoverySection({ isDiscovering, discoveryError, onDiscover, onClearDiscoveryError, hasDiscoveredTools, showCredentialForm, credentialVariables, isSavingCredentials, onCredentialSubmit, onCredentialCancel, credentialsLoading, }) {
|
|
166
|
+
return (_jsxs("section", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h3", { className: "text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Discovery" }), _jsx("button", { type: "button", onClick: onDiscover, disabled: isDiscovering || credentialsLoading, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium", "border border-border bg-background text-foreground", "hover:bg-accent hover:text-accent-foreground", "disabled:pointer-events-none disabled:opacity-50"), children: isDiscovering ? (_jsxs(_Fragment, { children: [_jsx(DiscoverSpinner, {}), "Discovering..."] })) : hasDiscoveredTools ? (_jsxs(_Fragment, { children: [_jsx(RefreshIcon, { className: "size-3.5" }), "Re-discover"] })) : (_jsxs(_Fragment, { children: [_jsx(DiscoverIcon, { className: "size-3.5" }), "Discover Tools"] })) })] }), discoveryError && (_jsxs("div", { className: "flex items-start gap-2 rounded-lg border border-destructive/30 bg-destructive/5 px-3 py-2", children: [_jsx(WarningIcon, { className: "mt-0.5 size-3.5 shrink-0 text-destructive" }), _jsx("p", { className: "flex-1 text-xs text-destructive", children: discoveryError.message }), _jsx("button", { type: "button", onClick: onClearDiscoveryError, className: "shrink-0 text-xs text-destructive/70 hover:text-destructive", "aria-label": "Dismiss error", children: "Dismiss" })] })), showCredentialForm && credentialVariables.length > 0 && (_jsx("div", { className: "rounded-lg border border-border p-4", children: _jsx(EnvVarForm, { title: "Credentials Required", description: "Enter the credentials needed to connect to this MCP server. Toggle \"Save for future runs\" to persist them in your personal environment, or leave it off to use them for this discovery only.", variables: credentialVariables, onSubmit: (values, options) => onCredentialSubmit(values, options), onCancel: onCredentialCancel, isSubmitting: isSavingCredentials, className: "w-full max-w-md" }) })), !hasDiscoveredTools && !isDiscovering && (_jsx("p", { className: "text-xs text-muted-foreground", children: "No tools discovered yet. Click \"Discover Tools\" to connect to this MCP server and list its available tools and resources." }))] }));
|
|
167
|
+
}
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
// Approval policies section
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
function ApprovalPoliciesSection({ policies, }) {
|
|
172
|
+
return (_jsx(Section, { title: `Approval Policies (${policies.length})`, children: _jsx("div", { className: "flex flex-col divide-y divide-border", children: policies.map((policy) => (_jsxs("div", { className: "px-3 py-2.5", children: [_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("code", { className: "font-mono text-sm font-medium text-foreground", children: policy.toolName }), _jsx(ShieldIcon, { className: "size-3 text-amber-500 dark:text-amber-400" })] }), policy.message && (_jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: policy.message }))] }, policy.toolName))) }) }));
|
|
173
|
+
}
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Generate approval policies section
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
function GenerateApprovalPoliciesSection({ hasPolicies, isTriggering, triggerError, onGenerate, onClearError, }) {
|
|
178
|
+
return (_jsxs("section", { className: "flex flex-col gap-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "AI-Generated Policies" }), _jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: hasPolicies
|
|
179
|
+
? "Regenerate approval policies using AI to classify each tool's risk level."
|
|
180
|
+
: "Automatically generate approval policies for the discovered tools using AI." })] }), _jsx("button", { type: "button", onClick: onGenerate, disabled: isTriggering, className: cn("inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium", "bg-primary text-primary-foreground", "hover:bg-primary/90", "disabled:pointer-events-none disabled:opacity-50"), children: isTriggering ? (_jsxs(_Fragment, { children: [_jsx(DiscoverSpinner, {}), "Starting..."] })) : (_jsxs(_Fragment, { children: [_jsx(SparklesIcon, { className: "size-3.5" }), hasPolicies ? "Regenerate Policies" : "Generate Policies"] })) })] }), triggerError && (_jsxs("div", { className: "flex items-start gap-2 rounded-lg border border-destructive/30 bg-destructive/5 px-3 py-2", children: [_jsx(WarningIcon, { className: "mt-0.5 size-3.5 shrink-0 text-destructive" }), _jsx("p", { className: "flex-1 text-xs text-destructive", children: triggerError.message }), _jsx("button", { type: "button", onClick: onClearError, className: "shrink-0 text-xs text-destructive/70 hover:text-destructive", "aria-label": "Dismiss error", children: "Dismiss" })] }))] }));
|
|
181
|
+
}
|
|
182
|
+
// ---------------------------------------------------------------------------
|
|
99
183
|
// Shared layout primitives
|
|
100
184
|
// ---------------------------------------------------------------------------
|
|
101
185
|
function Section({ title, children, }) {
|
|
@@ -135,4 +219,19 @@ function CheckIcon({ className }) {
|
|
|
135
219
|
function WarningIcon({ className }) {
|
|
136
220
|
return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "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" })] }));
|
|
137
221
|
}
|
|
222
|
+
function DiscoverIcon({ className }) {
|
|
223
|
+
return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("circle", { cx: "7", cy: "7", r: "4.5" }), _jsx("path", { d: "m10.5 10.5 3 3" })] }));
|
|
224
|
+
}
|
|
225
|
+
function RefreshIcon({ className }) {
|
|
226
|
+
return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("path", { d: "M2.5 8a5.5 5.5 0 0 1 9.36-3.92" }), _jsx("path", { d: "M13.5 8a5.5 5.5 0 0 1-9.36 3.92" }), _jsx("path", { d: "M12 2v3h-3" }), _jsx("path", { d: "M4 14v-3h3" })] }));
|
|
227
|
+
}
|
|
228
|
+
function ShieldIcon({ className }) {
|
|
229
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M8 1.5 2.5 4v4c0 3.31 2.35 6.4 5.5 7 3.15-.6 5.5-3.69 5.5-7V4L8 1.5Z" }) }));
|
|
230
|
+
}
|
|
231
|
+
function SparklesIcon({ className }) {
|
|
232
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M8 1v2M8 13v2M1 8h2M13 8h2M3.05 3.05l1.41 1.41M11.54 11.54l1.41 1.41M3.05 12.95l1.41-1.41M11.54 4.46l1.41-1.41" }) }));
|
|
233
|
+
}
|
|
234
|
+
function DiscoverSpinner() {
|
|
235
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", className: "animate-spin", "aria-hidden": "true", children: _jsx("path", { d: "M8 2a6 6 0 1 0 6 6" }) }));
|
|
236
|
+
}
|
|
138
237
|
//# sourceMappingURL=McpServerDetailView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServerDetailView.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerDetailView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"McpServerDetailView.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerDetailView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOvD,OAAO,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAE5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA6B/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,GAAG,EACH,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,GACgB;IACzB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,+BAA+B,EAAE,CAAC;IAExD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAElE,IAAI,CAAC,CAAC;IAER,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAAE,OAAO;QAErC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzD,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EACH,MAA0D,EAC1D,OAAmC,EACnC,EAAE;QACF,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC1C,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YAED,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAI,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC5B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAC7C,CAAC;IAEF,MAAM,8BAA8B,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5D,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1C,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAI,SAAS;QAAE,OAAO,KAAC,eAAe,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;IAChE,IAAI,KAAK;QACP,OAAO,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IAC9E,IAAI,CAAC,SAAS;QAAE,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;IAE/D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,EAAE,sBAAsB,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,EAAE,oBAAoB,IAAI,EAAE,CAAC;IACvD,MAAM,kBAAkB,GACtB,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAExD,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,aACjD,MAAM,EAAE,eAAe,KAAK,eAAe,CAAC,OAAO;gBAClD,MAAM,CAAC,iBAAiB,IAAI,CAC1B,KAAC,gBAAgB,IAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,GAAI,CACxD,EAEH,KAAC,MAAM,IACL,MAAM,EAAE,SAAS,EACjB,SAAS,EACP,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAElE,SAAS,EACP,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAElE,gBAAgB,EACd,YAAY,EAAE,gBAAgB;oBAC5B,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAC9C,CAAC,CAAC,IAAI,EAEV,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,GACxC,EAGF,KAAC,gBAAgB,IACf,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,cAAc,EAAE,SAAS,CAAC,KAAK,EAC/B,UAAU,EAAE,mBAAmB,EAC/B,qBAAqB,EAAE,SAAS,CAAC,UAAU,EAC3C,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,WAAW,CAAC,gBAAgB,EACjD,mBAAmB,EAAE,WAAW,CAAC,QAAQ,EACzC,kBAAkB,EAAE,sBAAsB,EAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EACtD,kBAAkB,EAAE,WAAW,CAAC,SAAS,GACzC,EAED,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CACxB,KAAC,mBAAmB,IAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAI,CACrD,EAEA,kBAAkB,IAAI,CACrB,KAAC,YAAY,IAAC,KAAK,EAAE,YAAY,CAAC,KAAK,GAAI,CAC5C,EAEA,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5D,KAAC,wBAAwB,IACvB,SAAS,EAAE,YAAY,CAAC,iBAAiB,GACzC,CACH,EAGA,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,KAAC,uBAAuB,IAAC,QAAQ,EAAE,aAAa,GAAI,CACrD,EAGA,kBAAkB,IAAI,CACrB,KAAC,+BAA+B,IAC9B,WAAW,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EACrC,YAAY,EAAE,aAAa,CAAC,YAAY,EACxC,YAAY,EAAE,aAAa,CAAC,KAAK,EACjC,UAAU,EAAE,8BAA8B,EAC1C,YAAY,EAAE,aAAa,CAAC,UAAU,GACtC,CACH,EAGA,sBAAsB,IAAI,CACzB,KAAC,4BAA4B,IAC3B,WAAW,EAAE,sBAAsB,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAC9C,UAAU,EAAE,yBAAyB,GACrC,CACH,EAEA,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7D,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAI,CAC5C,EAEA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,IAC7D,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAgC;IACjE,OAAO,CACL,eACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,6FAA6F,aAEvG,KAAC,WAAW,IAAC,SAAS,EAAC,yCAAyC,GAAG,EACnE,eAAK,SAAS,EAAC,gBAAgB,aAC7B,YAAG,SAAS,EAAC,sCAAsC,sCAE/C,EACJ,YAAG,SAAS,EAAC,oCAAoC,YAAE,OAAO,GAAK,IAC3D,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,EACd,MAAM,EACN,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GAQpB;IACC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC;IAC3D,MAAM,QAAQ,GACZ,IAAI,EAAE,UAAU,KAAK,qBAAqB,CAAC,iBAAiB,CAAC;IAE/D,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACpC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CACf,cACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,GAAG,EAAC,EAAE,EACN,SAAS,EAAC,6CAA6C,GACvD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IAAC,SAAS,EAAC,4CAA4C,GAAG,CACzE,EACD,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAK,SAAS,EAAC,yBAAyB,aACtC,aAAI,SAAS,EAAC,gDAAgD,YAC3D,WAAW,GACT,EACJ,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,CAC5B,KAAC,gBAAgB,IACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,mBAAmB,GAC9B,CACH,CAAC,CAAC,CAAC,CACF,QAAQ,IAAI,CACV,eAAM,SAAS,EAAC,0FAA0F,uBAEnG,CACR,CACF,IACG,EACN,eAAK,SAAS,EAAC,4EAA4E,aACxF,IAAI,EAAE,GAAG,IAAI,yBAAO,IAAI,CAAC,GAAG,GAAQ,EACpC,MAAM,IAAI,CACT,KAAC,oBAAoB,IAAC,KAAK,EAAE,MAAM,CAAC,eAAe,GAAI,CACxD,EACA,gBAAgB,IAAI,CACnB,8BACE,KAAC,GAAG,KAAG,EACP,0CAAkB,UAAU,CAAC,gBAAgB,CAAC,IAAQ,IACrD,CACJ,EACA,SAAS,IAAI,CACZ,8BACE,KAAC,GAAG,KAAG,EACP,uCAAe,UAAU,CAAC,SAAS,CAAC,IAAQ,IAC3C,CACJ,EACA,SAAS,IAAI,CACZ,8BACE,KAAC,GAAG,KAAG,EACP,uCAAe,UAAU,CAAC,SAAS,CAAC,IAAQ,IAC3C,CACJ,IACG,EACL,IAAI,EAAE,WAAW,IAAI,CACpB,YAAG,SAAS,EAAC,oCAAoC,YAC9C,IAAI,CAAC,WAAW,GACf,CACL,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAC5B,KAAK,GAGN;IACC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,CACL,8BACE,KAAC,GAAG,KAAG,EACP,gBAAM,SAAS,EAAC,uEAAuE,aACrF,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,GAAG,aAE3B,IACN,CACJ,CAAC;QACJ,KAAK,eAAe,CAAC,OAAO;YAC1B,OAAO,CACL,8BACE,KAAC,GAAG,KAAG,EACP,eAAM,SAAS,EAAC,kBAAkB,wBAAe,IAChD,CACJ,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,UAAU,GAKX;IACC,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAC,sBAAsB,YACnC,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,2CAA2C,qBAEpD,EACP,eAAM,SAAS,EAAC,8EAA8E,YAC3F,UAAU,CAAC,IAAI,GACX,IACH,EAEL,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,CAC9B,8BACE,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,2CAA2C,wBAEpD,EACP,gBAAM,SAAS,EAAC,mCAAmC,aAChD,UAAU,CAAC,KAAK,CAAC,OAAO,EACxB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;4CAC/B,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAClC,IACH,EACL,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,CAC9B,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,2CAA2C,4BAEpD,EACP,eAAM,SAAS,EAAC,mCAAmC,YAChD,UAAU,CAAC,KAAK,CAAC,UAAU,GACvB,IACH,CACP,IACA,CACJ,EAEA,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,CAC7B,8BACE,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,2CAA2C,oBAEpD,EACP,eAAM,SAAS,EAAC,6CAA6C,YAC1D,UAAU,CAAC,KAAK,CAAC,GAAG,GAChB,IACH,EACL,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,CACtC,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,2CAA2C,wBAEpD,EACP,gBAAM,SAAS,EAAC,yBAAyB,aACtC,UAAU,CAAC,KAAK,CAAC,cAAc,SAC3B,IACH,CACP,IACA,CACJ,IACG,GACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,KAAK,GAGN;IACC,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,UAAU,KAAK,CAAC,MAAM,GAAG,YACvC,cAAK,SAAS,EAAC,sCAAsC,YAClD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAAqB,SAAS,EAAC,aAAa,aAC1C,eAAM,SAAS,EAAC,+CAA+C,YAC5D,IAAI,CAAC,IAAI,GACL,EACN,IAAI,CAAC,WAAW,IAAI,CACnB,YAAG,SAAS,EAAC,sCAAsC,YAChD,IAAI,CAAC,WAAW,GACf,CACL,KARO,IAAI,CAAC,IAAI,CASb,CACP,CAAC,GACE,GACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,EAChC,SAAS,GAGV;IACC,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,uBAAuB,SAAS,CAAC,MAAM,GAAG,YACxD,cAAK,SAAS,EAAC,sCAAsC,YAClD,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACtB,eAAuC,SAAS,EAAC,aAAa,aAC5D,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,qCAAqC,YAClD,GAAG,CAAC,IAAI,GACJ,EACP,eAAM,SAAS,EAAC,6CAA6C,YAC1D,GAAG,CAAC,WAAW,GACX,IACH,EACL,GAAG,CAAC,WAAW,IAAI,CAClB,YAAG,SAAS,EAAC,sCAAsC,YAChD,GAAG,CAAC,WAAW,GACd,CACL,KAbO,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAc/B,CACP,CAAC,GACE,GACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,IAAI,GAGL;IACC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,0BAA0B,OAAO,CAAC,MAAM,GAAG,YACzD,cAAK,SAAS,EAAC,sCAAsC,YAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAC5B,eAAgB,SAAS,EAAC,kCAAkC,aAC1D,eAAM,SAAS,EAAC,wDAAwD,YACrE,IAAI,GACA,EACP,eAAM,SAAS,EAAC,uFAAuF,YACpG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAC9B,EACN,GAAG,CAAC,WAAW,IAAI,CAClB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,GAAG,CAAC,WAAW,GACX,CACR,KAXO,IAAI,CAYR,CACP,CAAC,GACE,GACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,IAAI,EAAwC;IACjE,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,IAAI,CAAC,MAAM,GAAG,YACrC,cAAK,SAAS,EAAC,4BAA4B,YACxC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAEE,SAAS,EAAC,+EAA+E,YAExF,GAAG,IAHC,GAAG,CAIH,CACR,CAAC,GACE,GACE,CACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,EACxB,aAAa,EACb,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAgBnB;IACC,OAAO,CACL,mBAAS,SAAS,EAAC,qBAAqB,aACtC,eAAK,SAAS,EAAC,mCAAmC,aAChD,aAAI,SAAS,EAAC,oEAAoE,0BAE7E,EACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,aAAa,IAAI,kBAAkB,EAC7C,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,oDAAoD,EACpD,8CAA8C,EAC9C,kDAAkD,CACnD,YAEA,aAAa,CAAC,CAAC,CAAC,CACf,8BACE,KAAC,eAAe,KAAG,sBAElB,CACJ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACvB,8BACE,KAAC,WAAW,IAAC,SAAS,EAAC,UAAU,GAAG,mBAEnC,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,YAAY,IAAC,SAAS,EAAC,UAAU,GAAG,sBAEpC,CACJ,GACM,IACL,EAEL,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,2FAA2F,aACxG,KAAC,WAAW,IAAC,SAAS,EAAC,2CAA2C,GAAG,EACrE,YAAG,SAAS,EAAC,iCAAiC,YAC3C,cAAc,CAAC,OAAO,GACrB,EACJ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAC,6DAA6D,gBAC5D,eAAe,wBAGnB,IACL,CACP,EAEA,kBAAkB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CACvD,cAAK,SAAS,EAAC,qCAAqC,YAClD,KAAC,UAAU,IACT,KAAK,EAAC,sBAAsB,EAC5B,WAAW,EAAC,gMAAwM,EACpN,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAC,iBAAiB,GAC3B,GACE,CACP,EAEA,CAAC,kBAAkB,IAAI,CAAC,aAAa,IAAI,CACxC,YAAG,SAAS,EAAC,+BAA+B,4IAIxC,CACL,IACO,CACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAS,uBAAuB,CAAC,EAC/B,QAAQ,GAGT;IACC,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,sBAAsB,QAAQ,CAAC,MAAM,GAAG,YACtD,cAAK,SAAS,EAAC,sCAAsC,YAClD,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,eAA2B,SAAS,EAAC,aAAa,aAChD,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,+CAA+C,YAC5D,MAAM,CAAC,QAAQ,GACX,EACP,KAAC,UAAU,IAAC,SAAS,EAAC,2CAA2C,GAAG,IAChE,EACL,MAAM,CAAC,OAAO,IAAI,CACjB,YAAG,SAAS,EAAC,sCAAsC,YAChD,MAAM,CAAC,OAAO,GACb,CACL,KAXO,MAAM,CAAC,QAAQ,CAYnB,CACP,CAAC,GACE,GACE,CACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,SAAS,+BAA+B,CAAC,EACvC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,GAOb;IACC,OAAO,CACL,mBAAS,SAAS,EAAC,qBAAqB,aACtC,eAAK,SAAS,EAAC,mCAAmC,aAChD,0BACE,aAAI,SAAS,EAAC,oEAAoE,sCAE7E,EACL,YAAG,SAAS,EAAC,sCAAsC,YAChD,WAAW;oCACV,CAAC,CAAC,2EAA2E;oCAC7E,CAAC,CAAC,6EAA6E,GAC/E,IACA,EACN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,sFAAsF,EACtF,oCAAoC,EACpC,qBAAqB,EACrB,kDAAkD,CACnD,YAEA,YAAY,CAAC,CAAC,CAAC,CACd,8BACE,KAAC,eAAe,KAAG,mBAElB,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,YAAY,IAAC,SAAS,EAAC,UAAU,GAAG,EACpC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,IACzD,CACJ,GACM,IACL,EAEL,YAAY,IAAI,CACf,eAAK,SAAS,EAAC,2FAA2F,aACxG,KAAC,WAAW,IAAC,SAAS,EAAC,2CAA2C,GAAG,EACrE,YAAG,SAAS,EAAC,iCAAiC,YAC3C,YAAY,CAAC,OAAO,GACnB,EACJ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,6DAA6D,gBAC5D,eAAe,wBAGnB,IACL,CACP,IACO,CACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,OAAO,CAAC,EACf,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CACL,8BACE,aAAI,SAAS,EAAC,yEAAyE,YACpF,KAAK,GACH,EACL,cAAK,SAAS,EAAC,iDAAiD,YAC7D,QAAQ,GACL,IACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,GAAG;IACV,OAAO,CACL,eAAM,SAAS,EAAC,UAAU,iBAAa,MAAM,YAC1C,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,eAAe,CAAC,EAAE,SAAS,EAAmC;IACrE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,eACrC,MAAM,gBACL,4BAA4B,aAEvC,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,qDAAqD,GAAG,EACvE,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cAAK,SAAS,EAAC,yCAAyC,GAAG,EAC3D,cAAK,SAAS,EAAC,yCAAyC,GAAG,EAC3D,cAAK,SAAS,EAAC,oDAAoD,GAAG,IAClE,IACF,EACL,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,eAAa,SAAS,EAAC,WAAW,aAChC,cAAK,SAAS,EAAC,yCAAyC,GAAG,EAC3D,cACE,SAAS,EAAC,2DAA2D,EACrE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAC/B,KALM,CAAC,CAML,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,SAAS,EAAmC;IACnE,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,aAED,KAAC,aAAa,IAAC,SAAS,EAAC,kCAAkC,GAAG,EAC9D,YAAG,SAAS,EAAC,2CAA2C,qCAEpD,EACJ,YAAG,SAAS,EAAC,kCAAkC,8EAE3C,IACA,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACtC,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,SAAS,aAAa,CAAC,EAAE,SAAS,EAAmC;IACnE,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACjD,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACjD,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EACrE,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,IAClE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAmC;IAC/D,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,sBAAsB,GAAG,GAC7B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAmC;IACjE,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,uBAAuB,GAAG,EAClC,eAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,IACjE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAmC;IAClE,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,GAAG,EAChC,eAAM,CAAC,EAAC,gBAAgB,GAAG,IACvB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAmC;IACjE,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,gCAAgC,GAAG,EAC3C,eAAM,CAAC,EAAC,iCAAiC,GAAG,EAC5C,eAAM,CAAC,EAAC,YAAY,GAAG,EACvB,eAAM,CAAC,EAAC,YAAY,GAAG,IACnB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAmC;IAChE,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,sEAAsE,GAAG,GAC7E,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAmC;IAClE,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,gHAAgH,GAAG,GACvH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,SAAS,EAAC,cAAc,iBACZ,MAAM,YAElB,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC"}
|
package/mcp-server/index.d.ts
CHANGED
|
@@ -16,4 +16,12 @@ 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 } from "./McpServerDetailView";
|
|
19
|
+
export { useDiscoverCapabilities } from "./useDiscoverCapabilities";
|
|
20
|
+
export type { UseDiscoverCapabilitiesReturn } from "./useDiscoverCapabilities";
|
|
21
|
+
export { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
22
|
+
export type { UseMcpServerCredentialsReturn } from "./useMcpServerCredentials";
|
|
23
|
+
export { useTriggerApprovalPolicySession } from "./useTriggerApprovalPolicySession";
|
|
24
|
+
export type { UseTriggerApprovalPolicySessionReturn, TriggerApprovalPolicyResult, } from "./useTriggerApprovalPolicySession";
|
|
25
|
+
export { ApprovalPolicyGeneratorPanel } from "./ApprovalPolicyGeneratorPanel";
|
|
26
|
+
export type { ApprovalPolicyGeneratorPanelProps } from "./ApprovalPolicyGeneratorPanel";
|
|
19
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,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,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,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,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EACV,qCAAqC,EACrC,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC"}
|
package/mcp-server/index.js
CHANGED
|
@@ -7,4 +7,8 @@ export { McpToolSelector } from "./McpToolSelector";
|
|
|
7
7
|
export { McpServerConfigPanel } from "./McpServerConfigPanel";
|
|
8
8
|
export { useMcpServerSetup, toServerKey } from "./useMcpServerSetup";
|
|
9
9
|
export { McpServerDetailView } from "./McpServerDetailView";
|
|
10
|
+
export { useDiscoverCapabilities } from "./useDiscoverCapabilities";
|
|
11
|
+
export { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
12
|
+
export { useTriggerApprovalPolicySession } from "./useTriggerApprovalPolicySession";
|
|
13
|
+
export { ApprovalPolicyGeneratorPanel } from "./ApprovalPolicyGeneratorPanel";
|
|
10
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;AAM9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,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;AAM9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAMpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
2
|
+
import type { EnvVarInput } from "@stigmer/sdk";
|
|
3
|
+
export interface UseDiscoverCapabilitiesReturn {
|
|
4
|
+
/**
|
|
5
|
+
* Trigger server-side MCP discovery for the given MCP server.
|
|
6
|
+
*
|
|
7
|
+
* When `runtimeEnv` is provided, the values are passed directly to
|
|
8
|
+
* the backend as one-time credentials (not persisted to any
|
|
9
|
+
* environment). When omitted, the backend resolves credentials from
|
|
10
|
+
* the user's personal environment.
|
|
11
|
+
*
|
|
12
|
+
* Blocks until discovery completes (~30s timeout).
|
|
13
|
+
*
|
|
14
|
+
* @param mcpServerId - System-generated ID of the MCP server (metadata.id).
|
|
15
|
+
* @param runtimeEnv - Optional one-time environment variables for discovery.
|
|
16
|
+
* @returns The updated McpServer with populated discovered_capabilities.
|
|
17
|
+
*/
|
|
18
|
+
readonly discover: (mcpServerId: string, runtimeEnv?: Record<string, EnvVarInput>) => Promise<McpServer>;
|
|
19
|
+
/** `true` while a discovery RPC is in flight. */
|
|
20
|
+
readonly isDiscovering: boolean;
|
|
21
|
+
/** Error from the most recent failed discovery, or `null`. */
|
|
22
|
+
readonly error: Error | null;
|
|
23
|
+
/** Clear the error state. */
|
|
24
|
+
readonly clearError: () => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Action hook for triggering server-side MCP server capability discovery.
|
|
28
|
+
*
|
|
29
|
+
* Calls the `discoverCapabilities` RPC which delegates to the agent-runner
|
|
30
|
+
* via a Temporal workflow. The RPC blocks until discovery completes
|
|
31
|
+
* (typically 5-15 seconds, ~30s timeout).
|
|
32
|
+
*
|
|
33
|
+
* Supports two modes:
|
|
34
|
+
* - **Save for future** (default): Credentials are saved to the personal
|
|
35
|
+
* environment first, then `discover(id)` is called without `runtimeEnv`.
|
|
36
|
+
* - **One-time use**: `discover(id, runtimeEnv)` passes credentials
|
|
37
|
+
* directly to the backend. They are used for this discovery only and
|
|
38
|
+
* not persisted to any environment.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* const { discover, isDiscovering, error } = useDiscoverCapabilities();
|
|
43
|
+
* const { refetch } = useMcpServer(org, slug);
|
|
44
|
+
*
|
|
45
|
+
* // Save for future: credentials already in personal environment
|
|
46
|
+
* async function handleDiscoverSaved() {
|
|
47
|
+
* await discover(mcpServer.metadata.id);
|
|
48
|
+
* refetch();
|
|
49
|
+
* }
|
|
50
|
+
*
|
|
51
|
+
* // One-time use: pass credentials directly
|
|
52
|
+
* async function handleDiscoverTemporary(values: Record<string, EnvVarInput>) {
|
|
53
|
+
* await discover(mcpServer.metadata.id, values);
|
|
54
|
+
* refetch();
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function useDiscoverCapabilities(): UseDiscoverCapabilitiesReturn;
|
|
59
|
+
//# sourceMappingURL=useDiscoverCapabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDiscoverCapabilities.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useDiscoverCapabilities.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KACrC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,uBAAuB,IAAI,6BAA6B,CA+CvE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { create } from "@bufbuild/protobuf";
|
|
4
|
+
import { DiscoverCapabilitiesInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
5
|
+
import { useStigmer } from "../hooks";
|
|
6
|
+
import { toError } from "../internal/toError";
|
|
7
|
+
/**
|
|
8
|
+
* Action hook for triggering server-side MCP server capability discovery.
|
|
9
|
+
*
|
|
10
|
+
* Calls the `discoverCapabilities` RPC which delegates to the agent-runner
|
|
11
|
+
* via a Temporal workflow. The RPC blocks until discovery completes
|
|
12
|
+
* (typically 5-15 seconds, ~30s timeout).
|
|
13
|
+
*
|
|
14
|
+
* Supports two modes:
|
|
15
|
+
* - **Save for future** (default): Credentials are saved to the personal
|
|
16
|
+
* environment first, then `discover(id)` is called without `runtimeEnv`.
|
|
17
|
+
* - **One-time use**: `discover(id, runtimeEnv)` passes credentials
|
|
18
|
+
* directly to the backend. They are used for this discovery only and
|
|
19
|
+
* not persisted to any environment.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* const { discover, isDiscovering, error } = useDiscoverCapabilities();
|
|
24
|
+
* const { refetch } = useMcpServer(org, slug);
|
|
25
|
+
*
|
|
26
|
+
* // Save for future: credentials already in personal environment
|
|
27
|
+
* async function handleDiscoverSaved() {
|
|
28
|
+
* await discover(mcpServer.metadata.id);
|
|
29
|
+
* refetch();
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* // One-time use: pass credentials directly
|
|
33
|
+
* async function handleDiscoverTemporary(values: Record<string, EnvVarInput>) {
|
|
34
|
+
* await discover(mcpServer.metadata.id, values);
|
|
35
|
+
* refetch();
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function useDiscoverCapabilities() {
|
|
40
|
+
const stigmer = useStigmer();
|
|
41
|
+
const [isDiscovering, setIsDiscovering] = useState(false);
|
|
42
|
+
const [error, setError] = useState(null);
|
|
43
|
+
const clearError = useCallback(() => setError(null), []);
|
|
44
|
+
const discover = useCallback(async (mcpServerId, runtimeEnv) => {
|
|
45
|
+
setIsDiscovering(true);
|
|
46
|
+
setError(null);
|
|
47
|
+
try {
|
|
48
|
+
const runtimeEnvMap = {};
|
|
49
|
+
if (runtimeEnv) {
|
|
50
|
+
for (const [key, input] of Object.entries(runtimeEnv)) {
|
|
51
|
+
runtimeEnvMap[key] = {
|
|
52
|
+
value: input.value,
|
|
53
|
+
isSecret: input.isSecret ?? false,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const input = create(DiscoverCapabilitiesInputSchema, {
|
|
58
|
+
mcpServerId,
|
|
59
|
+
...(Object.keys(runtimeEnvMap).length > 0 && {
|
|
60
|
+
runtimeEnv: runtimeEnvMap,
|
|
61
|
+
}),
|
|
62
|
+
});
|
|
63
|
+
const result = await stigmer.mcpServer.discoverCapabilities(input);
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
const wrapped = toError(err);
|
|
68
|
+
setError(wrapped);
|
|
69
|
+
throw wrapped;
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
setIsDiscovering(false);
|
|
73
|
+
}
|
|
74
|
+
}, [stigmer]);
|
|
75
|
+
return { discover, isDiscovering, error, clearError };
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=useDiscoverCapabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDiscoverCapabilities.js","sourceRoot":"","sources":["../../src/mcp-server/useDiscoverCapabilities.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AAExG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA6B9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,EACH,WAAmB,EACnB,UAAwC,EACpB,EAAE;QACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,aAAa,GAAyD,EAAE,CAAC;YAC/E,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtD,aAAa,CAAC,GAAG,CAAC,GAAG;wBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;qBAClC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,+BAA+B,EAAE;gBACpD,WAAW;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI;oBAC3C,UAAU,EAAE,aAAa;iBAC1B,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM,OAAO,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC"}
|