namespace Health.Application.AI;

public sealed record PendingAiWriteCommand(
    Guid Id,
    Guid UserId,
    string ToolName,
    string Arguments,
    DateTime ExpiresAt);

public interface IAiWriteConfirmationStore
{
    Task<PendingAiWriteCommand> CreateAsync(Guid userId, string toolName, string arguments, TimeSpan lifetime, CancellationToken ct);
    Task<PendingAiWriteCommand?> TakeAsync(Guid commandId, Guid userId, CancellationToken ct);
    Task CompleteAsync(PendingAiWriteCommand command, CancellationToken ct);
}
