import type { RawHandler } from '../../types.js'; /** One unit of drift GET /health reports. `client` is a loose string (not * `ClientId`) so a caller-injected `manifestSync` (tests) is never forced to * import the canonical client vocabulary just to shape a fixture. */ export interface DriftEntry { skill: string; client: string; issue: 'missing' | 'outdated' | 'orphan' | 'failed'; } /** The seam GET /health reads drift through -- production wires this to * `inventory.ts` (see `http/server.ts`); tests inject a fixed report so the * response never depends on what happens to be installed on the machine * running the suite. */ export interface SkillManifestSync { driftReport(): DriftEntry[] | Promise; } /** * GET /health — unauthenticated liveness + provisioning drift check. * * Minimal v4.0 shape (spec C13): status=ok when every declared client's * provisioning is healthy; status=drift when one or more clients are missing, * outdated, orphaned, or have an unresolved provisioning marker ('failed'). * No version/pid/uptimeMs — those live in telemetry and GET /status. */ export declare function buildHealthHandler(deps: { manifestSync: SkillManifestSync; }): RawHandler; //# sourceMappingURL=health.d.ts.map