Skip to content

IToolApprovalRuleStore

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

The store for persistent approval rules.

public interface IToolApprovalRuleStore

The rules are read on every run; implementations must keep the read cheap. The in-memory implementation holds every rule in memory; the PostgreSQL implementation is indexed on (tenant_id, tool_name).

AddAsync(ToolApprovalRule, CancellationToken)

Section titled “ AddAsync(ToolApprovalRule, CancellationToken)”

Adds a rule. When the same triple and argument fingerprint is already stored, the existing rule is returned and no new record is opened.

ValueTask<ToolApprovalRule> AddAsync(ToolApprovalRule rule, CancellationToken cancellationToken = default)

rule ToolApprovalRule

The rule to add.

cancellationToken CancellationToken

The cancellation token.

ValueTask<ToolApprovalRule>

The persisted rule.

DeleteAsync(string, Guid, CancellationToken)

Section titled “ DeleteAsync(string, Guid, CancellationToken)”

Deletes a rule.

ValueTask<bool> DeleteAsync(string tenantId, Guid ruleId, CancellationToken cancellationToken = default)

tenantId string

The tenant id. The rule of another tenant cannot be deleted.

ruleId Guid

The rule id.

cancellationToken CancellationToken

The cancellation token.

ValueTask<bool>

true when the rule was deleted.

Lists the rules of a tenant.

ValueTask<IReadOnlyList<ToolApprovalRule>> ListAsync(string tenantId, CancellationToken cancellationToken = default)

tenantId string

The tenant id.

cancellationToken CancellationToken

The cancellation token.

ValueTask<IReadOnlyList<ToolApprovalRule>>

The rules, newest first.