@velaro/mcp-server 0.6.63 → 0.6.64

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/server.js +9 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velaro/mcp-server",
3
- "version": "0.6.63",
3
+ "version": "0.6.64",
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
@@ -2555,7 +2555,7 @@ For multiSelect dynamic options: the variable named in dynamicOptionsVariable mu
2555
2555
  },
2556
2556
  {
2557
2557
  name: 'experience_impact_report',
2558
- description: 'Experience Impact report: shows how staffing and schedule adherence affect customer experience. Returns a 0-100 experience index (adherence 25, service level 30, missed-chat rate 20, CSAT 25), per-interval staffing vs chat demand (scheduled vs actual agents, missed chats, wait time, CSAT), per-agent rows, and plain-language insights. Scoped to the caller site.',
2558
+ description: 'Experience Impact report: shows how staffing and schedule adherence affect customer experience. Returns a 0-100 experience index (adherence 25, service level 30, missed-chat rate 20, CSAT 25), per-interval staffing vs chat demand (scheduled vs actual agents, missed chats, wait time, CSAT), per-agent rows, a bot-vs-human breakdown (bot only, bot-to-human handoff, human only, with wait, missed, CSAT and bot containment rate), and plain-language insights. Scoped to the caller site.',
2559
2559
  inputSchema: {
2560
2560
  type: 'object',
2561
2561
  properties: {
@@ -7254,6 +7254,14 @@ async function handleTool(name, args) {
7254
7254
  ...(r.insights ?? []).map(i => ` [${i.severity}] ${i.text}`),
7255
7255
  `Intervals: ${(r.intervals ?? []).length} | Agents: ${(r.agents ?? []).length}`,
7256
7256
  ];
7257
+ if (r.botVsHuman) {
7258
+ const bh = r.botVsHuman;
7259
+ lines.push(`Bots vs humans (bot containment ${bh.containmentRatePct}%)`);
7260
+ for (const [label, k] of [['Bot only', 'botOnly'], ['Bot to human', 'handoff'], ['Human only', 'humanOnly']]) {
7261
+ const x = bh[k] ?? {};
7262
+ lines.push(` ${label}: ${x.chats} chats | avg wait ${x.avgWaitSec}s | missed ${x.missed} | CSAT ${x.csatResponses ? x.csatAvg : '-'} (${x.csatResponses ?? 0})`);
7263
+ }
7264
+ }
7257
7265
  for (const a of r.agents ?? []) lines.push(` ${a.name}: index ${a.experienceIndex} | adherence ${a.adherencePct}% | CSAT ${a.csatAvg ?? '-'} | handled ${a.handled}`);
7258
7266
  return lines.join('\n');
7259
7267
  }