mirror of
https://github.com/jambonz/verb-specifications.git
synced 2026-03-26 05:47:53 +00:00
Compare commits
57 Commits
v0.0.97
...
redirect-s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7caed239df | ||
|
|
ff757d3177 | ||
|
|
5745cc9a29 | ||
|
|
2b81fe20f0 | ||
|
|
60a33e11eb | ||
|
|
9717ce6d58 | ||
|
|
49ffe5f526 | ||
|
|
61590b66cc | ||
|
|
d8cf684bf6 | ||
|
|
e039261eb5 | ||
|
|
23e726ed3f | ||
|
|
e1bc5adc55 | ||
|
|
76e2486535 | ||
|
|
dfcf1de210 | ||
|
|
7d19707dec | ||
|
|
b4856e9d05 | ||
|
|
577191ed0d | ||
|
|
ee2ffff20d | ||
|
|
4c5b795498 | ||
|
|
7ecd46393c | ||
|
|
8fffe39195 | ||
|
|
23cb499244 | ||
|
|
fb94dc94cb | ||
|
|
30677b6cd1 | ||
|
|
4ea9cda0f8 | ||
|
|
a0b9f963c2 | ||
|
|
841a471faa | ||
|
|
44112f67b3 | ||
|
|
1f7c98c0ce | ||
|
|
276a55e672 | ||
|
|
840db61042 | ||
|
|
85e1b64ee4 | ||
|
|
8ed54e2d51 | ||
|
|
c24fb7996c | ||
|
|
6c24ad1145 | ||
|
|
af3955cb35 | ||
|
|
1ee29749c3 | ||
|
|
dea57e0910 | ||
|
|
f444a57bcd | ||
|
|
a9a2339821 | ||
|
|
95f3a06625 | ||
|
|
985476e8b1 | ||
|
|
1782db362e | ||
|
|
e654ee9e10 | ||
|
|
38d1d04c4a | ||
|
|
5cbd3886d1 | ||
|
|
de8dfc9202 | ||
|
|
637431468d | ||
|
|
4a817c97b2 | ||
|
|
ce44bf41d4 | ||
|
|
ab84583eff | ||
|
|
13901713b8 | ||
|
|
85fd68af16 | ||
|
|
5a5a397a68 | ||
|
|
b85c7ac743 | ||
|
|
82c6952f70 | ||
|
|
fc95fa3d02 |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@jambonz/verb-specifications",
|
||||
"version": "0.0.97",
|
||||
"version": "0.0.123",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@jambonz/verb-specifications",
|
||||
"version": "0.0.97",
|
||||
"version": "0.0.123",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@jambonz/verb-specifications",
|
||||
"version": "0.0.97",
|
||||
"version": "0.0.123",
|
||||
"description": "Jambonz Verb Specification Utilities",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
223
specs.json
223
specs.json
@@ -1,4 +1,13 @@
|
||||
{
|
||||
"alert" : {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"message": "string"
|
||||
},
|
||||
"required": [
|
||||
"message"
|
||||
]
|
||||
},
|
||||
"answer": {
|
||||
"properties": {
|
||||
"id": "string"
|
||||
@@ -57,6 +66,7 @@
|
||||
"amd": "#amd",
|
||||
"fillerNoise": "#fillerNoise",
|
||||
"notifyEvents": "boolean",
|
||||
"notifySttLatency": "boolean",
|
||||
"reset": "string|array",
|
||||
"onHoldMusic": "string",
|
||||
"actionHookDelayAction": "#actionHookDelayAction",
|
||||
@@ -64,7 +74,9 @@
|
||||
"boostAudioSignal": "number|string",
|
||||
"vad":"#vad",
|
||||
"referHook": "object|string",
|
||||
"earlyMedia": "boolean"
|
||||
"earlyMedia": "boolean",
|
||||
"autoStreamTts": "boolean",
|
||||
"disableTtsCache": "boolean"
|
||||
},
|
||||
"required": []
|
||||
},
|
||||
@@ -213,6 +225,7 @@
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"text": "string|array",
|
||||
"instructions": "string",
|
||||
"stream": "boolean",
|
||||
"loop": "number|string",
|
||||
"synthesizer": "#synthesizer",
|
||||
@@ -266,7 +279,8 @@
|
||||
"statusEvents": "array",
|
||||
"statusHook": "object|string",
|
||||
"enterHook": "object|string",
|
||||
"record": "#record"
|
||||
"record": "#record",
|
||||
"distributeDtmf": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
@@ -298,7 +312,8 @@
|
||||
"transcribe": "#transcribe",
|
||||
"amd": "#amd",
|
||||
"dub": ["#dub"],
|
||||
"tag": "object"
|
||||
"tag": "object",
|
||||
"forwardPAI": "boolean"
|
||||
},
|
||||
"required": [
|
||||
"target"
|
||||
@@ -443,6 +458,7 @@
|
||||
"model": "string",
|
||||
"auth": "object",
|
||||
"connectOptions": "object",
|
||||
"mcpServers": ["#mcpServer"],
|
||||
"actionHook": "object|string",
|
||||
"eventHook": "object|string",
|
||||
"toolHook": "object|string",
|
||||
@@ -451,11 +467,19 @@
|
||||
},
|
||||
"required": [
|
||||
"vendor",
|
||||
"model",
|
||||
"auth",
|
||||
"llmOptions"
|
||||
]
|
||||
},
|
||||
"mcpServer": {
|
||||
"properties": {
|
||||
"url": "string",
|
||||
"auth": "object",
|
||||
"roots": ["#root"]
|
||||
},
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
@@ -510,6 +534,11 @@
|
||||
"type": "string",
|
||||
"enum": ["startCallRecording", "stopCallRecording", "pauseCallRecording", "resumeCallRecording"]
|
||||
},
|
||||
"type" : {
|
||||
"type" : "string",
|
||||
"enum" : ["cloud", "siprec"]
|
||||
|
||||
},
|
||||
"recordingID": "string",
|
||||
"siprecServerURL": "string|array",
|
||||
"headers": "object"
|
||||
@@ -521,7 +550,8 @@
|
||||
"redirect": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"actionHook": "object|string"
|
||||
"actionHook": "object|string",
|
||||
"statusHook": "object|string"
|
||||
},
|
||||
"required": [
|
||||
"actionHook"
|
||||
@@ -577,7 +607,6 @@
|
||||
"channel": "number"
|
||||
},
|
||||
"required": [
|
||||
"transcriptionHook"
|
||||
]
|
||||
},
|
||||
"target": {
|
||||
@@ -733,7 +762,11 @@
|
||||
"googleOptions": "#googleOptions",
|
||||
"customOptions": "#customOptions",
|
||||
"verbioOptions": "#verbioOptions",
|
||||
"speechmaticsOptions": "#speechmaticsOptions"
|
||||
"speechmaticsOptions": "#speechmaticsOptions",
|
||||
"openaiOptions": "#openaiOptions",
|
||||
"houndifyOptions": "#houndifyOptions",
|
||||
"gladiaOptions": "object",
|
||||
"elevenlabsOptions": "#elevenlabsOptions"
|
||||
},
|
||||
"required": [
|
||||
"vendor"
|
||||
@@ -776,6 +809,7 @@
|
||||
"properties": {
|
||||
"speechSegmentationSilenceTimeoutMs": "number",
|
||||
"postProcessing" : "string",
|
||||
"audioLogging" : "boolean",
|
||||
"languageIdMode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
@@ -811,6 +845,61 @@
|
||||
"transcriptNormalization": "array"
|
||||
}
|
||||
},
|
||||
"houndifyOptions": {
|
||||
"properties": {
|
||||
"requestInfo": "object",
|
||||
"sampleRate": "number",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"elevenlabsOptions": {
|
||||
"properties": {
|
||||
"includeTimestamps": "boolean",
|
||||
"commitStrategy": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"manual",
|
||||
"vad"
|
||||
]
|
||||
},
|
||||
"vadSilenceThresholdSecs": "number",
|
||||
"vadThreshold": "number",
|
||||
"minSpeechDurationMs": "number",
|
||||
"minSilenceDurationMs": "number",
|
||||
"enableLogging": "boolean"
|
||||
}
|
||||
},
|
||||
"cobaltOptions": {
|
||||
"properties": {
|
||||
"serverUri": "string",
|
||||
@@ -890,7 +979,12 @@
|
||||
"shortUtterance": "boolean",
|
||||
"vadTurnoff": "number",
|
||||
"tag": "string",
|
||||
"fillerWords" : "boolean"
|
||||
"fillerWords" : "boolean",
|
||||
"eotThreshold": "number",
|
||||
"eotTimeoutMs": "number",
|
||||
"mipOptOut": "boolean",
|
||||
"entityPrompt": "string",
|
||||
"eagerEotThreshold":"number"
|
||||
}
|
||||
},
|
||||
"sonioxOptions": {
|
||||
@@ -921,6 +1015,60 @@
|
||||
"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",
|
||||
@@ -1070,7 +1218,18 @@
|
||||
},
|
||||
"assemblyAiOptions": {
|
||||
"properties": {
|
||||
"apiKey": "string"
|
||||
"apiKey": "string",
|
||||
"serviceVersion": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"v2",
|
||||
"v3"
|
||||
]
|
||||
},
|
||||
"formatTurns": "boolean",
|
||||
"endOfTurnConfidenceThreshold": "number",
|
||||
"minEndOfTurnSilenceWhenConfident": "number",
|
||||
"maxTurnSilence": "number"
|
||||
}
|
||||
},
|
||||
"resource": {
|
||||
@@ -1151,16 +1310,25 @@
|
||||
"voiceMs": "number",
|
||||
"silenceMs": "number",
|
||||
"strategy": "string",
|
||||
"mode": "number"
|
||||
"mode": "number",
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"webrtc",
|
||||
"silero"
|
||||
]
|
||||
},
|
||||
"threshold": "number",
|
||||
"speechPadMs": "number"
|
||||
},
|
||||
"required": [
|
||||
"enable"
|
||||
]
|
||||
},
|
||||
"amd": {
|
||||
"properties": {
|
||||
"actionHook": "object|string",
|
||||
"thresholdWordCount": "number",
|
||||
"digitCount": "number",
|
||||
"timers": "#amdTimers",
|
||||
"recognizer": "#recognizer"
|
||||
},
|
||||
@@ -1192,5 +1360,36 @@
|
||||
"streaming": "boolean",
|
||||
"sampleRate": "number"
|
||||
}
|
||||
},
|
||||
"pipeline": {
|
||||
"properties": {
|
||||
"id": "string",
|
||||
"stt": "#recognizer",
|
||||
"tts": "#synthesizer",
|
||||
"vad": "#vad",
|
||||
"turnDetection": "#turnDetectionPipeline",
|
||||
"llm": "#llm",
|
||||
"preflightLlm": "boolean",
|
||||
"actionHook": "object|string",
|
||||
"eventHook": "object|string"
|
||||
},
|
||||
"required": [
|
||||
"stt",
|
||||
"llm",
|
||||
"tts"
|
||||
]
|
||||
},
|
||||
"turnDetectionPipeline": {
|
||||
"properties": {
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"enum": ["krisp"]
|
||||
},
|
||||
"threshold": "number",
|
||||
"eagerEotThreshold": "number"
|
||||
},
|
||||
"required": [
|
||||
"vendor"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,12 +72,18 @@ test("validate correct verbs", async (t) => {
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"notifySttLatency": true,
|
||||
"recognizer": {
|
||||
"vendor": "google",
|
||||
"language": "de-DE",
|
||||
"label": "label1",
|
||||
"assemblyAiOptions": {
|
||||
"apiKey": "apikey"
|
||||
"apiKey": "apikey",
|
||||
"serviceVersion": "v3",
|
||||
"formatTurns": true,
|
||||
"endOfTurnConfidenceThreshold": 0.5,
|
||||
"minEndOfTurnSilenceWhenConfident": 500,
|
||||
"maxTurnSilence": 2000
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -207,6 +213,10 @@ test("validate correct verbs", async (t) => {
|
||||
"deepgramOptions": {
|
||||
"endpointing": 500,
|
||||
"noDelay": true,
|
||||
"eotThreshold": 500,
|
||||
"eotTimeoutMs": 5000,
|
||||
"eagerEotThreshold": 200,
|
||||
"mipOptOut": true
|
||||
}
|
||||
},
|
||||
"say": {
|
||||
@@ -221,6 +231,10 @@ 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": {
|
||||
@@ -265,6 +279,69 @@ 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": {
|
||||
"requestInfo": {
|
||||
"Latitude": 30.6,
|
||||
"Longitude": 30.6,
|
||||
"City": "Huston"
|
||||
},
|
||||
"sampleRate": 16000,
|
||||
"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"
|
||||
},
|
||||
"gladiaOptions": {
|
||||
"post_processing": {
|
||||
"summarization": false,
|
||||
"summarization_config": {
|
||||
"type": "general"
|
||||
},
|
||||
"chapterization": false
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
"verb": "gather",
|
||||
"actionHook": "http://example.com/collect",
|
||||
@@ -374,6 +451,10 @@ test("validate correct verbs", async (t) => {
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"autoStreamTts": true
|
||||
},
|
||||
{
|
||||
"verb": "config",
|
||||
"vad": {
|
||||
@@ -381,7 +462,10 @@ test("validate correct verbs", async (t) => {
|
||||
"voiceMs": 250,
|
||||
"silenceMs": 150,
|
||||
"strategy": "one-shot",
|
||||
"mode": 2
|
||||
"mode": 2,
|
||||
"vendor": "webrtc",
|
||||
"threshold": 0.5,
|
||||
"speechPadMs": 1000
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -465,6 +549,24 @@ test("validate correct verbs", async (t) => {
|
||||
"interim": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "transcribe",
|
||||
"transcriptionHook": "http://example.com/transcribe",
|
||||
"recognizer": {
|
||||
"vendor": "nvidia",
|
||||
"language" : "en-US",
|
||||
"interim": true,
|
||||
"elevenlabsOptions": {
|
||||
"includeTimestamps": true,
|
||||
"commitStrategy": "vad",
|
||||
"vadSilenceThresholdSecs": 0.8,
|
||||
"vadThreshold": 0.5,
|
||||
"minSpeechDurationMs": 300,
|
||||
"minSilenceDurationMs": 500,
|
||||
"enableLogging": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"verb": "transcribe",
|
||||
"transcriptionHook": "http://example.com/transcribe",
|
||||
@@ -522,6 +624,26 @@ test("validate correct verbs", async (t) => {
|
||||
},
|
||||
"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'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user