//! Read-only runtime permission probe.
//!
//! V1 deliberately does not claim live control over provider/network sandboxing.

use async_trait::async_trait;

use domain::ports::{RuntimeError, RuntimePermissionProbe};
use domain::{AgentId, Project, RuntimePermissionSnapshot};

/// Passive probe used when IdeA has no active runtime network telemetry.
#[derive(Debug, Clone, Default)]
pub struct ReadOnlyRuntimePermissionProbe;

#[async_trait]
impl RuntimePermissionProbe for ReadOnlyRuntimePermissionProbe {
    async fn probe_runtime_permissions(
        &self,
        _project: &Project,
        _agent_id: AgentId,
    ) -> Result<RuntimePermissionSnapshot, RuntimeError> {
        Ok(RuntimePermissionSnapshot::unobserved())
    }
}
