{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/StopSpeakingPlan", "title": "StopSpeakingPlan", "type": "object", "properties": { "numWords": { "type": "number", "description": "This is the number of words that the customer has to say before the assistant will stop talking.\n\nWords like \"stop\", \"actually\", \"no\", etc. will always interrupt immediately regardless of this value.\n\nWords like \"okay\", \"yeah\", \"right\" will never interrupt.\n\nWhen set to 0, `voiceSeconds` is used in addition to the transcriptions to determine the customer has started speaking.\n\nDefaults to 0.\n\n@default 0", "minimum": 0, "maximum": 10, "example": 0 }, "voiceSeconds": { "type": "number", "description": "This is the seconds customer has to speak before the assistant stops talking. This uses the VAD (Voice Activity Detection) spike to determine if the customer has started speaking.\n\nConsiderations:\n- A lower value might be more responsive but could potentially pick up non-speech sounds.\n- A higher value reduces false positives but might slightly delay the detection of speech onset.\n\nThis is only used if `numWords` is set to 0.\n\nDefaults to 0.2\n\n@default 0.2", "minimum": 0, "maximum": 0.5, "example": 0.2 }, "backoffSeconds": { "type": "number", "description": "This is the seconds to wait before the assistant will start talking again after being interrupted.\n\nDefaults to 1.\n\n@default 1", "minimum": 0, "maximum": 10, "example": 1 }, "acknowledgementPhrases": { "description": "These are the phrases that will never interrupt the assistant, even if numWords threshold is met.\nThese are typically acknowledgement or backchanneling phrases.", "example": [ "i understand", "i see", "i got it", "i hear you", "im listening", "im with you", "right", "okay", "ok", "sure", "alright", "got it", "understood", "yeah", "yes", "uh-huh", "mm-hmm", "gotcha", "mhmm", "ah", "yeah okay", "yeah sure" ], "default": [ "i understand", "i see", "i got it", "i hear you", "im listening", "im with you", "right", "okay", "ok", "sure", "alright", "got it", "understood", "yeah", "yes", "uh-huh", "mm-hmm", "gotcha", "mhmm", "ah", "yeah okay", "yeah sure" ], "type": "array", "items": { "type": "string", "maxLength": 240 } }, "interruptionPhrases": { "description": "These are the phrases that will always interrupt the assistant immediately, regardless of numWords.\nThese are typically phrases indicating disagreement or desire to stop.", "example": [ "stop", "shut", "up", "enough", "quiet", "silence", "but", "dont", "not", "no", "hold", "wait", "cut", "pause", "nope", "nah", "nevermind", "never", "bad", "actually" ], "default": [ "stop", "shut", "up", "enough", "quiet", "silence", "but", "dont", "not", "no", "hold", "wait", "cut", "pause", "nope", "nah", "nevermind", "never", "bad", "actually" ], "type": "array", "items": { "type": "string", "maxLength": 240 } } } }