PhoenixAI.Store.Adapter.CostStore behaviour (PhoenixAI.Store v0.1.0)

Copy Markdown View Source

Sub-behaviour for adapters that support cost record persistence.

Summary

Callbacks

get_cost_records(conversation_id, keyword)

@callback get_cost_records(
  conversation_id :: String.t(),
  keyword()
) :: {:ok, [PhoenixAI.Store.CostTracking.CostRecord.t()]} | {:error, term()}

save_cost_record(t, keyword)

@callback save_cost_record(
  PhoenixAI.Store.CostTracking.CostRecord.t(),
  keyword()
) :: {:ok, PhoenixAI.Store.CostTracking.CostRecord.t()} | {:error, term()}

sum_cost(filters, keyword)

@callback sum_cost(
  filters :: keyword(),
  keyword()
) :: {:ok, Decimal.t()} | {:error, term()}