diff --git a/crates/goose-types/src/lib.rs b/crates/goose-types/src/lib.rs index 8c17568ec500..ca4d93fa4aa8 100644 --- a/crates/goose-types/src/lib.rs +++ b/crates/goose-types/src/lib.rs @@ -59,6 +59,15 @@ pub struct RedactedThinkingContent { pub data: String, } +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ToSchema)] +#[serde(rename_all = "camelCase")] +pub struct InferenceMetadata { + pub provider: String, + pub requested_model: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub resolved_model: Option, +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ProviderUsage { pub model: String, diff --git a/crates/goose/src/conversation/message.rs b/crates/goose/src/conversation/message.rs index 1173392f292e..08617c1242df 100644 --- a/crates/goose/src/conversation/message.rs +++ b/crates/goose/src/conversation/message.rs @@ -2,7 +2,7 @@ use crate::conversation::tool_result_serde; use crate::mcp_utils::{extract_text_from_resource, ToolResult}; use crate::utils::sanitize_unicode_tags; use chrono::Utc; -pub use goose_types::{RedactedThinkingContent, ThinkingContent}; +pub use goose_types::{InferenceMetadata, RedactedThinkingContent, ThinkingContent}; use rmcp::model::{ AnnotateAble, CallToolRequestParams, CallToolResult, Content, ImageContent, JsonObject, PromptMessage, PromptMessageContent, PromptMessageRole, RawContent, RawImageContent, @@ -637,15 +637,6 @@ impl From for Message { } } -#[derive(ToSchema, Clone, PartialEq, Serialize, Deserialize, Debug)] -#[serde(rename_all = "camelCase")] -pub struct InferenceMetadata { - pub provider: String, - pub requested_model: String, - #[serde(skip_serializing_if = "Option::is_none")] - pub resolved_model: Option, -} - #[derive(ToSchema, Clone, PartialEq, Serialize, Deserialize, Debug)] /// Metadata for message visibility and model inference details #[serde(rename_all = "camelCase")]