use crate::{capability::StateStore, transform::identity::IdentityTarget};
use std::{collections::BTreeMap, time::SystemTime};
pub struct GenerationStateAccess<'a, S: StateStore> {
pub store: &'a S,
pub scope: &'a S::Scope,
pub target: IdentityTarget,
pub conversation_key: String,
pub expires_at: SystemTime,
pub now: SystemTime,
}
#[derive(Debug, Default)]
pub struct GenerationToolReplay {
pub names: BTreeMap<String, String>,
pub kinds: BTreeMap<String, super::ToolCallKind>,
pub chat_forms: BTreeMap<String, ChatCallForm>,
pub original_call_ids: BTreeMap<String, String>,
}
mod chat_form;
pub use chat_form::ChatCallForm;