feat(core): add shared DTOs, MqttTopics constants, DatabaseBootstrapper, and ManagedMqttClient extensions

This commit is contained in:
2026-08-24 21:35:24 +02:00
parent 6ab84fe1de
commit 44b161d509
39 changed files with 2545 additions and 709 deletions
@@ -40,7 +40,7 @@ public record FinBertResultDto
/// <summary>
/// Gets or sets the compound score (-1.0 to +1.0).
/// </summary>
[JsonPropertyName("compoundScore")]
[JsonPropertyName("compound_score")]
public double CompoundScore { get; init; }
/// <summary>
@@ -49,6 +49,12 @@ public record FinBertResultDto
[JsonPropertyName("confidence")]
public double Confidence { get; init; }
/// <summary>
/// Gets or sets the estimated market impact ("HIGH", "MEDIUM", "LOW").
/// </summary>
[JsonPropertyName("impact")]
public string? Impact { get; init; }
/// <summary>
/// Gets or sets the probability breakdown.
/// </summary>
@@ -56,8 +62,14 @@ public record FinBertResultDto
public FinBertProbabilities Probabilities { get; init; } = new();
/// <summary>
/// Gets or sets the short summary snippet highlighting the impact of the article.
/// Gets or sets the short key highlight extracted by FinBERT / n8n.
/// </summary>
[JsonPropertyName("key_highlight")]
public string? KeyHighlight { get; init; }
/// <summary>
/// Legacy alias for KeyHighlight / summary snippet.
/// </summary>
[JsonPropertyName("summarySnippet")]
public string? SummarySnippet { get; init; }
public string? SummarySnippet => KeyHighlight;
}