Skip to main content

objectiveai_sdk/functions/inventions/recursive/request/
function_invention_recursive_create_params.rs

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