Helper for managing identity state in an agent.
Identity state is stored at the reserved key :__identity__ in agent.state.
Summary
Functions
Ensure agent has an identity, initializing it when missing.
Get identity state from agent state.
Check if agent has identity state.
Returns the reserved key for identity storage.
Put identity state into agent state.
Return a public snapshot of the agent's identity.
Update identity state using a function.
Functions
@spec ensure( Jido.Agent.t(), keyword() ) :: Jido.Agent.t()
Ensure agent has an identity, initializing it when missing.
@spec get(Jido.Agent.t(), Jido.Agent.Identity.t() | nil) :: Jido.Agent.Identity.t() | nil
Get identity state from agent state.
@spec has_identity?(Jido.Agent.t()) :: boolean()
Check if agent has identity state.
@spec key() :: atom()
Returns the reserved key for identity storage.
@spec put(Jido.Agent.t(), Jido.Agent.Identity.t()) :: Jido.Agent.t()
Put identity state into agent state.
@spec snapshot(Jido.Agent.t()) :: map() | nil
Return a public snapshot of the agent's identity.
@spec update(Jido.Agent.t(), (Jido.Agent.Identity.t() | nil -> Jido.Agent.Identity.t())) :: Jido.Agent.t()
Update identity state using a function.