< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.Langfuse.LangfuseCreateDatasetItemRequest
Assembly: NexusLabs.Needlr.AgentFramework.Langfuse
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Langfuse/LangfuseCreateDatasetItemRequest.cs
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 48
Line coverage: 100%
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

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_DatasetName()100%11100%
get_Id()100%11100%
get_Input()100%11100%
get_ExpectedOutput()100%11100%
get_Metadata()100%11100%
get_SourceTraceId()100%11100%
get_SourceObservationId()100%11100%
From(...)100%11100%

File(s)

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

#LineLine coverage
 1namespace NexusLabs.Needlr.AgentFramework.Langfuse;
 2
 3/// <summary>
 4/// Serializable payload for <c>POST /api/public/dataset-items</c>. Items are upserted on
 5/// <see cref="Id"/>. Property names are projected to camelCase by <see cref="LangfuseApiClient"/>.
 6/// </summary>
 7internal sealed record LangfuseCreateDatasetItemRequest
 8{
 9    /// <summary>Gets the dataset name the item belongs to.</summary>
 210    public required string DatasetName { get; init; }
 11
 12    /// <summary>Gets the optional stable item id used for upsert.</summary>
 213    public string? Id { get; init; }
 14
 15    /// <summary>Gets the item input.</summary>
 216    public object? Input { get; init; }
 17
 18    /// <summary>Gets the expected output.</summary>
 219    public object? ExpectedOutput { get; init; }
 20
 21    /// <summary>Gets optional metadata.</summary>
 222    public object? Metadata { get; init; }
 23
 24    /// <summary>Gets the optional source trace id.</summary>
 225    public string? SourceTraceId { get; init; }
 26
 27    /// <summary>Gets the optional source observation id.</summary>
 228    public string? SourceObservationId { get; init; }
 29
 30    /// <summary>Projects a public <see cref="LangfuseDatasetItem"/> to the wire payload.</summary>
 31    /// <param name="item">The dataset item to project.</param>
 32    /// <returns>The request payload.</returns>
 33    public static LangfuseCreateDatasetItemRequest From(LangfuseDatasetItem item)
 34    {
 135        ArgumentNullException.ThrowIfNull(item);
 36
 137        return new LangfuseCreateDatasetItemRequest
 138        {
 139            DatasetName = item.DatasetName,
 140            Id = item.Id,
 141            Input = item.Input,
 142            ExpectedOutput = item.ExpectedOutput,
 143            Metadata = item.Metadata,
 144            SourceTraceId = item.SourceTraceId,
 145            SourceObservationId = item.SourceObservationId,
 146        };
 47    }
 48}