Files
dify/api/core/skill/skill_manager.py
Harry 9d80770dfc feat(sandbox): enhance sandbox management and tool artifact handling
- Introduced SandboxManager.delete_storage method for improved storage management.
- Refactored skill loading and tool artifact handling in DifyCliInitializer and SandboxBashSession.
- Updated LLMNode to extract and compile tool artifacts, enhancing integration with skills.
- Improved attribute management in AttrMap for better error handling and retrieval methods.
2026-01-22 17:26:09 +08:00

29 lines
897 B
Python

from core.app_assets.paths import AssetPaths
from core.skill.entities.skill_artifact_set import SkillArtifactSet
from extensions.ext_storage import storage
class SkillManager:
@staticmethod
def load_artifact(
tenant_id: str,
app_id: str,
assets_id: str,
) -> SkillArtifactSet | None:
key = AssetPaths.build_skill_artifact_set(tenant_id, app_id, assets_id)
try:
data = storage.load_once(key)
return SkillArtifactSet.model_validate_json(data)
except Exception:
return None
@staticmethod
def save_artifact(
tenant_id: str,
app_id: str,
assets_id: str,
artifact_set: SkillArtifactSet,
) -> None:
key = AssetPaths.build_skill_artifact_set(tenant_id, app_id, assets_id)
storage.save(key, artifact_set.model_dump_json(indent=2).encode("utf-8"))