"""External agent runtime management for CLI-backed workflow nodes."""

from orcheo.external_agents.manifest import RuntimeManifestStore, provider_lock
from orcheo.external_agents.models import (
    AuthProbeResult,
    AuthStatus,
    ExternalAgentError,
    ProcessExecutionResult,
    ProviderLockUnavailableError,
    ResolvedRuntime,
    RuntimeInstallError,
    RuntimeManifest,
    RuntimeResolution,
    RuntimeVerificationError,
    WorkingDirectoryValidationError,
)
from orcheo.external_agents.paths import default_runtime_root, ensure_runtime_root
from orcheo.external_agents.process import execute_process
from orcheo.external_agents.runtime import (
    DEFAULT_MAINTENANCE_INTERVAL,
    ExternalAgentRuntimeManager,
    scoped_external_agent_environment,
)


__all__ = [
    "AuthProbeResult",
    "AuthStatus",
    "DEFAULT_MAINTENANCE_INTERVAL",
    "ExternalAgentError",
    "ExternalAgentRuntimeManager",
    "ProcessExecutionResult",
    "ProviderLockUnavailableError",
    "ResolvedRuntime",
    "RuntimeInstallError",
    "RuntimeManifest",
    "RuntimeManifestStore",
    "RuntimeResolution",
    "RuntimeVerificationError",
    "WorkingDirectoryValidationError",
    "default_runtime_root",
    "ensure_runtime_root",
    "execute_process",
    "provider_lock",
    "scoped_external_agent_environment",
]
