newton-core 0.4.16

newton protocol core sdk
use serde::{Deserialize, Serialize};
use thiserror::Error;

/// Task evaluation error
#[derive(Debug, Error, Serialize, Deserialize)]
pub enum RegoError {
    /// Missing policy
    #[error("Missing policy")]
    MissingPolicy,
    /// Failed to get policy params
    #[error("Failed to get policy params: {0}")]
    FailedToGetPolicyParams(String),
    /// Failed to validate params schema
    #[error("Failed to validate params schema: {0}")]
    FailedToValidateParamsSchema(String),
    /// Failed to get policy config
    #[error("Failed to get policy config: {0}")]
    FailedToGetPolicyConfig(String),
    /// Failed to get policy entrypoint
    #[error("Failed to get policy entrypoint: {0}")]
    FailedToGetPolicyEntrypoint(String),
    /// Failed to get policy schema cid
    #[error("Failed to get policy schema cid: {0}")]
    FailedToGetPolicySchemaCid(String),
    /// Failed to fetch policy schema json
    #[error("Failed to fetch policy schema json: {0}")]
    FailedToFetchPolicySchemaJson(String),
    /// Failed to decode policy schema json
    #[error("Failed to decode policy schema json: {0}")]
    FailedToDecodePolicySchemaJson(String),
    /// Failed to parse schema
    #[error("Failed to parse schema: {0}")]
    FailedToParseSchema(String),
    /// Failed to parse intent
    #[error("Failed to parse intent: {0}")]
    FailedToParseIntent(String),
    /// Failed to parse policy data
    #[error("Failed to parse policy data: {0}")]
    FailedToParsePolicyData(String),
    /// Failed to decode policy data as UTF-8
    #[error("Policy data at address {address} contains invalid UTF-8: {error}")]
    InvalidPolicyDataUtf8 {
        /// The policy data contract address that failed
        address: String,
        /// The UTF-8 decoding error message
        error: String,
    },
    /// Failed to parse policy data as JSON
    #[error("Policy data at address {address} contains invalid JSON: {error}")]
    InvalidPolicyDataJson {
        /// The policy data contract address that failed
        address: String,
        /// The JSON parsing error message
        error: String,
    },
    /// Failed to evaluate task
    #[error("Failed to evaluate task: {0}")]
    FailedToEvaluateTask(String),
}