Optional detectionOptional humanSilence after a short greeting before settling as HUMAN.
Optional humanSpeech longer than this is treated as machine-like (skips the short-greeting heuristic).
Optional interruptOptional llmLLM used to classify call greetings.
LLM instance: used as-is (caller-owned; AMD will not close it).string: treated as a Cloud Inference model id (e.g. 'openai/gpt-4o-mini')
and an inference LLM is constructed (AMD-owned).undefined (default): auto-select — if LiveKit Cloud inference credentials
are available in the environment, uses 'google/gemini-3.1-flash-lite' via
the inference gateway; otherwise falls back to the session's own LLM.Optional machineSilence after machine-like speech before opening the silence gate.
Optional noIf no final transcript arrives within this window, settle as MACHINE_UNAVAILABLE.
Optional participantRestrict AMD to a specific participant. Used to filter the
waitForTrackPublication gate (see python detector.py) and span
attribution. When unset, AMD binds to whichever participant the session
is linked to.
Optional promptOverride the AMD classification system prompt.
Optional sttDedicated STT used to transcribe call audio for AMD.
STT instance: used as-is (caller-owned; AMD will not close it).string: treated as a Cloud Inference model id (e.g. 'cartesia/ink-whisper')
and an inference STT is constructed (AMD-owned).undefined (default): auto-select — if LiveKit Cloud inference credentials
are available in the environment, uses 'cartesia/ink-whisper' via the
inference gateway; otherwise reuses the session's existing STT transcripts.Optional suppressIf true, do not log a warning when the resolved LLM is not among the bundled AMD-tested model strings. Has no effect on classification behavior.
Hard ceiling for the entire detection. After this, settle with whatever evidence exists.