MCPcopy Index your code
hub / github.com/InfinitiBit/graphbit / process_message

Method process_message

core/src/agents.rs:219–235  ·  view source on GitHub ↗
(
        &self,
        message: AgentMessage,
        context: &mut WorkflowContext,
    )

Source from the content-addressed store, hash-verified

217 }
218
219 async fn process_message(
220 &self,
221 message: AgentMessage,
222 context: &mut WorkflowContext,
223 ) -> GraphBitResult<AgentMessage> {
224 let request = self.build_llm_request(&message);
225
226 let response = self.llm_provider.complete(request).await?;
227
228 // Update context with usage information
229 context.set_metadata(
230 "last_token_usage".to_string(),
231 serde_json::to_value(&response.usage)?,
232 );
233
234 Ok(self.llm_response_to_message(response, &message))
235 }
236
237 async fn execute(&self, message: AgentMessage) -> GraphBitResult<serde_json::Value> {
238 let request = self.build_llm_request(&message);

Callers

nothing calls this directly

Calls 5

build_llm_requestMethod · 0.80
to_stringMethod · 0.80
completeMethod · 0.45
set_metadataMethod · 0.45

Tested by

no test coverage detected