mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-24 00:45:57 +00:00
feat(sandbox) Adds download file interface in Sandbox (#3038)
* Add download interface in Sandbox * fix * fix * del invalidate test * fix * safe download * improve
This commit is contained in:
@@ -39,6 +39,25 @@ class Sandbox(ABC):
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def download_file(self, path: str) -> bytes:
|
||||
"""Download the binary content of a file.
|
||||
|
||||
Args:
|
||||
path: The absolute path of the file to download.
|
||||
|
||||
Returns:
|
||||
Raw file bytes.
|
||||
|
||||
Raises:
|
||||
PermissionError: If path traversal is detected or the path is outside
|
||||
the allowed virtual prefix.
|
||||
OSError: If the file cannot be read or does not exist. Both local
|
||||
and remote implementations must raise ``OSError`` so callers
|
||||
have a single exception type to handle.
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def list_dir(self, path: str, max_depth=2) -> list[str]:
|
||||
"""List the contents of a directory.
|
||||
|
||||
Reference in New Issue
Block a user