AgentSessionManager.Persistence.RetentionPolicy
(AgentSessionManager v0.8.0)
Copy Markdown
View Source
Configurable rules for session and event lifecycle management.
Usage
policy = RetentionPolicy.new(
max_completed_session_age_days: 90,
hard_delete_after_days: 30,
max_events_per_session: 10_000
)
:ok = RetentionPolicy.validate(policy)
Summary
Types
@type t() :: %AgentSessionManager.Persistence.RetentionPolicy{ archive_before_prune: boolean(), archive_store: GenServer.server() | nil, batch_size: pos_integer(), exempt_statuses: [atom()], exempt_tags: [String.t()], hard_delete_after_days: pos_integer() | :infinity, max_completed_session_age_days: pos_integer() | :infinity, max_events_per_session: pos_integer() | :infinity, max_session_age_days: pos_integer() | :infinity, max_total_events: pos_integer() | :infinity, prune_event_types_first: [atom()] }
Functions
Builds a policy from keyword options.
Any options not provided use defaults from AgentSessionManager.Config.
Validates a policy for internal consistency.
Returns :ok or {:error, reason}.