Skip to main content

objectiveai_sdk/functions/inventions/request/
function_invention_create_params.rs

1use crate::{agent, functions};
2use serde::{Deserialize, Serialize};
3use schemars::JsonSchema;
4
5#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
6#[schemars(rename = "functions.inventions.request.FunctionInventionCreateParams")]
7pub struct FunctionInventionCreateParams {
8    #[serde(skip_serializing_if = "Option::is_none")]
9    #[schemars(extend("omitempty" = true))]
10    pub remote: Option<crate::Remote>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    #[schemars(extend("omitempty" = true))]
13    pub overwrite: Option<bool>,
14    pub state: functions::inventions::ParamsStateOrRemoteCommitOptional,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    #[schemars(extend("omitempty" = true))]
17    pub provider: Option<agent::completions::request::Provider>,
18    pub agent: agent::InlineAgentBaseWithFallbacksOrRemoteCommitOptional,
19    pub prompt: functions::inventions::prompts::InlinePromptOrRemoteCommitOptional,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    #[schemars(extend("omitempty" = true))]
22    pub seed: Option<i64>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    #[schemars(extend("omitempty" = true))]
25    pub stream: Option<bool>,
26    /// Maximum number of retries per invention step.
27    /// Each step is one agent completion (which itself may loop internally
28    /// via tool calls). If the step's validation still fails after the
29    /// agent loop ends, the step is retried up to this many times.
30    /// Defaults to 3 if not specified.
31    #[serde(skip_serializing_if = "Option::is_none")]
32    #[schemars(extend("omitempty" = true))]
33    pub max_step_retries: Option<u32>,
34    /// Continuation from a previous completion, as a base64-encoded string.
35    #[serde(skip_serializing_if = "Option::is_none")]
36    #[schemars(extend("omitempty" = true))]
37    pub continuation: Option<String>,
38}