pub struct PaladinData {Show 13 fields
pub system_prompt: String,
pub name: String,
pub user_name: String,
pub model: String,
pub temperature: f32,
pub max_loops: MaxLoops,
pub stop_words: Vec<String>,
pub status: PaladinStatus,
pub vision_enabled: bool,
pub autonomous_planning: bool,
pub autonomous_prompts: bool,
pub agent_description: String,
pub dynamic_temperature: bool,
}Expand description
Core data payload for a Paladin entity
Contains all configuration and state information for an autonomous AI agent.
This struct is wrapped in a Node<T> to provide UUID, timestamps, and versioning.
Fields§
§system_prompt: StringSystem prompt defining the Paladin’s behavior and personality
name: StringDisplay name for the Paladin
user_name: StringName to use for the user in conversations
model: StringLLM model identifier (e.g., “gpt-4”, “claude-3”)
temperature: f32Response randomness (0.0 = deterministic, 1.0 = maximum randomness)
max_loops: MaxLoopsMaximum iteration control (Fixed or Auto planning mode)
stop_words: Vec<String>Tokens that signal the Paladin should stop processing
status: PaladinStatusCurrent execution status
vision_enabled: boolWhether vision capabilities are enabled for this Paladin
autonomous_planning: boolWhether autonomous planning mode is enabled (Layer 1)
When true, the Paladin will use PlanningService to decompose complex tasks into subtasks before execution. Requires planning service to be configured in PaladinExecutionService.
autonomous_prompts: boolWhether auto-generate system prompt is enabled (Layer 1)
When true, the Paladin will use PromptGenerationService to generate a contextual system prompt based on agent_description. Requires prompt generation service to be configured in PaladinExecutionService.
agent_description: StringAgent description used for autonomous prompt generation
Provides context for generating system prompts when autonomous_prompts is enabled. Should describe the agent’s role and capabilities.
dynamic_temperature: boolWhether dynamic temperature adjustment is enabled (Layer 2)
When true, temperature increases linearly from the configured base value to 1.0 over the course of max_loops iterations. This encourages exploration in later loops when the agent might be stuck.
Trait Implementations§
Source§impl Clone for PaladinData
impl Clone for PaladinData
Source§fn clone(&self) -> PaladinData
fn clone(&self) -> PaladinData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PaladinData
impl Debug for PaladinData
Source§impl Default for PaladinData
impl Default for PaladinData
Source§fn default() -> PaladinData
fn default() -> PaladinData
Creates a PaladinData instance with sensible defaults.
§Default Values
system_prompt: Empty string (must be set before use)name: “Paladin”user_name: “User”model: “gpt-4”temperature: 0.7max_loops: MaxLoops::Fixed(3)stop_words: Empty vectorstatus: Idlevision_enabled: falseautonomous_planning: falseautonomous_prompts: falseagent_description: Empty stringdynamic_temperature: false
Source§impl<'de> Deserialize<'de> for PaladinData
impl<'de> Deserialize<'de> for PaladinData
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PaladinData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PaladinData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for PaladinData
impl Serialize for PaladinData
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for PaladinData
impl RefUnwindSafe for PaladinData
impl Send for PaladinData
impl Sync for PaladinData
impl Unpin for PaladinData
impl UnsafeUnpin for PaladinData
impl UnwindSafe for PaladinData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more