tiny_loop/types/llm.rs
1use super::message::AssistantMessage;
2use serde::{Deserialize, Serialize};
3
4/// Finish reason for LLM completion
5#[derive(Serialize, Deserialize, Debug, Clone)]
6#[serde(rename_all = "snake_case")]
7pub enum FinishReason {
8 Stop,
9 Length,
10 ToolCalls,
11 ContentFilter,
12 #[serde(untagged)]
13 Custom(String),
14}
15
16/// LLM response containing message and finish reason
17#[derive(Debug, Clone)]
18pub struct LLMResponse {
19 pub message: AssistantMessage,
20 pub finish_reason: FinishReason,
21}