pub enum MemoryKind {
Identity,
Preference,
Relationship,
RelationshipPreference,
Routine,
Commitment,
Project,
Episodic,
CommunicationStyle,
LocationPreference,
StagedPattern,
}Expand description
What sort of thing a memory records.
Kind drives retrieval scoping, default persistence and promotion policy —
an Episodic memory expires, an Identity memory does not.
Variants§
Identity
A stable fact about who the user is.
Preference
A durable like, dislike or standing choice.
Relationship
A person the user is connected to.
RelationshipPreference
A preference held by someone the user is connected to.
Routine
A recurring behaviour.
Commitment
Something the user has undertaken to do.
Project
A piece of ongoing work.
Episodic
A time-bounded event, condition or situation.
CommunicationStyle
How the user prefers to be spoken to.
LocationPreference
A place-scoped preference.
StagedPattern
An inferred pattern awaiting reinforcement.
Implementations§
Source§impl MemoryKind
impl MemoryKind
Sourcepub fn is_episodic(self) -> bool
pub fn is_episodic(self) -> bool
Whether this kind is inherently time-bounded.
Sourcepub fn scope_label(self) -> &'static str
pub fn scope_label(self) -> &'static str
The retrieval scopes a plan may name to reach this kind.
Trait Implementations§
Source§impl Clone for MemoryKind
impl Clone for MemoryKind
Source§fn clone(&self) -> MemoryKind
fn clone(&self) -> MemoryKind
Returns a duplicate of the value. Read more
1.0.0 · 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 MemoryKind
impl Debug for MemoryKind
Source§impl<'de> Deserialize<'de> for MemoryKind
impl<'de> Deserialize<'de> for MemoryKind
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
Source§impl Display for MemoryKind
impl Display for MemoryKind
Source§impl Hash for MemoryKind
impl Hash for MemoryKind
Source§impl JsonSchema for MemoryKind
impl JsonSchema for MemoryKind
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl Ord for MemoryKind
impl Ord for MemoryKind
Source§fn cmp(&self, other: &MemoryKind) -> Ordering
fn cmp(&self, other: &MemoryKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for MemoryKind
impl PartialEq for MemoryKind
Source§impl PartialOrd for MemoryKind
impl PartialOrd for MemoryKind
Source§impl Serialize for MemoryKind
impl Serialize for MemoryKind
impl Copy for MemoryKind
impl Eq for MemoryKind
impl StructuralPartialEq for MemoryKind
Auto Trait Implementations§
impl Freeze for MemoryKind
impl RefUnwindSafe for MemoryKind
impl Send for MemoryKind
impl Sync for MemoryKind
impl Unpin for MemoryKind
impl UnwindSafe for MemoryKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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 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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].