Skip to main content

ChatMemorySession

Struct ChatMemorySession 

Source
pub struct ChatMemorySession { /* private fields */ }
Expand description

High-level session helper for LLM chat comparison patterns.

Groups conversation turns under a single Dakera session so that:

  • Every stored message is associated with session_id for scoped retrieval.
  • recall queries the agent’s full memory — not just this session — so prior conversations inform the current exchange.

Create via ChatMemorySession::create; close via ChatMemorySession::close.

Implementations§

Source§

impl ChatMemorySession

Source

pub async fn create( client: Arc<DakeraClient>, agent_id: impl Into<String>, ) -> Result<ChatMemorySession>

Create a new Dakera session and return a ChatMemorySession.

§Arguments
  • client – Shared DakeraClient instance.
  • agent_id – Identifier for the agent whose memory to use.
Source

pub async fn create_with_metadata( client: Arc<DakeraClient>, agent_id: impl Into<String>, metadata: Value, ) -> Result<ChatMemorySession>

Create a session with attached metadata.

Source

pub async fn store( &self, role: &str, content: &str, ) -> Result<StoreMemoryResponse>

Store a conversation turn in the session with default importance (0.6).

The role (e.g. "user" or "assistant") is appended to the memory’s tags automatically.

Source

pub async fn store_with_opts( &self, role: &str, content: &str, importance: f32, extra_tags: &[&str], ) -> Result<StoreMemoryResponse>

Store a conversation turn with custom importance and additional tags.

Source

pub async fn recall(&self, query: &str) -> Result<Vec<RecalledMemory>>

Recall up to 5 memories relevant to query for this agent.

Searches the agent’s full memory, not just the current session, so context from prior conversations is surfaced when relevant.

Source

pub async fn recall_top_k( &self, query: &str, top_k: usize, ) -> Result<Vec<RecalledMemory>>

Recall up to top_k memories relevant to query.

Source

pub async fn close(self) -> Result<()>

End the Dakera session.

Source

pub fn session_id(&self) -> &str

The underlying Dakera session ID.

Source

pub fn agent_id(&self) -> &str

The agent ID this session is bound to.

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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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: Sized + 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, 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<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