Module: Legion::Extensions::Llm::Ledger::Helpers::Retention

Defined in:
lib/legion/extensions/llm/ledger/helpers/retention.rb

Constant Summary collapse

PHI_TTL_DEFAULT_DAYS =
30
RETENTION_MAP =
{
  'session_only' => nil,
  'days_30'      => 30,
  'days_90'      => 90,
  'permanent'    => nil
}.freeze

Class Method Summary collapse

Class Method Details

.expired_ids(table) ⇒ Object



27
28
29
30
31
# File 'lib/legion/extensions/llm/ledger/helpers/retention.rb', line 27

def expired_ids(table)
  ::Legion::Data::DB[table]
    .where { expires_at <= Time.now.utc }
    .select_map(:id)
end

.resolve(retention:, contains_phi: false) ⇒ Object



20
21
22
23
24
25
# File 'lib/legion/extensions/llm/ledger/helpers/retention.rb', line 20

def resolve(retention:, contains_phi: false)
  label = retention.to_s.empty? ? 'default' : retention.to_s
  days  = days_for_label(label)
  days  = apply_phi_cap(days, contains_phi)
  days ? Time.now.utc + (days * 86_400) : nil
end