This commit is contained in:
MasseR committed 2025-03-28 19:55:59 +02:00
1 parent 05cf5df18f
commit c13f01a012
9 files changed
+296 -91

No files matched your search

+13 -5
View File
@@ -10,24 +10,32 @@ import Control.Monad.Reader (MonadReader, liftIO)
import Creds
import Data.Aeson (object, (.=))
import Data.Aeson.Lens (key, _Array, _String)
import Data.Functor.Contravariant ((>$<))
import Data.Text (Text)
import Data.Text.Strict.Lens (utf8)
import HTTP (HTTPMetric, Retry (SafeTransient), Trace, postWith, tracerMetrics)
import M (HasOpenrouterMetrics, openrouterMetrics)
import HTTP (HTTPMetric, Retry (SafeTransient), Trace, logFormatter, postWith, tracerMetrics)
import M (HasKatipTracer, HasOpenrouterMetrics, KatipTracer, katipTracer, openrouterMetrics)
import Network.Wreq (defaults, header, responseBody)
import Tracer (Tracer (..))
import UnliftIO (MonadIO)
mkTracerMetrics :: (MonadReader r m, HasOpenrouterMetrics r HTTPMetric) => m (Tracer HTTP.Trace)
mkTracerMetrics ::
( MonadReader r m,
HasOpenrouterMetrics r HTTPMetric,
HasKatipTracer r KatipTracer
) =>
m (Tracer HTTP.Trace)
mkTracerMetrics = do
l <- view katipTracer
m <- view openrouterMetrics
pure $ HTTP.tracerMetrics m
pure $ (logFormatter >$< l) <> HTTP.tracerMetrics m
completions ::
( MonadIO m,
MonadCatch m,
MonadReader r0 m,
HasOpenrouterMetrics r0 HTTPMetric
HasOpenrouterMetrics r0 HTTPMetric,
HasKatipTracer r0 KatipTracer
) =>
Creds ->
Text ->