import type { ReadActor } from './read-trail.service'; /** * Resolves the {@link ReadActor} of a cookie-session request (issue #222). * Structural parameter instead of `AuthedRequest` so the read-trail module * never imports the auth guard. PAT requests build their key directly * (`token:`, public-api controller). */ export function readActorOf(request: { user?: { id: string } | null; sessionId?: string; }): ReadActor { return { actorId: request.user?.id ?? null, sessionKey: request.sessionId ? `session:${request.sessionId}` : 'anon', }; }