@burdenoff/mcp-libs 2026.1007.1 → 2026.1007.3
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.
|
@@ -716,8 +716,8 @@ var RESUME_RUN = `
|
|
|
716
716
|
}
|
|
717
717
|
`;
|
|
718
718
|
var RETRY_RUN = `
|
|
719
|
-
mutation RetryNode($id: ID
|
|
720
|
-
retryNode(id: $id
|
|
719
|
+
mutation RetryNode($id: ID!) {
|
|
720
|
+
retryNode(id: $id) {
|
|
721
721
|
id
|
|
722
722
|
nodeId
|
|
723
723
|
nodeType
|
|
@@ -1014,7 +1014,7 @@ function registerCredentialTools(server, ctx, track) {
|
|
|
1014
1014
|
description: "Create a connection against a provider. Secrets go to the vault; pass a reference, never a raw secret in config.",
|
|
1015
1015
|
inputSchema: {
|
|
1016
1016
|
name: z.string().describe("Connection name"),
|
|
1017
|
-
providerId: z.string().describe(
|
|
1017
|
+
providerId: z.string().describe('Provider ID or key (e.g. "openai")'),
|
|
1018
1018
|
description: z.string().optional().describe("Description"),
|
|
1019
1019
|
config: z.unknown().optional().describe("Non-secret provider config as JSON"),
|
|
1020
1020
|
context: z.unknown().optional().describe("Context JSON"),
|
|
@@ -1123,6 +1123,11 @@ function registerCredentialTools(server, ctx, track) {
|
|
|
1123
1123
|
})
|
|
1124
1124
|
);
|
|
1125
1125
|
}
|
|
1126
|
+
var ISO_DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
|
|
1127
|
+
function normalizeDate(value, endOfDay) {
|
|
1128
|
+
if (typeof value !== "string" || !ISO_DATE_ONLY.test(value)) return value;
|
|
1129
|
+
return `${value}T${endOfDay ? "23:59:59" : "00:00:00"}Z`;
|
|
1130
|
+
}
|
|
1126
1131
|
function registerInsightTools(server, ctx, track) {
|
|
1127
1132
|
server.registerTool(
|
|
1128
1133
|
track(mcpToolName(ctx.productName, "dashboard_summary")),
|
|
@@ -1154,8 +1159,13 @@ function registerInsightTools(server, ctx, track) {
|
|
|
1154
1159
|
}
|
|
1155
1160
|
},
|
|
1156
1161
|
async (args) => runTool(ctx, "usage_metrics", async () => {
|
|
1162
|
+
const normalised = {
|
|
1163
|
+
...args,
|
|
1164
|
+
startDate: normalizeDate(args.startDate, false),
|
|
1165
|
+
endDate: normalizeDate(args.endDate, true)
|
|
1166
|
+
};
|
|
1157
1167
|
const data = await ctx.gql.workspace.request(GET_USAGE_METRICS, {
|
|
1158
|
-
input: definedInput(
|
|
1168
|
+
input: definedInput(normalised)
|
|
1159
1169
|
});
|
|
1160
1170
|
return jsonResult(data.usageMetrics);
|
|
1161
1171
|
})
|
|
@@ -1390,10 +1400,14 @@ function registerRunTools(server, ctx, track) {
|
|
|
1390
1400
|
nodeId: z.string().describe("Node ID to retry")
|
|
1391
1401
|
}
|
|
1392
1402
|
},
|
|
1393
|
-
async ({ id, nodeId }) => runTool(ctx, "runs_retry_node", async () => {
|
|
1403
|
+
async ({ id: runId, nodeId }) => runTool(ctx, "runs_retry_node", async () => {
|
|
1404
|
+
const runData = await ctx.gql.workspace.request(GET_RUN, { id: runId });
|
|
1405
|
+
const state = runData.workflowRun?.nodeStates?.find((s) => s.nodeId === nodeId);
|
|
1406
|
+
if (!state) {
|
|
1407
|
+
return errorResult(`No node state found for run ${runId} node ${nodeId}`);
|
|
1408
|
+
}
|
|
1394
1409
|
const data = await ctx.gql.workspace.request(RETRY_RUN, {
|
|
1395
|
-
id
|
|
1396
|
-
nodeId
|
|
1410
|
+
id: state.id
|
|
1397
1411
|
});
|
|
1398
1412
|
return jsonResult(data.retryNode);
|
|
1399
1413
|
})
|
|
@@ -1537,13 +1551,13 @@ function registerWebhookTools(server, ctx, track) {
|
|
|
1537
1551
|
track(mcpToolName(ctx.productName, "webhooks_create")),
|
|
1538
1552
|
{
|
|
1539
1553
|
title: "Create Webhook",
|
|
1540
|
-
description:
|
|
1554
|
+
description: 'Register an event source that triggers a workflow. triggerNodeId names the trigger node the event enters at. eventSource and eventType are required by the server schema (CreateEventRegistrationInput!); marking them optional in the tool wrapper produced a "Field eventSource of required type String! was not provided" error on every call (BOFF-8204).',
|
|
1541
1555
|
inputSchema: {
|
|
1542
1556
|
name: z.string().describe("Registration name"),
|
|
1543
1557
|
workflowKey: z.string().describe("Workflow key to trigger"),
|
|
1544
1558
|
triggerNodeId: z.string().describe("Trigger node ID"),
|
|
1545
|
-
eventSource: z.string().
|
|
1546
|
-
eventType: z.string().
|
|
1559
|
+
eventSource: z.string().describe("Event source identifier"),
|
|
1560
|
+
eventType: z.string().describe("Event type"),
|
|
1547
1561
|
description: z.string().optional().describe("Description"),
|
|
1548
1562
|
config: z.unknown().optional().describe("Source-specific config as JSON"),
|
|
1549
1563
|
payloadMapping: z.unknown().optional().describe("Payload mapping as JSON"),
|