/** * Stands in for the signed-in actor. * * Publishing to ATProto requires knowing whose repository to write to. That * comes from an authenticated session, which does not exist yet (see * `auth.server.ts`), so every write in this build is attributed to one fixed * seeded identity. * * This is the whole reason job posting works without sign-in, and it is the * file to delete when OAuth lands: replace `currentActor()` with a lookup of * the session on the incoming request, and every caller keeps working because * they already ask for an actor rather than assuming one. */ export interface Actor { did: string; handle: string; } /** Matches a profile in `fixtures/profiles.ts` so writes attach to a real page. */ const DEV_ACTOR: Actor = { did: "did:plc:alice", handle: "alice.test" }; export function currentActor(): Actor { return DEV_ACTOR; } export const IS_DEV_ACTOR = true;