Skip to main content

PaladinData

Struct PaladinData 

Source
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: String

System prompt defining the Paladin’s behavior and personality

§name: String

Display name for the Paladin

§user_name: String

Name to use for the user in conversations

§model: String

LLM model identifier (e.g., “gpt-4”, “claude-3”)

§temperature: f32

Response randomness (0.0 = deterministic, 1.0 = maximum randomness)

§max_loops: MaxLoops

Maximum iteration control (Fixed or Auto planning mode)

§stop_words: Vec<String>

Tokens that signal the Paladin should stop processing

§status: PaladinStatus

Current execution status

§vision_enabled: bool

Whether vision capabilities are enabled for this Paladin

§autonomous_planning: bool

Whether 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: bool

Whether 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: String

Agent 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: bool

Whether 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

Source§

fn clone(&self) -> PaladinData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PaladinData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for PaladinData

Source§

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.7
  • max_loops: MaxLoops::Fixed(3)
  • stop_words: Empty vector
  • status: Idle
  • vision_enabled: false
  • autonomous_planning: false
  • autonomous_prompts: false
  • agent_description: Empty string
  • dynamic_temperature: false
Source§

impl<'de> Deserialize<'de> for PaladinData

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<PaladinData, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for PaladinData

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,