n8n/packages/@n8n/engine
Florian Gößler fd4f0d76b6
perf(engine): Load only the columns and rows the execution path reads
- loadExecution no longer reads trigger_outputs. It runs for every step,
  but only the execution start reads the trigger payload. The start now
  reads it with the new loadTriggerOutputs, in parallel with
  loadExecution, so the start has no extra sequential round trip.
  ExecutionRecord no longer carries triggerOutputs; NewExecutionRecord
  still does.
- loadAllSteps becomes loadCompletedStepOutputs. The v1 step data loader
  used only the node id, the iteration and the outputs of completed
  steps, but it read all 12 columns of every step. The query now filters
  on status = 'completed' and reads the three columns.
- These queries run as static named prepared statements. The
  prepared-statement helper moves to database/prepared-query.ts and
  borrows a pooled connection when it runs outside a transaction.

Durability and ordering guarantees do not change.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 16:07:43 +02:00
..
docs/adr docs(engine): Add ADR on binary data access from a data plane in a separate process (no-changelog) (#40179) 2026-10-05 12:55:40 +00:00
src perf(engine): Load only the columns and rows the execution path reads 2026-10-16 16:07:43 +02:00
.dockerignore chore(core): Add @n8n/engine HTTP server and harness (no-changelog) (#29913) 2026-05-08 14:08:11 +00:00
.gitignore
AGENTS.md chore(engine): Use engine v2 naming (#39582) 2026-09-25 07:54:48 +00:00
eslint.config.mjs chore: Migrate database and engine lint to Oxlint (no-changelog) (#39841) 2026-09-29 12:24:22 +00:00
oxlint.config.mts chore: Migrate database and engine lint to Oxlint (no-changelog) (#39841) 2026-09-29 12:24:22 +00:00
package.json 🚀 Release 2.43.0 (#40376) 2026-10-06 07:10:16 +00:00
README.md chore(engine): Use engine v2 naming (#39582) 2026-09-25 07:54:48 +00:00
tsconfig.build.json chore: More Typescript 7 migrations (#34228) 2026-07-16 07:44:11 +00:00
tsconfig.json chore: More Typescript 7 migrations (#34228) 2026-07-16 07:44:11 +00:00
vitest.config.ts chore(core): Add @n8n/engine HTTP server and harness (no-changelog) (#29913) 2026-05-08 14:08:11 +00:00
vitest.integration.config.ts chore(core): Add @n8n/engine HTTP server and harness (no-changelog) (#29913) 2026-05-08 14:08:11 +00:00

@n8n/engine

n8n workflow execution engine (v2).

See the Engine v2 project for context. Public API and core interfaces are still being defined; the package is currently a scaffold and is not yet wired into n8n.

Dependencies

Be careful adding dependencies here. This package should not have runtime dependencies on other n8n components, only interfaces. If there is some functionality that should be shared, it should be factored into a common library.