MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / get_cluster_inference

Method get_cluster_inference

crates/openshell-server/src/inference.rs:117–153  ·  view source on GitHub ↗
(
        &self,
        request: Request<GetClusterInferenceRequest>,
    )

Source from the content-addressed store, hash-verified

115
116 #[rpc_auth(auth = "bearer", scope = "inference:read", role = "user")]
117 async fn get_cluster_inference(
118 &self,
119 request: Request<GetClusterInferenceRequest>,
120 ) -> Result<Response<GetClusterInferenceResponse>, Status> {
121 let req = request.into_inner();
122 let route_name = effective_route_name(&req.route_name)?;
123 let route = self
124 .state
125 .store
126 .get_message_by_name::<InferenceRoute>(route_name)
127 .await
128 .map_err(|e| Status::internal(format!("fetch route failed: {e}")))?
129 .ok_or_else(|| {
130 Status::not_found(format!(
131 "inference route '{route_name}' is not configured; run 'openshell inference set --provider <name> --model <id>'"
132 ))
133 })?;
134
135 let config = route
136 .config
137 .as_ref()
138 .ok_or_else(|| Status::internal("managed route missing config"))?;
139
140 if config.provider_name.trim().is_empty() || config.model_id.trim().is_empty() {
141 return Err(Status::failed_precondition(
142 "managed route is missing provider/model metadata",
143 ));
144 }
145
146 Ok(Response::new(GetClusterInferenceResponse {
147 provider_name: config.provider_name.clone(),
148 model_id: config.model_id.clone(),
149 version: route.version,
150 route_name: route_name.to_string(),
151 timeout_secs: config.timeout_secs,
152 }))
153 }
154}
155
156async fn upsert_cluster_inference_route(

Callers 3

gateway_inference_updateFunction · 0.80
gateway_inference_getFunction · 0.80
print_inference_routeFunction · 0.80

Calls 2

effective_route_nameFunction · 0.85
is_emptyMethod · 0.45

Tested by

no test coverage detected