Compare commits

...

57 Commits

Author SHA1 Message Date
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
Dave Horton
9b639a9591 0.0.70 2024-04-17 16:29:02 -04:00
Dave Horton
6242514b6e add support for partialResultHook in config.bargeIn 2024-04-17 16:28:52 -04:00
Dave Horton
6f5884f7be 0.0.69 2024-04-02 14:48:33 -04:00
Dave Horton
d5bc910907 typo 2024-04-02 14:48:26 -04:00
Dave Horton
2f6696bbf8 0.0.68 2024-04-02 14:45:17 -04:00
Dave Horton
2c19b34922 added googleOptions.recognizer_id to allow someone to specify a preconfigured google recognizer for STT 2024-04-02 14:45:08 -04:00
Dave Horton
c5d977da50 0.0.67 2024-04-02 08:36:02 -04:00
Hoan Luu Huu
a6f64710c1 support google v2 enable_voice_activity_events (#50) 2024-04-02 08:35:47 -04:00
Dave Horton
3463528127 0.0.66 2024-04-01 19:14:23 -04:00
Hoan Luu Huu
030eb5f847 support google stt version 2 (#49)
* support google stt version 2

* fix review comments

* fix review comment
2024-04-01 19:14:06 -04:00
Dave Horton
f8d07d340a 0.0.65 2024-03-30 09:10:18 -04:00
Hoan Luu Huu
8a96b05f23 feat fork audio support bidirectional audio stream (#48)
* feat fork audio support bidirectional audio stream

* update bidirectionalAudio
2024-03-30 09:09:17 -04:00
Dave Horton
a6a942c1c6 0.0.64 2024-03-14 11:18:49 -04:00
Dave Horton
85fa4714fb change dial to allow an array of dub verbs instead of a single one 2024-03-14 11:18:40 -04:00
Dave Horton
d047892fff 0.0.63 2024-03-11 17:45:21 -04:00
Dave Horton
11bb83f703 add dial.boostAudioSignal to set gain on B leg after dial 2024-03-11 17:45:12 -04:00
Dave Horton
c5a263ee68 0.0.62 2024-03-10 21:05:46 -04:00
Dave Horton
47f8a593f5 dub say can either be text or object with text and synthesizer (ie like say verb syntax) 2024-03-10 21:05:37 -04:00
Dave Horton
c9d2c9aa4d 0.0.61 2024-03-10 19:13:11 -04:00
Dave Horton
1ce577c8c9 add channel property to transcribe, can be used in dial verb to indicate to transcribe only one of the two channels (#47) 2024-03-10 19:12:40 -04:00
Dave Horton
dc0abfad02 0.0.60 2024-03-07 15:11:34 -05:00
Dave Horton
1e9285b9d9 add support for playing filler noise while waiting for app to process a gather (#46) 2024-03-07 15:10:55 -05:00
Dave Horton
f3f048d94f 0.0.59 2024-03-07 09:59:28 -05:00
Dave Horton
a737d8bcbb add config.boostAudioSignal and nested dub in dial verb (#45) 2024-03-07 09:58:59 -05:00
Dave Horton
c3d69e614e 0.0.58 2024-03-07 07:47:27 -05:00
Hoan Luu Huu
9277e053a6 support azure language identification mode (#44) 2024-03-06 12:05:24 -05:00
4 changed files with 338 additions and 28 deletions

28
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@jambonz/verb-specifications",
"version": "0.0.57",
"version": "0.0.84",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@jambonz/verb-specifications",
"version": "0.0.57",
"version": "0.0.84",
"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.57",
"version": "0.0.84",
"description": "Jambonz Verb Specification Utilities",
"main": "index.js",
"scripts": {

View File

@@ -52,14 +52,28 @@
"listen": "#listenOptions",
"transcribe": "#transcribeOptions",
"amd": "#amd",
"fillerNoise": "#fillerNoise",
"notifyEvents": "boolean",
"reset": "string|array",
"onHoldMusic": "string",
"actionHookDelayAction": "#actionHookDelayAction",
"sipRequestWithinDialogHook": "object|string"
"sipRequestWithinDialogHook": "object|string",
"boostAudioSignal": "number|string",
"vad":"#vad",
"referHook": "object|string"
},
"required": []
},
"fillerNoise": {
"properties": {
"enable": "boolean",
"url": "string",
"startDelaySecs": "number"
},
"required": [
"enable"
]
},
"listenOptions": {
"properties": {
"enable": "boolean",
@@ -75,6 +89,7 @@
"passDtmf": "boolean",
"playBeep": "boolean",
"disableBidirectionalAudio": "boolean",
"bidirectionalAudio": "#bidirectionalAudio",
"timeout": "number"
},
"required": [
@@ -86,6 +101,7 @@
"enable": "boolean",
"sticky": "boolean",
"actionHook": "object|string",
"partialResultHook": "object|string",
"input": "array",
"finishOnKey": "string",
"numDigits": "number",
@@ -118,7 +134,7 @@
},
"track": "string",
"play": "string",
"say": "string",
"say": "string|object",
"loop": "boolean",
"gain": "number|string"
},
@@ -213,6 +229,7 @@
"recognizer": "#recognizer",
"play": "#play",
"say": "#say",
"fillerNoise": "#fillerNoise",
"actionHookDelayAction": "#actionHookDelayAction"
},
"required": [
@@ -256,6 +273,7 @@
"dtmfHook": "object|string",
"headers": "object",
"anchorMedia": "boolean",
"boostAudioSignal": "number|string",
"listen": "#listen",
"target": ["#target"],
"timeLimit": "number",
@@ -263,6 +281,7 @@
"proxy": "string",
"transcribe": "#transcribe",
"amd": "#amd",
"dub": ["#dub"],
"tag": "object"
},
"required": [
@@ -274,15 +293,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",
@@ -290,7 +311,8 @@
"passDtmfAsTextInput": "boolean",
"thinkingMusic": "string",
"tts": "#synthesizer",
"bargein": "boolean"
"bargein": "boolean",
"queryInput": "#queryInput"
},
"required": [
"project",
@@ -298,6 +320,16 @@
"lang"
]
},
"queryInput": {
"properties": {
"text": "string",
"intent": "string",
"event": "string",
"dtmf": "string"
},
"required": [
]
},
"dtmf": {
"properties": {
"id": "string",
@@ -348,6 +380,7 @@
"passDtmf": "boolean",
"playBeep": "boolean",
"disableBidirectionalAudio": "boolean",
"bidirectionalAudio": "#bidirectionalAudio",
"sampleRate": "number",
"timeout": "number",
"transcribe": "#transcribe",
@@ -359,6 +392,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",
@@ -451,7 +504,8 @@
"timeout": "number",
"amd": "#amd",
"dual_streams": "boolean",
"sipRequestWithinDialogHook": "string"
"sipRequestWithinDialogHook": "string",
"referHook": "object|string"
},
"required": [
"call_hook",
@@ -473,7 +527,8 @@
"id": "string",
"transcriptionHook": "string",
"recognizer": "#recognizer",
"earlyMedia": "boolean"
"earlyMedia": "boolean",
"channel": "number"
},
"required": [
"transcriptionHook"
@@ -536,7 +591,7 @@
"fallbackVoice": "string|object",
"engine": {
"type": "string",
"enum": ["standard", "neural"]
"enum": ["standard", "neural", "generative", "long-form"]
},
"gender": {
"type": "string",
@@ -619,6 +674,7 @@
"asrDtmfTerminationDigit": "string",
"asrTimeout": "number",
"fastRecognitionTimeout": "number",
"minConfidence": "number",
"nuanceOptions": "#nuanceOptions",
"deepgramOptions": "#deepgramOptions",
"ibmOptions": "#ibmOptions",
@@ -628,7 +684,10 @@
"awsOptions": "#awsOptions",
"azureOptions": "#azureOptions",
"assemblyAiOptions": "#assemblyAiOptions",
"customOptions": "#customOptions"
"googleOptions": "#googleOptions",
"customOptions": "#customOptions",
"verbioOptions": "#verbioOptions",
"speechmaticsOptions": "#speechmaticsOptions"
},
"required": [
"vendor"
@@ -638,6 +697,7 @@
"properties": {
"authToken": "string",
"uri": "string",
"sampleRate": "number",
"options": "object"
},
"required": [
@@ -668,11 +728,35 @@
},
"azureOptions": {
"properties": {
"speechSegmentationSilenceTimeoutMs": "number"
"speechSegmentationSilenceTimeoutMs": "number",
"postProcessing" : "string",
"languageIdMode": {
"type": "string",
"enum": [
"AtStart",
"Continuous"
]
}
},
"required": [
]
},
"googleOptions" : {
"properties": {
"serviceVersion": {
"type": "string",
"enum": [
"v1",
"v2"
]
},
"recognizerId": "string",
"speechStartTimeoutMs": "number",
"speechEndTimeoutMs": "number",
"enableVoiceActivityEvents": "boolean",
"transcriptNormalization": "array"
}
},
"cobaltOptions": {
"properties": {
"serverUri": "string",
@@ -765,6 +849,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",
@@ -903,6 +1091,8 @@
"properties": {
"enable": "boolean",
"voiceMs": "number",
"silenceMs": "number",
"strategy": "string",
"mode": "number"
},
"required": [
@@ -934,7 +1124,15 @@
"noResponseTimeout": "number",
"noResponseGiveUpTimeout": "number",
"retries": "number",
"actions": "array"
"actions": "array",
"giveUpActions": "array"
}
},
"bidirectionalAudio" : {
"properties": {
"enabled": "boolean",
"streaming": "boolean",
"sampleRate": "number"
}
}
}
}

View File

@@ -81,6 +81,27 @@ test("validate correct verbs", async (t) => {
}
}
},
{
"verb": "config",
"referHook": "https://referhook.com"
},
{
"verb": "config",
"referHook": {
"url": "https://referhook.com"
}
},
{
"verb": "config",
"recognizer": {
"vendor": "google",
"language": "de-DE",
"label": "label1",
"azureOptions": {
"languageIdMode": "Continuous"
}
}
},
{
"verb": "config",
"record": {
@@ -217,6 +238,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",
@@ -303,6 +349,39 @@ test("validate correct verbs", async (t) => {
"url": "wss://myrecorder.example.com/calls",
"mixType" : "stereo"
},
{
"verb": "listen",
"url": "wss://myrecorder.example.com/calls",
"mixType" : "stereo",
"bidirectionalAudio": {
enabled: true,
streaming: true,
sampleRate: 8000
}
},
{
"verb": "config",
"listen": {
"enable": true,
"url": "wss://myrecorder.example.com/calls",
"mixType" : "stereo",
"bidirectionalAudio": {
enabled: true,
streaming: true,
sampleRate: 8000
}
}
},
{
"verb": "config",
"vad": {
"enable": true,
"voiceMs": 250,
"silenceMs": 150,
"strategy": "one-shot",
"mode": 2
}
},
{
"verb": "message",
"to": "15083084809",
@@ -378,6 +457,39 @@ 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",
"recognizer": {
"vendor": "nvidia",
"language" : "en-US",
"interim": true,
"googleOptions": {
"serviceVersion": "v2",
"speechStartTimeoutMs": 500,
"speechEndTimeoutMs": 1000,
"enableVoiceActivityEvents": true,
"transcriptNormalization" : [
{
"search": "dog",
"replace": "cat",
"case_sensitive": true
}
]
}
}
},
{
"verb": "rest:dial",
"account_sid": "1291964182631236912836123912",