conduyt-mcp 4.41.0 → 4.42.0
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/dist/tools/messaging.js +16 -0
- package/package.json +1 -1
- package/scripts/coverage-matrix.json +10 -4
package/dist/tools/messaging.js
CHANGED
|
@@ -128,4 +128,20 @@ export function registerMessagingTools(server, client) {
|
|
|
128
128
|
const result = await client.get(`/api/v1/reports/speed-to-lead?${params}`);
|
|
129
129
|
return formatResult(result);
|
|
130
130
|
});
|
|
131
|
+
server.tool("conduyt_funnel_report", "Stage funnel for ONE pipeline: every deal that entered each stage in the window (created in it, or moved into it) and what happened to that presence so far (advanced to a later stage, lost, moved back, handed off to another pipeline, still there; the five add up to the entries), with the median days a settled stay lasted, plus the pipeline cohort (deals created in the window by where they sit now: won / lost / open). Built from recorded stage moves, never from where deals sit now. Windows clamp to 90 days. GET /api/v1/reports/funnel", {
|
|
132
|
+
pipelineId: z.string().uuid().describe("The pipeline to report on"),
|
|
133
|
+
from: z.string().optional().describe("ISO start (omit both for the last 90 days; spans clamp to 90d)"),
|
|
134
|
+
to: z.string().optional().describe("ISO end"),
|
|
135
|
+
dateRange: z.string().optional().describe("A shared dashboard range key (today, week, month, quarter, year, last_30_days, ...) instead of from/to"),
|
|
136
|
+
}, async ({ pipelineId, from, to, dateRange }) => {
|
|
137
|
+
const params = new URLSearchParams({ pipelineId });
|
|
138
|
+
if (from)
|
|
139
|
+
params.set("from", from);
|
|
140
|
+
if (to)
|
|
141
|
+
params.set("to", to);
|
|
142
|
+
if (dateRange)
|
|
143
|
+
params.set("dateRange", dateRange);
|
|
144
|
+
const result = await client.get(`/api/v1/reports/funnel?${params}`);
|
|
145
|
+
return formatResult(result);
|
|
146
|
+
});
|
|
131
147
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-09-
|
|
3
|
-
"toolCount":
|
|
4
|
-
"totalEndpoints":
|
|
2
|
+
"generatedAt": "2026-09-11T07:55:35.252Z",
|
|
3
|
+
"toolCount": 244,
|
|
4
|
+
"totalEndpoints": 951,
|
|
5
5
|
"counts": {
|
|
6
|
-
"covered":
|
|
6
|
+
"covered": 226,
|
|
7
7
|
"excluded": 283,
|
|
8
8
|
"planned": 442,
|
|
9
9
|
"uncategorized": 0
|
|
@@ -3311,6 +3311,12 @@
|
|
|
3311
3311
|
"status": "planned",
|
|
3312
3312
|
"reason": "additional report surfaces beyond ai/insights"
|
|
3313
3313
|
},
|
|
3314
|
+
"GET /api/v1/reports/funnel": {
|
|
3315
|
+
"status": "covered",
|
|
3316
|
+
"tools": [
|
|
3317
|
+
"conduyt_funnel_report"
|
|
3318
|
+
]
|
|
3319
|
+
},
|
|
3314
3320
|
"GET /api/v1/reports/pipeline": {
|
|
3315
3321
|
"status": "planned",
|
|
3316
3322
|
"reason": "additional report surfaces beyond ai/insights"
|