pub struct SystemPrompt {
pub id: String,
pub description: Option<String>,
pub strategy_ref: String,
pub blocks: HashMap<String, String>,
}Expand description
A concrete system prompt instance: content mapped to a strategy’s blocks.
Each block value is either:
- Inline text:
"You are an expert coder." - Relative file path:
"file:prompts/identity.md"— resolves from agent workspace - Absolute file path:
"file:/etc/phi/identity.md"— resolves as-is
Fields§
§id: StringUnique id (uses {{...}} reference protocol in config).
description: Option<String>Description for existence check queries (with % references).
strategy_ref: StringReference to the strategy that defines this prompt’s structure.
blocks: HashMap<String, String>Block name → content mapping.
Implementations§
Source§impl SystemPrompt
impl SystemPrompt
Sourcepub fn compose(
&self,
strategy: &dyn SystemPromptStrategy,
working_dir: &Path,
) -> Result<String, Error>
pub fn compose( &self, strategy: &dyn SystemPromptStrategy, working_dir: &Path, ) -> Result<String, Error>
Compose the final system prompt text by resolving blocks against the strategy.
- Sorts blocks by strategy order
- Resolves
"file:path"references (relative paths useworking_dir) - Truncates each block to its
max_length - Concatenates with double newlines
Trait Implementations§
Source§impl Clone for SystemPrompt
impl Clone for SystemPrompt
Source§fn clone(&self) -> SystemPrompt
fn clone(&self) -> SystemPrompt
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SystemPrompt
impl Debug for SystemPrompt
Source§impl<'de> Deserialize<'de> for SystemPrompt
impl<'de> Deserialize<'de> for SystemPrompt
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SystemPrompt
impl RefUnwindSafe for SystemPrompt
impl Send for SystemPrompt
impl Sync for SystemPrompt
impl Unpin for SystemPrompt
impl UnsafeUnpin for SystemPrompt
impl UnwindSafe for SystemPrompt
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
Mutably borrows from an owned value. Read more