pub enum ProgressData {
BashProgress(BashProgressData),
HookProgress(HookProgressData),
AgentProgress(AgentProgressData),
QueryUpdate(QueryUpdateData),
SearchResultsReceived(SearchResultsData),
WaitingForTask(WaitingForTaskData),
Unknown,
}Expand description
Progress data discriminator
All possible progress data types.
§Special Note: Normalized Messages
Most progress data variants contain .normalizedMessages[] which is a
COMPLETE conversation history replay. This makes progress events HUGE.
Variants§
BashProgress(BashProgressData)
Bash command execution progress
Real-time updates during bash command execution.
§Example
{
"type": "bash_progress",
"output": "Compiling...",
"fullOutput": "Building...\nCompiling...",
"elapsedTimeSeconds": 5,
"totalLines": 2,
"message": {...},
"normalizedMessages": [...]
}§Frequency
~49,591 occurrences per large session (most common progress type)
HookProgress(HookProgressData)
Hook execution progress
Updates during pre/post hook execution.
§Example
{
"type": "hook_progress",
"hookEvent": "pre-tool-use",
"hookName": "pre-commit",
"command": "./hooks/pre-commit.sh",
"message": {...},
"normalizedMessages": [...]
}§Frequency
~31,668 occurrences per large session
AgentProgress(AgentProgressData)
Agent spawning and execution
Updates when delegating to agents.
§Example
{
"type": "agent_progress",
"agentId": "abc123",
"prompt": "Implement feature X",
"message": {...},
"normalizedMessages": [...]
}§Frequency
~1,371 occurrences per large session
QueryUpdate(QueryUpdateData)
Web search query update
Shows query being sent to search engine.
§Example
{
"type": "query_update",
"query": "rust async tokio best practices"
}§Frequency
~1,183 occurrences per large session (when web search enabled)
SearchResultsReceived(SearchResultsData)
Web search results received
Search results from web search tool.
§Example
{
"type": "search_results_received",
"results": [
{"title": "...", "url": "...", "snippet": "..."}
]
}§Frequency
~1,181 occurrences per large session
WaitingForTask(WaitingForTaskData)
Waiting for task completion
Shows that execution is waiting for a task to complete.
§Example
{
"type": "waiting_for_task",
"taskDescription": "Write Bitstamp tests Phase 3",
"taskType": "local_agent"
}§Frequency
~8 occurrences per large session (rare, used with background tasks)
Unknown
Unknown progress type (forward compatibility)
Implementations§
Source§impl ProgressData
impl ProgressData
Sourcepub fn agent_prompt(&self) -> Option<&str>
pub fn agent_prompt(&self) -> Option<&str>
Extract agent prompt if this is agent progress
Sourcepub fn normalized_messages(&self) -> Option<&[NormalizedMessage]>
pub fn normalized_messages(&self) -> Option<&[NormalizedMessage]>
Get normalized messages if present
Sourcepub fn as_bash_progress(&self) -> Option<&BashProgressData>
pub fn as_bash_progress(&self) -> Option<&BashProgressData>
Get bash progress data if this is bash progress
Sourcepub fn as_agent_progress(&self) -> Option<&AgentProgressData>
pub fn as_agent_progress(&self) -> Option<&AgentProgressData>
Get agent progress data if this is agent progress
Sourcepub fn as_hook_progress(&self) -> Option<&HookProgressData>
pub fn as_hook_progress(&self) -> Option<&HookProgressData>
Get hook progress data if this is hook progress