Skip to content
Tracon

RunScoreQuery

Namespace Tracon · Assembly Tracon.Abstractions.dll

The filter for a score summary query (IRunScoreStore.SummarizeAsync).

public sealed record RunScoreQuery : IEquatable<RunScoreQuery>

objectRunScoreQuery

IEquatable<RunScoreQuery>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

A query, not a counter: it reads the rows IRunScoreStore.UpsertAsync already wrote. There is no offset-based paging beyond RunScoreQuery.MaxRows — a summary is a dashboard input, not a list endpoint.

public RunScoreQuery()

Count only scores whose run belongs to this agent.

public string? AgentName { get; init; }

string?

Count only this author.

public string? Author { get; init; }

string?

The time bucket of the trend series (RunScoreSummary.Series). null returns no series, and computes none — the summary still returns its breakdowns.

public RunScoreBucket? Bucket { get; init; }

RunScoreBucket?

Count only scores created at or after this moment.

public DateTimeOffset? From { get; init; }

DateTimeOffset?

The maximum number of rows returned in every breakdown (RunScoreSummary.ByName, RunScoreSummary.ByAuthor, RunScoreSummary.BySource, RunScoreSummary.ByAgent, and each bucket of RunScoreSummary.Series) and of the distinct categories kept inside one RunScoreAggregate.Categories map.

public int MaxRows { get; init; }

int

Count only this score name (RunScore.Name).

public string? ScoreName { get; init; }

string?

Count only this source: human, api, or judge:{name}.

public string? Source { get; init; }

string?

Whether run-level scores, message-level scores, or both are counted.

public RunScoreTarget Target { get; init; }

RunScoreTarget

RunScore.MessageId itself is never a breakdown dimension — its cardinality is unbounded, and a message-level score must not fall into the same bucket as a run-level one.

The tenant filter. The current tenant is used if left empty.

public string? TenantId { get; init; }

string?

Count only scores created before this moment.

public DateTimeOffset? To { get; init; }

DateTimeOffset?

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(RunScoreQuery? other)

other RunScoreQuery?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(RunScoreQuery?, RunScoreQuery?)

Section titled “ operator ==(RunScoreQuery?, RunScoreQuery?)”
public static bool operator ==(RunScoreQuery? left, RunScoreQuery? right)

left RunScoreQuery?

right RunScoreQuery?

bool

operator !=(RunScoreQuery?, RunScoreQuery?)

Section titled “ operator !=(RunScoreQuery?, RunScoreQuery?)”
public static bool operator !=(RunScoreQuery? left, RunScoreQuery? right)

left RunScoreQuery?

right RunScoreQuery?

bool