MCPcopy Index your code
hub / github.com/agent0ai/agent-zero / upload_file

Method upload_file

plugins/_browser/helpers/runtime.py:1980–2022  ·  view source on GitHub ↗
(
        self,
        browser_id: int | str | None,
        ref: int | str,
        path: str = "",
        paths: list[str] | None = None,
    )

Source from the content-addressed store, hash-verified

1978 return {"action": action or {}, "state": await self._state(resolved_id)}
1979
1980 async def upload_file(
1981 self,
1982 browser_id: int | str | None,
1983 ref: int | str,
1984 path: str = "",
1985 paths: list[str] | None = None,
1986 ) -> dict[str, Any]:
1987 upload_paths = self._normalize_upload_paths(path=path, paths=paths)
1988 await self.ensure_started()
1989 resolved_id = self._resolve_browser_id(browser_id)
1990 page = self._page(resolved_id)
1991 await self._ensure_content_helper(page)
1992 metadata = await page.evaluate(
1993 "(ref) => globalThis.__spaceBrowserPageContent__.fileInputFor(ref)",
1994 ref,
1995 )
1996 handle = None
1997 try:
1998 handle = await page.evaluate_handle(
1999 "(ref) => globalThis.__spaceBrowserPageContent__.fileInputElementFor(ref)",
2000 ref,
2001 )
2002 element = handle.as_element() if handle else None
2003 if element:
2004 await element.set_input_files(upload_paths)
2005 elif metadata and metadata.get("selector"):
2006 await page.set_input_files(metadata["selector"], upload_paths)
2007 else:
2008 raise ValueError(f"Browser ref {ref!r} does not resolve to a file input")
2009 finally:
2010 if handle:
2011 with contextlib.suppress(Exception):
2012 await handle.dispose()
2013 await self._settle(page, short=True)
2014 self._maybe_promote(resolved_id)
2015 return {
2016 "action": {
2017 "files": upload_paths,
2018 "input": metadata or {},
2019 "ref": ref,
2020 },
2021 "state": await self._state(resolved_id),
2022 }
2023
2024 async def mouse(
2025 self,

Callers 1

_dispatch_callMethod · 0.95

Calls 11

ensure_startedMethod · 0.95
_resolve_browser_idMethod · 0.95
_pageMethod · 0.95
_settleMethod · 0.95
_maybe_promoteMethod · 0.95
_stateMethod · 0.95
evaluateMethod · 0.45
getMethod · 0.45
disposeMethod · 0.45

Tested by

no test coverage detected