namespace Jibo.Runtime.Abstractions; public sealed class ResponsePlan { public string PlanId { get; init; } = Guid.NewGuid().ToString("N"); public string SessionId { get; init; } = string.Empty; public ResponseStatus Status { get; init; } = ResponseStatus.Succeeded; public string? IntentName { get; init; } public string? Topic { get; init; } public string? DeviceId { get; init; } public string? TargetHost { get; init; } public IList Actions { get; init; } = new List(); public FollowUpPolicy FollowUp { get; init; } = FollowUpPolicy.None; public IDictionary ContextUpdates { get; init; } = new Dictionary(); public string? DebugRoute { get; init; } public IDictionary Diagnostics { get; init; } = new Dictionary(); public IDictionary ProtocolMetadata { get; init; } = new Dictionary(); }