@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.
- package/README.md +37 -19
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +3 -1
- package/dist/api/client.js.map +1 -1
- package/dist/api/verification.d.ts +6 -0
- package/dist/api/verification.d.ts.map +1 -0
- package/dist/api/verification.js +71 -0
- package/dist/api/verification.js.map +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +25 -6
- package/dist/setup.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +34 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/flow-build.d.ts +18 -0
- package/dist/tools/flow-build.d.ts.map +1 -0
- package/dist/tools/flow-build.js +291 -0
- package/dist/tools/flow-build.js.map +1 -0
- package/dist/tools/flow-evidence.d.ts +62 -0
- package/dist/tools/flow-evidence.d.ts.map +1 -0
- package/dist/tools/flow-evidence.js +128 -0
- package/dist/tools/flow-evidence.js.map +1 -0
- package/dist/tools/flow-state-machine.d.ts +68 -0
- package/dist/tools/flow-state-machine.d.ts.map +1 -0
- package/dist/tools/flow-state-machine.js +292 -0
- package/dist/tools/flow-state-machine.js.map +1 -0
- package/dist/tools/handlers/auth.d.ts.map +1 -1
- package/dist/tools/handlers/auth.js +10 -144
- package/dist/tools/handlers/auth.js.map +1 -1
- package/dist/tools/handlers/component.d.ts.map +1 -1
- package/dist/tools/handlers/component.js +26 -6
- package/dist/tools/handlers/component.js.map +1 -1
- package/dist/tools/handlers/data-sample.d.ts.map +1 -1
- package/dist/tools/handlers/data-sample.js +36 -5
- package/dist/tools/handlers/data-sample.js.map +1 -1
- package/dist/tools/handlers/dynamic.d.ts.map +1 -1
- package/dist/tools/handlers/dynamic.js +42 -13
- package/dist/tools/handlers/dynamic.js.map +1 -1
- package/dist/tools/handlers/flow.d.ts.map +1 -1
- package/dist/tools/handlers/flow.js +144 -616
- package/dist/tools/handlers/flow.js.map +1 -1
- package/dist/tools/handlers/log.d.ts.map +1 -1
- package/dist/tools/handlers/log.js.map +1 -1
- package/dist/tools/handlers/raw.d.ts.map +1 -1
- package/dist/tools/handlers/raw.js +3 -0
- package/dist/tools/handlers/raw.js.map +1 -1
- package/dist/tools/handlers/search.d.ts.map +1 -1
- package/dist/tools/handlers/search.js +31 -0
- package/dist/tools/handlers/search.js.map +1 -1
- package/dist/tools/handlers/session.d.ts.map +1 -1
- package/dist/tools/handlers/session.js +7 -1
- package/dist/tools/handlers/session.js.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +7 -2
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/types.d.ts +6 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +16 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tools/validation.js +163 -141
- package/dist/tools/validation.js.map +1 -1
- package/package.json +4 -2
- package/resources/docs/flow-creation-stages.md +195 -0
- package/resources/docs/flow-state-machine-audit.md +162 -0
package/dist/tools/validation.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
-
*
|
|
430
|
-
*
|
|
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
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
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
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
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
|
-
|
|
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
|
|
546
|
-
|
|
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
|
-
|
|
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
|
-
|
|
562
|
-
const
|
|
563
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
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
|
+
"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": {
|