@velaro/mcp-server 0.6.101 → 0.6.102
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 +30 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velaro/mcp-server",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.102",
|
|
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
|
@@ -1867,6 +1867,25 @@ For multiSelect dynamic options: the variable named in dynamicOptionsVariable mu
|
|
|
1867
1867
|
required: ['v10_site_id'],
|
|
1868
1868
|
},
|
|
1869
1869
|
},
|
|
1870
|
+
{
|
|
1871
|
+
name: 'livefluence_conversion_advisor',
|
|
1872
|
+
description: 'Velaro staff only (superadmin). Livefluence conversion advisor: reads a v10 site\'s groups and routing rules, clusters them by intent and returns a consolidated v20 design (one workflow per intent; page-path + device + geo conditions; team availability check with AI-node fallback), diffed against what already exists on the v20 site. Or pass intents (a structured list built from a customer description) instead of v10_site_id. apply=false (default) is a dry run; apply=true creates missing teams and workflows, ALWAYS DISABLED, idempotent by name. Always dry-run first. Same as CLI `velaro migrate advise`.',
|
|
1873
|
+
inputSchema: {
|
|
1874
|
+
type: 'object',
|
|
1875
|
+
properties: {
|
|
1876
|
+
v10_site_id: { type: 'number', description: 'V10 (Livefluence) site to read. Omit when passing intents.' },
|
|
1877
|
+
v20_site_id: { type: 'number', description: 'V20 destination site ID' },
|
|
1878
|
+
apply: { type: 'boolean', description: 'Create missing teams and DISABLED workflows. Default false (dry run + diff).' },
|
|
1879
|
+
include_non_routing: { type: 'boolean', description: 'Also read v10 rules with IsRouting=false (group-assignment rules). Default false.' },
|
|
1880
|
+
intents: {
|
|
1881
|
+
type: 'array',
|
|
1882
|
+
description: 'Structured intents: [{intent, paths[], device: any|mobile|desktop, countries[], excludeCountries[], target: "Service team + troubleshooting AI node" (or team / aiNode), mode: humanFirst|botFirst|aiOnly, priority}]',
|
|
1883
|
+
items: { type: 'object' },
|
|
1884
|
+
},
|
|
1885
|
+
},
|
|
1886
|
+
required: ['v20_site_id'],
|
|
1887
|
+
},
|
|
1888
|
+
},
|
|
1870
1889
|
{
|
|
1871
1890
|
name: 'livefluence_export',
|
|
1872
1891
|
description: 'Export V10 (Livefluence) routing rules for a site and show a preview of what would be created in V20. Auto-suggests V20 team and AI config matches by name. Use this before livefluence_migrate to confirm the mapping is correct.',
|
|
@@ -7512,6 +7531,17 @@ async function handleTool(name, args) {
|
|
|
7512
7531
|
return JSON.stringify(result, null, 2);
|
|
7513
7532
|
}
|
|
7514
7533
|
|
|
7534
|
+
case 'livefluence_conversion_advisor': {
|
|
7535
|
+
const result = await api('POST', '/DatabaseTool/ConversionAdvisor', {
|
|
7536
|
+
v10SiteId: args.intents?.length ? null : (args.v10_site_id ?? null),
|
|
7537
|
+
v20SiteId: args.v20_site_id,
|
|
7538
|
+
apply: !!args.apply,
|
|
7539
|
+
includeNonRouting: !!args.include_non_routing,
|
|
7540
|
+
intents: args.intents ?? null,
|
|
7541
|
+
});
|
|
7542
|
+
return JSON.stringify(result, null, 2);
|
|
7543
|
+
}
|
|
7544
|
+
|
|
7515
7545
|
case 'livefluence_migrate': {
|
|
7516
7546
|
const result = await api('POST', '/DatabaseTool/V10Migrate', {
|
|
7517
7547
|
v10SiteId: args.v10_site_id,
|