PlotDirector/PlotLine/Models/SceneIntelligenceModels.cs
2026-07-04 19:57:17 +01:00

224 lines
7.5 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace PlotLine.Models;
public sealed class SceneIntelligenceScene
{
public string? SchemaVersion { get; init; }
public SceneIntelligenceSceneReference? SceneReference { get; init; }
public SceneIntelligenceSummary? Summary { get; init; }
public SceneIntelligenceScenePurpose? ScenePurpose { get; init; }
public SceneIntelligencePointOfView? PointOfView { get; init; }
public SceneIntelligenceSetting? Setting { get; init; }
public List<SceneIntelligenceCharacter>? Characters { get; init; }
public List<SceneIntelligenceLocation>? Locations { get; init; }
public List<SceneIntelligenceAsset>? Assets { get; init; }
public List<SceneIntelligenceRelationship>? Relationships { get; init; }
public List<SceneIntelligenceKnowledgeChange>? KnowledgeChanges { get; init; }
public List<SceneIntelligenceTimelineClue>? TimelineClues { get; init; }
public List<SceneIntelligenceQuestionRaised>? QuestionsRaised { get; init; }
public List<SceneIntelligenceQuestionAnswered>? QuestionsAnswered { get; init; }
public List<SceneIntelligenceObservation>? Observations { get; init; }
public Dictionary<string, SceneIntelligenceMetric>? Metrics { get; init; }
public SceneIntelligenceSourceLimits? SourceLimits { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceSceneReference
{
public int? ProjectId { get; init; }
public int? BookId { get; init; }
public int? ChapterId { get; init; }
public int? SceneId { get; init; }
public decimal? ChapterNumber { get; init; }
public decimal? SceneNumber { get; init; }
public string? SourceLabel { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceSummary
{
public string? Short { get; init; }
public string? Detailed { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceScenePurpose
{
public string? ObservedFunction { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligencePointOfView
{
public string? CharacterName { get; init; }
public string? NarrativeMode { get; init; }
public decimal? Confidence { get; init; }
public string? Evidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceSetting
{
public string? TimeOfDay { get; init; }
public string? DateOrTimeReference { get; init; }
public string? LocationName { get; init; }
public string? LocationType { get; init; }
public string? GenericRoomType { get; init; }
public string? ParentLocationHint { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceCharacter
{
public string? Name { get; init; }
public string? RoleInScene { get; init; }
public bool? MentionedOnly { get; init; }
public List<string>? Aliases { get; init; }
public List<string>? Actions { get; init; }
public decimal? Confidence { get; init; }
public string? Notes { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceLocation
{
public string? Name { get; init; }
public string? LocationType { get; init; }
public string? GenericRoomType { get; init; }
public string? ParentLocationHint { get; init; }
public bool? PresentInScene { get; init; }
public bool? MentionedOnly { get; init; }
public decimal? Confidence { get; init; }
public string? Notes { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceAsset
{
public string? Name { get; init; }
public string? AssetType { get; init; }
public string? Status { get; init; }
public string? OwnerOrHolder { get; init; }
public bool? MentionedOnly { get; init; }
public decimal? Confidence { get; init; }
public string? Notes { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceRelationship
{
public string? CharacterA { get; init; }
public string? CharacterB { get; init; }
public string? RelationshipSignal { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceKnowledgeChange
{
public string? RecipientCharacter { get; init; }
public string? KnowledgeItem { get; init; }
public string? ChangeType { get; init; }
public string? SourceCharacter { get; init; }
public string? SourceType { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceTimelineClue
{
public string? Clue { get; init; }
public string? RelativeOrder { get; init; }
public string? AbsoluteDate { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceQuestionRaised
{
public string? Question { get; init; }
public string? Scope { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceQuestionAnswered
{
public string? Question { get; init; }
public string? Answer { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceObservation
{
public string? ObservationType { get; init; }
public string? SubjectEntityType { get; init; }
public string? SubjectName { get; init; }
public string? ObjectEntityType { get; init; }
public string? ObjectName { get; init; }
public string? Predicate { get; init; }
public string? Description { get; init; }
public string? Evidence { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceMetric
{
public int? Score { get; init; }
public decimal? Confidence { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}
public sealed class SceneIntelligenceSourceLimits
{
public bool? ContainsAmbiguity { get; init; }
public List<string>? AmbiguityNotes { get; init; }
[JsonExtensionData]
public Dictionary<string, JsonElement>? ExtensionData { get; init; }
}