Skip to main content

objectiveai_sdk/functions/profiles/computations/response/streaming/
function_execution_chunk.rs

1use crate::agent::completions::response::streaming::AgentCompletionIds;
2use crate::functions;
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(
7    Debug,
8    Clone,
9    PartialEq,
10    Serialize,
11    Deserialize,
12    JsonSchema,
13    arbitrary::Arbitrary,
14)]
15#[schemars(
16    rename = "functions.profiles.computations.response.streaming.FunctionExecutionChunk"
17)]
18pub struct FunctionExecutionChunk {
19    #[arbitrary(with = crate::arbitrary_util::arbitrary_u64)]
20    pub index: u64,
21    #[arbitrary(with = crate::arbitrary_util::arbitrary_u64)]
22    pub dataset: u64,
23    #[arbitrary(with = crate::arbitrary_util::arbitrary_u64)]
24    pub n: u64,
25    #[arbitrary(with = crate::arbitrary_util::arbitrary_u64)]
26    pub retry: u64,
27    #[serde(flatten)]
28    pub inner:
29        functions::executions::response::streaming::FunctionExecutionChunk,
30}
31
32impl AgentCompletionIds for FunctionExecutionChunk {
33    fn agent_completion_ids(&self) -> impl Iterator<Item = &str> + Send {
34        self.inner.agent_completion_ids()
35    }
36}
37
38impl FunctionExecutionChunk {
39    pub fn push(&mut self, other: &FunctionExecutionChunk) {
40        self.inner.push(&other.inner);
41    }
42}