From 21f9b366d82eb717420aac9100cd44b31a2162d2 Mon Sep 17 00:00:00 2001 From: github-action-benchmark Date: Thu, 23 Oct 2025 10:26:12 +0000 Subject: [PATCH] add n8n-mcp Benchmarks (customSmallerIsBetter) benchmark result for 551fea841b494bb067f28d9c6dd99fbaf2292567 --- benchmarks/data.js | 85 +++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 53 deletions(-) diff --git a/benchmarks/data.js b/benchmarks/data.js index 87b7712..dd8e488 100644 --- a/benchmarks/data.js +++ b/benchmarks/data.js @@ -1,60 +1,8 @@ window.BENCHMARK_DATA = { - "lastUpdate": 1761205479621, + "lastUpdate": 1761215172158, "repoUrl": "https://github.com/czlonkowski/n8n-mcp", "entries": { "n8n-mcp Benchmarks": [ - { - "commit": { - "author": { - "email": "56956555+czlonkowski@users.noreply.github.com", - "name": "Romuald Członkowski", - "username": "czlonkowski" - }, - "committer": { - "email": "noreply@github.com", - "name": "GitHub", - "username": "web-flow" - }, - "distinct": true, - "id": "00289e90d73fbea9d20da3049b1a432ccc242eb9", - "message": "Merge pull request #258 from czlonkowski/feat/integration-tests-phase-2\n\nrefactor(integration): Update Phase 2 tests to use MCP handlers", - "timestamp": "2025-10-04T12:26:20+02:00", - "tree_id": "409baa862831dc8c666e941655cd5ace530d4cd8", - "url": "https://github.com/czlonkowski/n8n-mcp/commit/00289e90d73fbea9d20da3049b1a432ccc242eb9" - }, - "date": 1759573691596, - "tool": "customSmallerIsBetter", - "benches": [ - { - "name": "sample - array sorting - small", - "value": 0.0193, - "range": "0.2535", - "unit": "ms", - "extra": "51682 ops/sec" - }, - { - "name": "sample - array sorting - large", - "value": 3.3265, - "range": "0.6184000000000003", - "unit": "ms", - "extra": "301 ops/sec" - }, - { - "name": "sample - string concatenation", - "value": 0.0046, - "range": "0.26430000000000003", - "unit": "ms", - "extra": "215763 ops/sec" - }, - { - "name": "sample - object creation", - "value": 0.066, - "range": "0.34400000000000003", - "unit": "ms", - "extra": "15158 ops/sec" - } - ] - }, { "commit": { "author": { @@ -1951,6 +1899,37 @@ window.BENCHMARK_DATA = { "extra": "73341 ops/sec" } ] + }, + { + "commit": { + "author": { + "email": "56956555+czlonkowski@users.noreply.github.com", + "name": "Romuald Członkowski", + "username": "czlonkowski" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "551fea841b494bb067f28d9c6dd99fbaf2292567", + "message": "feat: Auto-update connection references when renaming nodes (#353) (#354)\n\n* feat: Auto-update connection references when renaming nodes (#353)\n\nAutomatically update connection references when nodes are renamed via\nn8n_update_partial_workflow, eliminating validation errors and improving UX.\n\n**Problem:**\nWhen renaming nodes using updateNode operations, connections still referenced\nold node names, causing validation failures and preventing workflow saves.\n\n**Solution:**\n- Track node renames during operations using a renameMap\n- Auto-update connection object keys (source node names)\n- Auto-update connection target.node values (target node references)\n- Add name collision detection to prevent conflicts\n- Handle all connection types (main, error, ai_tool, etc.)\n- Support multi-output nodes (IF, Switch)\n\n**Changes:**\n- src/services/workflow-diff-engine.ts\n - Added renameMap to track name changes\n - Added updateConnectionReferences() method (lines 943-994)\n - Enhanced validateUpdateNode() with collision detection (lines 369-392)\n - Modified applyUpdateNode() to track renames (lines 613-635)\n\n**Tests:**\n- tests/unit/services/workflow-diff-node-rename.test.ts (21 scenarios)\n - Simple renames, multiple connections, branching nodes\n - Error connections, AI tool connections\n - Name collision detection, batch operations\n - validateOnly and continueOnError modes\n- tests/integration/workflow-diff/node-rename-integration.test.ts\n - Real-world workflow scenarios\n - Complex API endpoint workflows (Issue #353)\n - AI Agent workflows with tool connections\n\n**Documentation:**\n- Updated n8n-update-partial-workflow.ts with before/after examples\n- Added comprehensive CHANGELOG entry for v2.21.0\n- Bumped version to 2.21.0\n\nFixes #353\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nConceived by Romuald Członkowski - www.aiadvisors.pl/en\n\n* fix: Add WorkflowNode type annotations to test files\n\nFixes TypeScript compilation errors by adding explicit WorkflowNode type\nannotations to lambda parameters in test files.\n\nChanges:\n- Import WorkflowNode type from @/types/n8n-api\n- Add type annotations to all .find() lambda parameters\n- Resolves 15 TypeScript compilation errors\n\nAll tests still pass after this change.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nConceived by Romuald Członkowski - www.aiadvisors.pl/en\n\n* docs: Remove version history from runtime tool documentation\n\nRuntime tool documentation should describe current behavior only, not\nversion history or \"what's new\" comparisons. Removed:\n- Version references (v2.21.0+)\n- Before/After comparisons with old versions\n- Issue references (#353)\n- Historical context in comments\n\nDocumentation now focuses on current behavior and is timeless.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nConceived by Romuald Członkowski - www.aiadvisors.pl/en\n\n* docs: Remove all version references from runtime tool documentation\n\nRemoved version history and node typeVersion references from all tool\ndocumentation to make it timeless and runtime-focused.\n\nChanges across 3 files:\n\n**ai-agents-guide.ts:**\n- \"Supports fallback models (v2.1+)\" → \"Supports fallback models for reliability\"\n- \"requires AI Agent v2.1+\" → \"with fallback language models\"\n- \"v2.1+ for fallback\" → \"require AI Agent node with fallback support\"\n\n**validate-node-operation.ts:**\n- \"IF v2.2+ and Switch v3.2+ nodes\" → \"IF and Switch nodes with conditions\"\n\n**n8n-update-partial-workflow.ts:**\n- \"IF v2.2+ nodes\" → \"IF nodes with conditions\"\n- \"Switch v3.2+ nodes\" → \"Switch nodes with conditions\"\n- \"(requires v2.1+)\" → \"for reliability\"\n\nRuntime documentation now describes current behavior without version\nhistory, changelog-style comparisons, or typeVersion requirements.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nConceived by Romuald Członkowski - www.aiadvisors.pl/en\n\n* test: Skip AI integration tests due to pre-existing validation bug\n\nSkipped 2 AI workflow integration tests that fail due to a pre-existing\nbug in validateWorkflowStructure() (src/services/n8n-validation.ts:240).\n\nThe bug: validateWorkflowStructure() only checks connection.main when\ndetermining if nodes are connected, so AI connections (ai_tool,\nai_languageModel, ai_memory, etc.) are incorrectly flagged as\n\"disconnected\" even though they have valid connections.\n\nThe rename feature itself works correctly - connections ARE being\nupdated to reference new node names. The validation function is the\nissue.\n\nSkipped tests:\n- \"should update AI tool connections when renaming agent\"\n- \"should update AI tool connections when renaming tool\"\n\nBoth tests verify connections are updated (they pass) but fail on\nvalidateWorkflowStructure() due to the validation bug.\n\nTODO: Fix validateWorkflowStructure() to check all connection types,\nnot just 'main'. File separate issue for this validation bug.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nConceived by Romuald Członkowski - www.aiadvisors.pl/en\n\n---------\n\nCo-authored-by: Claude ", + "timestamp": "2025-10-23T12:24:10+02:00", + "tree_id": "2f4e5c4c84d8b80810bb5f60e737b70a8f3a6b74", + "url": "https://github.com/czlonkowski/n8n-mcp/commit/551fea841b494bb067f28d9c6dd99fbaf2292567" + }, + "date": 1761215171443, + "tool": "customSmallerIsBetter", + "benches": [ + { + "name": "sample - array sorting - small", + "value": 0.0136, + "range": "0.3096", + "unit": "ms", + "extra": "73341 ops/sec" + } + ] } ] }