MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / handle_tool_use

Method handle_tool_use

atomic-agent/src/turn/orchestrator/turn.rs:454–475  ·  view source on GitHub ↗

Handle a PreToolUse or PostToolUse event. Currently tracks tool usage for informational purposes. Future enhancements may create sub-turn recordings for sub-agent (Task) tools.

(
        &mut self,
        event: TurnEvent,
    )

Source from the content-addressed store, hash-verified

452 /// Currently tracks tool usage for informational purposes. Future
453 /// enhancements may create sub-turn recordings for sub-agent (Task) tools.
454 pub(super) async fn handle_tool_use(
455 &mut self,
456 event: TurnEvent,
457 ) -> AgentResult<DispatchResult> {
458 let session_id = &event.session_id;
459
460 let session = self.load_or_create_session(session_id, &event)?;
461 let turn_number = session.turn_count.saturating_add(1);
462 self.commit_hook_event(&event, turn_number)?;
463
464 // Log tool usage
465 if let Some(ref tool_name) = event.tool_name {
466 log::info!(
467 "Session {} tool use: {} ({})",
468 session_id,
469 tool_name,
470 event.event_type,
471 );
472 }
473
474 Ok(DispatchResult::new(session_id, session.phase))
475 }
476
477 fn wait_turn_publication_lock(
478 &self,

Callers 1

dispatchMethod · 0.80

Calls 2

commit_hook_eventMethod · 0.80

Tested by

no test coverage detected