SKY-7801/7802: MCP Foundation + Hybrid Browser Tools (selector + AI intent) (#4660)
This commit is contained in:
29
skyvern/cli/core/artifacts.py
Normal file
29
skyvern/cli/core/artifacts.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
|
||||
from .result import Artifact
|
||||
|
||||
|
||||
def get_artifact_dir(session_id: str | None = None, run_id: str | None = None) -> Path:
|
||||
base = Path.home() / ".skyvern" / "artifacts" / datetime.now(timezone.utc).strftime("%Y-%m-%d")
|
||||
if session_id:
|
||||
return base / session_id
|
||||
if run_id:
|
||||
return base / run_id
|
||||
return base / "anonymous"
|
||||
|
||||
|
||||
def save_artifact(
|
||||
content: bytes,
|
||||
kind: str,
|
||||
filename: str,
|
||||
mime: str,
|
||||
session_id: str | None = None,
|
||||
) -> Artifact:
|
||||
dir_path = get_artifact_dir(session_id)
|
||||
dir_path.mkdir(parents=True, exist_ok=True)
|
||||
file_path = dir_path / filename
|
||||
file_path.write_bytes(content)
|
||||
return Artifact(kind=kind, path=str(file_path), mime=mime, bytes=len(content))
|
||||
Reference in New Issue
Block a user