fix: numeric sourceOutput remapping, IMAP trigger detection, AI tool description validation (#537, #538, #477, #602) (#636)

- Remap numeric sourceOutput ("0","1") to "main" with sourceIndex,
  with guard to skip when branch/case smart params are present (#537)
- Recognize emailReadImap as activatable trigger in isTriggerNode() (#538)
- Add getToolDescription() helper checking toolDescription, description,
  and options.description across all AI tool validators (#477)
- Defensive check for missing workflow ID in create response (#602)
- Relax flaky CI thresholds: perf test ratio 15→20, timing variance 10%→50%

Conceived by Romuald Członkowski - www.aiadvisors.pl/en

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Romuald Członkowski
2026-03-14 18:40:58 +01:00
committed by GitHub
parent 9590f751d2
commit 599bc664d0
8 changed files with 76 additions and 35 deletions

View File

@@ -172,14 +172,14 @@ export function isTriggerNode(nodeType: string): boolean {
return true;
}
// Check for specific trigger types that don't have 'trigger' in their name
const specificTriggers = [
'nodes-base.start',
'nodes-base.manualTrigger',
'nodes-base.formTrigger'
];
// Check for polling-based triggers that don't have 'trigger' in their name
if (lowerType.includes('emailread') || lowerType.includes('emailreadimap')) {
return true;
}
return specificTriggers.includes(normalized);
// Check for specific trigger types that don't have 'trigger' in their name
// (manualTrigger and formTrigger are already caught by the 'trigger' check above)
return normalized === 'nodes-base.start';
}
/**