MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / ToolResult

Function ToolResult

dashboard/lcm/src/components.tsx:416–445  ·  view source on GitHub ↗
(props: { name: any; content: any })

Source from the content-addressed store, hash-verified

414}
415
416export function ToolResult(props: { name: any; content: any }): React.ReactElement {
417 const name = String(props.name || "");
418 const raw = props.content;
419 const parsed = parseLeadingJSON(raw);
420 const data = parsed ? parsed.value : undefined;
421 const note = (parsed && parsed.rest) ? parsed.rest : "";
422 let body: any = null;
423 try {
424 if ((name === "terminal" || name === "process" || name === "execute_code" || name === "shell")
425 && data && typeof data === "object") body = <ToolOutput data={data} />;
426 else if (name === "read_file" && data) body = <ToolReadFile data={data} />;
427 else if (name === "search_files" && data) body = <ToolSearchFiles data={data} />;
428 else if (name === "todo" && data) body = <ToolTodo data={data} />;
429 else if (name === "patch") body = <ToolPatch data={data} raw={raw} />;
430 else if (name === "skill_view" && data) body = <ToolSkill data={data} />;
431 else if (data && typeof data === "object") body = <ToolGeneric data={data} />;
432 } catch (e) { body = null; }
433 if (body == null) {
434 return <MarkdownText className="hermes-lcm-msg-body" text={short(String(raw == null ? "" : raw), 4000)} />;
435 }
436 if (note) {
437 return (
438 <div className="hermes-lcm-tool">
439 {body}
440 <div className="hermes-lcm-dim hermes-lcm-tool-note">{short(note, 400)}</div>
441 </div>
442 );
443 }
444 return body;
445}
446
447// --- list rows -------------------------------------------------------------
448

Callers

nothing calls this directly

Calls 2

parseLeadingJSONFunction · 0.90
shortFunction · 0.90

Tested by

no test coverage detected