mirror of
https://github.com/jambonz/verb-specifications.git
synced 2026-03-29 19:38:59 +00:00
Compare commits
1 Commits
feat/vad_s
...
snyk-upgra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60491c82d8 |
2583
package-lock.json
generated
2583
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@jambonz/verb-specifications",
|
||||
"version": "0.0.107",
|
||||
"version": "0.0.72",
|
||||
"description": "Jambonz Verb Specification Utilities",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
@@ -20,10 +20,10 @@
|
||||
"devDependencies": {
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-plugin-promise": "^4.3.1",
|
||||
"tape": "^5.7.5"
|
||||
"tape": "^5.6.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
"debug": "^4.3.5",
|
||||
"pino": "^8.8.0"
|
||||
}
|
||||
}
|
||||
|
||||
303
specs.json
303
specs.json
@@ -34,7 +34,6 @@
|
||||
"id": "string",
|
||||
"referTo": "string",
|
||||
"referredBy": "string",
|
||||
"referredByDisplayName": "string",
|
||||
"headers": "object",
|
||||
"actionHook": "object|string",
|
||||
"eventHook": "object|string"
|
||||
@@ -49,10 +48,8 @@
|
||||
"synthesizer": "#synthesizer",
|
||||
"recognizer": "#recognizer",
|
||||
"bargeIn": "#bargeIn",
|
||||
"ttsStream": "#ttsStream",
|
||||
"record": "#recordOptions",
|
||||
"listen": "#listenOptions",
|
||||
"stream": "#listenOptions",
|
||||
"transcribe": "#transcribeOptions",
|
||||
"amd": "#amd",
|
||||
"fillerNoise": "#fillerNoise",
|
||||
@@ -62,10 +59,7 @@
|
||||
"actionHookDelayAction": "#actionHookDelayAction",
|
||||
"sipRequestWithinDialogHook": "object|string",
|
||||
"boostAudioSignal": "number|string",
|
||||
"vad":"#vad",
|
||||
"referHook": "object|string",
|
||||
"earlyMedia": "boolean",
|
||||
"autoStreamTts": "boolean"
|
||||
"vad":"#vad"
|
||||
},
|
||||
"required": []
|
||||
},
|
||||
@@ -101,15 +95,6 @@
|
||||
"enable"
|
||||
]
|
||||
},
|
||||
"ttsStream": {
|
||||
"properties": {
|
||||
"enable": "boolean",
|
||||
"synthesizer": "#synthesizer"
|
||||
},
|
||||
"required": [
|
||||
"enable"
|
||||
]
|
||||
},
|
||||
"bargeIn": {
|
||||
"properties": {
|
||||
"enable": "boolean",
|
||||
@@ -214,15 +199,13 @@
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"text": "string|array",
|
||||
"instructions": "string",
|
||||
"stream": "boolean",
|
||||
"loop": "number|string",
|
||||
"synthesizer": "#synthesizer",
|
||||
"earlyMedia": "boolean",
|
||||
"disableTtsCache": "boolean",
|
||||
"closeStreamOnEmpty": "boolean"
|
||||
"disableTtsCache": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"text"
|
||||
]
|
||||
},
|
||||
"gather": {
|
||||
@@ -289,10 +272,8 @@
|
||||
"dtmfHook": "object|string",
|
||||
"headers": "object",
|
||||
"anchorMedia": "boolean",
|
||||
"exitMediaPath": "boolean",
|
||||
"boostAudioSignal": "number|string",
|
||||
"listen": "#listen",
|
||||
"stream": "#listen",
|
||||
"target": ["#target"],
|
||||
"timeLimit": "number",
|
||||
"timeout": "number",
|
||||
@@ -311,17 +292,15 @@
|
||||
"id": "string",
|
||||
"credentials": "object|string",
|
||||
"project": "string",
|
||||
"agent": "string",
|
||||
"environment": "string",
|
||||
"region": "string",
|
||||
"model": {
|
||||
"region": {
|
||||
"type": "string",
|
||||
"enum": ["es", "cx"]
|
||||
"enum": ["europe-west1", "europe-west2", "australia-southeast1", "asia-northeast1"]
|
||||
},
|
||||
"lang": "string",
|
||||
"actionHook": "object|string",
|
||||
"eventHook": "object|string",
|
||||
"events": "array",
|
||||
"events": "[string]",
|
||||
"welcomeEvent": "string",
|
||||
"welcomeEventParams": "object",
|
||||
"noInputTimeout": "number",
|
||||
@@ -329,8 +308,7 @@
|
||||
"passDtmfAsTextInput": "boolean",
|
||||
"thinkingMusic": "string",
|
||||
"tts": "#synthesizer",
|
||||
"bargein": "boolean",
|
||||
"queryInput": "#queryInput"
|
||||
"bargein": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"project",
|
||||
@@ -338,16 +316,6 @@
|
||||
"lang"
|
||||
]
|
||||
},
|
||||
"queryInput": {
|
||||
"properties": {
|
||||
"text": "string",
|
||||
"intent": "string",
|
||||
"event": "string",
|
||||
"dtmf": "string"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"dtmf": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
@@ -384,34 +352,6 @@
|
||||
]
|
||||
},
|
||||
"listen": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"actionHook": "object|string",
|
||||
"auth": "#auth",
|
||||
"finishOnKey": "string",
|
||||
"maxLength": "number",
|
||||
"metadata": "object",
|
||||
"mixType": {
|
||||
"type": "string",
|
||||
"enum": ["mono", "stereo", "mixed"]
|
||||
},
|
||||
"passDtmf": "boolean",
|
||||
"playBeep": "boolean",
|
||||
"disableBidirectionalAudio": "boolean",
|
||||
"bidirectionalAudio": "#bidirectionalAudio",
|
||||
"sampleRate": "number",
|
||||
"timeout": "number",
|
||||
"transcribe": "#transcribe",
|
||||
"url": "string",
|
||||
"wsAuth": "#auth",
|
||||
"earlyMedia": "boolean",
|
||||
"channel": "number"
|
||||
},
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"stream": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"actionHook": "object|string",
|
||||
@@ -438,36 +378,6 @@
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"llm": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"vendor": "string",
|
||||
"model": "string",
|
||||
"auth": "object",
|
||||
"connectOptions": "object",
|
||||
"mcpServers": ["#mcpServer"],
|
||||
"actionHook": "object|string",
|
||||
"eventHook": "object|string",
|
||||
"toolHook": "object|string",
|
||||
"events": "array",
|
||||
"llmOptions": "object"
|
||||
},
|
||||
"required": [
|
||||
"vendor",
|
||||
"auth",
|
||||
"llmOptions"
|
||||
]
|
||||
},
|
||||
"mcpServer": {
|
||||
"properties": {
|
||||
"url": "string",
|
||||
"auth": "object",
|
||||
"roots": ["#root"]
|
||||
},
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
@@ -560,9 +470,7 @@
|
||||
"timeout": "number",
|
||||
"amd": "#amd",
|
||||
"dual_streams": "boolean",
|
||||
"sipRequestWithinDialogHook": "string",
|
||||
"referHook": "object|string",
|
||||
"timeLimit": "number"
|
||||
"sipRequestWithinDialogHook": "string"
|
||||
},
|
||||
"required": [
|
||||
"call_hook",
|
||||
@@ -583,7 +491,6 @@
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"transcriptionHook": "string",
|
||||
"translationHook": "string",
|
||||
"recognizer": "#recognizer",
|
||||
"earlyMedia": "boolean",
|
||||
"channel": "number"
|
||||
@@ -649,7 +556,7 @@
|
||||
"fallbackVoice": "string|object",
|
||||
"engine": {
|
||||
"type": "string",
|
||||
"enum": ["standard", "neural", "generative", "long-form"]
|
||||
"enum": ["standard", "neural"]
|
||||
},
|
||||
"gender": {
|
||||
"type": "string",
|
||||
@@ -732,7 +639,6 @@
|
||||
"asrDtmfTerminationDigit": "string",
|
||||
"asrTimeout": "number",
|
||||
"fastRecognitionTimeout": "number",
|
||||
"minConfidence": "number",
|
||||
"nuanceOptions": "#nuanceOptions",
|
||||
"deepgramOptions": "#deepgramOptions",
|
||||
"ibmOptions": "#ibmOptions",
|
||||
@@ -744,9 +650,7 @@
|
||||
"assemblyAiOptions": "#assemblyAiOptions",
|
||||
"googleOptions": "#googleOptions",
|
||||
"customOptions": "#customOptions",
|
||||
"verbioOptions": "#verbioOptions",
|
||||
"speechmaticsOptions": "#speechmaticsOptions",
|
||||
"openaiOptions": "#openaiOptions"
|
||||
"verbioOptions": "#verbioOptions"
|
||||
},
|
||||
"required": [
|
||||
"vendor"
|
||||
@@ -756,7 +660,6 @@
|
||||
"properties": {
|
||||
"authToken": "string",
|
||||
"uri": "string",
|
||||
"sampleRate": "number",
|
||||
"options": "object"
|
||||
},
|
||||
"required": [
|
||||
@@ -788,21 +691,12 @@
|
||||
"azureOptions": {
|
||||
"properties": {
|
||||
"speechSegmentationSilenceTimeoutMs": "number",
|
||||
"postProcessing" : "string",
|
||||
"languageIdMode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"AtStart",
|
||||
"Continuous"
|
||||
]
|
||||
},
|
||||
"speechRecognitionMode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"CONVERSATION",
|
||||
"DICTATION",
|
||||
"INTERACTIVE"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -877,7 +771,6 @@
|
||||
"version": "string",
|
||||
"punctuate": "boolean",
|
||||
"smartFormatting": "boolean",
|
||||
"noDelay": "boolean",
|
||||
"profanityFilter": "boolean",
|
||||
"redact": {
|
||||
"type": "string",
|
||||
@@ -897,13 +790,11 @@
|
||||
"search": "array",
|
||||
"replace": "array",
|
||||
"keywords": "array",
|
||||
"keyterms": "array",
|
||||
"endpointing": "boolean | number",
|
||||
"utteranceEndMs": "number",
|
||||
"shortUtterance": "boolean",
|
||||
"vadTurnoff": "number",
|
||||
"tag": "string",
|
||||
"fillerWords" : "boolean"
|
||||
"tag": "string"
|
||||
}
|
||||
},
|
||||
"sonioxOptions": {
|
||||
@@ -934,150 +825,6 @@
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"openaiOptions": {
|
||||
"properties": {
|
||||
"apiKey": "string",
|
||||
"model": "string",
|
||||
"prompt": "string",
|
||||
"promptTemplates": "#promptTemplates",
|
||||
"language": "string",
|
||||
"input_audio_noise_reduction": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"near_field",
|
||||
"far_field"
|
||||
]
|
||||
},
|
||||
"turn_detection": "#turnDetection"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"promptTemplates": {
|
||||
"properties": {
|
||||
"hintsTemplate": "string",
|
||||
"conversationHistoryTemplate": "string"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"turnDetection": {
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"none",
|
||||
"server_vad",
|
||||
"semantic_vad"
|
||||
]
|
||||
},
|
||||
"eagerness": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"auto"
|
||||
]
|
||||
},
|
||||
"threshold": "number",
|
||||
"prefix_padding_ms": "number",
|
||||
"silence_duration_ms": "number"
|
||||
},
|
||||
"required": [
|
||||
"type"
|
||||
]
|
||||
},
|
||||
"speechmaticsOptions": {
|
||||
"properties": {
|
||||
"transcription_config": "#sm_transcriptionConfig",
|
||||
"translation_config": "#sm_translationConfig",
|
||||
"audio_events_config_config": "#sm_audioEventsConfig"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"sm_transcriptionConfig": {
|
||||
"properties": {
|
||||
"language": "string",
|
||||
"domain": "string",
|
||||
"additional_vocab": "array",
|
||||
"diarization": "string",
|
||||
"speaker_diarization_config": "#sm_speakerDiarizationConfig",
|
||||
"enable_partials": "boolean",
|
||||
"max_delay": "number",
|
||||
"max_delay_mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"fixed",
|
||||
"flexible"
|
||||
]
|
||||
},
|
||||
"output_locale": "string",
|
||||
"punctuation_overrides": "#sm_puctuationOverrides",
|
||||
"operating_point": "string",
|
||||
"enable_entities": "boolean",
|
||||
"audio_filtering_config": "#sm_audioFilteringConfig",
|
||||
"transcript_filtering_config": "#sm_transcriptFilteringConfig"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"sm_speakerDiarizationConfig": {
|
||||
"properties": {
|
||||
"speaker_sensitivity": "number",
|
||||
"max_speakers": "number"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"sm_puctuationOverrides": {
|
||||
"properties": {
|
||||
"permitted_marks": "array",
|
||||
"sensitivity": "number"
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"sm_audioFilteringConfig": {
|
||||
"properties": {
|
||||
"volume_threshold": "number"
|
||||
},
|
||||
"required": [
|
||||
"volume_threshold"
|
||||
]
|
||||
},
|
||||
"sm_transcriptFilteringConfig": {
|
||||
"properties": {
|
||||
"remove_disfluencies": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"remove_disfluencies"
|
||||
]
|
||||
},
|
||||
"sm_translationConfig": {
|
||||
"properties": {
|
||||
"target_languages": "array",
|
||||
"enable_partials": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"target_languages"
|
||||
]
|
||||
},
|
||||
"sm_audioEventsConfig": {
|
||||
"properties": {
|
||||
"types": {
|
||||
"type": "array",
|
||||
"enum": [
|
||||
"applause",
|
||||
"music",
|
||||
"laughter"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
]
|
||||
},
|
||||
"sonioxStorage": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
@@ -1137,18 +884,7 @@
|
||||
},
|
||||
"assemblyAiOptions": {
|
||||
"properties": {
|
||||
"apiKey": "string",
|
||||
"serviceVersion": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"v2",
|
||||
"v3"
|
||||
]
|
||||
},
|
||||
"formatTurns": "boolean",
|
||||
"endOfTurnConfidenceThreshold": "number",
|
||||
"minEndOfTurnSilenceWhenConfident": "number",
|
||||
"maxTurnSilence": "number"
|
||||
"apiKey": "string"
|
||||
}
|
||||
},
|
||||
"resource": {
|
||||
@@ -1229,16 +965,7 @@
|
||||
"voiceMs": "number",
|
||||
"silenceMs": "number",
|
||||
"strategy": "string",
|
||||
"mode": "number",
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"webrtc",
|
||||
"silero"
|
||||
]
|
||||
},
|
||||
"threshold": "number",
|
||||
"speechPadMs": "number"
|
||||
"mode": "number"
|
||||
},
|
||||
"required": [
|
||||
"enable"
|
||||
@@ -1248,7 +975,6 @@
|
||||
"properties": {
|
||||
"actionHook": "object|string",
|
||||
"thresholdWordCount": "number",
|
||||
"digitCount": "number",
|
||||
"timers": "#amdTimers",
|
||||
"recognizer": "#recognizer"
|
||||
},
|
||||
@@ -1270,8 +996,7 @@
|
||||
"noResponseTimeout": "number",
|
||||
"noResponseGiveUpTimeout": "number",
|
||||
"retries": "number",
|
||||
"actions": "array",
|
||||
"giveUpActions": "array"
|
||||
"actions": "array"
|
||||
}
|
||||
},
|
||||
"bidirectionalAudio" : {
|
||||
|
||||
@@ -77,25 +77,10 @@ test("validate correct verbs", async (t) => {
|
||||
"language": "de-DE",
|
||||
"label": "label1",
|
||||
"assemblyAiOptions": {
|
||||
"apiKey": "apikey",
|
||||
"serviceVersion": "v3",
|
||||
"formatTurns": true,
|
||||
"endOfTurnConfidenceThreshold": 0.5,
|
||||
"minEndOfTurnSilenceWhenConfident": 500,
|
||||
"maxTurnSilence": 2000
|
||||
"apiKey": "apikey"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"referHook": "https://referhook.com"
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"referHook": {
|
||||
"url": "https://referhook.com"
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"recognizer": {
|
||||
@@ -144,7 +129,6 @@ test("validate correct verbs", async (t) => {
|
||||
"callerName": "Tom",
|
||||
"answerOnBridge": true,
|
||||
"dtmfCapture": ["*2", "*3"],
|
||||
"timeLimit": 10,
|
||||
"dtmfHook": {
|
||||
"url": "/dtmf",
|
||||
"method": "GET"
|
||||
@@ -210,8 +194,7 @@ test("validate correct verbs", async (t) => {
|
||||
"hintsBoost": 10,
|
||||
"fastRecognitionTimeout": 2000,
|
||||
"deepgramOptions": {
|
||||
"endpointing": 500,
|
||||
"noDelay": true,
|
||||
"endpointing": 500
|
||||
}
|
||||
},
|
||||
"say": {
|
||||
@@ -226,10 +209,6 @@ test("validate correct verbs", async (t) => {
|
||||
"fallbackVoice": "voice"
|
||||
}
|
||||
},
|
||||
"say": {
|
||||
"text": "To speak to Sales press 1 or say Sales. To speak to customer support press 2 or say Support",
|
||||
"instructions": "Voice: High-energy, upbeat, and encouraging, projecting enthusiasm and motivation."
|
||||
},
|
||||
"say": {
|
||||
"text": "To speak to Sales press 1 or say Sales. To speak to customer support press 2 or say Support",
|
||||
"synthesizer": {
|
||||
@@ -383,10 +362,6 @@ test("validate correct verbs", async (t) => {
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"autoStreamTts": true
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"vad": {
|
||||
@@ -394,10 +369,7 @@ test("validate correct verbs", async (t) => {
|
||||
"voiceMs": 250,
|
||||
"silenceMs": 150,
|
||||
"strategy": "one-shot",
|
||||
"mode": 2,
|
||||
"vendor": "webrtc",
|
||||
"threshold": 0.5,
|
||||
"speechPadMs": 1000
|
||||
"mode": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -458,12 +430,6 @@ test("validate correct verbs", async (t) => {
|
||||
"referTo": "+15083084809",
|
||||
"actionHook": "/action"
|
||||
},
|
||||
{
|
||||
"verb": "sip:refer",
|
||||
"referTo": "+15083084809",
|
||||
"referredByDisplayName": "Alice",
|
||||
"actionHook": "/action"
|
||||
},
|
||||
{
|
||||
"verb": "tag",
|
||||
"data": {
|
||||
@@ -481,17 +447,6 @@ test("validate correct verbs", async (t) => {
|
||||
"interim": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "transcribe",
|
||||
"transcriptionHook": "http://example.com/transcribe",
|
||||
"recognizer": {
|
||||
"vendor": "nvidia",
|
||||
"language" : "en-US",
|
||||
"customOptions": {
|
||||
"sampleRate": 16000
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "transcribe",
|
||||
"transcriptionHook": "http://example.com/transcribe",
|
||||
@@ -536,28 +491,7 @@ test("validate correct verbs", async (t) => {
|
||||
"actionHook": "/answeringMachineDetection",
|
||||
|
||||
},
|
||||
"dual_streams": true,
|
||||
"timeLimit" : 10
|
||||
},
|
||||
{
|
||||
"verb": "llm",
|
||||
"vendor": 'ultravox',
|
||||
"model": 'fixie-ai/ultravox',
|
||||
"auth": {
|
||||
"apiKey": "sk-1234567890abcdefg"
|
||||
},
|
||||
"llmOptions": {
|
||||
"firstSpeaker": 'FIRST_SPEAKER_AGENT',
|
||||
},
|
||||
"mcpServers": [
|
||||
{
|
||||
"url": 'https://mcp.example.com',
|
||||
"auth": {
|
||||
"username": 'username',
|
||||
"password": 'password'
|
||||
}
|
||||
}
|
||||
]
|
||||
"dual_streams": true
|
||||
}
|
||||
];
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user