Skip to content

InMemoryAgentDefinitionStore

Namespace AgentPrism · Assembly AgentPrism.Core.dll

A store that keeps agent definitions in process memory.

public sealed class InMemoryAgentDefinitionStore : IAgentDefinitionStore

objectInMemoryAgentDefinitionStore

IAgentDefinitionStore

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

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.

InMemoryAgentDefinitionStore(ITenantContext?)

Section titled “ InMemoryAgentDefinitionStore(ITenantContext?)”

Initializes a new in-memory definition store.

public InMemoryAgentDefinitionStore(ITenantContext? tenantContext = null)

tenantContext ITenantContext?

The current tenant context. If omitted, the store behaves as single tenant.

Deletes the definition and every one of its versions.

public ValueTask<bool> DeleteAsync(string name, CancellationToken cancellationToken = default)

name string

The agent name.

cancellationToken CancellationToken

The cancellation token.

ValueTask<bool>

true when the delete happened.

Returns the current version of the definition with the given name.

public ValueTask<AgentDefinition?> GetAsync(string name, CancellationToken cancellationToken = default)

name string

The agent name.

cancellationToken CancellationToken

The cancellation token.

ValueTask<AgentDefinition?>

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)

name string

The agent name.

version int

The requested version number.

cancellationToken CancellationToken

The cancellation token.

ValueTask<AgentDefinition?>

The definition, or null when that version does not exist.

Lists the current version of every definition.

public ValueTask<IReadOnlyList<AgentDefinition>> ListAsync(CancellationToken cancellationToken = default)

cancellationToken CancellationToken

The cancellation token.

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)

name string

The agent name.

cancellationToken CancellationToken

The cancellation token.

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)

name string

The agent name.

version int

The version number to roll back to.

cancellationToken CancellationToken

The cancellation token.

ValueTask<AgentDefinition>

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)

definition AgentDefinition

The definition to save.

cancellationToken CancellationToken

The cancellation token.

ValueTask<AgentDefinition>

The definition with the new version number assigned.