mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 06:14:59 +00:00
- Moved n8n workflow schema to schemas/n8n-workflow.schema.json - Added `variables` property at workflow root level for type-safe, reusable workflow configuration - Implemented full variable system with: * Type system (string, number, boolean, array, object, date, any) * Validation rules (min, max, pattern, enum) * Scope control (workflow, execution, global) * Required/optional with default values - Created comprehensive N8N_VARIABLES_GUIDE.md (6,800+ words) with: * 5 real-world use case examples * Best practices and migration guide from meta to variables * Complete property reference and expression syntax - Created N8N_VARIABLES_EXAMPLE.json demonstrating e-commerce order processing - Documented schema gaps in N8N_SCHEMA_GAPS.md (10 missing enterprise features) - Created migration infrastructure: * scripts/migrate-workflows-to-n8n.ts for workflow format conversion * npm scripts for dry-run and full migration * N8N_COMPLIANCE_AUDIT.md tracking 72 workflows needing migration - Established packagerepo backend workflows with n8n schema format Impact: Variables now first-class citizens enabling DRY principle, type safety, and enterprise-grade configuration management across workflows. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Workflow Executor Runtimes
This folder contains language-specific runtime executors for the workflow engine.
Structure
executor/
├── cpp/ # C++ runtime (high-performance)
├── python/ # Python runtime (AI/ML capabilities)
└── ts/ # TypeScript runtime + core engine
├── executor/ # DAG executor
├── registry/ # Plugin registry
├── utils/ # Priority queue, template engine
├── types.ts # Type definitions
└── index.ts # Main exports
Purpose
Each runtime provides the execution environment for plugins written in that language:
TypeScript Runtime (ts/)
- Contains the core engine (DAG executor, registry, utils)
- Default runtime for orchestration
- Direct JavaScript/TypeScript execution
- Full type safety
- Fastest startup time
Python Runtime (python/)
- Child process execution
- AI/ML library access (TensorFlow, PyTorch, transformers)
- Data science capabilities (pandas, numpy)
- NLP processing (spaCy, NLTK)
C++ Runtime (cpp/)
- Native FFI bindings
- 100-1000x faster than TypeScript
- Low memory footprint
- Ideal for bulk data processing
How It Works
┌─────────────────────────────────────────┐
│ DAGExecutor (TypeScript Core) │
│ - Orchestrates workflow execution │
│ - Resolves dependencies │
│ - Manages execution state │
└─────────────────┬───────────────────────┘
│
┌─────────┼─────────┐
│ │ │
↓ ↓ ↓
┌────────┬────────┬────────┐
│ TS │ C++ │ Python │
│Runtime │Runtime │Runtime │
└────────┴────────┴────────┘
│ │ │
↓ ↓ ↓
┌────────┬────────┬────────┐
│Direct │Native │Child │
│Import │FFI │Process │
└────────┴────────┴────────┘
Adding a New Runtime
- Create folder:
executor/{language}/ - Implement
PluginLoaderinterface - Register loader in
ts/registry/node-executor-registry.ts - Add plugins to
plugins/{language}/