use serde::Deserialize;
#[derive(Debug, Deserialize)]
#[serde(tag = "action", rename_all = "snake_case")]
pub(super) enum SessionInspectorArgs {
List {
#[serde(default)]
query: Option<String>,
#[serde(default)]
kind: Option<String>, #[serde(default)]
pinned: Option<bool>,
#[serde(default)]
parent_session_id: Option<String>,
#[serde(default)]
root_session_id: Option<String>,
#[serde(default)]
created_by_schedule_id: Option<String>,
#[serde(default)]
limit: Option<usize>,
#[serde(default)]
offset: Option<usize>,
},
GetMeta { session_id: String },
ReadMessages {
session_id: String,
#[serde(default)]
from_end: Option<bool>,
#[serde(default)]
offset: Option<usize>,
#[serde(default)]
limit: Option<usize>,
#[serde(default)]
truncate_chars: Option<usize>,
#[serde(default)]
include_system: Option<bool>,
#[serde(default)]
include_tool: Option<bool>,
#[serde(default)]
include_tool_calls: Option<bool>,
#[serde(default)]
include_image_urls: Option<bool>,
},
ReadCompressedCache {
session_id: String,
#[serde(default)]
offset: Option<usize>,
#[serde(default)]
limit: Option<usize>,
#[serde(default)]
truncate_chars: Option<usize>,
#[serde(default)]
include_summary: Option<bool>,
},
Search {
query: String,
#[serde(default)]
mode: Option<String>,
#[serde(default)]
max_sessions: Option<usize>,
#[serde(default)]
tail_messages: Option<usize>,
#[serde(default)]
case_sensitive: Option<bool>,
#[serde(default)]
max_matches: Option<usize>,
},
}