@velaro/mcp-server 0.6.86 → 0.6.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server.js +10 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velaro/mcp-server",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.88",
|
|
4
4
|
"description": "Velaro MCP server — connect Claude and other AI agents directly to your Velaro account: KB, workflows, bots, conversations, contacts, routing, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/server.js
CHANGED
|
@@ -3136,11 +3136,13 @@ For multiSelect dynamic options: the variable named in dynamicOptionsVariable mu
|
|
|
3136
3136
|
properties: {
|
|
3137
3137
|
siteId: { type: 'number', description: 'Site ID to configure' },
|
|
3138
3138
|
enabled: { type: 'boolean', description: 'Turn the avatar on/off for this site' },
|
|
3139
|
-
providerSlug: { type: 'string', description: 'Avatar provider slug: "simli", "d-id", "heygen", or "none" to disable. Default: "
|
|
3140
|
-
avatarId: { type: 'string', description: '
|
|
3139
|
+
providerSlug: { type: 'string', description: 'Avatar provider slug: "velaro" (Velaro Avatar, first/default; renders on Velaro-managed infrastructure), "simli", "d-id", "heygen", or "none" to disable. Default: "velaro".' },
|
|
3140
|
+
avatarId: { type: 'string', description: 'Avatar ID. For provider "velaro" this is a Velaro Avatar library slug. Other providers: their own face/avatar ID. Omit for provider default.' },
|
|
3141
3141
|
voiceId: { type: 'string', description: 'ElevenLabs voice ID override. Omit to use the site default.' },
|
|
3142
3142
|
showCallMeOption: { type: 'boolean', description: 'Show the "Call me instead" option (requires EnableClickToCall).' },
|
|
3143
3143
|
callbackConfirmWindowMinutes: { type: 'number', description: 'Minutes to confirm a callback request before it expires. Default 10.' },
|
|
3144
|
+
maxAvatarMinutesPerMonth: { type: 'number', description: 'Monthly avatar video minutes cap for the site. Whole number 1-100000; never unlimited (0/negative rejected).' },
|
|
3145
|
+
maxAvatarTtsChars: { type: 'number', description: 'Monthly avatar TTS character cap (avatar_tts_chars) for the site. Whole number 1-100000000; never unlimited (0/negative rejected). Overage pricing is a platform-wide ladder, not per site.' },
|
|
3144
3146
|
},
|
|
3145
3147
|
required: ['siteId'],
|
|
3146
3148
|
},
|
|
@@ -8382,9 +8384,14 @@ async function handleTool(name, args) {
|
|
|
8382
8384
|
if (args.enabled !== undefined) body.enabled = args.enabled;
|
|
8383
8385
|
if (args.showCallMeOption !== undefined) body.showCallMeOption = args.showCallMeOption;
|
|
8384
8386
|
if (args.callbackConfirmWindowMinutes !== undefined) body.callbackConfirmWindowMinutes = args.callbackConfirmWindowMinutes;
|
|
8387
|
+
for (const [arg, max] of [['maxAvatarMinutesPerMonth', 100000], ['maxAvatarTtsChars', 100000000]]) {
|
|
8388
|
+
if (args[arg] === undefined) continue;
|
|
8389
|
+
if (!Number.isInteger(args[arg]) || args[arg] < 1 || args[arg] > max) throw new Error(`${arg} must be a whole number between 1 and ${max} (never unlimited).`);
|
|
8390
|
+
body[arg] = args[arg];
|
|
8391
|
+
}
|
|
8385
8392
|
const res = await api('POST', `/Avatar/superadmin/config?siteId=${args.siteId}`, body);
|
|
8386
8393
|
if (!res?.success) throw new Error(res?.error || 'Configure failed');
|
|
8387
|
-
return `✓ AI Video Avatar updated for site ${args.siteId}. Provider: ${res.providerSlug}, enabled: ${res.enabled}`;
|
|
8394
|
+
return `✓ AI Video Avatar updated for site ${args.siteId}. Provider: ${res.providerSlug}, enabled: ${res.enabled}, maxAvatarMinutesPerMonth: ${res.maxAvatarMinutesPerMonth ?? 'n/a'}, maxAvatarTtsChars: ${res.maxAvatarTtsChars ?? 'n/a'}`;
|
|
8388
8395
|
}
|
|
8389
8396
|
|
|
8390
8397
|
case 'avatar_list_library':
|