use serde_json::{json, Map, Value};
use super::utils::resolve_onnx;
use crate::core::configs::op_config::OpConfig;
use crate::core::exceptions::OperonError;
pub async fn execute(op: &OpConfig, inputs: Map<String, Value>) -> Result<Value, OperonError> {
let resources = op.resource_keys();
let key = resources.first().ok_or_else(|| {
OperonError::Config(format!("OnnxOp '{}' missing `resource`", op.full_name))
})?;
let backend = resolve_onnx(key)?;
let payload = json!(inputs);
backend.run(payload).await
}