/** * `/api/dashboard/identity` — surfaces the workspace's self-person + * job profile to the dashboard, with PATCH endpoints that wrap the * existing taxonomy mutation helpers. * * Surface: * GET /api/dashboard/identity * → 200 { * self: PersonInfo | null, * jobProfile: * | { available: true, profile: JobProfile | null } * | { available: false } * } * POST /api/dashboard/identity/self body: PersonPatch * → 200 { ok: true, identity: PersonInfo } * POST /api/dashboard/identity/job-profile body: Partial * → 200 { ok: true, profile: JobProfile } * → 404 { error: "module_unavailable" } when job-profile module is * not wired on this Cortex install * * All routes are admin-gated. Identity is single-source-of-truth for * who the dashboard thinks the user is — read access alone is * sufficient justification for "admin" here. * * The job profile module is part of the private-modules surface; in * an open-source build it MAY be missing. We import it dynamically so * builds without it still typecheck + run, and we return a 404 with * `error: "module_unavailable"` so the client can render a * "not configured" affordance instead of an error toast. */ import type { IncomingMessage, ServerResponse } from "node:http"; import type { RouteContext } from "../route-context.js"; export declare function handle(req: IncomingMessage, res: ServerResponse, ctx: RouteContext): Promise; //# sourceMappingURL=dashboard-identity.d.ts.map