MCPcopy
hub / github.com/abi/screenshot-to-code / execute

Method execute

backend/agent/tools/runtime.py:53–96  ·  view source on GitHub ↗
(self, tool_call: ToolCall)

Source from the content-addressed store, hash-verified

51 return self.replicate_api_key or REPLICATE_API_KEY
52
53 async def execute(self, tool_call: ToolCall) -> ToolExecutionResult:
54 if "INVALID_JSON" in tool_call.arguments:
55 invalid_json = ensure_str(tool_call.arguments.get("INVALID_JSON"))
56 return ToolExecutionResult(
57 ok=False,
58 result={
59 "error": "Tool arguments were invalid JSON.",
60 "INVALID_JSON": invalid_json,
61 },
62 summary={"error": "Invalid JSON tool arguments"},
63 )
64
65 if tool_call.name == "create_file":
66 return self._create_file(tool_call.arguments)
67 if tool_call.name == "edit_file":
68 return self._edit_file(tool_call.arguments)
69 if tool_call.name == "generate_images":
70 return await self._generate_images(tool_call.arguments)
71 if tool_call.name == "remove_background":
72 return await self._remove_background(tool_call.arguments)
73 if tool_call.name == "edit_image":
74 return await self._edit_image(tool_call.arguments)
75 if tool_call.name == "extract_assets":
76 return await run_extract_assets(
77 tool_call.arguments,
78 gemini_api_key=self.gemini_api_key,
79 input_images=self.input_images,
80 asset_base_url=self.asset_base_url,
81 user_id=self.user_id,
82 )
83 if tool_call.name == "screenshot_preview":
84 return await run_screenshot_preview(
85 tool_call.arguments,
86 file_state=self.file_state,
87 )
88 if tool_call.name == "save_assets":
89 return await run_save_assets(tool_call.arguments, user_id=self.user_id)
90 if tool_call.name == "retrieve_option":
91 return self._retrieve_option(tool_call.arguments)
92 return ToolExecutionResult(
93 ok=False,
94 result={"error": f"Unknown tool: {tool_call.name}"},
95 summary={"error": f"Unknown tool: {tool_call.name}"},
96 )
97
98 def _create_file(self, args: Dict[str, Any]) -> ToolExecutionResult:
99 path = ensure_str(args.get("path") or self.file_state.path or "index.html")

Calls 12

_create_fileMethod · 0.95
_edit_fileMethod · 0.95
_generate_imagesMethod · 0.95
_remove_backgroundMethod · 0.95
_edit_imageMethod · 0.95
_retrieve_optionMethod · 0.95
ensure_strFunction · 0.90
ToolExecutionResultClass · 0.90
run_extract_assetsFunction · 0.90
run_screenshot_previewFunction · 0.90
run_save_assetsFunction · 0.90
getMethod · 0.80