Compare commits

..

3 Commits

Author SHA1 Message Date
Quan HL
f71dfb5c46 fixed mcpServers as array 2025-04-15 15:41:29 +07:00
Quan HL
f567d985a0 fix typo 2025-04-14 09:18:12 +07:00
Quan HL
8c00eb02ed allow cmpServer configuration in LLM 2025-04-14 09:16:24 +07:00
4 changed files with 14 additions and 97 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@jambonz/verb-specifications", "name": "@jambonz/verb-specifications",
"version": "0.0.113", "version": "0.0.102",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@jambonz/verb-specifications", "name": "@jambonz/verb-specifications",
"version": "0.0.113", "version": "0.0.102",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"debug": "^4.3.4", "debug": "^4.3.4",

View File

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

View File

@@ -1,28 +1,4 @@
{ {
"pipeline": {
"properties": {
"id": "string",
"stt": "#recognizer",
"tts": "#synthesizer",
"vad": "#vad",
"llm": "#llm",
"preflightLlm": "boolean",
"actionHook": "object|string"
},
"required": [
"stt",
"tts"
]
},
"alert" : {
"properties": {
"id": "string",
"message": "string"
},
"required": [
"message"
]
},
"answer": { "answer": {
"properties": { "properties": {
"id": "string" "id": "string"
@@ -81,7 +57,6 @@
"amd": "#amd", "amd": "#amd",
"fillerNoise": "#fillerNoise", "fillerNoise": "#fillerNoise",
"notifyEvents": "boolean", "notifyEvents": "boolean",
"notifySttLatency": "boolean",
"reset": "string|array", "reset": "string|array",
"onHoldMusic": "string", "onHoldMusic": "string",
"actionHookDelayAction": "#actionHookDelayAction", "actionHookDelayAction": "#actionHookDelayAction",
@@ -89,9 +64,7 @@
"boostAudioSignal": "number|string", "boostAudioSignal": "number|string",
"vad":"#vad", "vad":"#vad",
"referHook": "object|string", "referHook": "object|string",
"earlyMedia": "boolean", "earlyMedia": "boolean"
"autoStreamTts": "boolean",
"disableTtsCache": "boolean"
}, },
"required": [] "required": []
}, },
@@ -240,7 +213,6 @@
"properties": { "properties": {
"id": "string", "id": "string",
"text": "string|array", "text": "string|array",
"instructions": "string",
"stream": "boolean", "stream": "boolean",
"loop": "number|string", "loop": "number|string",
"synthesizer": "#synthesizer", "synthesizer": "#synthesizer",
@@ -326,8 +298,7 @@
"transcribe": "#transcribe", "transcribe": "#transcribe",
"amd": "#amd", "amd": "#amd",
"dub": ["#dub"], "dub": ["#dub"],
"tag": "object", "tag": "object"
"forwardPAI": "boolean"
}, },
"required": [ "required": [
"target" "target"
@@ -472,12 +443,12 @@
"model": "string", "model": "string",
"auth": "object", "auth": "object",
"connectOptions": "object", "connectOptions": "object",
"mcpServers": ["#mcpServer"],
"actionHook": "object|string", "actionHook": "object|string",
"eventHook": "object|string", "eventHook": "object|string",
"toolHook": "object|string", "toolHook": "object|string",
"events": "array", "events": "array",
"llmOptions": "object" "llmOptions": "object",
"mcpServers": "array"
}, },
"required": [ "required": [
"vendor", "vendor",
@@ -485,16 +456,6 @@
"llmOptions" "llmOptions"
] ]
}, },
"mcpServer": {
"properties": {
"url": "string",
"auth": "object",
"roots": ["#root"]
},
"required": [
"url"
]
},
"message": { "message": {
"properties": { "properties": {
"id": "string", "id": "string",
@@ -616,6 +577,7 @@
"channel": "number" "channel": "number"
}, },
"required": [ "required": [
"transcriptionHook"
] ]
}, },
"target": { "target": {
@@ -929,12 +891,7 @@
"shortUtterance": "boolean", "shortUtterance": "boolean",
"vadTurnoff": "number", "vadTurnoff": "number",
"tag": "string", "tag": "string",
"fillerWords" : "boolean", "fillerWords" : "boolean"
"preflightThreshold": "number",
"eotThreshold": "number",
"eotTimeoutMs": "number",
"mipOptOut": "boolean",
"entityPrompt": "string"
} }
}, },
"sonioxOptions": { "sonioxOptions": {
@@ -1168,18 +1125,7 @@
}, },
"assemblyAiOptions": { "assemblyAiOptions": {
"properties": { "properties": {
"apiKey": "string", "apiKey": "string"
"serviceVersion": {
"type": "string",
"enum": [
"v2",
"v3"
]
},
"formatTurns": "boolean",
"endOfTurnConfidenceThreshold": "number",
"minEndOfTurnSilenceWhenConfident": "number",
"maxTurnSilence": "number"
} }
}, },
"resource": { "resource": {
@@ -1260,18 +1206,10 @@
"voiceMs": "number", "voiceMs": "number",
"silenceMs": "number", "silenceMs": "number",
"strategy": "string", "strategy": "string",
"mode": "number", "mode": "number"
"vendor": {
"type": "string",
"enum": [
"webrtc",
"silero"
]
},
"threshold": "number",
"speechPadMs": "number"
}, },
"required": [ "required": [
"enable"
] ]
}, },
"amd": { "amd": {

View File

@@ -72,18 +72,12 @@ test("validate correct verbs", async (t) => {
}, },
{ {
"verb": "config", "verb": "config",
"notifySttLatency": true,
"recognizer": { "recognizer": {
"vendor": "google", "vendor": "google",
"language": "de-DE", "language": "de-DE",
"label": "label1", "label": "label1",
"assemblyAiOptions": { "assemblyAiOptions": {
"apiKey": "apikey", "apiKey": "apikey"
"serviceVersion": "v3",
"formatTurns": true,
"endOfTurnConfidenceThreshold": 0.5,
"minEndOfTurnSilenceWhenConfident": 500,
"maxTurnSilence": 2000
} }
} }
}, },
@@ -213,10 +207,6 @@ test("validate correct verbs", async (t) => {
"deepgramOptions": { "deepgramOptions": {
"endpointing": 500, "endpointing": 500,
"noDelay": true, "noDelay": true,
preflightThreshold: 1000,
eotThreshold: 500,
eotTimeoutMs: 5000,
mipOptOut: true
} }
}, },
"say": { "say": {
@@ -231,10 +221,6 @@ test("validate correct verbs", async (t) => {
"fallbackVoice": "voice" "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": { "say": {
"text": "To speak to Sales press 1 or say Sales. To speak to customer support press 2 or say Support", "text": "To speak to Sales press 1 or say Sales. To speak to customer support press 2 or say Support",
"synthesizer": { "synthesizer": {
@@ -388,10 +374,6 @@ test("validate correct verbs", async (t) => {
} }
} }
}, },
{
"verb": "config",
"autoStreamTts": true
},
{ {
"verb": "config", "verb": "config",
"vad": { "vad": {
@@ -399,10 +381,7 @@ test("validate correct verbs", async (t) => {
"voiceMs": 250, "voiceMs": 250,
"silenceMs": 150, "silenceMs": 150,
"strategy": "one-shot", "strategy": "one-shot",
"mode": 2, "mode": 2
"vendor": "webrtc",
"threshold": 0.5,
"speechPadMs": 1000
} }
}, },
{ {