#pragma once
#include <cstring>

// Shared with host regression tests. Keep the wire defaults and exact identity
// comparison used by the board; diagnostics must not change target semantics.
inline bool agent_target_changed(bool selected, const char *agent, const char *session,
                                 const char *incoming_agent, const char *incoming_session)
{
    return !selected || std::strcmp(agent, incoming_agent ? incoming_agent : "pi") != 0 ||
           std::strcmp(session, incoming_session ? incoming_session : "unknown") != 0;
}
