@burdenoff/mcp-libs 2026.929.1 → 2026.1007.2

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { startHttpServer, startStdioServer } from './chunk-JFEQYSWM.js';
2
1
  export { McpAuthError, McpInternalError, McpUserError, buildContext, createMcpServer, errorResult, jsonResult, mcpPromptName, mcpResourceUri, mcpToolName, registerTool, textResult } from './chunk-BSNL65PZ.js';
2
+ export { startHttpServer, startStdioServer } from './chunk-JFEQYSWM.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -777,8 +777,8 @@ var RESUME_RUN = `
777
777
  }
778
778
  `;
779
779
  var RETRY_RUN = `
780
- mutation RetryNode($id: ID!, $nodeId: String!) {
781
- retryNode(id: $id, nodeId: $nodeId) {
780
+ mutation RetryNode($id: ID!) {
781
+ retryNode(id: $id) {
782
782
  id
783
783
  nodeId
784
784
  nodeType
@@ -788,25 +788,6 @@ var RETRY_RUN = `
788
788
  }
789
789
  }
790
790
  `;
791
- var CREATE_CREDENTIAL = `
792
- mutation CreateCredential($input: CreateConnectionInput!) {
793
- createConnection(input: $input) {
794
- id
795
- name
796
- description
797
- status
798
- providerId
799
- provider {
800
- id
801
- key
802
- name
803
- authType
804
- }
805
- credentialSource
806
- createdAt
807
- }
808
- }
809
- `;
810
791
  var AUTHENTICATE_CREDENTIAL_API_KEY = `
811
792
  mutation AuthenticateCredentialApiKey($input: ApiKeyAuthInput!) {
812
793
  authenticateWithApiKey(input: $input) {
@@ -932,8 +913,8 @@ var CREATE_SCHEDULED_JOB = `
932
913
  }
933
914
  `;
934
915
  var UPDATE_SCHEDULED_JOB = `
935
- mutation UpdateScheduledJob($jobId: ID!, $input: WorkflowUpdateScheduledJobInput!) {
936
- updateWorkflowScheduledJob(jobId: $jobId, input: $input) {
916
+ mutation UpdateScheduledJob($id: ID!, $input: WorkflowUpdateScheduledJobInput!) {
917
+ updateWorkflowScheduledJob(id: $id, input: $input) {
937
918
  success
938
919
  message
939
920
  job {
@@ -1068,30 +1049,6 @@ function registerCredentialTools(server, ctx, track) {
1068
1049
  return jsonResult(data.getProviders);
1069
1050
  })
1070
1051
  );
1071
- server.registerTool(
1072
- track(mcpToolName(ctx.productName, "credentials_create")),
1073
- {
1074
- title: "Create Credential",
1075
- description: "Create a connection against a provider. Secrets go to the vault; pass a reference, never a raw secret in config.",
1076
- inputSchema: {
1077
- name: zod.z.string().describe("Connection name"),
1078
- providerId: zod.z.string().describe("Provider ID"),
1079
- description: zod.z.string().optional().describe("Description"),
1080
- config: zod.z.unknown().optional().describe("Non-secret provider config as JSON"),
1081
- context: zod.z.unknown().optional().describe("Context JSON"),
1082
- vaultId: zod.z.string().optional().describe("Vault to store secret material in"),
1083
- credentialSecretId: zod.z.string().optional().describe("Existing vault secret reference"),
1084
- managedSecretName: zod.z.string().optional().describe("Managed secret name")
1085
- }
1086
- },
1087
- async (args) => runTool(ctx, "credentials_create", async () => {
1088
- const data = await ctx.gql.workspace.request(
1089
- CREATE_CREDENTIAL,
1090
- { input: definedInput({ ...args }) }
1091
- );
1092
- return jsonResult(data.createConnection);
1093
- })
1094
- );
1095
1052
  server.registerTool(
1096
1053
  track(mcpToolName(ctx.productName, "credentials_update")),
1097
1054
  {
@@ -1184,6 +1141,11 @@ function registerCredentialTools(server, ctx, track) {
1184
1141
  })
1185
1142
  );
1186
1143
  }
1144
+ var ISO_DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
1145
+ function normalizeDate(value, endOfDay) {
1146
+ if (typeof value !== "string" || !ISO_DATE_ONLY.test(value)) return value;
1147
+ return `${value}T${endOfDay ? "23:59:59" : "00:00:00"}Z`;
1148
+ }
1187
1149
  function registerInsightTools(server, ctx, track) {
1188
1150
  server.registerTool(
1189
1151
  track(mcpToolName(ctx.productName, "dashboard_summary")),
@@ -1215,8 +1177,13 @@ function registerInsightTools(server, ctx, track) {
1215
1177
  }
1216
1178
  },
1217
1179
  async (args) => runTool(ctx, "usage_metrics", async () => {
1180
+ const normalised = {
1181
+ ...args,
1182
+ startDate: normalizeDate(args.startDate, false),
1183
+ endDate: normalizeDate(args.endDate, true)
1184
+ };
1218
1185
  const data = await ctx.gql.workspace.request(GET_USAGE_METRICS, {
1219
- input: definedInput({ ...args })
1186
+ input: definedInput(normalised)
1220
1187
  });
1221
1188
  return jsonResult(data.usageMetrics);
1222
1189
  })
@@ -1451,10 +1418,14 @@ function registerRunTools(server, ctx, track) {
1451
1418
  nodeId: zod.z.string().describe("Node ID to retry")
1452
1419
  }
1453
1420
  },
1454
- async ({ id, nodeId }) => runTool(ctx, "runs_retry_node", async () => {
1421
+ async ({ id: runId, nodeId }) => runTool(ctx, "runs_retry_node", async () => {
1422
+ const runData = await ctx.gql.workspace.request(GET_RUN, { id: runId });
1423
+ const state = runData.workflowRun?.nodeStates?.find((s) => s.nodeId === nodeId);
1424
+ if (!state) {
1425
+ return errorResult(`No node state found for run ${runId} node ${nodeId}`);
1426
+ }
1455
1427
  const data = await ctx.gql.workspace.request(RETRY_RUN, {
1456
- id,
1457
- nodeId
1428
+ id: state.id
1458
1429
  });
1459
1430
  return jsonResult(data.retryNode);
1460
1431
  })
@@ -1536,7 +1507,7 @@ function registerScheduledJobTools(server, ctx, track) {
1536
1507
  async ({ jobId, ...input }) => runTool(ctx, "scheduled_jobs_update", async () => {
1537
1508
  const data = await ctx.gql.workspace.request(
1538
1509
  UPDATE_SCHEDULED_JOB,
1539
- { jobId, input: definedInput(input) }
1510
+ { id: jobId, input: definedInput(input) }
1540
1511
  );
1541
1512
  return jsonResult(data.updateWorkflowScheduledJob);
1542
1513
  })
@@ -1598,13 +1569,13 @@ function registerWebhookTools(server, ctx, track) {
1598
1569
  track(mcpToolName(ctx.productName, "webhooks_create")),
1599
1570
  {
1600
1571
  title: "Create Webhook",
1601
- description: "Register an event source that triggers a workflow. triggerNodeId names the trigger node the event enters at.",
1572
+ 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).',
1602
1573
  inputSchema: {
1603
1574
  name: zod.z.string().describe("Registration name"),
1604
1575
  workflowKey: zod.z.string().describe("Workflow key to trigger"),
1605
1576
  triggerNodeId: zod.z.string().describe("Trigger node ID"),
1606
- eventSource: zod.z.string().optional().describe("Event source identifier"),
1607
- eventType: zod.z.string().optional().describe("Event type"),
1577
+ eventSource: zod.z.string().describe("Event source identifier"),
1578
+ eventType: zod.z.string().describe("Event type"),
1608
1579
  description: zod.z.string().optional().describe("Description"),
1609
1580
  config: zod.z.unknown().optional().describe("Source-specific config as JSON"),
1610
1581
  payloadMapping: zod.z.unknown().optional().describe("Payload mapping as JSON"),