/** * Fastify route wiring for the supervised intake /signals and /errors routes. * The route IS mounted via createApi when intakeContext is present. */ import type { FastifyInstance } from "fastify"; import type { ScannerRegistry } from "../intake/scanner-registry.js"; import type { AcceptanceRecord } from "../intake/acceptance-record.js"; import { type Logger } from "../../utils/logger.js"; export interface RegisterSignalsRouteOpts { registry: ScannerRegistry; record: AcceptanceRecord; now?: () => number; mintCorrelationId?: () => string; updateLiveness?: (scannerId: string, now: number) => void; onAccepted?: (signal: any, correlationId: string, scannerId: string) => void; onError?: (scannerId: string, error: Record) => void; /** The per-tick observability seam both routes call; defaults to a no-op. */ onTick?: (scannerId: string, tick: any) => void; /** * Max items allowed in a single `signals[]` request * (`api.maxItemsPerSignalsRequest`). When undefined, no item-count cap is * applied — the server wiring always supplies it from the validated api config. */ maxItemsPerSignalsRequest?: number; /** Optional logger; defaults to a no-op so existing call sites/tests are unaffected. */ logger?: Logger; } /** * Register the supervised intake /signals and /errors routes. */ export declare function registerSignalsRoute(fastify: FastifyInstance, opts: RegisterSignalsRouteOpts): void; //# sourceMappingURL=signals.d.ts.map