Skip to main content

objectiveai_sdk/functions/profiles/computations/request/
body.rs

1use crate::{agent, functions};
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5/// Parameters for creating a function profile computation.
6#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
7#[schemars(
8    rename = "functions.profiles.computations.request.FunctionProfileComputationCreateParams"
9)]
10pub struct FunctionProfileComputationCreateParams {
11    /// The function to compute a profile for (inline definition or remote path).
12    pub function: functions::FullInlineFunctionOrRemoteCommitOptional,
13
14    // --- Caching and retry options ---
15    #[serde(skip_serializing_if = "Option::is_none")]
16    #[schemars(extend("omitempty" = true))]
17    pub retry_token: Option<String>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    #[schemars(extend("omitempty" = true))]
20    pub from_cache: Option<bool>,
21
22    // --- Core configuration ---
23    #[serde(skip_serializing_if = "Option::is_none")]
24    #[schemars(extend("omitempty" = true))]
25    pub max_retries: Option<u64>,
26    pub n: u64,
27    pub dataset: Vec<super::DatasetItem>,
28    pub swarm: crate::swarm::InlineSwarmBaseOrRemoteCommitOptional,
29    #[serde(skip_serializing_if = "Option::is_none")]
30    #[schemars(extend("omitempty" = true))]
31    pub provider: Option<agent::completions::request::Provider>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    #[schemars(extend("omitempty" = true))]
34    pub seed: Option<i64>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    #[schemars(extend("omitempty" = true))]
37    pub stream: Option<bool>,
38}