Sub-behaviour for adapters that support cost record persistence.
Summary
Callbacks
@callback get_cost_records( conversation_id :: String.t(), keyword() ) :: {:ok, [PhoenixAI.Store.CostTracking.CostRecord.t()]} | {:error, term()}
@callback save_cost_record( PhoenixAI.Store.CostTracking.CostRecord.t(), keyword() ) :: {:ok, PhoenixAI.Store.CostTracking.CostRecord.t()} | {:error, term()}