< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.Langfuse.LangfuseScoreClient
Assembly: NexusLabs.Needlr.AgentFramework.Langfuse
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Langfuse/LangfuseScoreClient.cs
Line coverage
50%
Covered lines: 9
Uncovered lines: 9
Coverable lines: 18
Total lines: 68
Line coverage: 50%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Langfuse/LangfuseScoreClient.cs

#LineLine coverage
 1using Microsoft.Extensions.AI.Evaluation;
 2
 3namespace NexusLabs.Needlr.AgentFramework.Langfuse;
 4
 5/// <summary>
 6/// Default <see cref="ILangfuseScoreClient"/> that records scores via a shared
 7/// <see cref="LangfuseScoreRecorder"/>.
 8/// </summary>
 9internal sealed class LangfuseScoreClient : ILangfuseScoreClient
 10{
 11    private readonly LangfuseScoreRecorder _recorder;
 12    private readonly LangfuseScoreFailureSink _failureSink;
 13
 314    public LangfuseScoreClient(LangfuseScoreRecorder recorder, LangfuseScoreFailureSink failureSink)
 15    {
 316        ArgumentNullException.ThrowIfNull(recorder);
 317        ArgumentNullException.ThrowIfNull(failureSink);
 18
 319        _recorder = recorder;
 320        _failureSink = failureSink;
 321    }
 22
 23    /// <inheritdoc />
 124    public bool IsEnabled => true;
 25
 26    /// <inheritdoc />
 027    public int ScoresFailed => _failureSink.FailedCount;
 28
 29    /// <inheritdoc />
 30    public Task RecordScoreAsync(string traceId, string name, double value, string? comment = null, CancellationToken ca
 031        _recorder.RecordNumericAsync(traceId, name, value, comment, cancellationToken);
 32
 33    /// <inheritdoc />
 34    public Task RecordScoreAsync(string traceId, string name, bool value, string? comment = null, CancellationToken canc
 035        _recorder.RecordBooleanAsync(traceId, name, value, comment, cancellationToken);
 36
 37    /// <inheritdoc />
 38    public Task RecordScoreAsync(string traceId, string name, string value, string? comment = null, CancellationToken ca
 039        _recorder.RecordCategoricalAsync(traceId, name, value, comment, cancellationToken);
 40
 41    /// <inheritdoc />
 42    public Task RecordEvaluationAsync(string traceId, EvaluationResult result, CancellationToken cancellationToken = def
 043        _recorder.RecordEvaluationAsync(traceId, result, cancellationToken);
 44
 45    /// <inheritdoc />
 46    public Task RecordObservationScoreAsync(string traceId, string observationId, string name, double value, string? com
 047        _recorder.RecordNumericAsync(LangfuseScoreTarget.Observation(traceId, observationId), name, value, comment, canc
 48
 49    /// <inheritdoc />
 50    public Task RecordObservationScoreAsync(string traceId, string observationId, string name, bool value, string? comme
 151        _recorder.RecordBooleanAsync(LangfuseScoreTarget.Observation(traceId, observationId), name, value, comment, canc
 52
 53    /// <inheritdoc />
 54    public Task RecordObservationScoreAsync(string traceId, string observationId, string name, string value, string? com
 055        _recorder.RecordCategoricalAsync(LangfuseScoreTarget.Observation(traceId, observationId), name, value, comment, 
 56
 57    /// <inheritdoc />
 58    public Task RecordSessionScoreAsync(string sessionId, string name, double value, string? comment = null, Cancellatio
 159        _recorder.RecordNumericAsync(LangfuseScoreTarget.Session(sessionId), name, value, comment, cancellationToken);
 60
 61    /// <inheritdoc />
 62    public Task RecordSessionScoreAsync(string sessionId, string name, bool value, string? comment = null, CancellationT
 063        _recorder.RecordBooleanAsync(LangfuseScoreTarget.Session(sessionId), name, value, comment, cancellationToken);
 64
 65    /// <inheritdoc />
 66    public Task RecordSessionScoreAsync(string sessionId, string name, string value, string? comment = null, Cancellatio
 067        _recorder.RecordCategoricalAsync(LangfuseScoreTarget.Session(sessionId), name, value, comment, cancellationToken
 68}