| | | 1 | | using System.Text.Json; |
| | | 2 | | using System.Text.Json.Serialization; |
| | | 3 | | |
| | | 4 | | namespace Orchestrator.Commands.Observability.Experiments; |
| | | 5 | | |
| | | 6 | | internal sealed record PreparedExperimentAnalysisBundle( |
| | | 7 | | [property: JsonPropertyName("datasetName")] string DatasetName, |
| | | 8 | | [property: JsonPropertyName("taskType")] string TaskType, |
| | | 9 | | [property: JsonPropertyName("primaryMetricName")] string PrimaryMetricName, |
| | | 10 | | [property: JsonPropertyName("exportedAtUtc")] string ExportedAtUtc, |
| | | 11 | | [property: JsonPropertyName("datasetDescription")] string? DatasetDescription, |
| | | 12 | | [property: JsonPropertyName("datasetMetadata")] JsonElement DatasetMetadata, |
| | | 13 | | [property: JsonPropertyName("runs")] IReadOnlyList<PreparedExperimentAnalysisRun> Runs, |
| | | 14 | | [property: JsonPropertyName("rows")] IReadOnlyList<PreparedExperimentAnalysisRow> Rows); |
| | | 15 | | |
| | 1 | 16 | | internal sealed record PreparedExperimentAnalysisRun( |
| | 1 | 17 | | [property: JsonPropertyName("runName")] string RunName, |
| | 1 | 18 | | [property: JsonPropertyName("datasetRunId")] string DatasetRunId, |
| | 1 | 19 | | [property: JsonPropertyName("taskType")] string TaskType, |
| | 1 | 20 | | [property: JsonPropertyName("model")] string Model, |
| | 1 | 21 | | [property: JsonPropertyName("promptKey")] string? PromptKey, |
| | 1 | 22 | | [property: JsonPropertyName("promptSource")] string? PromptSource, |
| | 1 | 23 | | [property: JsonPropertyName("langfusePromptName")] string? LangfusePromptName, |
| | 1 | 24 | | [property: JsonPropertyName("langfusePromptLabel")] string? LangfusePromptLabel, |
| | 1 | 25 | | [property: JsonPropertyName("langfusePromptVersion")] int? LangfusePromptVersion, |
| | 1 | 26 | | [property: JsonPropertyName("reasoningEffort")] string? ReasoningEffort, |
| | 1 | 27 | | [property: JsonPropertyName("maxOutputTokens")] int? MaxOutputTokens, |
| | 1 | 28 | | [property: JsonPropertyName("sliceKind")] string? SliceKind, |
| | 1 | 29 | | [property: JsonPropertyName("sliceKey")] string? SliceKey, |
| | 1 | 30 | | [property: JsonPropertyName("sourcePoolKey")] string? SourcePoolKey, |
| | 1 | 31 | | [property: JsonPropertyName("selectedItemIdsHash")] string? SelectedItemIdsHash, |
| | 1 | 32 | | [property: JsonPropertyName("selectedItemIdsCount")] int SelectedItemIdsCount, |
| | 1 | 33 | | [property: JsonPropertyName("sampleSize")] int SampleSize, |
| | 1 | 34 | | [property: JsonPropertyName("matchCount")] int? MatchCount, |
| | 1 | 35 | | [property: JsonPropertyName("repetitions")] int? Repetitions, |
| | 1 | 36 | | [property: JsonPropertyName("parallelism")] int? Parallelism, |
| | 1 | 37 | | [property: JsonPropertyName("evaluationTimestampPolicyKey")] string? EvaluationTimestampPolicyKey, |
| | 1 | 38 | | [property: JsonPropertyName("evaluationTime")] string? EvaluationTime, |
| | 1 | 39 | | [property: JsonPropertyName("startedAtUtc")] string? StartedAtUtc, |
| | 1 | 40 | | [property: JsonPropertyName("batchStrategy")] string? BatchStrategy, |
| | 1 | 41 | | [property: JsonPropertyName("batchSize")] int? BatchSize, |
| | 1 | 42 | | [property: JsonPropertyName("batchCount")] int? BatchCount, |
| | 1 | 43 | | [property: JsonPropertyName("aggregateScores")] ExperimentAggregateScores AggregateScores, |
| | 1 | 44 | | [property: JsonPropertyName("primaryMetricValue")] double PrimaryMetricValue, |
| | 1 | 45 | | [property: JsonPropertyName("rowCount")] int RowCount, |
| | 1 | 46 | | [property: JsonPropertyName("runSubjectKind")] string? RunSubjectKind = null, |
| | 1 | 47 | | [property: JsonPropertyName("runSubjectId")] string? RunSubjectId = null, |
| | 1 | 48 | | [property: JsonPropertyName("runSubjectDisplayName")] string? RunSubjectDisplayName = null); |
| | | 49 | | |
| | | 50 | | internal sealed record PreparedExperimentAnalysisRow( |
| | | 51 | | [property: JsonPropertyName("pairingKey")] string PairingKey, |
| | | 52 | | [property: JsonPropertyName("datasetRunId")] string DatasetRunId, |
| | | 53 | | [property: JsonPropertyName("runName")] string RunName, |
| | | 54 | | [property: JsonPropertyName("taskType")] string TaskType, |
| | | 55 | | [property: JsonPropertyName("model")] string Model, |
| | | 56 | | [property: JsonPropertyName("promptKey")] string? PromptKey, |
| | | 57 | | [property: JsonPropertyName("reasoningEffort")] string? ReasoningEffort, |
| | | 58 | | [property: JsonPropertyName("sliceKind")] string? SliceKind, |
| | | 59 | | [property: JsonPropertyName("sliceKey")] string? SliceKey, |
| | | 60 | | [property: JsonPropertyName("sourcePoolKey")] string? SourcePoolKey, |
| | | 61 | | [property: JsonPropertyName("datasetItemId")] string DatasetItemId, |
| | | 62 | | [property: JsonPropertyName("sourceDatasetItemId")] string SourceDatasetItemId, |
| | | 63 | | [property: JsonPropertyName("traceId")] string TraceId, |
| | | 64 | | [property: JsonPropertyName("observationId")] string? ObservationId, |
| | | 65 | | [property: JsonPropertyName("matchday")] int Matchday, |
| | | 66 | | [property: JsonPropertyName("homeTeam")] string HomeTeam, |
| | | 67 | | [property: JsonPropertyName("awayTeam")] string AwayTeam, |
| | | 68 | | [property: JsonPropertyName("startsAt")] string StartsAt, |
| | | 69 | | [property: JsonPropertyName("tippSpielId")] string? TippSpielId, |
| | | 70 | | [property: JsonPropertyName("predictedHomeGoals")] int? PredictedHomeGoals, |
| | | 71 | | [property: JsonPropertyName("predictedAwayGoals")] int? PredictedAwayGoals, |
| | | 72 | | [property: JsonPropertyName("expectedHomeGoals")] int ExpectedHomeGoals, |
| | | 73 | | [property: JsonPropertyName("expectedAwayGoals")] int ExpectedAwayGoals, |
| | | 74 | | [property: JsonPropertyName("kicktippPoints")] int KicktippPoints, |
| | | 75 | | [property: JsonPropertyName("predictionStatus")] string PredictionStatus = "placed", |
| | | 76 | | [property: JsonPropertyName("runSubjectKind")] string? RunSubjectKind = null, |
| | | 77 | | [property: JsonPropertyName("runSubjectId")] string? RunSubjectId = null, |
| | | 78 | | [property: JsonPropertyName("runSubjectDisplayName")] string? RunSubjectDisplayName = null, |
| | | 79 | | [property: JsonPropertyName("fixtureIndex")] int? FixtureIndex = null, |
| | | 80 | | [property: JsonPropertyName("repetitionIndex")] int? RepetitionIndex = null); |