Compare commits

...

47 Commits

Author SHA1 Message Date
Dave Horton
1cc7dae926 0.0.92 2025-01-13 10:55:23 -05:00
Sam Machin
8c50bf8764 add deepgram fillerWords (#79) 2025-01-13 10:54:54 -05:00
Dave Horton
e2bffbe0a8 0.0.91 2024-12-30 14:25:41 -05:00
Sam Machin
4b79b1408b add timeLimit to REST:Dial & test (#78)
also added timeLimit to the dial verb test
2024-12-30 14:23:32 -05:00
Dave Horton
900d517b8a 0.0.90 2024-12-11 10:32:44 -05:00
Hoan Luu Huu
104ca00a3d support refer display name (#76) 2024-12-11 10:27:55 -05:00
Dave Horton
7b3dd92c18 0.0.89 2024-12-05 16:16:55 -05:00
Dave Horton
43a2805ea8 add support for config.ttsStream (#75) 2024-12-05 16:16:35 -05:00
Dave Horton
f9e6755d8d 0.0.88 2024-11-26 14:42:44 -05:00
Dave Horton
264640bbc7 add say.closeStreamOnEmpty 2024-11-26 14:42:36 -05:00
Dave Horton
71d31952d6 0.0.87 2024-11-26 13:53:21 -05:00
Dave Horton
6a80506a81 add support for say verb streaming tts (#74) 2024-11-26 13:52:58 -05:00
Dave Horton
85b1c3a2f9 0.0.86 2024-11-16 14:01:10 -05:00
Dave Horton
f59137ebad add dial.exitMediaPath to indicate we want to be only in the signaling path for this bridged call; media is completely released from all jambonz components (#73) 2024-11-16 14:00:45 -05:00
Dave Horton
7b80ba6fd5 0.0.85 2024-11-15 18:35:21 -05:00
Dave Horton
216e6954af add translationHook to transcribe verb as some STTs support it (speechmatics) (#72) 2024-11-15 18:34:50 -05:00
Dave Horton
027cce284d 0.0.84 2024-11-15 15:46:53 -05:00
Dave Horton
9a8194b360 speechmatics changes (#71) 2024-11-15 15:46:21 -05:00
Markus Frindt
0bcfa783b7 fix key of sm_transcriptionConfig and required in speechmaticsOptions (#70)
Co-authored-by: mfrindt <m.frindt@cognigy.com>
2024-10-23 07:23:08 -04:00
Dave Horton
9a3fb68fe7 0.0.83 2024-10-09 11:53:57 -04:00
Dave Horton
f2ea3f3913 Feat/llm verb (#69)
* llm verb

* initial support for llm verb

* auth is required for llm, events is an array

* fix invalid syntax
2024-10-09 11:53:24 -04:00
Dave Horton
6a75a8b98a Feat/llm verb (#68)
* llm verb

* initial support for llm verb

* auth is required for llm, events is an array
2024-10-09 11:52:01 -04:00
Dave Horton
2af0fd4415 0.0.82 2024-10-01 13:38:11 -04:00
Dave Horton
46688934bc add support for speechmatics ASR (#67) 2024-10-01 13:37:45 -04:00
Dave Horton
afce20a206 0.0.81 2024-09-25 07:25:12 -04:00
Hoan Luu Huu
e80679fd07 support config referHook (#66) 2024-09-25 07:24:40 -04:00
Dave Horton
aa86d0b3e6 0.0.80 2024-09-17 13:23:55 -04:00
rammohan-y
60f4bcd97a feat/902 - added giveUpActions to actionHookDelayAction object (#65)
https://github.com/jambonz/jambonz-feature-server/issues/902wq
2024-09-17 13:22:58 -04:00
Dave Horton
cb8b51da4a 0.0.79 2024-08-20 18:09:33 -04:00
Dave Horton
d9fd63850b add queryInput to dialogflow (#63) 2024-08-20 18:09:08 -04:00
Dave Horton
e57c81aeed 0.0.78 2024-08-20 13:54:37 -04:00
Dave Horton
610b14736a add agent to dialflow cx (#62) 2024-08-20 13:54:23 -04:00
Dave Horton
4a8517cab5 0.0.77 2024-08-20 08:58:32 -04:00
Dave Horton
21bb3c2b73 add support for dialogflow cx (#61) 2024-08-20 08:57:45 -04:00
Dave Horton
e044621bbc 0.0.76 2024-08-13 08:17:40 -04:00
rammohan-kore
6d8ffc9d80 feat/859: Added generative, long-form to engine enum (#60) 2024-08-13 08:05:14 -04:00
Dave Horton
941ba6aa8c 0.0.75 2024-08-07 10:04:46 -04:00
Hoan Luu Huu
1d8cf321a7 support jambonz transcribe sampling rate (#59)
* support jambonz transcribe sampling rate

* fix review comment
2024-08-07 10:04:30 -04:00
Dave Horton
0d8b9de099 0.0.74 2024-07-15 15:30:28 -04:00
Dave Horton
08e01efa7f add recognizer.minConfidence and rest:dial.referHook (#58) 2024-07-15 15:30:06 -04:00
Dave Horton
1fdda56c39 0.0.73 2024-07-07 09:16:06 -06:00
Vinod Dharashive
8db0a91521 Aure PostProcessing #755 (#56) 2024-07-07 09:15:26 -06:00
Dave Horton
6432d9e64b 0.0.72 2024-05-29 07:12:30 -04:00
Hoan Luu Huu
c029a18c3e verbioOptions support (#53) 2024-05-29 07:12:09 -04:00
Dave Horton
27b1a06944 0.0.71 2024-05-28 08:39:36 -04:00
Hoan Luu Huu
0f9c096988 feat support mod vad detect (#54) 2024-05-28 08:38:20 -04:00
Markus Frindt
569b994356 fix vulnerabilities via npm audit fix (#51)
Co-authored-by: Markus Frindt <m.frindt@cognigy.com>
2024-04-24 11:49:05 -04:00
4 changed files with 257 additions and 28 deletions

28
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@jambonz/verb-specifications",
"version": "0.0.70",
"version": "0.0.92",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@jambonz/verb-specifications",
"version": "0.0.70",
"version": "0.0.92",
"license": "MIT",
"dependencies": {
"debug": "^4.3.4",
@@ -2011,9 +2011,9 @@
}
},
"node_modules/semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -2446,9 +2446,9 @@
}
},
"node_modules/word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -3922,9 +3922,9 @@
"integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA=="
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -4253,9 +4253,9 @@
}
},
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true
},
"wrappy": {

View File

@@ -1,6 +1,6 @@
{
"name": "@jambonz/verb-specifications",
"version": "0.0.70",
"version": "0.0.92",
"description": "Jambonz Verb Specification Utilities",
"main": "index.js",
"scripts": {

View File

@@ -34,6 +34,7 @@
"id": "string",
"referTo": "string",
"referredBy": "string",
"referredByDisplayName": "string",
"headers": "object",
"actionHook": "object|string",
"eventHook": "object|string"
@@ -48,6 +49,7 @@
"synthesizer": "#synthesizer",
"recognizer": "#recognizer",
"bargeIn": "#bargeIn",
"ttsStream": "#ttsStream",
"record": "#recordOptions",
"listen": "#listenOptions",
"transcribe": "#transcribeOptions",
@@ -58,7 +60,10 @@
"onHoldMusic": "string",
"actionHookDelayAction": "#actionHookDelayAction",
"sipRequestWithinDialogHook": "object|string",
"boostAudioSignal": "number|string"
"boostAudioSignal": "number|string",
"vad":"#vad",
"referHook": "object|string",
"earlyMedia": "boolean"
},
"required": []
},
@@ -94,6 +99,15 @@
"enable"
]
},
"ttsStream": {
"properties": {
"enable": "boolean",
"synthesizer": "#synthesizer"
},
"required": [
"enable"
]
},
"bargeIn": {
"properties": {
"enable": "boolean",
@@ -198,13 +212,14 @@
"properties": {
"id": "string",
"text": "string|array",
"stream": "boolean",
"loop": "number|string",
"synthesizer": "#synthesizer",
"earlyMedia": "boolean",
"disableTtsCache": "boolean"
"disableTtsCache": "boolean",
"closeStreamOnEmpty": "boolean"
},
"required": [
"text"
]
},
"gather": {
@@ -271,6 +286,7 @@
"dtmfHook": "object|string",
"headers": "object",
"anchorMedia": "boolean",
"exitMediaPath": "boolean",
"boostAudioSignal": "number|string",
"listen": "#listen",
"target": ["#target"],
@@ -291,15 +307,17 @@
"id": "string",
"credentials": "object|string",
"project": "string",
"agent": "string",
"environment": "string",
"region": {
"region": "string",
"model": {
"type": "string",
"enum": ["europe-west1", "europe-west2", "australia-southeast1", "asia-northeast1"]
"enum": ["es", "cx"]
},
"lang": "string",
"actionHook": "object|string",
"eventHook": "object|string",
"events": "[string]",
"events": "array",
"welcomeEvent": "string",
"welcomeEventParams": "object",
"noInputTimeout": "number",
@@ -307,7 +325,8 @@
"passDtmfAsTextInput": "boolean",
"thinkingMusic": "string",
"tts": "#synthesizer",
"bargein": "boolean"
"bargein": "boolean",
"queryInput": "#queryInput"
},
"required": [
"project",
@@ -315,6 +334,16 @@
"lang"
]
},
"queryInput": {
"properties": {
"text": "string",
"intent": "string",
"event": "string",
"dtmf": "string"
},
"required": [
]
},
"dtmf": {
"properties": {
"id": "string",
@@ -377,6 +406,26 @@
"url"
]
},
"llm": {
"properties": {
"id": "string",
"vendor": "string",
"model": "string",
"auth": "object",
"connectOptions": "object",
"actionHook": "object|string",
"eventHook": "object|string",
"toolHook": "object|string",
"events": "array",
"llmOptions": "object"
},
"required": [
"vendor",
"model",
"auth",
"llmOptions"
]
},
"message": {
"properties": {
"id": "string",
@@ -469,7 +518,9 @@
"timeout": "number",
"amd": "#amd",
"dual_streams": "boolean",
"sipRequestWithinDialogHook": "string"
"sipRequestWithinDialogHook": "string",
"referHook": "object|string",
"timeLimit": "number"
},
"required": [
"call_hook",
@@ -490,6 +541,7 @@
"properties": {
"id": "string",
"transcriptionHook": "string",
"translationHook": "string",
"recognizer": "#recognizer",
"earlyMedia": "boolean",
"channel": "number"
@@ -555,7 +607,7 @@
"fallbackVoice": "string|object",
"engine": {
"type": "string",
"enum": ["standard", "neural"]
"enum": ["standard", "neural", "generative", "long-form"]
},
"gender": {
"type": "string",
@@ -638,6 +690,7 @@
"asrDtmfTerminationDigit": "string",
"asrTimeout": "number",
"fastRecognitionTimeout": "number",
"minConfidence": "number",
"nuanceOptions": "#nuanceOptions",
"deepgramOptions": "#deepgramOptions",
"ibmOptions": "#ibmOptions",
@@ -648,7 +701,9 @@
"azureOptions": "#azureOptions",
"assemblyAiOptions": "#assemblyAiOptions",
"googleOptions": "#googleOptions",
"customOptions": "#customOptions"
"customOptions": "#customOptions",
"verbioOptions": "#verbioOptions",
"speechmaticsOptions": "#speechmaticsOptions"
},
"required": [
"vendor"
@@ -658,6 +713,7 @@
"properties": {
"authToken": "string",
"uri": "string",
"sampleRate": "number",
"options": "object"
},
"required": [
@@ -689,6 +745,7 @@
"azureOptions": {
"properties": {
"speechSegmentationSilenceTimeoutMs": "number",
"postProcessing" : "string",
"languageIdMode": {
"type": "string",
"enum": [
@@ -792,7 +849,8 @@
"utteranceEndMs": "number",
"shortUtterance": "boolean",
"vadTurnoff": "number",
"tag": "string"
"tag": "string",
"fillerWords" : "boolean"
}
},
"sonioxOptions": {
@@ -808,6 +866,110 @@
"required": [
]
},
"verbioOptions": {
"properties": {
"enable_formatting": "boolean",
"enable_diarization": "boolean",
"topic": "number",
"inline_grammar": "string",
"grammar_uri": "string",
"label": "string",
"recognition_timeout": "number",
"speech_complete_timeout": "number",
"speech_incomplete_timeout": "number"
},
"required": [
]
},
"speechmaticsOptions": {
"properties": {
"transcription_config": "#sm_transcriptionConfig",
"translation_config": "#sm_translationConfig",
"audio_events_config_config": "#sm_audioEventsConfig"
},
"required": [
]
},
"sm_transcriptionConfig": {
"properties": {
"language": "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",
@@ -946,6 +1108,8 @@
"properties": {
"enable": "boolean",
"voiceMs": "number",
"silenceMs": "number",
"strategy": "string",
"mode": "number"
},
"required": [
@@ -977,7 +1141,8 @@
"noResponseTimeout": "number",
"noResponseGiveUpTimeout": "number",
"retries": "number",
"actions": "array"
"actions": "array",
"giveUpActions": "array"
}
},
"bidirectionalAudio" : {

View File

@@ -81,6 +81,16 @@ test("validate correct verbs", async (t) => {
}
}
},
{
"verb": "config",
"referHook": "https://referhook.com"
},
{
"verb": "config",
"referHook": {
"url": "https://referhook.com"
}
},
{
"verb": "config",
"recognizer": {
@@ -129,6 +139,7 @@ test("validate correct verbs", async (t) => {
"callerName": "Tom",
"answerOnBridge": true,
"dtmfCapture": ["*2", "*3"],
"timeLimit": 10,
"dtmfHook": {
"url": "/dtmf",
"method": "GET"
@@ -228,6 +239,31 @@ 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": "verbio",
"language": "en-US",
"verbioOptions": {
"enable_formatting": true,
"enable_diarization": true,
"topic": 0,
"inline_grammar": "this is inline grammar",
"grammar_uri": "https://grammar_uri.com",
"label": "label",
"recognition_timeout": 500,
"speech_complete_timeout": 500,
"speech_incomplete_timeout": 500,
}
},
},
{
"verb": "gather",
"actionHook": "http://example.com/collect",
@@ -337,6 +373,16 @@ test("validate correct verbs", async (t) => {
}
}
},
{
"verb": "config",
"vad": {
"enable": true,
"voiceMs": 250,
"silenceMs": 150,
"strategy": "one-shot",
"mode": 2
}
},
{
"verb": "message",
"to": "15083084809",
@@ -395,6 +441,12 @@ test("validate correct verbs", async (t) => {
"referTo": "+15083084809",
"actionHook": "/action"
},
{
"verb": "sip:refer",
"referTo": "+15083084809",
"referredByDisplayName": "Alice",
"actionHook": "/action"
},
{
"verb": "tag",
"data": {
@@ -412,6 +464,17 @@ 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",
@@ -456,7 +519,8 @@ test("validate correct verbs", async (t) => {
"actionHook": "/answeringMachineDetection",
},
"dual_streams": true
"dual_streams": true,
"timeLimit" : 10
}
];
try {