release: version 2.17.0 - AI workflow validation fixes

PHASE 4 COMPLETE: Documentation and version bump

### Documentation Updates
- README.md: Added AI workflow validation features section
  - Missing language model detection
  - AI tool connection validation
  - Streaming mode constraints
  - Memory and output parser checks

- CHANGELOG.md: Comprehensive v2.17.0 release notes
  - Fixed 4 critical bugs (HIGH-01, HIGH-04, HIGH-08, MEDIUM-02)
  - Node type normalization bug details
  - Streaming mode validation enhancements
  - Examples retrieval fix
  - All 25 AI validator tests passing

### Version Bump
- package.json: 2.16.3 → 2.17.0

### Impact Summary
This release fixes critical bugs that caused ALL AI validation to be
silently skipped. Before this fix, 0% of AI validation was functional.

**What's Fixed:**
-  Missing language model detection (HIGH-01)
-  AI tool connection detection (HIGH-04)
-  Streaming mode validation (HIGH-08)
-  get_node_essentials examples (MEDIUM-02)

**Test Results:**
- All 25 AI validator tests: PASS (100%)
- Overall test improvement: 37.5% → 62.5%+ (+67%)
- Debug scenarios: 3/3 PASS

**Breaking Change:**
AI validation now actually runs (was completely non-functional before)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-10-06 23:58:11 +02:00
parent 53b5dc312d
commit 4cf8bb5c98
4 changed files with 103 additions and 5 deletions

View File

@@ -5,6 +5,93 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.17.0] - 2025-01-06
### 🤖 AI Workflow Validation
**Major enhancement: Comprehensive AI Agent workflow validation now working correctly.**
This release fixes critical bugs that caused ALL AI-specific validation to be silently skipped. Before this fix, 0% of AI validation was functional.
#### Fixed
- **🚨 CRITICAL: Node Type Normalization Bug (HIGH-01, HIGH-04, HIGH-08)**
- **Issue:** All AI validation was silently skipped due to node type comparison mismatch
- **Root Cause:** `NodeTypeNormalizer.normalizeToFullForm()` returns SHORT form (`nodes-langchain.agent`) but validation code compared against FULL form (`@n8n/n8n-nodes-langchain.agent`)
- **Impact:** Every comparison returned FALSE, causing zero AI validations to execute
- **Affected Validations:**
- Missing language model detection (HIGH-01) - Never triggered
- AI tool connection detection (HIGH-04) - Never triggered, false warnings
- Streaming mode validation (HIGH-08) - Never triggered
- All 13 AI tool sub-node validators - Never triggered
- Chat Trigger validation - Never triggered
- Basic LLM Chain validation - Never triggered
- **Fix:** Updated 21 node type comparisons to use SHORT form
- `ai-node-validator.ts`: 7 comparison fixes
- `ai-tool-validators.ts`: 14 comparison fixes (13 validator keys + 13 switch cases)
- **Verification:** All 25 AI validator unit tests now passing (100%)
- **🚨 HIGH-08: Incomplete Streaming Mode Validation**
- **Issue:** Only validated streaming FROM Chat Trigger, missed AI Agent's own `streamResponse` setting
- **Impact:** AI Agent with `options.streamResponse=true` and main output connections not detected
- **Fix:** Added validation for both scenarios:
- Chat Trigger with `responseMode="streaming"` → AI Agent → main output
- AI Agent with `options.streamResponse=true` → main output
- **Error Code:** `STREAMING_WITH_MAIN_OUTPUT` with clear error message
- **Verification:** 2 test scenarios pass (Chat Trigger + AI Agent own setting)
- **🐛 MEDIUM-02: get_node_essentials Examples Retrieval**
- **Issue:** `get_node_essentials` with `includeExamples=true` always returned empty examples array
- **Root Cause:** Inconsistent `workflowNodeType` construction between result object and examples query
- **Impact:** Examples existed in database but query used wrong node type (e.g., `n8n-nodes-base.agent` instead of `@n8n/n8n-nodes-langchain.agent`)
- **Fix:** Use pre-computed `result.workflowNodeType` instead of reconstructing it
- **Verification:** Examples now retrieved correctly, matching `search_nodes` behavior
#### Added
- **AI Agent Validation:**
- Missing language model connection detection with code `MISSING_LANGUAGE_MODEL`
- AI tool connection validation (no more false "no tools connected" warnings)
- Streaming mode constraint enforcement for both Chat Trigger and AI Agent scenarios
- Memory connection validation (max 1 allowed)
- Output parser validation
- System message presence checks (info level)
- High `maxIterations` warnings
- **Chat Trigger Validation:**
- Streaming mode target validation (must connect to AI Agent)
- Main output connection validation for streaming mode
- Connection existence checks
- **Basic LLM Chain Validation:**
- Language model connection requirement
- Prompt text validation
- **AI Tool Sub-Node Validation:**
- 13 specialized validators for AI tools (HTTP Request Tool, Code Tool, Vector Store Tool, etc.)
- Tool description validation
- Credentials validation
- Configuration-specific checks
#### Changed
- **Breaking:** AI validation now actually runs (was completely non-functional before)
- **Validation strictness:** All AI-specific validations now enforce n8n's actual requirements
- **Error messages:** Clear, actionable messages with error codes for programmatic handling
### Testing
- **Unit Tests:** 25/25 AI validator tests passing (100%)
- **Test Improvement:** Overall test pass rate improved from 37.5% to 62.5%+ (+67% improvement)
- **Debug Tests:** 3/3 debug scenarios passing
### Documentation
- Added comprehensive test scenarios in `PHASE_2_TEST_SCENARIOS.md`
- Added Phase 1-2 completion summary in `PHASE_1_2_SUMMARY.md`
- Added detailed Phase 2 analysis in `PHASE_2_COMPLETE.md`
- Updated README.md with AI workflow validation features
## [2.16.3] - 2025-01-06
### 🔒 Security

View File

@@ -699,6 +699,11 @@ This tool was created to benefit everyone in the n8n community without friction.
- **📖 Essential Properties**: Get only the 10-20 properties that matter
- **💡 Real-World Examples**: 2,646 pre-extracted configurations from popular templates
- **✅ Config Validation**: Validate node configurations before deployment
- **🤖 AI Workflow Validation**: Comprehensive validation for AI Agent workflows (NEW in v2.17.0!)
- Missing language model detection
- AI tool connection validation
- Streaming mode constraints
- Memory and output parser checks
- **🔗 Dependency Analysis**: Understand property relationships and conditions
- **🎯 Template Discovery**: 2,500+ workflow templates with smart filtering
- **⚡ Fast Response**: Average query time ~12ms with optimized SQLite
@@ -740,12 +745,18 @@ Once connected, Claude can use these powerful tools:
- **`get_template`** - Get complete workflow JSON for import
- **`get_templates_for_task`** - Curated templates for common automation tasks
### Advanced Tools
- **`validate_node_operation`** - Validate node configurations (operation-aware, profiles support)
- **`validate_node_minimal`** - Quick validation for just required fields
- **`validate_workflow`** - Complete workflow validation including AI tool connections
### Validation Tools
- **`validate_workflow`** - Complete workflow validation including **AI Agent validation** (NEW in v2.17.0!)
- Detects missing language model connections
- Validates AI tool connections (no false warnings)
- Enforces streaming mode constraints
- Checks memory and output parser configurations
- **`validate_workflow_connections`** - Check workflow structure and AI tool connections
- **`validate_workflow_expressions`** - Validate n8n expressions including $fromAI()
- **`validate_node_operation`** - Validate node configurations (operation-aware, profiles support)
- **`validate_node_minimal`** - Quick validation for just required fields
### Advanced Tools
- **`get_property_dependencies`** - Analyze property visibility conditions
- **`get_node_documentation`** - Get parsed documentation from n8n-docs
- **`get_database_statistics`** - View database metrics and coverage

Binary file not shown.

View File

@@ -1,6 +1,6 @@
{
"name": "n8n-mcp",
"version": "2.16.3",
"version": "2.17.0",
"description": "Integration between n8n workflow automation and Model Context Protocol (MCP)",
"main": "dist/index.js",
"bin": {