Skip to main content

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