Skip to main content

remem/adapter/
codex.rs

1#[cfg(test)]
2mod tests;
3
4use crate::adapter::{EventSummary, ParsedHookEvent, ToolAdapter};
5
6pub struct CodexAdapter;
7
8impl ToolAdapter for CodexAdapter {
9    fn name(&self) -> &str {
10        "codex-cli"
11    }
12
13    fn parse_hook(&self, raw_json: &str) -> Option<ParsedHookEvent> {
14        crate::adapter::common::parse_tool_hook(raw_json)
15    }
16
17    fn should_skip(&self, event: &ParsedHookEvent) -> bool {
18        crate::adapter::common::should_skip_tool(&event.tool_name)
19    }
20
21    fn should_skip_bash(&self, command: &str) -> bool {
22        crate::adapter::common::should_skip_bash_command(command)
23    }
24
25    fn classify_event(&self, event: &ParsedHookEvent) -> Option<EventSummary> {
26        crate::adapter::common::event_summary(
27            &event.tool_name,
28            &event.tool_input,
29            &event.tool_response,
30        )
31    }
32}