@trueyy-sdk/web
TrueyyMonitor
The interviewer's live monitoring panel - risk pulses, window analysis, and transcript.
<TrueyyMonitor> is the interviewer's live view. Mount it inside a <TrueyyProvider> that holds an interviewer token.
import { TrueyyProvider, TrueyyMonitor } from "@trueyy-sdk/web";
import "@trueyy-sdk/web/styles.css";
<TrueyyProvider token={interviewerToken} onTokenExpiring={refresh}>
<TrueyyMonitor
onRiskAlert={(event) => {}} // fires on every risk pulse
onConsentChange={(event) => {}} // fires on consent given/declined/revoked
/>
</TrueyyProvider>What it renders
Three columns:
- Risk pulses - incoming alerts, color-coded by severity.
- Window analysis - every 30 seconds, the LLM-synthesized risk + score + one-line summary.
- Transcript - live two-speaker transcript.
Plus a "Capture now" button that triggers an on-demand screenshot capture.
Consent banner
A consent banner appears above the columns when the candidate withdraws (or declines) consent - capture has already stopped server-side at that point. onConsentChange also forwards every transition to your app, so you can log it or update your own UI.
Props
| Prop | Type | Fires |
|---|---|---|
onRiskAlert | (event: RiskPulseEvent) => void | On every risk pulse. |
onConsentChange | (event: CandidateStatusEvent) => void | On consent given / declined / revoked. |
Want a custom layout?
<TrueyyMonitor> is intentionally simple. For a bespoke UI, drop the component and use the hooks - useRiskStream, useWindowResults, useTranscriptStream - which feed the same data.