Skip to main content

PromptStorage

Trait PromptStorage 

Source
pub trait PromptStorage: Send + Sync {
    // Required methods
    fn save(&self, template: &PromptTemplate) -> Result<String>;
    fn get(&self, name: &str) -> Result<Option<PromptTemplate>>;
    fn list(
        &self,
        tags: Option<&[String]>,
        name_pattern: Option<&str>,
    ) -> Result<Vec<PromptTemplate>>;
    fn delete(&self, name: &str) -> Result<bool>;
    fn increment_usage(&self, name: &str) -> Result<u64>;
}
Expand description

Trait for prompt storage backends.

Each domain scope (project, user, org) can have its own storage backend.

Required Methods§

Source

fn save(&self, template: &PromptTemplate) -> Result<String>

Saves a prompt template.

§Arguments
  • template - The prompt template to save
§Returns

The unique ID of the saved prompt.

§Errors

Returns an error if the prompt cannot be saved.

Source

fn get(&self, name: &str) -> Result<Option<PromptTemplate>>

Gets a prompt by name.

§Arguments
  • name - The prompt name
§Returns

The prompt template if found, None otherwise.

§Errors

Returns an error if the storage cannot be accessed.

Source

fn list( &self, tags: Option<&[String]>, name_pattern: Option<&str>, ) -> Result<Vec<PromptTemplate>>

Lists all prompts, optionally filtered.

§Arguments
  • tags - Optional tags to filter by (AND logic)
  • name_pattern - Optional glob pattern for name matching
§Returns

List of matching prompt templates.

§Errors

Returns an error if the storage cannot be accessed.

Source

fn delete(&self, name: &str) -> Result<bool>

Deletes a prompt by name.

§Arguments
  • name - The prompt name
§Returns

True if deleted, false if not found.

§Errors

Returns an error if the storage cannot be accessed.

Source

fn increment_usage(&self, name: &str) -> Result<u64>

Updates a prompt’s usage count.

§Arguments
  • name - The prompt name
§Returns

The new usage count.

§Errors

Returns an error if the prompt is not found or storage cannot be accessed.

Implementors§