@elastic.io/mcp 1.0.1-dev10 → 1.0.1-dev11

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 (64) hide show
  1. package/README.md +37 -19
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +3 -1
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/verification.d.ts +6 -0
  6. package/dist/api/verification.d.ts.map +1 -0
  7. package/dist/api/verification.js +71 -0
  8. package/dist/api/verification.js.map +1 -0
  9. package/dist/setup.d.ts.map +1 -1
  10. package/dist/setup.js +25 -6
  11. package/dist/setup.js.map +1 -1
  12. package/dist/tools/definitions.d.ts.map +1 -1
  13. package/dist/tools/definitions.js +34 -2
  14. package/dist/tools/definitions.js.map +1 -1
  15. package/dist/tools/flow-build.d.ts +18 -0
  16. package/dist/tools/flow-build.d.ts.map +1 -0
  17. package/dist/tools/flow-build.js +291 -0
  18. package/dist/tools/flow-build.js.map +1 -0
  19. package/dist/tools/flow-evidence.d.ts +62 -0
  20. package/dist/tools/flow-evidence.d.ts.map +1 -0
  21. package/dist/tools/flow-evidence.js +128 -0
  22. package/dist/tools/flow-evidence.js.map +1 -0
  23. package/dist/tools/flow-state-machine.d.ts +68 -0
  24. package/dist/tools/flow-state-machine.d.ts.map +1 -0
  25. package/dist/tools/flow-state-machine.js +292 -0
  26. package/dist/tools/flow-state-machine.js.map +1 -0
  27. package/dist/tools/handlers/auth.d.ts.map +1 -1
  28. package/dist/tools/handlers/auth.js +10 -144
  29. package/dist/tools/handlers/auth.js.map +1 -1
  30. package/dist/tools/handlers/component.d.ts.map +1 -1
  31. package/dist/tools/handlers/component.js +26 -6
  32. package/dist/tools/handlers/component.js.map +1 -1
  33. package/dist/tools/handlers/data-sample.d.ts.map +1 -1
  34. package/dist/tools/handlers/data-sample.js +36 -5
  35. package/dist/tools/handlers/data-sample.js.map +1 -1
  36. package/dist/tools/handlers/dynamic.d.ts.map +1 -1
  37. package/dist/tools/handlers/dynamic.js +42 -13
  38. package/dist/tools/handlers/dynamic.js.map +1 -1
  39. package/dist/tools/handlers/flow.d.ts.map +1 -1
  40. package/dist/tools/handlers/flow.js +144 -616
  41. package/dist/tools/handlers/flow.js.map +1 -1
  42. package/dist/tools/handlers/log.d.ts.map +1 -1
  43. package/dist/tools/handlers/log.js.map +1 -1
  44. package/dist/tools/handlers/raw.d.ts.map +1 -1
  45. package/dist/tools/handlers/raw.js +3 -0
  46. package/dist/tools/handlers/raw.js.map +1 -1
  47. package/dist/tools/handlers/search.d.ts.map +1 -1
  48. package/dist/tools/handlers/search.js +31 -0
  49. package/dist/tools/handlers/search.js.map +1 -1
  50. package/dist/tools/handlers/session.d.ts.map +1 -1
  51. package/dist/tools/handlers/session.js +7 -1
  52. package/dist/tools/handlers/session.js.map +1 -1
  53. package/dist/tools/handlers.d.ts.map +1 -1
  54. package/dist/tools/handlers.js +7 -2
  55. package/dist/tools/handlers.js.map +1 -1
  56. package/dist/tools/types.d.ts +6 -0
  57. package/dist/tools/types.d.ts.map +1 -1
  58. package/dist/tools/validation.d.ts +16 -1
  59. package/dist/tools/validation.d.ts.map +1 -1
  60. package/dist/tools/validation.js +163 -141
  61. package/dist/tools/validation.js.map +1 -1
  62. package/package.json +4 -2
  63. package/resources/docs/flow-creation-stages.md +195 -0
  64. package/resources/docs/flow-state-machine-audit.md +162 -0
@@ -1,4 +1,7 @@
1
+ import { verifyCredentials } from '../api/verification.js';
2
+ import { credentialKey, descriptorFor, evidence, nodeCredentialArgs, nodeMetadataKey, operation } from './flow-evidence.js';
1
3
  import { logger } from '../api/logger.js';
4
+ import { deserializeJsonApi } from '../api/jsonapi.js';
2
5
  import { resolveCredentialId } from './helpers.js';
3
6
  import { DEPRECATED_COMPONENTS, DEPRECATED_ACTIONS, BARE_FIELD_NAMES, UNSUPPORTED_ROUTER_JSONATA_FUNCTIONS, REST_API_READER_FIELDS, PLACEHOLDER_FIELD_VALUES, } from './constants.js';
4
7
  export { DEPRECATED_COMPONENTS, DEPRECATED_ACTIONS } from './constants.js';
@@ -123,6 +126,8 @@ function validateNodes(nodes, nodeMap, errors, warnings) {
123
126
  errors.push("Node definition is missing the 'id' field.");
124
127
  continue;
125
128
  }
129
+ if (nodeMap.has(node.id))
130
+ errors.push(`Duplicate node ID '${node.id}'.`);
126
131
  nodeMap.set(node.id, node);
127
132
  const command = node.command;
128
133
  if (!command) {
@@ -276,12 +281,17 @@ function validateMapper(mapper, edgeId, errors) {
276
281
  `Convert it to a JSONata string, e.g.: "[{\\"role\\": \\"system\\", ...}]" instead of [{role: ...}].`);
277
282
  }
278
283
  else if (typeof val === 'number' || typeof val === 'boolean') {
279
- mapper[key] = String(val);
280
- mapperValues.push({ key, value: String(val) });
284
+ errors.push(`Edge '${edgeId}' mapper field '${key}' must be a JSONata expression string.`);
281
285
  }
282
286
  else if (typeof val === 'string') {
283
287
  mapperValues.push({ key, value: val });
284
288
  }
289
+ else if (val && typeof val === 'object') {
290
+ validateMapper(val, `${edgeId}.${key}`, errors);
291
+ }
292
+ else {
293
+ errors.push(`Edge '${edgeId}' mapper field '${key}' must contain a JSONata expression.`);
294
+ }
285
295
  }
286
296
  }
287
297
  for (const { key, value } of mapperValues) {
@@ -325,6 +335,66 @@ function validateRouterCondition(condition, edgeId, errors) {
325
335
  }
326
336
  }
327
337
  }
338
+ /** Validate graph topology: exactly one root, DAG (no cycles), all nodes reachable. */
339
+ function validateTopology(nodes, edges, nodeMap, errors) {
340
+ if (nodes.length === 0)
341
+ return;
342
+ // Find root nodes (not a target of any edge)
343
+ const targets = new Set(edges.map(e => e.target));
344
+ const roots = nodes.filter(n => !targets.has(n.id));
345
+ if (roots.length === 0) {
346
+ errors.push('Flow graph has no root node (every node is a target of some edge — possible cycle).');
347
+ return;
348
+ }
349
+ // Exactly one node should have first:true
350
+ const firstNodes = nodes.filter(n => n.first);
351
+ if (firstNodes.length > 1) {
352
+ errors.push(`Multiple nodes are marked as 'first': ${firstNodes.map(n => n.id).join(', ')}. Only one trigger node should be first.`);
353
+ }
354
+ // Check for cycles using DFS
355
+ const adjacency = new Map();
356
+ for (const node of nodes)
357
+ adjacency.set(node.id, []);
358
+ for (const edge of edges)
359
+ adjacency.get(edge.source)?.push(edge.target);
360
+ const visited = new Set();
361
+ const inStack = new Set();
362
+ const hasCycle = (id) => {
363
+ if (inStack.has(id))
364
+ return true;
365
+ if (visited.has(id))
366
+ return false;
367
+ visited.add(id);
368
+ inStack.add(id);
369
+ for (const next of adjacency.get(id) || []) {
370
+ if (hasCycle(next))
371
+ return true;
372
+ }
373
+ inStack.delete(id);
374
+ return false;
375
+ };
376
+ for (const node of nodes) {
377
+ if (hasCycle(node.id)) {
378
+ errors.push('Flow graph contains a cycle, which is not allowed.');
379
+ return;
380
+ }
381
+ }
382
+ // Check all nodes are reachable from roots
383
+ const reachable = new Set();
384
+ const queue = roots.map(r => r.id);
385
+ while (queue.length > 0) {
386
+ const id = queue.shift();
387
+ if (reachable.has(id))
388
+ continue;
389
+ reachable.add(id);
390
+ for (const next of adjacency.get(id) || [])
391
+ queue.push(next);
392
+ }
393
+ const unreachable = nodes.filter(n => !reachable.has(n.id));
394
+ if (unreachable.length > 0) {
395
+ errors.push(`Nodes not reachable from any root: ${unreachable.map(n => n.id).join(', ')}.`);
396
+ }
397
+ }
328
398
  export function validateFlowGraph(body) {
329
399
  const errors = [];
330
400
  const warnings = [];
@@ -334,9 +404,12 @@ export function validateFlowGraph(body) {
334
404
  }
335
405
  const nodes = graph.nodes || [];
336
406
  const edges = graph.edges || [];
407
+ if (!Array.isArray(nodes) || !Array.isArray(edges))
408
+ return { errors: ['graph.nodes and graph.edges must be arrays.'], warnings };
337
409
  const nodeMap = new Map();
338
410
  validateNodes(nodes, nodeMap, errors, warnings);
339
411
  validateEdges(edges, nodeMap, errors, warnings);
412
+ validateTopology(nodes, edges, nodeMap, errors);
340
413
  return { errors, warnings };
341
414
  }
342
415
  export function checkDiscoveryState(body, discoveryState, existingFlow) {
@@ -379,7 +452,9 @@ export function checkDiscoveryState(body, discoveryState, existingFlow) {
379
452
  errors.push(`Node '${node.id}' has invalid secret_id '${rawSecId}' — must be a 24-character hex string. ` +
380
453
  `Call 'list_secrets' to discover real secret IDs.`);
381
454
  }
382
- const isExistingNode = existingNodeIds.has(node.id);
455
+ const oldNode = existingFlow?.graph?.nodes?.find((n) => n.id === node.id);
456
+ const isExistingNode = oldNode && oldNode.component_id === node.component_id && oldNode.command === node.command
457
+ && resolveCredentialId(oldNode.credentials_id) === rawCredId && resolveCredentialId(oldNode.secret_id) === rawSecId;
383
458
  // Discovery checks only apply to new nodes
384
459
  if (!isExistingNode) {
385
460
  if (node.component_id && !existingComponentIds.has(node.component_id) && !discoveryState.components.has(node.component_id)) {
@@ -426,88 +501,56 @@ export function checkDiscoveryState(body, discoveryState, existingFlow) {
426
501
  return errors;
427
502
  }
428
503
  /**
429
- * Verify a credential/secret by calling the verify-credential endpoint and polling for the result.
430
- * Returns { ok: true } on success or { error: string } on failure.
504
+ * Analyze a skeleton draft (nodes + edges without mappers) and return instructions
505
+ * for what dynamic metadata and output schemas need to be retrieved before adding mappers.
506
+ * Returns null if this is not a skeleton update (i.e. edges already have mappers).
431
507
  */
432
- async function verifyCredentialForHealthCheck(client, componentId, credOrSecretId, isSecret, workspaceId) {
433
- let verifyFields = {};
434
- if (isSecret && workspaceId) {
435
- const secretRes = await client.get(`/workspaces/${workspaceId}/secrets/${credOrSecretId}`);
436
- const rawSecretSubtype = secretRes.data?.data?.attributes?.type;
437
- const secretData = secretRes.data?.data?.attributes || {};
438
- const existingFields = secretData.credentials || {};
439
- const secretSubtype = rawSecretSubtype || secretData.type || 'noauth';
440
- if (secretSubtype === 'oauth2' && existingFields.undefined_params !== undefined) {
441
- const { undefined_params: existingParams = {}, ...existingOAuth } = existingFields;
442
- verifyFields = { oauth: { ...existingOAuth, undefined_params: existingParams } };
443
- }
444
- else {
445
- verifyFields = { auth: { type: secretSubtype, ...existingFields } };
446
- }
447
- }
448
- else {
449
- const credRes = await client.get(`/credentials/${credOrSecretId}`);
450
- const credData = credRes.data?.data?.attributes || credRes.data?.data || {};
451
- verifyFields = credData.keys || {};
452
- }
453
- const requestBody = {
454
- data: {
455
- type: 'verify-credential',
456
- attributes: { fields: verifyFields },
457
- relationships: {
458
- workspace: { data: { id: workspaceId, type: 'workspace' } }
459
- }
460
- }
461
- };
462
- const verifyRes = await client.post(`/components/${componentId}/versions/latest/verify-credential`, requestBody);
463
- const execId = verifyRes.data?.data?.id;
464
- if (!execId)
465
- return { ok: true }; // Can't poll, assume OK
466
- // Poll for result (max 3 attempts, 3s delay)
467
- const maxAttempts = 3;
468
- const delayMs = 3000;
469
- for (let attempt = 1; attempt <= maxAttempts; attempt++) {
470
- if (attempt > 1) {
471
- await new Promise(resolve => setTimeout(resolve, delayMs));
472
- }
473
- try {
474
- const resultRes = await client.get(`/exec/result/${execId}`);
475
- const resultData = resultRes.data?.data?.attributes || resultRes.data?.data || {};
476
- const isPending = typeof resultData.status === 'string' && resultData.status.toLowerCase().includes('pending');
477
- if (isPending)
508
+ export function analyzeSkeletonForMapperPlanning(body, _discoveryState) {
509
+ return (body?.data?.attributes?.graph || body?.graph)?.nodes?.length
510
+ ? 'Call get_flow_build_status. Follow nextActions; configure mappers and source samples in graph order. Debug execution is explicit.' : null;
511
+ }
512
+ export function checkMapperMetadataRetrieved(body, discoveryState, workspaceId = '') {
513
+ const graph = body?.data?.attributes?.graph || body?.attributes?.graph || body?.graph;
514
+ if (!graph)
515
+ return [];
516
+ const errors = [];
517
+ for (const edge of graph.edges || []) {
518
+ if (!edge.config?.mapper)
519
+ continue;
520
+ for (const id of [edge.source, edge.target]) {
521
+ const node = graph.nodes?.find((n) => n.id === id);
522
+ if (!node)
478
523
  continue;
479
- const result = resultData.result;
480
- if (result?.verified === false || result?.error || result?.status === 'error') {
481
- const reason = result.error || result.message || result.reason || JSON.stringify(result);
482
- return { error: `Reason: ${reason}` };
524
+ const op = operation(node);
525
+ const descriptor = descriptorFor(discoveryState, node);
526
+ const definition = descriptor?.actions?.[op.method] || descriptor?.triggers?.[op.method];
527
+ if (!definition)
528
+ errors.push(`Call get_component for ${op.componentId} at version ${op.version} before mapping step ${id}.`);
529
+ else if (definition.dynamicMetadata && evidence(discoveryState).metadata.get(nodeMetadataKey(workspaceId, node))?.status !== 'VERIFIED') {
530
+ errors.push(`Step ${id}: retrieve successful dynamic metadata for this exact version, connection and fields before mapping.`);
483
531
  }
484
- return { ok: true };
485
- }
486
- catch (err) {
487
- const isNotReady = err.message && (err.message.includes('409') || err.message.includes('not ready'));
488
- if (isNotReady)
489
- continue;
490
- throw err;
491
532
  }
492
533
  }
493
- // Timed out polling — don't block, just warn
494
- return { ok: true };
534
+ return [...new Set(errors)];
495
535
  }
496
536
  /**
497
537
  * Runtime health check for a flow — validates credentials, required fields, URLs, and field values.
498
538
  * Runs after create_flow/update_flow and before start_flow to catch config issues
499
539
  * that would show as red indicators in the UI.
500
540
  */
501
- export async function healthCheckFlow(flow, client) {
541
+ export async function healthCheckFlow(flow, client, discoveryState) {
502
542
  const errors = [];
503
543
  const warnings = [];
544
+ const stepStatuses = [];
504
545
  const nodes = flow?.graph?.nodes || [];
505
546
  if (nodes.length === 0) {
506
547
  errors.push('Flow has no steps configured');
507
- return { errors, warnings };
548
+ return { errors, warnings, stepStatuses };
508
549
  }
509
550
  for (const node of nodes) {
510
551
  const stepLabel = `Step '${node.id}' (${node.name || 'unnamed'})`;
552
+ const errCountBefore = errors.length;
553
+ const warnCountBefore = warnings.length;
511
554
  // 1. Verify credentials exist and are accessible
512
555
  const healthCredId = resolveCredentialId(node.credentials_id);
513
556
  if (healthCredId) {
@@ -542,8 +585,11 @@ export async function healthCheckFlow(flow, client) {
542
585
  const credOrSecretId = healthCredId || healthSecId;
543
586
  if (credOrSecretId) {
544
587
  try {
545
- const verifyResult = await verifyCredentialForHealthCheck(client, node.component_id, credOrSecretId, !!healthSecId, flow?.workspace?.id || flow?.workspace?.data?.id);
546
- if (verifyResult.error) {
588
+ const args = nodeCredentialArgs(flow?.workspace?.id || flow?.workspace?.data?.id, node);
589
+ const verifyResult = await verifyCredentials(client, args);
590
+ if (discoveryState)
591
+ evidence(discoveryState).credentials.set(credentialKey(args), verifyResult);
592
+ if (!verifyResult.ok) {
547
593
  errors.push(`${stepLabel}: credential verification FAILED for '${credOrSecretId}'. ` +
548
594
  `${verifyResult.error} ` +
549
595
  `The credential may be expired, revoked, or the user no longer has access. ` +
@@ -551,17 +597,31 @@ export async function healthCheckFlow(flow, client) {
551
597
  }
552
598
  }
553
599
  catch (err) {
554
- logger.warn(`[healthCheck] Credential verification skipped for '${credOrSecretId}': ${err instanceof Error ? err.message : String(err)}`);
600
+ errors.push(`${stepLabel}: credential verification could not complete: ${err instanceof Error ? err.message : String(err)}`);
555
601
  }
556
602
  }
557
603
  }
558
604
  // 2. Check component and required fields
559
605
  if (node.component_id) {
560
606
  try {
561
- const compRes = await client.get(`/components/${node.component_id}`);
562
- const comp = compRes.data?.data?.attributes || compRes.data?.data;
563
- if (comp) {
607
+ // Use the descriptor endpoint to get actions/triggers definitions
608
+ const compRes = await client.get(`/components/${operation(node).componentId}/versions/${operation(node).version}/descriptor`);
609
+ const comp = deserializeJsonApi(compRes.data);
610
+ if (comp && discoveryState)
611
+ evidence(discoveryState).descriptors.set(`${operation(node).componentId}@${operation(node).version}`, comp);
612
+ if (!comp) {
613
+ errors.push(`${stepLabel}: component '${node.component_id}' returned empty data — it may be unavailable`);
614
+ }
615
+ else {
564
616
  const actionOrTrigger = findActionOrTrigger(comp, node.command);
617
+ if (node.command && !actionOrTrigger) {
618
+ const commandMatch = node.command.match(/^[^:]+:([^@]+)@/);
619
+ const methodId = commandMatch ? commandMatch[1] : node.command;
620
+ const availableActions = Object.keys(comp.actions || {});
621
+ const availableTriggers = Object.keys(comp.triggers || {});
622
+ errors.push(`${stepLabel}: action/trigger '${methodId}' not found in component '${comp.name || node.component_id}'. ` +
623
+ `Available actions: [${availableActions.join(', ')}], triggers: [${availableTriggers.join(', ')}]`);
624
+ }
565
625
  if (actionOrTrigger?.fields) {
566
626
  for (const [fieldId, fieldDef] of Object.entries(actionOrTrigger.fields)) {
567
627
  // Check required fields
@@ -596,6 +656,7 @@ export async function healthCheckFlow(flow, client) {
596
656
  }
597
657
  }
598
658
  catch (err) {
659
+ errors.push(`${stepLabel}: component '${node.component_id}' could not be fetched — it may have been deleted or is not accessible`);
599
660
  logger.warn(`[healthCheck] Could not fetch component '${node.component_id}': ${err instanceof Error ? err.message : String(err)}`);
600
661
  }
601
662
  }
@@ -631,6 +692,18 @@ export async function healthCheckFlow(flow, client) {
631
692
  }
632
693
  }
633
694
  }
695
+ // Collect per-step status
696
+ const stepErrors = errors.slice(errCountBefore);
697
+ const stepWarnings = warnings.slice(warnCountBefore);
698
+ const commandMatch = node.command?.match(/^([^:]+):([^@]+)@/);
699
+ const componentName = commandMatch ? commandMatch[1] : (node.component_id || 'unknown');
700
+ stepStatuses.push({
701
+ stepId: node.id,
702
+ name: node.name || 'unnamed',
703
+ component: componentName,
704
+ status: stepErrors.length > 0 ? 'ERROR' : stepWarnings.length > 0 ? 'WARNING' : 'OK',
705
+ issues: [...stepErrors, ...stepWarnings],
706
+ });
634
707
  }
635
708
  // 5. Check edges with missing mappers for non-first target steps.
636
709
  // Missing mappers cause empty/red fields in the UI.
@@ -646,71 +719,7 @@ export async function healthCheckFlow(flow, client) {
646
719
  }
647
720
  }
648
721
  }
649
- // 6. Validate mapper fields against component input schema types.
650
- // If a field is defined as type:"array" in the schema but the mapper value is a plain
651
- // string passthrough (not a JSONata array expression), warn that it needs to be an array expression.
652
- for (const edge of edges) {
653
- const edgeId = edge.id || `${edge.source}:${edge.target}`;
654
- const mapper = edge.config?.mapper;
655
- if (!mapper || typeof mapper !== 'object' || Array.isArray(mapper))
656
- continue;
657
- const targetNode = nodes.find((n) => n.id === edge.target);
658
- if (!targetNode?.component_id)
659
- continue;
660
- try {
661
- const compRes = await client.get(`/components/${targetNode.component_id}`);
662
- const comp = compRes.data?.data?.attributes || compRes.data?.data;
663
- if (!comp)
664
- continue;
665
- const actionOrTrigger = findActionOrTrigger(comp, targetNode.command);
666
- const inputSchema = actionOrTrigger?.metadata?.in?.properties;
667
- // For components with dynamicMetadata and no static input schema,
668
- // we can't verify field types statically. Warn if any mapper field name
669
- // contains common array-indicating patterns (e.g. "urls", "items", "files", "messages")
670
- // and the value is not a JSONata array expression.
671
- if (!inputSchema && actionOrTrigger?.dynamicMetadata === true) {
672
- const arrayFieldPatterns = /^(file_urls|urls|items|files|messages|recipients|attachments|records|entries|rows|contacts|emails)$/i;
673
- for (const [fieldKey, fieldValue] of Object.entries(mapper)) {
674
- if (typeof fieldValue === 'string' && arrayFieldPatterns.test(fieldKey)) {
675
- const trimmed = fieldValue.trim();
676
- if (!trimmed.startsWith('[')) {
677
- warnings.push(`Edge '${edgeId}' mapper field '${fieldKey}' looks like an array-typed field (dynamicMetadata component) ` +
678
- `but is mapped as a plain string "${trimmed}". The UI visual mapper cannot render array fields mapped ` +
679
- `as plain passthroughs — it shows "impossible to map properties not inside the array property". ` +
680
- `Use a JSONata array expression starting with "[" to construct the array inline, e.g.: ` +
681
- `"[{\\"file_url\\": $getPassthrough().step_X.body.file_url}]". ` +
682
- `The mapping works at runtime but causes red indicators in the UI.`);
683
- }
684
- }
685
- }
686
- continue;
687
- }
688
- if (!inputSchema)
689
- continue;
690
- for (const [fieldKey, fieldValue] of Object.entries(mapper)) {
691
- const schemaDef = inputSchema[fieldKey];
692
- // Check array-typed fields mapped as plain strings
693
- if (schemaDef?.type === 'array' && typeof fieldValue === 'string') {
694
- const trimmed = fieldValue.trim();
695
- // A valid array mapper should start with "[" (JSONata array expression)
696
- if (!trimmed.startsWith('[')) {
697
- const itemProps = schemaDef.items?.properties || schemaDef.items?.type;
698
- const hint = typeof itemProps === 'object'
699
- ? `Expected format: [{"${Object.keys(itemProps)[0]}": ...}]`
700
- : `Expected a JSONata expression that evaluates to an array`;
701
- errors.push(`Edge '${edgeId}' mapper field '${fieldKey}' is mapped as a plain string, but the component schema ` +
702
- `defines it as type "array". A plain string passthrough will cause a type mismatch (red field in the UI). ` +
703
- `${hint}. Wrap the value in a JSONata array expression, e.g.: ` +
704
- `"[{\\"field\\": $getPassthrough().step_X.body.value}]".`);
705
- }
706
- }
707
- }
708
- }
709
- catch {
710
- // Component fetch may have already been done above; skip on error
711
- }
712
- }
713
- return { errors, warnings };
722
+ return { errors, warnings, stepStatuses };
714
723
  }
715
724
  /** Find action or trigger definition by parsing the command string */
716
725
  function findActionOrTrigger(component, command) {
@@ -724,10 +733,20 @@ function findActionOrTrigger(component, command) {
724
733
  }
725
734
  /** Format health check results as a readable string to append to tool response */
726
735
  export function formatHealthCheck(result) {
727
- if (result.errors.length === 0 && result.warnings.length === 0) {
728
- return '\n\nHealth check passed — no issues found.';
729
- }
730
736
  const parts = ['\n\n--- Flow Health Check ---'];
737
+ // Per-step status summary
738
+ if (result.stepStatuses && result.stepStatuses.length > 0) {
739
+ parts.push('\nStep Validation:');
740
+ for (const step of result.stepStatuses) {
741
+ const icon = step.status === 'OK' ? '[OK]' : step.status === 'WARNING' ? '[WARN]' : '[FAIL]';
742
+ parts.push(` ${icon} ${step.stepId} (${step.name}) — ${step.component}`);
743
+ if (step.issues.length > 0) {
744
+ for (const issue of step.issues) {
745
+ parts.push(` ${issue}`);
746
+ }
747
+ }
748
+ }
749
+ }
731
750
  if (result.errors.length > 0) {
732
751
  parts.push(`\nERRORS (${result.errors.length}):`);
733
752
  for (const err of result.errors) {
@@ -740,7 +759,10 @@ export function formatHealthCheck(result) {
740
759
  parts.push(` - ${warn}`);
741
760
  }
742
761
  }
743
- if (result.errors.length > 0) {
762
+ if (result.errors.length === 0 && result.warnings.length === 0) {
763
+ parts.push('\nAll steps validated successfully.');
764
+ }
765
+ else if (result.errors.length > 0) {
744
766
  parts.push('\nFix the errors above before starting the flow.');
745
767
  }
746
768
  return parts.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elastic.io/mcp",
3
- "version": "1.0.1-dev10",
3
+ "version": "1.0.1-dev11",
4
4
  "description": "elastic.io Model Context Protocol (MCP) Server",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -15,7 +15,7 @@
15
15
  "LICENSE"
16
16
  ],
17
17
  "engines": {
18
- "node": ">=18"
18
+ "node": ">=22"
19
19
  },
20
20
  "scripts": {
21
21
  "prepublishOnly": "npm run build",
@@ -36,9 +36,11 @@
36
36
  "@google/genai": "^2.8.0",
37
37
  "@modelcontextprotocol/sdk": "^1.0.1",
38
38
  "@qdrant/js-client-rest": "^1.18.0",
39
+ "ajv": "^8.20.0",
39
40
  "axios": "^1.7.2",
40
41
  "dotenv": "^16.4.5",
41
42
  "express": "^4.19.2",
43
+ "jsonata": "^2.1.0",
42
44
  "kitsu-core": "^10.0.0"
43
45
  },
44
46
  "devDependencies": {