/** * Sally-like verifier agent pipeline. * * Source of truth: * - accepted `/ipex/grant` EXNs in `Baser.exns` * - embedded credential/TEL/KEL artifacts in `Baser.epath` * - saved credentials and TEL state in `Reger` * - TEL revocation cues from the shared runtime cue deck * * `Notifier` rows are intentionally not consumed here; they remain operator * visibility, matching the roadmap contract. */ import { SerderACDC } from "../../../cesr/mod.js"; import type { AgentCue } from "../core/cues.js"; import type { Deck } from "../core/deck.js"; import type { Reger } from "../db/reger.js"; import type { VerifierCueBaser } from "../db/verifier-cueing.js"; import type { Habery } from "./habbing.js"; import type { Reactor } from "./reactor.js"; import type { RuntimeServices } from "./runtime-services.js"; export interface VerifierAgentProcessResult { grantsQueued: number; revocationsQueued: number; presentationsReady: number; revocationsReady: number; webhooksSent: number; webhooksFailed: number; rejected: number; } export interface VerifierWebhookBody { action: "iss" | "rev"; actor: string; data: Record; } export interface VerifierBusinessValidatorContext { hby: Habery; reger: Reger; } export type VerifierBusinessValidator = (creder: SerderACDC, context: VerifierBusinessValidatorContext) => boolean | string | void; export interface VerifierAgentOptions { hby: Habery; reger: Reger; cdb: VerifierCueBaser; reactor: Reactor; cues: Deck; services: RuntimeServices; hook: string; timeoutMs?: number; validators?: Record; requireKnownSchemas?: boolean; } /** Sally-like verifier processor for one `Habery`/`Reger` runtime. */ export declare class VerifierAgent { readonly hby: Habery; readonly reger: Reger; readonly cdb: VerifierCueBaser; readonly reactor: Reactor; readonly cues: Deck; readonly services: RuntimeServices; readonly hook: string; readonly timeoutMs: number; readonly validators: Record; readonly requireKnownSchemas: boolean; constructor(options: VerifierAgentOptions); processOnce(): Promise; private scanAcceptedGrants; private processRevokedCues; private scanPersistedRevocations; private processPresentations; private processRevocations; private processReady; private postWebhook; private validateCredential; private hasQueuedOrSent; private hasRevocationQueuedOrSent; private hasAcceptedGrantForCredential; private hasReady; private expired; } /** Build validators from a local JSON config object. */ export declare function validatorsFromVerifierConfig(config: unknown): Record; //# sourceMappingURL=verifier-agent.d.ts.map