InMemoryAgentDefinitionStore
AgentPrism.Core.dllA store that keeps agent definitions in process memory.
public sealed class InMemoryAgentDefinitionStore : IAgentDefinitionStoreInheritance
Section titled “Inheritance”object ← InMemoryAgentDefinitionStore
Implements
Section titled “Implements”Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”This is not a test helper. It is a first-class implementation that lets AgentPrism run without a database, so a developer who installs the package gets a working control plane without setting up infrastructure.
Records are isolated per tenant. The tenant comes from ITenantContext, and the same isolation contract as SQL implementations applies.
Limits: data is limited to the process lifetime and is not shared
across nodes. Use AgentPrism.PostgreSql in production.
Constructors
Section titled “Constructors”InMemoryAgentDefinitionStore(ITenantContext?)
Section titled “ InMemoryAgentDefinitionStore(ITenantContext?)”Initializes a new in-memory definition store.
public InMemoryAgentDefinitionStore(ITenantContext? tenantContext = null)Parameters
Section titled “Parameters”tenantContext ITenantContext?
The current tenant context. If omitted, the store behaves as single tenant.
Methods
Section titled “Methods”DeleteAsync(string, CancellationToken)
Section titled “ DeleteAsync(string, CancellationToken)”Deletes the definition and every one of its versions.
public ValueTask<bool> DeleteAsync(string name, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”name string
The agent name.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”true when the delete happened.
GetAsync(string, CancellationToken)
Section titled “ GetAsync(string, CancellationToken)”Returns the current version of the definition with the given name.
public ValueTask<AgentDefinition?> GetAsync(string name, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”name string
The agent name.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”The definition, or null when it does not exist.
GetVersionAsync(string, int, CancellationToken)
Section titled “ GetVersionAsync(string, int, CancellationToken)”Returns the given version of the definition with the given name.
public ValueTask<AgentDefinition?> GetVersionAsync(string name, int version, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”name string
The agent name.
version int
The requested version number.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”The definition, or null when that version does not exist.
ListAsync(CancellationToken)
Section titled “ ListAsync(CancellationToken)”Lists the current version of every definition.
public ValueTask<IReadOnlyList<AgentDefinition>> ListAsync(CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”ValueTask<IReadOnlyList<AgentDefinition>>
The definitions.
ListVersionsAsync(string, CancellationToken)
Section titled “ ListVersionsAsync(string, CancellationToken)”Lists every version of a definition, from newest to oldest.
public ValueTask<IReadOnlyList<AgentDefinition>> ListVersionsAsync(string name, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”name string
The agent name.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”ValueTask<IReadOnlyList<AgentDefinition>>
The version history.
RollbackAsync(string, int, CancellationToken)
Section titled “ RollbackAsync(string, int, CancellationToken)”Makes the given version current. A rollback does not delete the old version; it saves its content as a new version.
public ValueTask<AgentDefinition> RollbackAsync(string name, int version, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”name string
The agent name.
version int
The version number to roll back to.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”The definition saved as the new version.
SaveAsync(AgentDefinition, CancellationToken)
Section titled “ SaveAsync(AgentDefinition, CancellationToken)”Saves the definition and produces a new version. The
AgentDefinition.Version value of the incoming definition is ignored;
the store decides the version number.
public ValueTask<AgentDefinition> SaveAsync(AgentDefinition definition, CancellationToken cancellationToken = default)Parameters
Section titled “Parameters”definition AgentDefinition
The definition to save.
cancellationToken CancellationToken
The cancellation token.
Returns
Section titled “Returns”The definition with the new version number assigned.