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

Function parse_user_prompt

atomic-agent/src/hooks/claude_code/parse.rs:198–221  ·  view source on GitHub ↗
(
    agent_name: &str,
    hook_type: HookType,
    raw_json: serde_json::Value,
)

Source from the content-addressed store, hash-verified

196}
197
198fn parse_user_prompt(
199 agent_name: &str,
200 hook_type: HookType,
201 raw_json: serde_json::Value,
202) -> AgentResult<TurnEvent> {
203 let parsed: UserPromptInput =
204 serde_json::from_value(raw_json.clone()).map_err(|e| AgentError::HookParseFailed {
205 agent: agent_name.to_string(),
206 hook_type: hook_type.as_str().to_string(),
207 reason: e.to_string(),
208 })?;
209
210 let mut event =
211 TurnEvent::new(extract_session_id(parsed.session_id), hook_type).with_raw_json(raw_json);
212
213 if let Some(path) = parsed.transcript_path {
214 event = event.with_transcript_path(path);
215 }
216 if let Some(prompt) = parsed.prompt {
217 event = event.with_prompt(prompt);
218 }
219
220 Ok(event)
221}
222
223fn parse_pre_tool(
224 agent_name: &str,

Callers 1

parse_hook_eventFunction · 0.85

Calls 6

extract_session_idFunction · 0.85
with_raw_jsonMethod · 0.80
with_transcript_pathMethod · 0.80
with_promptMethod · 0.80
cloneMethod · 0.45
as_strMethod · 0.45

Tested by

no test coverage detected