partly or unimplemented features - now implemented

This commit is contained in:
master
2026-02-09 08:53:51 +02:00
parent 1bf6bbf395
commit 4bdc298ec1
674 changed files with 90194 additions and 2271 deletions

View File

@@ -398,6 +398,126 @@ internal sealed record ChatToolSettingsUpdate
public List<string>? AllowedTools { get; init; }
}
/// <summary>
/// Conversation list response from AdvisoryAI conversation endpoints.
/// </summary>
internal sealed record ChatConversationListResponse
{
[JsonPropertyName("conversations")]
public List<ChatConversationSummary> Conversations { get; init; } = [];
[JsonPropertyName("totalCount")]
public int TotalCount { get; init; }
}
internal sealed record ChatConversationSummary
{
[JsonPropertyName("conversationId")]
public required string ConversationId { get; init; }
[JsonPropertyName("createdAt")]
public DateTimeOffset CreatedAt { get; init; }
[JsonPropertyName("updatedAt")]
public DateTimeOffset UpdatedAt { get; init; }
[JsonPropertyName("turnCount")]
public int TurnCount { get; init; }
[JsonPropertyName("preview")]
public string? Preview { get; init; }
}
internal sealed record ChatConversationResponse
{
[JsonPropertyName("conversationId")]
public required string ConversationId { get; init; }
[JsonPropertyName("tenantId")]
public required string TenantId { get; init; }
[JsonPropertyName("userId")]
public required string UserId { get; init; }
[JsonPropertyName("createdAt")]
public DateTimeOffset CreatedAt { get; init; }
[JsonPropertyName("updatedAt")]
public DateTimeOffset UpdatedAt { get; init; }
[JsonPropertyName("turns")]
public List<ChatConversationTurn> Turns { get; init; } = [];
}
internal sealed record ChatConversationTurn
{
[JsonPropertyName("turnId")]
public required string TurnId { get; init; }
[JsonPropertyName("role")]
public required string Role { get; init; }
[JsonPropertyName("content")]
public required string Content { get; init; }
[JsonPropertyName("timestamp")]
public DateTimeOffset Timestamp { get; init; }
[JsonPropertyName("evidenceLinks")]
public List<ChatConversationEvidenceLink>? EvidenceLinks { get; init; }
[JsonPropertyName("proposedActions")]
public List<ChatConversationProposedAction>? ProposedActions { get; init; }
}
internal sealed record ChatConversationEvidenceLink
{
[JsonPropertyName("type")]
public required string Type { get; init; }
[JsonPropertyName("uri")]
public required string Uri { get; init; }
[JsonPropertyName("label")]
public string? Label { get; init; }
[JsonPropertyName("confidence")]
public double? Confidence { get; init; }
}
internal sealed record ChatConversationProposedAction
{
[JsonPropertyName("actionType")]
public required string ActionType { get; init; }
[JsonPropertyName("label")]
public required string Label { get; init; }
[JsonPropertyName("policyGate")]
public string? PolicyGate { get; init; }
[JsonPropertyName("requiresConfirmation")]
public bool RequiresConfirmation { get; init; }
}
internal sealed record ChatConversationExport
{
[JsonPropertyName("generatedAt")]
public DateTimeOffset GeneratedAt { get; init; }
[JsonPropertyName("tenantId")]
public string? TenantId { get; init; }
[JsonPropertyName("userId")]
public string? UserId { get; init; }
[JsonPropertyName("conversationCount")]
public int ConversationCount { get; init; }
[JsonPropertyName("conversations")]
public List<ChatConversationResponse> Conversations { get; init; } = [];
}
/// <summary>
/// Error response from chat API.
/// </summary>