MCPcopy Create free account
hub / github.com/AI45Lab/Code / observe_hook_event

Method observe_hook_event

core/src/ahp/runtime_state.rs:87–111  ·  view source on GitHub ↗
(&self, event: &HookEvent)

Source from the content-addressed store, hash-verified

85 }
86
87 pub(super) fn observe_hook_event(&self, event: &HookEvent) {
88 if self.runtime_tokens_seen.load(Ordering::Relaxed) {
89 return;
90 }
91
92 match event {
93 HookEvent::GenerateEnd(e) => {
94 let tokens = e.usage.total_tokens.max(0);
95 let _ = self.hook_token_fallback.fetch_update(
96 Ordering::Relaxed,
97 Ordering::Relaxed,
98 |current| Some(current.saturating_add(tokens)),
99 );
100 }
101 HookEvent::PostResponse(e) => {
102 let tokens = e.usage.total_tokens.max(0);
103 let _ = self.hook_token_fallback.fetch_update(
104 Ordering::Relaxed,
105 Ordering::Relaxed,
106 |current| Some(current.max(tokens)),
107 );
108 }
109 _ => {}
110 }
111 }
112
113 pub(super) fn clear_runtime_actions(&self) {
114 write_or_recover(&self.active_tools).clear();

Callers 1

Calls 1

loadMethod · 0.45

Tested by

no test coverage detected