Skip to main content

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

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