feat: add observability api foundation
This commit is contained in:
@@ -35,11 +35,26 @@ impl RuntimeExecutor {
|
||||
operation: &RuntimeOperation,
|
||||
input: &Value,
|
||||
) -> Result<Value, RuntimeError> {
|
||||
let prepared_request = self.prepare_request(operation, input)?;
|
||||
self.execute_prepared(operation, prepared_request).await
|
||||
}
|
||||
|
||||
pub fn prepare_request(
|
||||
&self,
|
||||
operation: &RuntimeOperation,
|
||||
input: &Value,
|
||||
) -> Result<PreparedRequest, RuntimeError> {
|
||||
operation.input_schema.validate_shape(input)?;
|
||||
|
||||
let mapped_input = operation.input_mapping.apply(&json!({ "mcp": input }))?;
|
||||
let prepared_request = PreparedRequest::from_mapping_output(&mapped_input)?;
|
||||
PreparedRequest::from_mapping_output(&mapped_input)
|
||||
}
|
||||
|
||||
async fn execute_prepared(
|
||||
&self,
|
||||
operation: &RuntimeOperation,
|
||||
prepared_request: PreparedRequest,
|
||||
) -> Result<Value, RuntimeError> {
|
||||
let adapter_response = match &operation.target {
|
||||
Target::Grpc(target) => {
|
||||
let request = GrpcRequest {
|
||||
|
||||
Reference in New Issue
Block a user