@stigmer/react 3.1.6 → 3.1.8
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/agent/AgentDetailView.d.ts +9 -1
- package/agent/AgentDetailView.d.ts.map +1 -1
- package/agent/AgentDetailView.js +15 -4
- package/agent/AgentDetailView.js.map +1 -1
- package/environment/EnvironmentListPanel.d.ts.map +1 -1
- package/environment/EnvironmentListPanel.js +11 -3
- package/environment/EnvironmentListPanel.js.map +1 -1
- package/environment/EnvironmentVariableEditor.d.ts.map +1 -1
- package/environment/EnvironmentVariableEditor.js +9 -3
- package/environment/EnvironmentVariableEditor.js.map +1 -1
- package/environment/index.d.ts +1 -0
- package/environment/index.d.ts.map +1 -1
- package/environment/index.js +1 -0
- package/environment/index.js.map +1 -1
- package/environment/shareRestriction.d.ts +13 -0
- package/environment/shareRestriction.d.ts.map +1 -0
- package/environment/shareRestriction.js +15 -0
- package/environment/shareRestriction.js.map +1 -0
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +12 -0
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/ToolRunGroup.js +4 -0
- package/execution/ToolRunGroup.js.map +1 -1
- package/execution/WriteBackCard.d.ts +14 -5
- package/execution/WriteBackCard.d.ts.map +1 -1
- package/execution/WriteBackCard.js +103 -32
- package/execution/WriteBackCard.js.map +1 -1
- package/execution/WriteBacksWidget.d.ts +1 -1
- package/execution/WriteBacksWidget.js +2 -2
- package/execution/WriteBacksWidget.js.map +1 -1
- package/execution/index.d.ts +2 -0
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +1 -0
- package/execution/index.js.map +1 -1
- package/execution/write-back-utils.d.ts +57 -0
- package/execution/write-back-utils.d.ts.map +1 -0
- package/execution/write-back-utils.js +81 -0
- package/execution/write-back-utils.js.map +1 -0
- package/index.d.ts +6 -2
- package/index.d.ts.map +1 -1
- package/index.js +6 -1
- package/index.js.map +1 -1
- package/internal/dev/dom-counter.d.ts.map +1 -1
- package/internal/dev/dom-counter.js +2 -2
- package/internal/dev/dom-counter.js.map +1 -1
- package/internal/dev/enabled.d.ts +7 -0
- package/internal/dev/enabled.d.ts.map +1 -0
- package/internal/dev/enabled.js +38 -0
- package/internal/dev/enabled.js.map +1 -0
- package/internal/dev/profiler-wrapper.d.ts +3 -3
- package/internal/dev/profiler-wrapper.d.ts.map +1 -1
- package/internal/dev/profiler-wrapper.js +5 -5
- package/internal/dev/profiler-wrapper.js.map +1 -1
- package/internal/dev/use-key-stability.d.ts.map +1 -1
- package/internal/dev/use-key-stability.js +2 -2
- package/internal/dev/use-key-stability.js.map +1 -1
- package/internal/dev/use-render-tracer.d.ts +2 -2
- package/internal/dev/use-render-tracer.d.ts.map +1 -1
- package/internal/dev/use-render-tracer.js +4 -4
- package/internal/dev/use-render-tracer.js.map +1 -1
- package/internal/dev/use-stream-rate.d.ts +2 -1
- package/internal/dev/use-stream-rate.d.ts.map +1 -1
- package/internal/dev/use-stream-rate.js +4 -3
- package/internal/dev/use-stream-rate.js.map +1 -1
- package/library/ResourceVisibilityControl.d.ts +3 -0
- package/library/ResourceVisibilityControl.d.ts.map +1 -1
- package/library/ResourceVisibilityControl.js +22 -8
- package/library/ResourceVisibilityControl.js.map +1 -1
- package/library/useUpdateVisibility.d.ts +5 -3
- package/library/useUpdateVisibility.d.ts.map +1 -1
- package/library/useUpdateVisibility.js +7 -2
- package/library/useUpdateVisibility.js.map +1 -1
- package/library/visibilityLevels.d.ts +17 -0
- package/library/visibilityLevels.d.ts.map +1 -1
- package/library/visibilityLevels.js +32 -0
- package/library/visibilityLevels.js.map +1 -1
- package/mcp-server/McpServerConnectDialog.d.ts.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +7 -3
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +6 -3
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/McpServerPicker.d.ts.map +1 -1
- package/mcp-server/McpServerPicker.js +3 -1
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/OAuthRequiredNotice.d.ts +29 -0
- package/mcp-server/OAuthRequiredNotice.d.ts.map +1 -0
- package/mcp-server/OAuthRequiredNotice.js +29 -0
- package/mcp-server/OAuthRequiredNotice.js.map +1 -0
- package/mcp-server/StdioSandboxNotice.d.ts +43 -0
- package/mcp-server/StdioSandboxNotice.d.ts.map +1 -0
- package/mcp-server/StdioSandboxNotice.js +45 -0
- package/mcp-server/StdioSandboxNotice.js.map +1 -0
- package/mcp-server/useMcpServerCredentials.d.ts +12 -0
- package/mcp-server/useMcpServerCredentials.d.ts.map +1 -1
- package/mcp-server/useMcpServerCredentials.js +12 -4
- package/mcp-server/useMcpServerCredentials.js.map +1 -1
- package/package.json +4 -4
- package/session/NewSessionViewer.d.ts +11 -1
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +28 -8
- package/session/NewSessionViewer.js.map +1 -1
- package/session/SessionViewer.d.ts +9 -2
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +26 -12
- package/session/SessionViewer.js.map +1 -1
- package/session/audience.d.ts +12 -4
- package/session/audience.d.ts.map +1 -1
- package/session/facets/ChangesTab.d.ts.map +1 -1
- package/session/facets/ChangesTab.js +3 -1
- package/session/facets/ChangesTab.js.map +1 -1
- package/session/useNewSessionFlow.d.ts +12 -0
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +13 -1
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSessionPageFlow.d.ts +13 -0
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +7 -2
- package/session/useSessionPageFlow.js.map +1 -1
- package/sharing/ShareAgentDialog.d.ts +55 -0
- package/sharing/ShareAgentDialog.d.ts.map +1 -0
- package/sharing/ShareAgentDialog.js +393 -0
- package/sharing/ShareAgentDialog.js.map +1 -0
- package/sharing/SharedAgentChat.d.ts +84 -0
- package/sharing/SharedAgentChat.d.ts.map +1 -0
- package/sharing/SharedAgentChat.js +80 -0
- package/sharing/SharedAgentChat.js.map +1 -0
- package/sharing/index.d.ts +16 -0
- package/sharing/index.d.ts.map +1 -0
- package/sharing/index.js +11 -0
- package/sharing/index.js.map +1 -0
- package/sharing/useRotateShareLink.d.ts +42 -0
- package/sharing/useRotateShareLink.d.ts.map +1 -0
- package/sharing/useRotateShareLink.js +55 -0
- package/sharing/useRotateShareLink.js.map +1 -0
- package/sharing/useShareAgent.d.ts +68 -0
- package/sharing/useShareAgent.d.ts.map +1 -0
- package/sharing/useShareAgent.js +41 -0
- package/sharing/useShareAgent.js.map +1 -0
- package/sharing/useShareToolReadiness.d.ts +48 -0
- package/sharing/useShareToolReadiness.d.ts.map +1 -0
- package/sharing/useShareToolReadiness.js +93 -0
- package/sharing/useShareToolReadiness.js.map +1 -0
- package/sharing/useSharedAgentProfile.d.ts +84 -0
- package/sharing/useSharedAgentProfile.d.ts.map +1 -0
- package/sharing/useSharedAgentProfile.js +72 -0
- package/sharing/useSharedAgentProfile.js.map +1 -0
- package/sharing/useUpdateAgentSharing.d.ts +86 -0
- package/sharing/useUpdateAgentSharing.d.ts.map +1 -0
- package/sharing/useUpdateAgentSharing.js +81 -0
- package/sharing/useUpdateAgentSharing.js.map +1 -0
- package/src/agent/AgentDetailView.tsx +28 -3
- package/src/environment/EnvironmentListPanel.tsx +47 -18
- package/src/environment/EnvironmentVariableEditor.tsx +27 -17
- package/src/environment/__tests__/shareRestriction.test.ts +35 -0
- package/src/environment/index.ts +5 -0
- package/src/environment/shareRestriction.ts +22 -0
- package/src/execution/ToolCallItem.tsx +19 -1
- package/src/execution/ToolRunGroup.tsx +4 -0
- package/src/execution/WriteBackCard.tsx +285 -88
- package/src/execution/WriteBacksWidget.tsx +5 -5
- package/src/execution/__tests__/ToolCallItem.test.tsx +51 -0
- package/src/execution/__tests__/ToolRunGroup.test.tsx +22 -0
- package/src/execution/__tests__/WriteBackCard.test.tsx +64 -10
- package/src/execution/__tests__/write-back-utils.test.ts +135 -0
- package/src/execution/index.ts +7 -0
- package/src/execution/write-back-utils.ts +107 -0
- package/src/index.ts +34 -0
- package/src/internal/dev/__tests__/use-key-stability.test.ts +4 -0
- package/src/internal/dev/__tests__/use-render-tracer.test.ts +4 -0
- package/src/internal/dev/dom-counter.ts +2 -3
- package/src/internal/dev/enabled.ts +39 -0
- package/src/internal/dev/profiler-wrapper.tsx +5 -6
- package/src/internal/dev/use-key-stability.ts +2 -3
- package/src/internal/dev/use-render-tracer.ts +4 -5
- package/src/internal/dev/use-stream-rate.ts +4 -4
- package/src/library/ResourceVisibilityControl.tsx +23 -7
- package/src/library/__tests__/visibilityLevels.test.ts +33 -0
- package/src/library/useUpdateVisibility.ts +9 -3
- package/src/library/visibilityLevels.ts +36 -0
- package/src/mcp-server/McpServerConnectDialog.tsx +23 -11
- package/src/mcp-server/McpServerDetailView.tsx +22 -9
- package/src/mcp-server/McpServerPicker.tsx +12 -9
- package/src/mcp-server/OAuthRequiredNotice.tsx +77 -0
- package/src/mcp-server/StdioSandboxNotice.tsx +98 -0
- package/src/mcp-server/__tests__/OAuthRequiredNotice.test.tsx +25 -0
- package/src/mcp-server/__tests__/StdioSandboxNotice.test.tsx +71 -0
- package/src/mcp-server/useMcpServerCredentials.ts +25 -4
- package/src/session/NewSessionViewer.tsx +67 -31
- package/src/session/SessionViewer.tsx +67 -36
- package/src/session/__tests__/audienceWiring.test.tsx +99 -0
- package/src/session/__tests__/useNewSessionFlow.test.tsx +75 -1
- package/src/session/__tests__/useSessionPageFlow.guest.test.tsx +112 -0
- package/src/session/audience.ts +12 -4
- package/src/session/facets/ChangesTab.tsx +6 -4
- package/src/session/useNewSessionFlow.ts +26 -1
- package/src/session/useSessionPageFlow.ts +24 -2
- package/src/sharing/ShareAgentDialog.tsx +1255 -0
- package/src/sharing/SharedAgentChat.tsx +283 -0
- package/src/sharing/__tests__/ShareAgentDialog.test.tsx +745 -0
- package/src/sharing/__tests__/SharedAgentChat.test.tsx +222 -0
- package/src/sharing/__tests__/useRotateShareLink.test.tsx +96 -0
- package/src/sharing/__tests__/useShareAgent.test.tsx +127 -0
- package/src/sharing/__tests__/useShareToolReadiness.test.tsx +182 -0
- package/src/sharing/__tests__/useSharedAgentProfile.test.tsx +201 -0
- package/src/sharing/__tests__/useUpdateAgentSharing.test.tsx +200 -0
- package/src/sharing/index.ts +30 -0
- package/src/sharing/useRotateShareLink.ts +76 -0
- package/src/sharing/useShareAgent.tsx +106 -0
- package/src/sharing/useShareToolReadiness.ts +129 -0
- package/src/sharing/useSharedAgentProfile.ts +131 -0
- package/src/sharing/useUpdateAgentSharing.ts +151 -0
- package/src/switch/Switch.tsx +92 -0
- package/src/switch/__tests__/Switch.test.tsx +88 -0
- package/src/switch/index.ts +2 -0
- package/styles.css +1 -1
- package/switch/Switch.d.ts +47 -0
- package/switch/Switch.d.ts.map +1 -0
- package/switch/Switch.js +36 -0
- package/switch/Switch.js.map +1 -0
- package/switch/index.d.ts +3 -0
- package/switch/index.d.ts.map +1 -0
- package/switch/index.js +2 -0
- package/switch/index.js.map +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useRef } from "react";
|
|
2
|
-
|
|
2
|
+
import { isPerfLoggingEnabled } from "./enabled.js";
|
|
3
3
|
/** Rolling window size for interval statistics. */
|
|
4
4
|
const WINDOW_SIZE = 30;
|
|
5
5
|
/** Log a sampled line every Nth tick. */
|
|
@@ -15,11 +15,12 @@ const NOOP_TRACKER = {
|
|
|
15
15
|
* loop (not during render), so it uses a ref-backed mutable object
|
|
16
16
|
* rather than React state.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* Returns a no-op tracker unless perf logging is explicitly enabled
|
|
19
|
+
* (see {@link isPerfLoggingEnabled}) — off by default in every environment.
|
|
19
20
|
*/
|
|
20
21
|
export function useStreamRate() {
|
|
21
22
|
const stateRef = useRef(null);
|
|
22
|
-
if (!
|
|
23
|
+
if (!isPerfLoggingEnabled())
|
|
23
24
|
return NOOP_TRACKER;
|
|
24
25
|
if (!stateRef.current) {
|
|
25
26
|
stateRef.current = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-stream-rate.js","sourceRoot":"","sources":["../../../src/internal/dev/use-stream-rate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-stream-rate.js","sourceRoot":"","sources":["../../../src/internal/dev/use-stream-rate.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,9 @@ export interface ResourceVisibilityControlProps {
|
|
|
43
43
|
* set collapses to Private / Public.
|
|
44
44
|
* - Instances: Private / Organization / Public — platform is excluded by
|
|
45
45
|
* design to preserve tenant isolation.
|
|
46
|
+
* - Environments: Private / Organization only — secret values never leave
|
|
47
|
+
* the org boundary. In `local` mode there are no levels to choose (the
|
|
48
|
+
* OSS backend is single-user), so the control degrades to a badge.
|
|
46
49
|
*
|
|
47
50
|
* The backend remains the enforcer (`ValidateVisibilityStep` rejects
|
|
48
51
|
* platform without an IdP); the gate here only prevents offering an option
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceVisibilityControl.d.ts","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceVisibilityControl.d.ts","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAUpG,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAuBlC,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,IAAI,EACJ,UAAU,EACV,UAAU,EACV,GAAG,EACH,SAAS,EACT,SAAS,GACV,EAAE,8BAA8B,2CA8DhC"}
|
|
@@ -5,7 +5,7 @@ import { useDeploymentMode } from "../deployment-mode.js";
|
|
|
5
5
|
import { PermissionGate } from "../iam-policy/PermissionGate.js";
|
|
6
6
|
import { useSsoProvider } from "../identity-provider/useSsoProvider.js";
|
|
7
7
|
import { VisibilityBadge, VisibilitySelector } from "./VisibilitySelector.js";
|
|
8
|
-
import { blueprintVisibilityLevels, INSTANCE_VISIBILITY_LEVELS, } from "./visibilityLevels.js";
|
|
8
|
+
import { blueprintVisibilityLevels, environmentVisibilityLevels, INSTANCE_VISIBILITY_LEVELS, } from "./visibilityLevels.js";
|
|
9
9
|
import { useUpdateVisibility, } from "./useUpdateVisibility.js";
|
|
10
10
|
/**
|
|
11
11
|
* Maps a {@link VisibilityResourceKind} (which mirrors the SDK method namespace,
|
|
@@ -20,6 +20,7 @@ const FGA_KIND = {
|
|
|
20
20
|
mcpServer: "mcp_server",
|
|
21
21
|
agentInstance: "agent_instance",
|
|
22
22
|
workflowInstance: "workflow_instance",
|
|
23
|
+
environment: "environment",
|
|
23
24
|
};
|
|
24
25
|
const INSTANCE_KINDS = new Set([
|
|
25
26
|
"agentInstance",
|
|
@@ -45,6 +46,9 @@ const INSTANCE_KINDS = new Set([
|
|
|
45
46
|
* set collapses to Private / Public.
|
|
46
47
|
* - Instances: Private / Organization / Public — platform is excluded by
|
|
47
48
|
* design to preserve tenant isolation.
|
|
49
|
+
* - Environments: Private / Organization only — secret values never leave
|
|
50
|
+
* the org boundary. In `local` mode there are no levels to choose (the
|
|
51
|
+
* OSS backend is single-user), so the control degrades to a badge.
|
|
48
52
|
*
|
|
49
53
|
* The backend remains the enforcer (`ValidateVisibilityStep` rejects
|
|
50
54
|
* platform without an IdP); the gate here only prevents offering an option
|
|
@@ -54,16 +58,21 @@ export function ResourceVisibilityControl({ kind, resourceId, visibility, org, o
|
|
|
54
58
|
const { updateVisibility, isPending } = useUpdateVisibility(kind, resourceId);
|
|
55
59
|
const deploymentMode = useDeploymentMode();
|
|
56
60
|
const isInstance = INSTANCE_KINDS.has(kind);
|
|
61
|
+
const isEnvironment = kind === "environment";
|
|
57
62
|
// The IdP lookup only matters for blueprints in cloud mode; passing null
|
|
58
63
|
// makes the hook a stable no-op everywhere else.
|
|
59
|
-
const idpLookupOrg = !isInstance && deploymentMode === "cloud"
|
|
64
|
+
const idpLookupOrg = !isInstance && !isEnvironment && deploymentMode === "cloud"
|
|
65
|
+
? (org ?? null)
|
|
66
|
+
: null;
|
|
60
67
|
const { ssoProvider } = useSsoProvider(idpLookupOrg);
|
|
61
|
-
const options =
|
|
62
|
-
?
|
|
63
|
-
:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
const options = isEnvironment
|
|
69
|
+
? environmentVisibilityLevels(deploymentMode)
|
|
70
|
+
: isInstance
|
|
71
|
+
? INSTANCE_VISIBILITY_LEVELS
|
|
72
|
+
: blueprintVisibilityLevels({
|
|
73
|
+
deploymentMode,
|
|
74
|
+
hasIdentityProvider: ssoProvider !== null,
|
|
75
|
+
});
|
|
67
76
|
const handleChange = useCallback(async (next) => {
|
|
68
77
|
try {
|
|
69
78
|
await updateVisibility(next);
|
|
@@ -76,6 +85,11 @@ export function ResourceVisibilityControl({ kind, resourceId, visibility, org, o
|
|
|
76
85
|
}
|
|
77
86
|
}, [updateVisibility, onChanged]);
|
|
78
87
|
const badge = _jsx(VisibilityBadge, { visibility: visibility, className: className });
|
|
88
|
+
// Fewer than two levels means there is nothing to choose (e.g. an
|
|
89
|
+
// environment in local mode) — stay legible with the read-only badge.
|
|
90
|
+
if (options.length < 2) {
|
|
91
|
+
return badge;
|
|
92
|
+
}
|
|
79
93
|
return (_jsx(PermissionGate, { resource: { kind: FGA_KIND[kind], id: resourceId }, relation: "can_edit", fallback: badge, loading: badge, children: _jsx(VisibilitySelector, { visibility: visibility, options: options, onVisibilityChange: handleChange, isPending: isPending, ariaLabel: isInstance ? "Instance visibility" : "Resource visibility", className: className }) }));
|
|
80
94
|
}
|
|
81
95
|
//# sourceMappingURL=ResourceVisibilityControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceVisibilityControl.js","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,QAAQ,GAA2C;IACvD,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ResourceVisibilityControl.js","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
2
2
|
/** Resource kinds that support the `updateVisibility` RPC. */
|
|
3
|
-
export type VisibilityResourceKind = "skill" | "agent" | "mcpServer" | "workflow" | "agentInstance" | "workflowInstance";
|
|
3
|
+
export type VisibilityResourceKind = "skill" | "agent" | "mcpServer" | "workflow" | "agentInstance" | "workflowInstance" | "environment";
|
|
4
4
|
/** Return value of {@link useUpdateVisibility}. */
|
|
5
5
|
export interface UseUpdateVisibilityReturn {
|
|
6
6
|
/**
|
|
@@ -17,8 +17,10 @@ export interface UseUpdateVisibilityReturn {
|
|
|
17
17
|
* Behavior hook that updates the visibility of a resource.
|
|
18
18
|
*
|
|
19
19
|
* Supports blueprints (Agent, Workflow, Skill, MCP Server) with the
|
|
20
|
-
* full private/org/public/platform spectrum,
|
|
21
|
-
* (AgentInstance, WorkflowInstance) with private/org/public
|
|
20
|
+
* full private/org/public/platform spectrum, instances
|
|
21
|
+
* (AgentInstance, WorkflowInstance) with private/org/public, and
|
|
22
|
+
* environments with private/org (secret values never leave the org
|
|
23
|
+
* boundary, so broader levels are rejected by the backend).
|
|
22
24
|
*
|
|
23
25
|
* Wraps the generated `stigmer.{kind}.updateVisibility()` SDK method
|
|
24
26
|
* with loading and error state management. The hook is stateless with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateVisibility.d.ts","sourceRoot":"","sources":["../../src/library/useUpdateVisibility.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAK/F,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,OAAO,GACP,WAAW,GACX,UAAU,GACV,eAAe,GACf,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useUpdateVisibility.d.ts","sourceRoot":"","sources":["../../src/library/useUpdateVisibility.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAK/F,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,OAAO,GACP,WAAW,GACX,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;AAElB,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CACzB,UAAU,EAAE,qBAAqB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,sBAAsB,EAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,yBAAyB,CAoD3B"}
|
|
@@ -8,8 +8,10 @@ import { toError } from "../internal/toError.js";
|
|
|
8
8
|
* Behavior hook that updates the visibility of a resource.
|
|
9
9
|
*
|
|
10
10
|
* Supports blueprints (Agent, Workflow, Skill, MCP Server) with the
|
|
11
|
-
* full private/org/public/platform spectrum,
|
|
12
|
-
* (AgentInstance, WorkflowInstance) with private/org/public
|
|
11
|
+
* full private/org/public/platform spectrum, instances
|
|
12
|
+
* (AgentInstance, WorkflowInstance) with private/org/public, and
|
|
13
|
+
* environments with private/org (secret values never leave the org
|
|
14
|
+
* boundary, so broader levels are rejected by the backend).
|
|
13
15
|
*
|
|
14
16
|
* Wraps the generated `stigmer.{kind}.updateVisibility()` SDK method
|
|
15
17
|
* with loading and error state management. The hook is stateless with
|
|
@@ -65,6 +67,9 @@ export function useUpdateVisibility(kind, resourceId) {
|
|
|
65
67
|
case "workflowInstance":
|
|
66
68
|
await stigmer.workflowInstance.updateVisibility(input);
|
|
67
69
|
break;
|
|
70
|
+
case "environment":
|
|
71
|
+
await stigmer.environment.updateVisibility(input);
|
|
72
|
+
break;
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
75
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateVisibility.js","sourceRoot":"","sources":["../../src/library/useUpdateVisibility.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,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useUpdateVisibility.js","sourceRoot":"","sources":["../../src/library/useUpdateVisibility.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,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AA2BjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAA4B,EAC5B,UAAyB;IAEzB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,UAAiC,EAAE,EAAE;QAC1C,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,2BAA2B,EAAE;gBAChD,UAAU;gBACV,UAAU;aACX,CAAC,CAAC;YAEH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,WAAW;oBACd,MAAM,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,eAAe;oBAClB,MAAM,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,kBAAkB;oBACrB,MAAM,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAClD,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAC5B,CAAC;IAEF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -80,6 +80,23 @@ export declare function blueprintVisibilityLevels(context: BlueprintVisibilityLe
|
|
|
80
80
|
* an instance is about who can run it and see its executions.
|
|
81
81
|
*/
|
|
82
82
|
export declare const INSTANCE_VISIBILITY_LEVELS: readonly VisibilityLevelOption[];
|
|
83
|
+
/**
|
|
84
|
+
* The levels an environment selector offers, in escalation order:
|
|
85
|
+
* Private / Organization. Broader levels are structurally absent —
|
|
86
|
+
* secret values never leave the org boundary (the backend rejects
|
|
87
|
+
* public/platform via the kind's VisibilityConfig).
|
|
88
|
+
*
|
|
89
|
+
* Org sharing on an environment carries credential semantics, so the
|
|
90
|
+
* copy names both effects: members get redacted view, and executions
|
|
91
|
+
* in the org (teammate-run agents AND shared-agent visitors) can use
|
|
92
|
+
* the values at runtime. Secret reveal stays creator-only at every
|
|
93
|
+
* level.
|
|
94
|
+
*
|
|
95
|
+
* In `local` mode (OSS Go backend, single-user) sharing has no
|
|
96
|
+
* enforcement meaning, so no interactive levels are offered —
|
|
97
|
+
* {@link ResourceVisibilityControl} degrades to a read-only badge.
|
|
98
|
+
*/
|
|
99
|
+
export declare function environmentVisibilityLevels(deploymentMode: "cloud" | "local"): readonly VisibilityLevelOption[];
|
|
83
100
|
/**
|
|
84
101
|
* Canonical option for a visibility value, independent of any kind's offered
|
|
85
102
|
* list. Used to render the current level even when it is not offerable in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityLevels.d.ts","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,qEAAqE;QACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,mEAAmE;QACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC1D;AAyCD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,SAAS,qBAAqB,EAAE,CAOlC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,qBAAqB,EAUtE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,qBAAqB,GAChC,qBAAqB,CAWvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAEzE"}
|
|
1
|
+
{"version":3,"file":"visibilityLevels.d.ts","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,qEAAqE;QACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,mEAAmE;QACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC1D;AAyCD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,SAAS,qBAAqB,EAAE,CAOlC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,qBAAqB,EAUtE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,OAAO,GAAG,OAAO,GAChC,SAAS,qBAAqB,EAAE,CAgBlC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,qBAAqB,GAChC,qBAAqB,CAWvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAEzE"}
|
|
@@ -68,6 +68,38 @@ export const INSTANCE_VISIBILITY_LEVELS = [
|
|
|
68
68
|
description: "All authenticated users can view",
|
|
69
69
|
},
|
|
70
70
|
];
|
|
71
|
+
/**
|
|
72
|
+
* The levels an environment selector offers, in escalation order:
|
|
73
|
+
* Private / Organization. Broader levels are structurally absent —
|
|
74
|
+
* secret values never leave the org boundary (the backend rejects
|
|
75
|
+
* public/platform via the kind's VisibilityConfig).
|
|
76
|
+
*
|
|
77
|
+
* Org sharing on an environment carries credential semantics, so the
|
|
78
|
+
* copy names both effects: members get redacted view, and executions
|
|
79
|
+
* in the org (teammate-run agents AND shared-agent visitors) can use
|
|
80
|
+
* the values at runtime. Secret reveal stays creator-only at every
|
|
81
|
+
* level.
|
|
82
|
+
*
|
|
83
|
+
* In `local` mode (OSS Go backend, single-user) sharing has no
|
|
84
|
+
* enforcement meaning, so no interactive levels are offered —
|
|
85
|
+
* {@link ResourceVisibilityControl} degrades to a read-only badge.
|
|
86
|
+
*/
|
|
87
|
+
export function environmentVisibilityLevels(deploymentMode) {
|
|
88
|
+
if (deploymentMode === "local") {
|
|
89
|
+
return [PRIVATE_OPTION];
|
|
90
|
+
}
|
|
91
|
+
return [
|
|
92
|
+
{
|
|
93
|
+
...PRIVATE_OPTION,
|
|
94
|
+
description: "Only you can view and use these credentials",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
...ORG_OPTION,
|
|
98
|
+
description: "Agents run in your org — including shared-agent visitors — can use these credentials. Members see names only; secret values stay hidden.",
|
|
99
|
+
confirmPrompt: "Let agents run in your org use these credentials?",
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
}
|
|
71
103
|
/**
|
|
72
104
|
* Canonical option for a visibility value, independent of any kind's offered
|
|
73
105
|
* list. Used to render the current level even when it is not offerable in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityLevels.js","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AA+C/F,MAAM,cAAc,GAA0B;IAC5C,KAAK,EAAE,qBAAqB,CAAC,kBAAkB;IAC/C,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,UAAU,GAA0B;IACxC,KAAK,EAAE,qBAAqB,CAAC,cAAc;IAC3C,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,kCAAkC;IAC/C,aAAa,EAAE,kCAAkC;IACjD,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,eAAe,GAA0B;IAC7C,KAAK,EAAE,qBAAqB,CAAC,mBAAmB;IAChD,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,4CAA4C;IACzD,aAAa,EAAE;QACb,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,iJAAiJ;KACpJ;IACD,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,aAAa,GAA0B;IAC3C,KAAK,EAAE,qBAAqB,CAAC,iBAAiB;IAC9C,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE;QACb,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,iIAAiI;KACpI;IACD,IAAI,EAAE,QAAQ;CACf,CAAC;AAqBF;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyC;IAEzC,IAAI,OAAO,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC,mBAAmB;QAChC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC;QAC9D,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,cAAc;IACd;QACE,GAAG,UAAU;QACb,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,GAAG,aAAa;QAChB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAiC;IAEjC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,qBAAqB,CAAC,cAAc;YACvC,OAAO,UAAU,CAAC;QACpB,KAAK,qBAAqB,CAAC,mBAAmB;YAC5C,OAAO,eAAe,CAAC;QACzB,KAAK,qBAAqB,CAAC,iBAAiB;YAC1C,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAiC;IAC/D,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"visibilityLevels.js","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AA+C/F,MAAM,cAAc,GAA0B;IAC5C,KAAK,EAAE,qBAAqB,CAAC,kBAAkB;IAC/C,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,UAAU,GAA0B;IACxC,KAAK,EAAE,qBAAqB,CAAC,cAAc;IAC3C,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,kCAAkC;IAC/C,aAAa,EAAE,kCAAkC;IACjD,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,eAAe,GAA0B;IAC7C,KAAK,EAAE,qBAAqB,CAAC,mBAAmB;IAChD,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,4CAA4C;IACzD,aAAa,EAAE;QACb,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,iJAAiJ;KACpJ;IACD,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,aAAa,GAA0B;IAC3C,KAAK,EAAE,qBAAqB,CAAC,iBAAiB;IAC9C,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE;QACb,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,iIAAiI;KACpI;IACD,IAAI,EAAE,QAAQ;CACf,CAAC;AAqBF;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyC;IAEzC,IAAI,OAAO,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC,mBAAmB;QAChC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC;QAC9D,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,cAAc;IACd;QACE,GAAG,UAAU;QACb,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,GAAG,aAAa;QAChB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CACzC,cAAiC;IAEjC,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO;QACL;YACE,GAAG,cAAc;YACjB,WAAW,EAAE,6CAA6C;SAC3D;QACD;YACE,GAAG,UAAU;YACb,WAAW,EACT,0IAA0I;YAC5I,aAAa,EAAE,mDAAmD;SACnE;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAiC;IAEjC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,qBAAqB,CAAC,cAAc;YACvC,OAAO,UAAU,CAAC;QACpB,KAAK,qBAAqB,CAAC,mBAAmB;YAC5C,OAAO,eAAe,CAAC;QACzB,KAAK,qBAAqB,CAAC,iBAAiB;YAC1C,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAiC;IAC/D,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServerConnectDialog.d.ts","sourceRoot":"","sources":["../../src/mcp-server/McpServerConnectDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"McpServerConnectDialog.d.ts","sourceRoot":"","sources":["../../src/mcp-server/McpServerConnectDialog.tsx"],"names":[],"mappings":"AAgBA,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,GAAG,EACH,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,OAAO,EACP,WAAW,EACX,SAAS,GACV,EAAE,2BAA2B,kDAuD7B"}
|
|
@@ -9,6 +9,8 @@ import { useMcpServerConnect } from "./useMcpServerConnect.js";
|
|
|
9
9
|
import { useDisconnectOAuth } from "./useDisconnectOAuth.js";
|
|
10
10
|
import { EnvVarForm } from "../environment/EnvVarForm.js";
|
|
11
11
|
import { ErrorMessage } from "../error/ErrorMessage.js";
|
|
12
|
+
import { StdioSandboxNotice } from "./StdioSandboxNotice.js";
|
|
13
|
+
import { OAuthRequiredNotice } from "./OAuthRequiredNotice.js";
|
|
12
14
|
/**
|
|
13
15
|
* Modal dialog for connecting to an MCP server.
|
|
14
16
|
*
|
|
@@ -124,11 +126,13 @@ function ConnectDialogContent({ org, slug, activeOrg, onClose, onConnected, }) {
|
|
|
124
126
|
}
|
|
125
127
|
const isConnectingPhase = phase === "connecting" || isConnecting || oauth.isInProgress;
|
|
126
128
|
const activeError = connectError ?? oauth.error;
|
|
127
|
-
return (_jsxs(_Fragment, { children: [_jsx(DialogHeader, { title: serverName, onClose: onClose }), mcpServer.spec?.description && (_jsx("p", { className: "mb-4 text-xs leading-relaxed text-muted-foreground", children: mcpServer.spec.description })), activeError && (_jsx("div", { className: "mb-4", children: _jsx(ErrorMessage, { error: activeError, retry: () => {
|
|
129
|
+
return (_jsxs(_Fragment, { children: [_jsx(DialogHeader, { title: serverName, onClose: onClose }), mcpServer.spec?.description && (_jsx("p", { className: "mb-4 text-xs leading-relaxed text-muted-foreground", children: mcpServer.spec.description })), _jsx(StdioSandboxNotice, { serverType: mcpServer.spec?.serverType, className: "mb-4" }), _jsx(OAuthRequiredNotice, { oauthOnly: mcpServer.spec?.auth?.oauthOnly, className: "mb-4" }), activeError && (_jsx("div", { className: "mb-4", children: _jsx(ErrorMessage, { error: activeError, retry: () => {
|
|
128
130
|
clearConnectError();
|
|
129
131
|
oauth.clearError();
|
|
130
132
|
setPhase("credentials");
|
|
131
|
-
} }) })), creds.authMode === "oauth" && !creds.manualOverride && (_jsx(OAuthSection, { isConnected: creds.isOAuthConnected, phase: oauth.phase, onSignIn: handleOAuthSignIn, isVendorApprovalBlocked: creds.isVendorApprovalBlocked, onSwitchToManual:
|
|
133
|
+
} }) })), creds.authMode === "oauth" && !creds.manualOverride && (_jsx(OAuthSection, { isConnected: creds.isOAuthConnected, phase: oauth.phase, onSignIn: handleOAuthSignIn, isVendorApprovalBlocked: creds.isVendorApprovalBlocked, onSwitchToManual: creds.manualEntrySupported
|
|
134
|
+
? () => creds.setManualOverride(true)
|
|
135
|
+
: undefined, disabled: isConnectingPhase })), creds.missingVariables.length > 0 && (_jsx("div", { className: "mt-2", children: _jsx(EnvVarForm, { variables: creds.missingVariables, onSubmit: (values) => handleCredentialSubmit(values), isSubmitting: creds.isSaving, disabled: isConnectingPhase, hideSaveToggle: true }) })), creds.authMode === "oauth" && creds.manualOverride && (_jsx("button", { type: "button", onClick: () => creds.setManualOverride(false), disabled: isConnectingPhase, className: "mt-2 text-xs text-muted-foreground underline hover:text-foreground", children: "Sign in with OAuth instead" })), creds.isReady && creds.authMode === "manual" && (_jsxs("button", { type: "button", onClick: handleConnect, disabled: isConnectingPhase, className: cn("mt-4 inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-50", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [isConnectingPhase && _jsx(LoadingSpinner, { size: "sm" }), isConnectingPhase ? "Connecting..." : "Connect"] })), creds.isReady && creds.authMode === "oauth" && creds.isOAuthConnected && (_jsxs("button", { type: "button", onClick: handleConnect, disabled: isConnectingPhase, className: cn("mt-4 inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-50", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [isConnectingPhase && _jsx(LoadingSpinner, { size: "sm" }), isConnectingPhase ? "Discovering tools..." : "Discover Tools"] })), !creds.isReady &&
|
|
132
136
|
creds.missingVariables.length === 0 &&
|
|
133
137
|
creds.authMode === "manual" && (_jsx("p", { className: "mt-4 text-center text-xs text-muted-foreground", children: "No credentials required \u2014 this server is ready to connect." }))] }));
|
|
134
138
|
}
|
|
@@ -149,7 +153,7 @@ function OAuthSection({ isConnected, phase, onSignIn, isVendorApprovalBlocked, o
|
|
|
149
153
|
completing: "Completing OAuth...",
|
|
150
154
|
connecting: "Discovering tools...",
|
|
151
155
|
};
|
|
152
|
-
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsxs("button", { type: "button", onClick: onSignIn, disabled: disabled || isInProgress || isVendorApprovalBlocked, className: cn("inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-50", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [isInProgress && _jsx(LoadingSpinner, { size: "sm" }), isInProgress ? (phaseLabel[phase] ?? "Connecting...") : "Sign in with OAuth"] }), isVendorApprovalBlocked && (_jsx("p", { className: "text-xs text-muted-foreground", children: "OAuth sign-in is pending vendor approval. You can enter your token manually instead." })), _jsx("button", { type: "button", onClick: onSwitchToManual, disabled: disabled || isInProgress, className: "text-xs text-muted-foreground underline hover:text-foreground", children: "Enter token manually" })] }));
|
|
156
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsxs("button", { type: "button", onClick: onSignIn, disabled: disabled || isInProgress || isVendorApprovalBlocked, className: cn("inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-50", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [isInProgress && _jsx(LoadingSpinner, { size: "sm" }), isInProgress ? (phaseLabel[phase] ?? "Connecting...") : "Sign in with OAuth"] }), isVendorApprovalBlocked && onSwitchToManual && (_jsx("p", { className: "text-xs text-muted-foreground", children: "OAuth sign-in is pending vendor approval. You can enter your token manually instead." })), onSwitchToManual && (_jsx("button", { type: "button", onClick: onSwitchToManual, disabled: disabled || isInProgress, className: "text-xs text-muted-foreground underline hover:text-foreground", children: "Enter token manually" }))] }));
|
|
153
157
|
}
|
|
154
158
|
function LoadingSpinner({ size = "md" }) {
|
|
155
159
|
const cls = size === "sm" ? "size-3.5" : "size-5";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServerConnectDialog.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerConnectDialog.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;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"McpServerConnectDialog.js","sourceRoot":"","sources":["../../src/mcp-server/McpServerConnectDialog.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":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"McpServerDetailView.d.ts","sourceRoot":"","sources":["../../src/mcp-server/McpServerDetailView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AA8BxF,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,6BAA6B,CAAC;AAQpF,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/D,6CAA6C;AAC7C,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;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAC9B,GAAG,EAAE,MAAM,KACR,OAAO,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACzD,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,IAAI,EACJ,cAAc,EACd,oBAA8B,EAC9B,yBAAiC,EACjC,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,OAAO,EACP,QAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,EAAE,wBAAwB,2CA6c1B"}
|
|
@@ -12,6 +12,8 @@ import { mcpServerToInput } from "./internal/mcpServerToInput.js";
|
|
|
12
12
|
import { useMcpServerConnect } from "./useMcpServerConnect.js";
|
|
13
13
|
import { useMcpServerCredentials } from "./useMcpServerCredentials.js";
|
|
14
14
|
import { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect.js";
|
|
15
|
+
import { StdioSandboxNotice } from "./StdioSandboxNotice.js";
|
|
16
|
+
import { OAuthRequiredNotice } from "./OAuthRequiredNotice.js";
|
|
15
17
|
import { useDisconnectOAuth } from "./useDisconnectOAuth.js";
|
|
16
18
|
import { useOrgOAuthApp } from "./useOrgOAuthApp.js";
|
|
17
19
|
import { OAuthAppForm } from "./OAuthAppForm.js";
|
|
@@ -266,7 +268,7 @@ export function McpServerDetailView({ org, slug, onResourceLoad, defaultCapabili
|
|
|
266
268
|
const headerMetaExtra = (_jsxs(_Fragment, { children: [status && _jsx(ValidationStateBadge, { state: status.validationState }), lastDiscoveredAt && (_jsxs(_Fragment, { children: [_jsx(Dot, {}), _jsxs("span", { children: ["Discovered ", formatDate(lastDiscoveredAt)] })] }))] }));
|
|
267
269
|
const headerBanner = status?.validationState === ValidationState.invalid &&
|
|
268
270
|
status.validationMessage ? (_jsx(ValidationBanner, { message: status.validationMessage })) : undefined;
|
|
269
|
-
return (_jsxs(_Fragment, { children: [_jsxs(ResourceDetailShell, { header: headerMeta, visibilityControl: visibilityControl, headerMetaExtra: headerMetaExtra, headerBanner: headerBanner, primaryAction: primaryAction, actions: mergedActions, className: className, children: [(editable || spec?.description) && (_jsx(Section, { title: "Description", children: editable && saveMcpField ? (_jsx("div", { className: "max-h-20 overflow-y-auto p-3", children: _jsx(InlineEditTextarea, { value: spec?.description || "", onSave: (v) => saveMcpField("description", v || undefined), isSaving: isUpdating, placeholder: "Add a description", minRows: 2 }) })) : (_jsx("div", { className: "p-3", children: _jsx("pre", { className: "whitespace-pre-wrap break-words text-sm text-foreground font-sans", children: spec?.description }) })) })), hasSource && _jsx(SourceSection, { spec: spec }), (editable || spec?.serverType.case) && (_jsx(ServerConfigSection, { serverType: spec?.serverType, editable: editable, isSaving: isUpdating, saveMcpField: saveMcpField })), (editable || (spec?.env && Object.keys(spec.env).length > 0)) && (_jsx(EnvSection, { data: spec?.env ?? {}, oauthTargetEnvVar: credentials.oauthTargetEnvVar, editable: editable, isSaving: isUpdating, saveMcpField: saveMcpField })), _jsxs(Section, { title: "Connection", children: [_jsx(ConnectBar, { isConnecting: connection.isConnecting || oauth.isInProgress, connectionError: combinedError, onConnect: handleConnectClick, onClearConnectionError: combinedClearError, hasDiscoveredTools: hasDiscoveredTools, credentialsLoading: credentials.isLoading, oauthPhase: oauth.phase, authMode: credentials.authMode, isOAuthConnected: credentials.isOAuthConnected, connectionHealth: credentials.connectionHealth, canDisconnect: credentials.canDisconnect, onDisconnect: handleDisconnect, isDisconnecting: disconnectOAuth.isDisconnecting, disconnectError: disconnectOAuth.error, onClearDisconnectError: disconnectOAuth.clearError, serverName: mcpServer?.metadata?.name ?? slug, accessTokenExpiresAt: credentials.accessTokenExpiresAt, tokenLifetimeHint: credentials.tokenLifetimeHint, isVendorApprovalPending: credentials.isVendorApprovalPending, isVendorApprovalBlocked: credentials.isVendorApprovalBlocked, vendorApprovalDocsUrl: credentials.vendorApprovalDocsUrl, canBringOwnApp: credentials.canBringOwnApp, isOrgOAuthApp: credentials.isOrgOAuthApp, onBringOwnApp: () => setShowByoaForm(true), onRemoveOrgApp: handleRemoveOrgApp, isRemovingOrgApp: orgOAuthApp.isDeleting, removeOrgAppError: orgOAuthApp.deleteError, onClearRemoveOrgAppError: orgOAuthApp.clearErrors, manualOverride: credentials.manualOverride, onManualOverride: () => {
|
|
271
|
+
return (_jsxs(_Fragment, { children: [_jsxs(ResourceDetailShell, { header: headerMeta, visibilityControl: visibilityControl, headerMetaExtra: headerMetaExtra, headerBanner: headerBanner, primaryAction: primaryAction, actions: mergedActions, className: className, children: [(editable || spec?.description) && (_jsx(Section, { title: "Description", children: editable && saveMcpField ? (_jsx("div", { className: "max-h-20 overflow-y-auto p-3", children: _jsx(InlineEditTextarea, { value: spec?.description || "", onSave: (v) => saveMcpField("description", v || undefined), isSaving: isUpdating, placeholder: "Add a description", minRows: 2 }) })) : (_jsx("div", { className: "p-3", children: _jsx("pre", { className: "whitespace-pre-wrap break-words text-sm text-foreground font-sans", children: spec?.description }) })) })), hasSource && _jsx(SourceSection, { spec: spec }), (editable || spec?.serverType.case) && (_jsx(ServerConfigSection, { serverType: spec?.serverType, editable: editable, isSaving: isUpdating, saveMcpField: saveMcpField })), (editable || (spec?.env && Object.keys(spec.env).length > 0)) && (_jsx(EnvSection, { data: spec?.env ?? {}, oauthTargetEnvVar: credentials.oauthTargetEnvVar, editable: editable, isSaving: isUpdating, saveMcpField: saveMcpField })), _jsxs(Section, { title: "Connection", children: [_jsx(StdioSandboxNotice, { serverType: spec?.serverType, className: "mb-3" }), _jsx(OAuthRequiredNotice, { oauthOnly: spec?.auth?.oauthOnly, className: "mb-3" }), _jsx(ConnectBar, { manualEntrySupported: credentials.manualEntrySupported, isConnecting: connection.isConnecting || oauth.isInProgress, connectionError: combinedError, onConnect: handleConnectClick, onClearConnectionError: combinedClearError, hasDiscoveredTools: hasDiscoveredTools, credentialsLoading: credentials.isLoading, oauthPhase: oauth.phase, authMode: credentials.authMode, isOAuthConnected: credentials.isOAuthConnected, connectionHealth: credentials.connectionHealth, canDisconnect: credentials.canDisconnect, onDisconnect: handleDisconnect, isDisconnecting: disconnectOAuth.isDisconnecting, disconnectError: disconnectOAuth.error, onClearDisconnectError: disconnectOAuth.clearError, serverName: mcpServer?.metadata?.name ?? slug, accessTokenExpiresAt: credentials.accessTokenExpiresAt, tokenLifetimeHint: credentials.tokenLifetimeHint, isVendorApprovalPending: credentials.isVendorApprovalPending, isVendorApprovalBlocked: credentials.isVendorApprovalBlocked, vendorApprovalDocsUrl: credentials.vendorApprovalDocsUrl, canBringOwnApp: credentials.canBringOwnApp, isOrgOAuthApp: credentials.isOrgOAuthApp, onBringOwnApp: () => setShowByoaForm(true), onRemoveOrgApp: handleRemoveOrgApp, isRemovingOrgApp: orgOAuthApp.isDeleting, removeOrgAppError: orgOAuthApp.deleteError, onClearRemoveOrgAppError: orgOAuthApp.clearErrors, manualOverride: credentials.manualOverride, onManualOverride: () => {
|
|
270
272
|
credentials.setManualOverride(true);
|
|
271
273
|
setShowCredentialForm(true);
|
|
272
274
|
}, onBackToOAuth: () => {
|
|
@@ -336,7 +338,7 @@ function healthStatusText(health, accessTokenExpiresAt, tokenLifetimeHint) {
|
|
|
336
338
|
return "Not connected yet";
|
|
337
339
|
}
|
|
338
340
|
}
|
|
339
|
-
function ConnectBar({ isConnecting, connectionError, onConnect, onClearConnectionError, hasDiscoveredTools, credentialsLoading, oauthPhase, authMode, isOAuthConnected, connectionHealth, canDisconnect, onDisconnect, isDisconnecting, disconnectError, onClearDisconnectError, serverName, accessTokenExpiresAt, tokenLifetimeHint, isVendorApprovalPending, isVendorApprovalBlocked, vendorApprovalDocsUrl, canBringOwnApp, isOrgOAuthApp, onBringOwnApp, onRemoveOrgApp, isRemovingOrgApp, removeOrgAppError, onClearRemoveOrgAppError, manualOverride, onManualOverride, onBackToOAuth, onCancelOAuth, }) {
|
|
341
|
+
function ConnectBar({ isConnecting, connectionError, onConnect, onClearConnectionError, hasDiscoveredTools, credentialsLoading, oauthPhase, authMode, isOAuthConnected, connectionHealth, canDisconnect, onDisconnect, isDisconnecting, disconnectError, onClearDisconnectError, serverName, accessTokenExpiresAt, tokenLifetimeHint, isVendorApprovalPending, isVendorApprovalBlocked, vendorApprovalDocsUrl, canBringOwnApp, isOrgOAuthApp, onBringOwnApp, onRemoveOrgApp, isRemovingOrgApp, removeOrgAppError, onClearRemoveOrgAppError, manualEntrySupported, manualOverride, onManualOverride, onBackToOAuth, onCancelOAuth, }) {
|
|
340
342
|
const [disconnectPhase, setDisconnectPhase] = useState("idle");
|
|
341
343
|
const [removeOrgAppPhase, setRemoveOrgAppPhase] = useState("idle");
|
|
342
344
|
const isOAuthBusy = oauthPhase === "initiating" ||
|
|
@@ -421,7 +423,8 @@ function ConnectBar({ isConnecting, connectionError, onConnect, onClearConnectio
|
|
|
421
423
|
? "bg-primary text-primary-foreground hover:bg-primary-hover"
|
|
422
424
|
: "border border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground", "disabled:pointer-events-none disabled:opacity-50"), children: [buttonIcon, buttonLabel] })] }), oauthPhase === "awaiting-callback" && (_jsx("div", { className: "flex items-center gap-3 border-t border-border px-3 py-1.5", children: _jsx("button", { type: "button", onClick: onCancelOAuth, className: "text-[11px] text-muted-foreground underline decoration-muted-foreground/40 underline-offset-2 hover:text-foreground hover:decoration-foreground", children: "Cancel sign-in" }) })), oauthSignInDisabled && (_jsxs("div", { className: "flex items-start gap-2 border-t border-amber-500/20 bg-amber-500/5 px-3 py-2", children: [_jsx(WarningIcon, { className: "mt-0.5 size-3.5 shrink-0 text-amber-600 dark:text-amber-400" }), _jsxs("div", { className: "flex-1 text-xs text-amber-700 dark:text-amber-300", children: [_jsxs("p", { children: ["The platform's OAuth app is awaiting vendor approval.", canBringOwnApp
|
|
423
425
|
? " You can use your own OAuth app or enter a token manually."
|
|
424
|
-
: " You can still connect by entering your own token manually."] }), canBringOwnApp && (_jsx("button", { type: "button", onClick: onBringOwnApp, "data-cursor-target": "byoa-cta-button", className: "mt-1.5 inline-flex items-center gap-1 rounded-md bg-amber-600 px-2.5 py-1 text-[11px] font-medium text-white hover:bg-amber-700 dark:bg-amber-500 dark:text-amber-950 dark:hover:bg-amber-400", children: "Use your own OAuth app" })), vendorApprovalDocsUrl && !canBringOwnApp && (_jsxs("a", { href: vendorApprovalDocsUrl, target: "_blank", rel: "noopener noreferrer", className: "mt-1 inline-flex items-center gap-1 underline decoration-amber-600/40 underline-offset-2 hover:decoration-amber-600 dark:decoration-amber-400/40 dark:hover:decoration-amber-400", children: ["Learn how to bring your own token", _jsx(ExternalLinkIcon, { className: "size-3 shrink-0" })] }))] })] })), authMode === "oauth" && !isOAuthConnected && !isOAuthBusy && !isConnecting &&
|
|
426
|
+
: " You can still connect by entering your own token manually."] }), canBringOwnApp && (_jsx("button", { type: "button", onClick: onBringOwnApp, "data-cursor-target": "byoa-cta-button", className: "mt-1.5 inline-flex items-center gap-1 rounded-md bg-amber-600 px-2.5 py-1 text-[11px] font-medium text-white hover:bg-amber-700 dark:bg-amber-500 dark:text-amber-950 dark:hover:bg-amber-400", children: "Use your own OAuth app" })), vendorApprovalDocsUrl && !canBringOwnApp && (_jsxs("a", { href: vendorApprovalDocsUrl, target: "_blank", rel: "noopener noreferrer", className: "mt-1 inline-flex items-center gap-1 underline decoration-amber-600/40 underline-offset-2 hover:decoration-amber-600 dark:decoration-amber-400/40 dark:hover:decoration-amber-400", children: ["Learn how to bring your own token", _jsx(ExternalLinkIcon, { className: "size-3 shrink-0" })] }))] })] })), authMode === "oauth" && !isOAuthConnected && !isOAuthBusy && !isConnecting &&
|
|
427
|
+
(manualOverride || manualEntrySupported || canBringOwnApp) && (_jsx("div", { className: "flex items-center gap-3 border-t border-border px-3 py-1.5", children: manualOverride ? (_jsx("button", { type: "button", onClick: onBackToOAuth, className: "text-[11px] text-muted-foreground underline decoration-muted-foreground/40 underline-offset-2 hover:text-foreground hover:decoration-foreground", children: isVendorApprovalPending ? "Back to OAuth status" : "Sign in with OAuth instead" })) : (_jsxs(_Fragment, { children: [manualEntrySupported && (_jsx("button", { type: "button", onClick: onManualOverride, className: "text-[11px] text-muted-foreground underline decoration-muted-foreground/40 underline-offset-2 hover:text-foreground hover:decoration-foreground", children: "Enter token manually" })), canBringOwnApp && !isVendorApprovalBlocked && (_jsx("button", { type: "button", onClick: onBringOwnApp, className: "text-[11px] text-muted-foreground underline decoration-muted-foreground/40 underline-offset-2 hover:text-foreground hover:decoration-foreground", children: "Use your own OAuth app" }))] })) })), connectionError && (_jsxs("div", { className: "flex items-start gap-2 border-t border-destructive/20 bg-destructive-subtle px-3 py-2", role: "alert", children: [_jsx(WarningIcon, { className: "mt-0.5 size-3.5 shrink-0 text-destructive" }), _jsx("p", { className: "flex-1 text-xs text-destructive", children: getUserMessage(connectionError) }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [isRetryableError(connectionError) && (_jsx("button", { type: "button", onClick: () => {
|
|
425
428
|
onClearConnectionError();
|
|
426
429
|
onConnect();
|
|
427
430
|
}, className: "text-xs font-medium text-destructive underline underline-offset-2 hover:no-underline", children: "Try again" })), _jsx("button", { type: "button", onClick: onClearConnectionError, className: "text-xs text-destructive-muted hover:text-destructive", "aria-label": "Dismiss error", children: "Dismiss" })] })] }))] }));
|