import type { RailDeckDirectIntegrationClient as Client } from '@raildeck/frontend-sdk/direct-integration'; /** * Read current identity before loading personal appearance settings. * @param client - Configured client; the caller owns current authority. * @param signal - Caller-owned cancellation signal. * @returns Current identity and appearance, without saving a preference. */ export async function readOperatorContext( client: Client, signal: AbortSignal, ) { const options = { signal, timeoutMs: 15_000 }; const person = await client.session.getMe(options); const appearance = await client.session.getAppearance(options); return { person, appearance }; }