objectiveai_sdk/functions/executions/response/streaming/
function_execution_chunk_log.rs1use schemars::JsonSchema;
22use serde::{Deserialize, Serialize};
23
24use crate::agent;
25use crate::error;
26use crate::logs::LogReference;
27use crate::functions::executions::response;
28
29use super::{reasoning_summary_log_reference, task_log_reference};
30
31#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
32#[schemars(
33 rename = "functions.executions.response.streaming.FunctionExecutionChunkLog"
34)]
35pub struct FunctionExecutionChunkLog {
36 pub id: String,
37 pub tasks: Vec<task_log_reference::LogReference>,
38 #[serde(skip_serializing_if = "Option::is_none")]
39 #[schemars(extend("omitempty" = true))]
40 pub tasks_errors: Option<bool>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 #[schemars(extend("omitempty" = true))]
43 pub output: Option<response::Output>,
44 #[serde(skip_serializing_if = "Option::is_none")]
45 #[schemars(extend("omitempty" = true))]
46 pub error: Option<error::ResponseError>,
47 #[serde(skip_serializing_if = "Option::is_none")]
48 #[schemars(extend("omitempty" = true))]
49 pub retry_token: Option<LogReference>,
50 pub created: u64,
51 pub function: Option<crate::RemotePath>,
52 pub profile: Option<crate::RemotePath>,
53 pub object: response::streaming::Object,
54 #[serde(skip_serializing_if = "Option::is_none")]
55 #[schemars(extend("omitempty" = true))]
56 pub usage: Option<agent::completions::response::Usage>,
57 #[serde(skip_serializing_if = "Option::is_none")]
61 #[schemars(extend("omitempty" = true))]
62 pub reasoning: Option<reasoning_summary_log_reference::LogReference>,
63}