Skip to content

Commit bde95d3

Browse files
Do not show JSON on Edit MCP server (#1404)
Add Open in IDE button for errors
2 parents 077062c + 24671a7 commit bde95d3

File tree

14 files changed

+74
-31
lines changed

14 files changed

+74
-31
lines changed

src/components/Agentic/IncidentDetails/AgentFlowChart/AgentFlowChartNodeToolbar/index.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ export const AgentFlowChartNodeToolbar = ({
1010
position,
1111
isEditMode,
1212
onAddMCPServer,
13-
onEditMCPServer,
13+
onSetMCPServer,
1414
onDeleteMCPServer,
1515
showPlusButton
1616
}: AgentFlowChartNodeToolbarProps) => {
1717
const handleAddMCPServer = () => {
1818
onAddMCPServer();
1919
};
2020

21-
const handleEditMCPServer = (server: string) => {
22-
onEditMCPServer(server);
21+
const handleSetMCPServer = (server: string) => {
22+
onSetMCPServer(server);
2323
};
2424

2525
const handleDeleteMCPServer = (server: string) => {
@@ -32,7 +32,7 @@ export const AgentFlowChartNodeToolbar = ({
3232
<MCPServersToolbar
3333
key={"mcp-servers-toolbar"}
3434
servers={servers}
35-
onEditMCPServer={handleEditMCPServer}
35+
onSetMCPServer={handleSetMCPServer}
3636
onDeleteMCPServer={handleDeleteMCPServer}
3737
/>
3838
]

src/components/Agentic/IncidentDetails/AgentFlowChart/AgentFlowChartNodeToolbar/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export interface AgentFlowChartNodeToolbarProps {
66
position: Position;
77
servers: ExtendedAgentMCPServer[];
88
onAddMCPServer: () => void;
9-
onEditMCPServer: (server: string) => void;
9+
onSetMCPServer: (server: string) => void;
1010
onDeleteMCPServer: (server: string) => void;
1111
showPlusButton?: boolean;
1212
}

src/components/Agentic/IncidentDetails/AgentFlowChart/MCPServersToolbar/index.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type { MCPServersToolbarProps } from "./types";
1515

1616
export const MCPServersToolbar = ({
1717
servers,
18-
onEditMCPServer,
18+
onSetMCPServer,
1919
onDeleteMCPServer
2020
}: MCPServersToolbarProps) => {
2121
const [isKebabMenuOpen, setIsKebabMenuOpen] = useState(false);
@@ -48,9 +48,9 @@ export const MCPServersToolbar = ({
4848
);
4949

5050
switch (id) {
51-
case "edit": {
51+
case "set": {
5252
if (selectedMCPServer) {
53-
onEditMCPServer(selectedMCPServer);
53+
onSetMCPServer(selectedMCPServer);
5454
}
5555
break;
5656
}
@@ -67,10 +67,10 @@ export const MCPServersToolbar = ({
6767

6868
const kebabMenuItems: MenuItem[] = [
6969
{
70-
id: "edit",
70+
id: "set",
7171
icon: <WrenchIcon size={16} color={"currentColor"} />,
72-
label: "Edit",
73-
onClick: () => handleKebabMenuItemClick("edit")
72+
label: "Set",
73+
onClick: () => handleKebabMenuItemClick("set")
7474
},
7575
{
7676
id: "delete",

src/components/Agentic/IncidentDetails/AgentFlowChart/MCPServersToolbar/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { ExtendedAgentMCPServer } from "../types";
22

33
export interface MCPServersToolbarProps {
44
servers: ExtendedAgentMCPServer[];
5-
onEditMCPServer: (server: string) => void;
5+
onSetMCPServer: (server: string) => void;
66
onDeleteMCPServer: (server: string) => void;
77
}
88

src/components/Agentic/IncidentDetails/AgentFlowChart/index.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ const getFlowChartNodeData = ({
1515
isInteractive,
1616
isEditMode,
1717
onAddMCPServer,
18-
onEditMCPServer,
18+
onSetMCPServer,
1919
onDeleteMCPServer
2020
}: {
2121
agent?: ExtendedAgent;
2222
isInteractive?: boolean;
2323
isSelected?: boolean;
2424
isEditMode?: boolean;
2525
onAddMCPServer?: (agentName: string) => void;
26-
onEditMCPServer?: (agentName: string, server: string) => void;
26+
onSetMCPServer?: (agentName: string, server: string) => void;
2727
onDeleteMCPServer?: (agentName: string, server: string) => void;
2828
}): Partial<FlowChartNodeData> => {
2929
const handleAddMCPServer = () => {
@@ -41,12 +41,12 @@ const getFlowChartNodeData = ({
4141
onAddMCPServer?.(agent.name);
4242
};
4343

44-
const handleEditMCPServer = (server: string) => {
44+
const handleSetMCPServer = (server: string) => {
4545
if (!agent) {
4646
return;
4747
}
4848

49-
onEditMCPServer?.(agent.name, server);
49+
onSetMCPServer?.(agent.name, server);
5050
};
5151

5252
const handleDeleteMCPServer = (server: string) => {
@@ -78,7 +78,7 @@ const getFlowChartNodeData = ({
7878
position={sideContainerPosition}
7979
servers={agent.mcp_servers}
8080
onAddMCPServer={handleAddMCPServer}
81-
onEditMCPServer={handleEditMCPServer}
81+
onSetMCPServer={handleSetMCPServer}
8282
onDeleteMCPServer={handleDeleteMCPServer}
8383
showPlusButton={isEditMode}
8484
/>
@@ -97,7 +97,7 @@ export const AgentFlowChart = ({
9797
className,
9898
isEditMode,
9999
onAddMCPServer,
100-
onEditMCPServer,
100+
onSetMCPServer,
101101
onDeleteMCPServer
102102
}: AgentFlowChartProps) => {
103103
const extendedAgents: ExtendedAgent[] = [
@@ -177,7 +177,7 @@ export const AgentFlowChart = ({
177177
"skipped",
178178
isEditMode,
179179
onAddMCPServer,
180-
onEditMCPServer,
180+
onSetMCPServer,
181181
onDeleteMCPServer
182182
})
183183
}
@@ -194,7 +194,7 @@ export const AgentFlowChart = ({
194194
"skipped",
195195
isEditMode,
196196
onAddMCPServer,
197-
onEditMCPServer,
197+
onSetMCPServer,
198198
onDeleteMCPServer
199199
})
200200
}
@@ -211,7 +211,7 @@ export const AgentFlowChart = ({
211211
"skipped",
212212
isEditMode,
213213
onAddMCPServer,
214-
onEditMCPServer,
214+
onSetMCPServer,
215215
onDeleteMCPServer
216216
})
217217
}
@@ -228,7 +228,7 @@ export const AgentFlowChart = ({
228228
"skipped",
229229
isEditMode,
230230
onAddMCPServer,
231-
onEditMCPServer,
231+
onSetMCPServer,
232232
onDeleteMCPServer
233233
})
234234
}

src/components/Agentic/IncidentDetails/AgentFlowChart/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export interface AgentFlowChartProps {
77
className?: string;
88
isEditMode?: boolean;
99
onAddMCPServer?: (agentId: string) => void;
10-
onEditMCPServer?: (agentId: string, server: string) => void;
10+
onSetMCPServer?: (agentId: string, server: string) => void;
1111
onDeleteMCPServer?: (agentId: string, server: string) => void;
1212
}
1313

src/components/Agentic/IncidentTemplate/MCPServerDialog/index.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ export const MCPServerDialog = ({
3636
onComplete
3737
}: MCPServerDialogProps) => {
3838
const [currentStep, setCurrentStep] = useState(0);
39-
const [connectionSettings, setConnectionSettings] = useState(
40-
serverData?.config ?? ""
41-
);
39+
const [connectionSettings, setConnectionSettings] = useState("");
4240
const [testServerError, setTestServerError] = useState<string>();
4341
const [addServerError, setAddServerError] = useState<string>();
4442

src/components/Agentic/IncidentTemplate/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export const IncidentTemplate = () => {
9191
setAgentIdToUpdate(agentId);
9292
};
9393

94-
const handleEditMCPServer = (agentId: string, serverName: string) => {
94+
const handleSetMCPServer = (agentId: string, serverName: string) => {
9595
const serverId = mcpServers?.mcps.find((x) => x.name === serverName)?.uid;
9696

9797
if (!serverId) {
@@ -184,7 +184,7 @@ export const IncidentTemplate = () => {
184184
selectedAgentId={agentId}
185185
isEditMode={true}
186186
onAddMCPServer={handleAddMCPServer}
187-
onEditMCPServer={handleEditMCPServer}
187+
onSetMCPServer={handleSetMCPServer}
188188
onDeleteMCPServer={handleDeleteMCPServer}
189189
/>
190190
<s.StyledAgentPromptInput

src/components/Errors/ErrorDetails/ErrorDetailsCardContent/FlowStack/index.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ import { useStore } from "../../../../../store/useStore";
99
import { isNull } from "../../../../../typeGuards/isNull";
1010
import { isString } from "../../../../../typeGuards/isString";
1111
import { openJaegerTraceInDefaultBrowser } from "../../../../../utils/actions/openJaegerTraceInDefaultBrowser";
12+
import { openURLInDefaultBrowser } from "../../../../../utils/actions/openURLInDefaultBrowser";
1213
import { sendUserActionTrackingEvent } from "../../../../../utils/actions/sendUserActionTrackingEvent";
14+
import { getIdeLauncherLinkForError } from "../../../../../utils/getIdeLauncherLinkForError";
1315
import { openBrowserTabWithContent } from "../../../../../utils/openBrowserTabWithContent";
1416
import { TraceIcon } from "../../../../common/icons/16px/TraceIcon";
17+
import { CodeIcon } from "../../../../common/icons/CodeIcon";
1518
import { NewButton } from "../../../../common/v3/NewButton";
1619
import { ToggleSwitch } from "../../../../common/v3/ToggleSwitch";
1720
import { Tooltip } from "../../../../common/v3/Tooltip";
@@ -36,7 +39,7 @@ const filesURIsDataFetcherConfiguration: DataFetcherConfiguration = {
3639
refreshOnPayloadChange: true
3740
};
3841

39-
export const FlowStack = ({ data }: FlowStackProps) => {
42+
export const FlowStack = ({ data, errorId }: FlowStackProps) => {
4043
const { errorDetailsWorkspaceItemsOnly: showWorkspaceOnly } =
4144
useErrorsSelector();
4245
const { setErrorDetailsWorkspaceItemsOnly } = useStore.getState();
@@ -121,6 +124,15 @@ export const FlowStack = ({ data }: FlowStackProps) => {
121124
}
122125
};
123126

127+
const handleIdeButtonClick = () => {
128+
sendUserActionTrackingEvent(trackingEvents.OPEN_IN_IDE_BUTTON_CLICKED);
129+
const errorIdeLauncherLink = getIdeLauncherLinkForError(errorId);
130+
131+
if (errorIdeLauncherLink) {
132+
openURLInDefaultBrowser(errorIdeLauncherLink);
133+
}
134+
};
135+
124136
const handleWorkspaceOnlyToggleSwitchChange = (value: boolean) => {
125137
sendUserActionTrackingEvent(trackingEvents.WORKSPACE_ONLY_TOGGLE_SWITCHED, {
126138
value
@@ -220,6 +232,11 @@ export const FlowStack = ({ data }: FlowStackProps) => {
220232
isDisabled={isNull(traceId)}
221233
/>
222234
</Tooltip>
235+
{platform === "Web" && (
236+
<Tooltip title={"Open in IDE"}>
237+
<NewButton icon={CodeIcon} onClick={handleIdeButtonClick} />
238+
</Tooltip>
239+
)}
223240
</s.FooterButtonsContainer>
224241
</s.Footer>
225242
</s.Container>

src/components/Errors/ErrorDetails/ErrorDetailsCardContent/FlowStack/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { ErrorFlowInfo } from "../../../../../redux/services/types";
22

33
export interface FlowProps {
44
data: ErrorFlowInfo;
5+
errorId: string;
56
}
67

78
export interface ShowOnlyWorkspaceErrorStackTraceItemsPayload {

0 commit comments

Comments
 (0)