from __future__ import annotations from abc import ABC, abstractmethod from typing import Any class BaseJob(ABC): """ 插件 Job 基类:框架层只负责加载与调度。 - params: 来自 Job.public_cfg(明文 JSON) - secrets: 来自 Job.secret_cfg 解密后的明文 dict(仅在内存中存在) """ job_id: str | None = None @abstractmethod def run(self, params: dict[str, Any], secrets: dict[str, Any]) -> dict[str, Any] | None: raise NotImplementedError