diff --git a/specs.json b/specs.json index 9808f2b..24f225d 100644 --- a/specs.json +++ b/specs.json @@ -755,7 +755,8 @@ "customOptions": "#customOptions", "verbioOptions": "#verbioOptions", "speechmaticsOptions": "#speechmaticsOptions", - "openaiOptions": "#openaiOptions" + "openaiOptions": "#openaiOptions", + "houndifyOptions": "#houndifyOptions" }, "required": [ "vendor" @@ -833,6 +834,42 @@ "transcriptNormalization": "array" } }, + "houndifyOptions": { + "properties": { + "latitude": "number", + "longitude": "number", + "city": "string", + "state": "string", + "country": "string", + "timeZone": "string", + "domain": "string", + "audioEndpoint": "string", + "maxSilenceSeconds": "number", + "maxSilenceAfterFullQuerySeconds": "number", + "maxSilenceAfterPartialQuerySeconds": "number", + "vadSensitivity": "number", + "vadTimeout": "number", + "vadMode": "string", + "vadVoiceMs": "number", + "vadSilenceMs": "number", + "vadDebug": "boolean", + "audioFormat": "string", + "enableNoiseReduction": "boolean", + "enableProfanityFilter": "boolean", + "enablePunctuation": "boolean", + "enableCapitalization": "boolean", + "confidenceThreshold": "number", + "enableDisfluencyFilter": "boolean", + "maxResults": "number", + "enableWordTimestamps": "boolean", + "maxAlternatives": "number", + "partialTranscriptInterval": "number", + "sessionTimeout": "number", + "connectionTimeout": "number", + "customVocabulary": "array", + "languageModel": "string" + } + }, "cobaltOptions": { "properties": { "serverUri": "string", diff --git a/test/jambonz-verb-test.js b/test/jambonz-verb-test.js index 196c86d..9f8b96f 100644 --- a/test/jambonz-verb-test.js +++ b/test/jambonz-verb-test.js @@ -279,6 +279,54 @@ test("validate correct verbs", async (t) => { } }, }, + { + "verb": "gather", + "actionHook": "http://example.com/collect", + "input": ["digits", "speech"], + "bargein": true, + "dtmfBargein": true, + "finishOnKey": "#", + "numDigits": 5, + "timeout": 8, + "recognizer": { + "vendor": "houndify", + "language": "en-US", + "houndifyOptions": { + "latitude": 30.6, + "longitude": 30.6, + "city": "Huston", + "state": "CA", + "country": "US", + "timeZone": "GMT", + "domain": "Voice", + "audioEndpoint": "https://api.houndify.com/v1/audio", + "maxSilenceSeconds": 5, + "maxSilenceAfterFullQuerySeconds": 3, + "maxSilenceAfterPartialQuerySeconds": 2, + "vadSensitivity": 0.5, + "vadTimeout": 1000, + "vadMode": "auto", + "vadVoiceMs": 250, + "vadSilenceMs": 500, + "vadDebug": true, + "audioFormat": "PCM16", + "enableNoiseReduction": true, + "enableProfanityFilter": false, + "enablePunctuation": true, + "enableCapitalization": true, + "confidenceThreshold": 0.7, + "enableDisfluencyFilter": true, + "maxResults": 5, + "enableWordTimestamps": true, + "maxAlternatives": 3, + "partialTranscriptInterval": 100, + "sessionTimeout": 30000, + "connectionTimeout": 5000, + "customVocabulary": ["jambonz", "telephony", "voip"], + "languageModel": "enhanced" + } + }, + }, { "verb": "gather", "actionHook": "http://example.com/collect",