using System.Text.Json.Nodes; namespace Nexus.Api.Models; public sealed record StartOpenClawWizardRequest( string Mode = "local", bool Confirmed = false); public sealed record AdvanceOpenClawWizardRequest( string SessionId, string? StepId = null, JsonNode? Value = null, bool HasAnswer = true); public sealed record OpenClawWizardOptionDto( JsonNode? Value, string Label, string? Hint); public sealed record OpenClawWizardDeviceCodeDto( string Code, int? ExpiresInMinutes, string? Message); public sealed record OpenClawWizardStepDto( string Id, string Type, string? Title, string? Message, IReadOnlyList Options, JsonNode? InitialValue, string? Placeholder, bool Sensitive, string? Executor, string? ExternalUrl, OpenClawWizardDeviceCodeDto? DeviceCode, bool CanAnswer, string? BlockedReason); public sealed record OpenClawWizardResultDto( bool Ok, string State, string Message, string? SessionId, bool Done, string? Status, string? Error, OpenClawWizardStepDto? Step, string? Recovery, DateTimeOffset CompletedAt);