Skip to main content

agtrace_sdk/query/
analysis.rs

1//! Session analysis query types.
2
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6use crate::AnalysisReport;
7
8/// Run diagnostic analysis on a session to identify failures, loops, and issues.
9#[derive(Debug, Serialize, Deserialize, JsonSchema)]
10pub struct AnalyzeSessionArgs {
11    /// Session ID obtained from list_sessions response (use the 'id' field).
12    /// Accepts 8-character prefix (e.g., "fb3cff44") or full UUID.
13    /// REQUIRED: Cannot be empty.
14    pub session_id: String,
15    /// Include failure analysis (default: true)
16    #[serde(default)]
17    pub include_failures: Option<bool>,
18    /// Include loop detection (default: false)
19    #[serde(default)]
20    pub include_loops: Option<bool>,
21}
22
23#[derive(Debug, Serialize)]
24#[serde(transparent)]
25pub struct AnalysisViewModel(pub AnalysisReport);
26
27impl AnalysisViewModel {
28    pub fn new(report: AnalysisReport) -> Self {
29        Self(report)
30    }
31}