Skip to content

IAgentDefinitionStore

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

The store for agent definitions kept in the database. Versioning and rollback support are required: every save produces a new version, and old versions are not deleted.

public interface IAgentDefinitionStore

Deletes the definition and every one of its versions.

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.

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.

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.

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.

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.

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.

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.