macro_rules! fs_session {
($session_id:expr, openai, $model:expr $(,)?) => { ... };
($session_id:expr, opencode_zen, $model:expr $(,)?) => { ... };
($session_id:expr, anthropic, $model:expr $(,)?) => { ... };
($session_id:expr, claude, $model:expr $(,)?) => { ... };
($session_id:expr, $provider:expr, $model:expr $(,)?) => { ... };
($session_id:expr, openai, $model:expr, $system_prompt:expr $(,)?) => { ... };
($session_id:expr, opencode_zen, $model:expr, $system_prompt:expr $(,)?) => { ... };
($session_id:expr, anthropic, $model:expr, $system_prompt:expr $(,)?) => { ... };
($session_id:expr, claude, $model:expr, $system_prompt:expr $(,)?) => { ... };
($session_id:expr, $provider:expr, $model:expr, $system_prompt:expr $(,)?) => { ... };
}Expand description
Creates a ChatSession with provider shorthand support.
use fiddlesticks::{ProviderId, fs_session};
let session = fs_session!("session-1", openai, "gpt-4o-mini", "Be concise.");
assert_eq!(session.provider, ProviderId::OpenAi);
assert_eq!(session.system_prompt.as_deref(), Some("Be concise."));