modelrelay/generated/
extensions.rs1use std::fmt;
7
8use super::{MessageRole, ModelId, NodeId, PlanHash, Sha256Hash, TierCode};
9
10impl fmt::Display for NodeId {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 write!(f, "{}", &**self)
18 }
19}
20
21impl fmt::Display for ModelId {
22 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23 write!(f, "{}", &**self)
24 }
25}
26
27impl fmt::Display for PlanHash {
28 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
29 write!(f, "{}", &**self)
30 }
31}
32
33impl fmt::Display for Sha256Hash {
34 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
35 write!(f, "{}", &**self)
36 }
37}
38
39impl fmt::Display for TierCode {
40 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
41 write!(f, "{}", &**self)
42 }
43}
44
45pub trait MessageRoleExt {
47 fn as_str(&self) -> &'static str;
49}
50
51impl MessageRoleExt for MessageRole {
52 fn as_str(&self) -> &'static str {
53 match self {
54 MessageRole::User => "user",
55 MessageRole::Assistant => "assistant",
56 MessageRole::System => "system",
57 MessageRole::Tool => "tool",
58 }
59 }
60}
61
62#[cfg(test)]
63mod tests {
64 use super::*;
65
66 #[test]
67 fn message_role_as_str() {
68 assert_eq!(MessageRole::User.as_str(), "user");
69 assert_eq!(MessageRole::Assistant.as_str(), "assistant");
70 assert_eq!(MessageRole::System.as_str(), "system");
71 assert_eq!(MessageRole::Tool.as_str(), "tool");
72 }
73
74 #[test]
75 fn message_role_display() {
76 assert_eq!(MessageRole::User.to_string(), "user");
77 assert_eq!(MessageRole::Assistant.to_string(), "assistant");
78 }
79}