@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:

  1. Risk pulses - incoming alerts, color-coded by severity.
  2. Window analysis - every 30 seconds, the LLM-synthesized risk + score + one-line summary.
  3. Transcript - live two-speaker transcript.

Plus a "Capture now" button that triggers an on-demand screenshot capture.

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

PropTypeFires
onRiskAlert(event: RiskPulseEvent) => voidOn every risk pulse.
onConsentChange(event: CandidateStatusEvent) => voidOn 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.

On this page

Ask ChatGPT