Enum MemoryGrant
pub enum MemoryGrant {
Agent(AgentAlias),
Scoped {
agent: AgentAlias,
categories: Option<Vec<String>>,
},
}Expand description
A cross-agent memory read grant.
The legacy string form ("researcher") remains an unrestricted grant
for that agent. The structured form adds an optional exact-match category
allowlist, e.g. { agent = "researcher", categories = ["facts"] }.
Variants§
Agent(AgentAlias)
Backward-compatible unrestricted grant.
Scoped
Structured grant with an optional category restriction.
Implementations§
Source§impl MemoryGrant
impl MemoryGrant
Sourcepub fn agent(&self) -> &AgentAlias
pub fn agent(&self) -> &AgentAlias
Return the source agent named by this grant.
Sourcepub fn agent_mut(&mut self) -> &mut AgentAlias
pub fn agent_mut(&mut self) -> &mut AgentAlias
Return the source agent mutably so alias cascades can preserve the grant’s category scope while renaming references.
Sourcepub fn categories(&self) -> Option<&[String]>
pub fn categories(&self) -> Option<&[String]>
Return the exact category allowlist, or None for unrestricted access.
Trait Implementations§
Source§impl Clone for MemoryGrant
impl Clone for MemoryGrant
Source§fn clone(&self) -> MemoryGrant
fn clone(&self) -> MemoryGrant
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryGrant
impl Debug for MemoryGrant
Source§impl<'de> Deserialize<'de> for MemoryGrant
impl<'de> Deserialize<'de> for MemoryGrant
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
impl Eq for MemoryGrant
Source§impl HasPropKind for MemoryGrant
impl HasPropKind for MemoryGrant
const PROP_KIND: PropKind = PropKind::Object
const ALIAS_SOURCE: Option<AliasSource> = None
Source§fn display_secret_terminals() -> Vec<&'static str>
fn display_secret_terminals() -> Vec<&'static str>
Terminal field names whose values must be redacted when this type is
displayed as an object/object-array prop. Most prop kinds have no
nested secret surface; Configurable object-array element types can
override this by delegating to their generated
secret_field_terminals.Source§impl JsonSchema for MemoryGrant
impl JsonSchema for MemoryGrant
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
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for MemoryGrant
impl PartialEq for MemoryGrant
Source§impl Serialize for MemoryGrant
impl Serialize for MemoryGrant
impl StructuralPartialEq for MemoryGrant
Auto Trait Implementations§
impl Freeze for MemoryGrant
impl RefUnwindSafe for MemoryGrant
impl Send for MemoryGrant
impl Sync for MemoryGrant
impl Unpin for MemoryGrant
impl UnsafeUnpin for MemoryGrant
impl UnwindSafe for MemoryGrant
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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