@n8n/engine 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/common/errors.d.ts +3 -0
- package/dist/common/errors.js +11 -0
- package/dist/common/errors.js.map +1 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.js +3 -0
- package/dist/common/index.js.map +1 -1
- package/dist/database/entities/workflow-step-execution.entity.d.ts +4 -0
- package/dist/database/entities/workflow-step-execution.entity.js +11 -1
- package/dist/database/entities/workflow-step-execution.entity.js.map +1 -1
- package/dist/database/migrations/1784890100000-CreateWorkflowStepExecution.js +16 -1
- package/dist/database/migrations/1784890100000-CreateWorkflowStepExecution.js.map +1 -1
- package/dist/database/typeorm-execution-store.d.ts +4 -1
- package/dist/database/typeorm-execution-store.js +12 -1
- package/dist/database/typeorm-execution-store.js.map +1 -1
- package/dist/database/typeorm-step-store.d.ts +11 -4
- package/dist/database/typeorm-step-store.js +39 -4
- package/dist/database/typeorm-step-store.js.map +1 -1
- package/dist/execution/execution-start-handler.d.ts +10 -0
- package/dist/execution/execution-start-handler.js +43 -0
- package/dist/execution/execution-start-handler.js.map +1 -0
- package/dist/execution/execution-store.d.ts +14 -0
- package/dist/execution/execution-store.js +10 -0
- package/dist/execution/execution-store.js.map +1 -1
- package/dist/execution/index.d.ts +6 -2
- package/dist/execution/index.js +9 -1
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/orchestration-worker.d.ts +9 -0
- package/dist/execution/orchestration-worker.js +28 -0
- package/dist/execution/orchestration-worker.js.map +1 -0
- package/dist/execution/start-execution.service.d.ts +2 -2
- package/dist/execution/start-execution.service.js.map +1 -1
- package/dist/execution/step-store.d.ts +26 -2
- package/dist/execution/step-store.js +10 -0
- package/dist/execution/step-store.js.map +1 -1
- package/dist/graph/index.d.ts +1 -0
- package/dist/graph/index.js +4 -0
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/workflow-graph-queries.d.ts +3 -0
- package/dist/graph/workflow-graph-queries.js +17 -0
- package/dist/graph/workflow-graph-queries.js.map +1 -0
- package/dist/graph/workflow-graph.d.ts +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/queue/in-memory-work-queue.d.ts +11 -4
- package/dist/queue/in-memory-work-queue.js +44 -2
- package/dist/queue/in-memory-work-queue.js.map +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/work-queue.types.d.ts +11 -3
- package/dist/serve.js +13 -5
- package/dist/serve.js.map +1 -1
- package/dist/server/create-engine-server.d.ts +2 -2
- package/dist/server/routes/workflow-executions.js +2 -2
- package/dist/server/routes/workflow-executions.js.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TypeOrmStepStore = exports.TypeOrmExecutionStore = exports.createDataSource = exports.InMemoryWorkQueue = exports.AdmittanceRejectedError = exports.AllowAllAdmittance = exports.createEngineServer = void 0;
|
|
3
|
+
exports.TypeOrmStepStore = exports.TypeOrmExecutionStore = exports.createDataSource = exports.StepNotFoundError = exports.OrchestrationWorker = exports.ExecutionStartHandler = exports.ExecutionNotFoundError = exports.InMemoryWorkQueue = exports.AdmittanceRejectedError = exports.AllowAllAdmittance = exports.createEngineServer = void 0;
|
|
4
4
|
var server_1 = require("./server");
|
|
5
5
|
Object.defineProperty(exports, "createEngineServer", { enumerable: true, get: function () { return server_1.createEngineServer; } });
|
|
6
6
|
var admittance_1 = require("./admittance");
|
|
@@ -8,6 +8,11 @@ Object.defineProperty(exports, "AllowAllAdmittance", { enumerable: true, get: fu
|
|
|
8
8
|
Object.defineProperty(exports, "AdmittanceRejectedError", { enumerable: true, get: function () { return admittance_1.AdmittanceRejectedError; } });
|
|
9
9
|
var queue_1 = require("./queue");
|
|
10
10
|
Object.defineProperty(exports, "InMemoryWorkQueue", { enumerable: true, get: function () { return queue_1.InMemoryWorkQueue; } });
|
|
11
|
+
var execution_1 = require("./execution");
|
|
12
|
+
Object.defineProperty(exports, "ExecutionNotFoundError", { enumerable: true, get: function () { return execution_1.ExecutionNotFoundError; } });
|
|
13
|
+
Object.defineProperty(exports, "ExecutionStartHandler", { enumerable: true, get: function () { return execution_1.ExecutionStartHandler; } });
|
|
14
|
+
Object.defineProperty(exports, "OrchestrationWorker", { enumerable: true, get: function () { return execution_1.OrchestrationWorker; } });
|
|
15
|
+
Object.defineProperty(exports, "StepNotFoundError", { enumerable: true, get: function () { return execution_1.StepNotFoundError; } });
|
|
11
16
|
var database_1 = require("./database");
|
|
12
17
|
Object.defineProperty(exports, "createDataSource", { enumerable: true, get: function () { return database_1.createDataSource; } });
|
|
13
18
|
Object.defineProperty(exports, "TypeOrmExecutionStore", { enumerable: true, get: function () { return database_1.TypeOrmExecutionStore; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAqB3B,2CAA2E;AAAlE,gHAAA,kBAAkB,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAOpD,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAqB3B,2CAA2E;AAAlE,gHAAA,kBAAkB,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAOpD,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAS1B,yCAKqB;AAJpB,mHAAA,sBAAsB,OAAA;AACtB,kHAAA,qBAAqB,OAAA;AACrB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AAelB,uCAAuF;AAA9E,4GAAA,gBAAgB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import type { WorkQueue
|
|
2
|
-
export declare class InMemoryWorkQueue implements WorkQueue {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { WorkQueue } from './work-queue.types';
|
|
2
|
+
export declare class InMemoryWorkQueue<TMessage> implements WorkQueue<TMessage> {
|
|
3
|
+
private pending;
|
|
4
|
+
private handler;
|
|
5
|
+
private dispatching;
|
|
6
|
+
private idleWaiters;
|
|
7
|
+
publish(message: TMessage): Promise<void>;
|
|
8
|
+
start(handler: (message: TMessage) => Promise<void>): void;
|
|
9
|
+
stop(): Promise<void>;
|
|
10
|
+
private startDispatchLoop;
|
|
11
|
+
private dispatchPending;
|
|
5
12
|
}
|
|
@@ -2,9 +2,51 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InMemoryWorkQueue = void 0;
|
|
4
4
|
class InMemoryWorkQueue {
|
|
5
|
-
|
|
5
|
+
pending = [];
|
|
6
|
+
handler;
|
|
7
|
+
dispatching = false;
|
|
8
|
+
idleWaiters = [];
|
|
6
9
|
async publish(message) {
|
|
7
|
-
this.
|
|
10
|
+
this.pending.push(message);
|
|
11
|
+
this.startDispatchLoop();
|
|
12
|
+
}
|
|
13
|
+
start(handler) {
|
|
14
|
+
this.handler = handler;
|
|
15
|
+
this.startDispatchLoop();
|
|
16
|
+
}
|
|
17
|
+
async stop() {
|
|
18
|
+
this.handler = undefined;
|
|
19
|
+
if (!this.dispatching)
|
|
20
|
+
return;
|
|
21
|
+
await new Promise((resolve) => this.idleWaiters.push(resolve));
|
|
22
|
+
}
|
|
23
|
+
startDispatchLoop() {
|
|
24
|
+
if (this.dispatching || !this.handler || this.pending.length === 0)
|
|
25
|
+
return;
|
|
26
|
+
this.dispatching = true;
|
|
27
|
+
this.dispatchPending().catch((error) => {
|
|
28
|
+
console.error('engine: work queue dispatch failed', error);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async dispatchPending() {
|
|
32
|
+
try {
|
|
33
|
+
while (this.handler && this.pending.length > 0) {
|
|
34
|
+
const [message] = this.pending.splice(0, 1);
|
|
35
|
+
try {
|
|
36
|
+
await this.handler(message);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error('engine: work queue handler failed', error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
this.dispatching = false;
|
|
45
|
+
const waiters = this.idleWaiters;
|
|
46
|
+
this.idleWaiters = [];
|
|
47
|
+
for (const resolve of waiters)
|
|
48
|
+
resolve();
|
|
49
|
+
}
|
|
8
50
|
}
|
|
9
51
|
}
|
|
10
52
|
exports.InMemoryWorkQueue = InMemoryWorkQueue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-work-queue.js","sourceRoot":"","sources":["../../src/queue/in-memory-work-queue.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"in-memory-work-queue.js","sourceRoot":"","sources":["../../src/queue/in-memory-work-queue.ts"],"names":[],"mappings":";;;AAMA;IACS,OAAO,GAAe,EAAE,CAAC;IAEzB,OAAO,CAAqD;IAE5D,WAAW,GAAG,KAAK,CAAC;IAEpB,WAAW,GAAsB,EAAE,CAAC;IAG5C,KAAK,CAAC,OAAO,CAAC,OAAiB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAA6C;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAGzB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAMO,iBAAiB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/C,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEhB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,OAAO;gBAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;IACF,CAAC;CACD"}
|
package/dist/queue/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { ExecutionEnqueuedEvent,
|
|
1
|
+
export type { ExecutionEnqueuedEvent, OrchestrationMessage, StepMessage, StepReadyEvent, WorkQueue, } from './work-queue.types';
|
|
2
2
|
export { InMemoryWorkQueue } from './in-memory-work-queue';
|
package/dist/queue/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":";;;AAOA,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA"}
|
|
@@ -2,7 +2,15 @@ export interface ExecutionEnqueuedEvent {
|
|
|
2
2
|
type: 'execution:enqueued';
|
|
3
3
|
executionId: string;
|
|
4
4
|
}
|
|
5
|
-
export type
|
|
6
|
-
export interface
|
|
7
|
-
|
|
5
|
+
export type OrchestrationMessage = ExecutionEnqueuedEvent;
|
|
6
|
+
export interface StepReadyEvent {
|
|
7
|
+
type: 'step:ready';
|
|
8
|
+
executionId: string;
|
|
9
|
+
stepId: string;
|
|
10
|
+
}
|
|
11
|
+
export type StepMessage = StepReadyEvent;
|
|
12
|
+
export interface WorkQueue<TMessage> {
|
|
13
|
+
publish(message: TMessage): Promise<void>;
|
|
14
|
+
start(handler: (message: TMessage) => Promise<void>): void;
|
|
15
|
+
stop(): Promise<void>;
|
|
8
16
|
}
|
package/dist/serve.js
CHANGED
|
@@ -4,6 +4,7 @@ const config_1 = require("@n8n/config");
|
|
|
4
4
|
const di_1 = require("@n8n/di");
|
|
5
5
|
const admittance_1 = require("./admittance");
|
|
6
6
|
const database_1 = require("./database");
|
|
7
|
+
const execution_1 = require("./execution");
|
|
7
8
|
const queue_1 = require("./queue");
|
|
8
9
|
const server_1 = require("./server");
|
|
9
10
|
async function main() {
|
|
@@ -17,12 +18,17 @@ async function main() {
|
|
|
17
18
|
else {
|
|
18
19
|
console.warn('engine: N8N_ENGINE_DATABASE_URL not set; running in healthcheck-only mode (workflow execution endpoints disabled)');
|
|
19
20
|
}
|
|
21
|
+
const orchestrationQueue = new queue_1.InMemoryWorkQueue();
|
|
22
|
+
const stepQueue = new queue_1.InMemoryWorkQueue();
|
|
23
|
+
let worker;
|
|
24
|
+
if (dataSource) {
|
|
25
|
+
const executionStore = new database_1.TypeOrmExecutionStore(dataSource.getRepository(database_1.WorkflowExecution));
|
|
26
|
+
const stepStore = new database_1.TypeOrmStepStore(dataSource.getRepository(database_1.WorkflowStepExecution));
|
|
27
|
+
worker = new execution_1.OrchestrationWorker(orchestrationQueue, new execution_1.ExecutionStartHandler(executionStore, stepStore, stepQueue));
|
|
28
|
+
worker.start();
|
|
29
|
+
}
|
|
20
30
|
const { app } = (0, server_1.createEngineServer)(dataSource
|
|
21
|
-
? {
|
|
22
|
-
dataSource,
|
|
23
|
-
admittance: new admittance_1.AllowAllAdmittance(),
|
|
24
|
-
workQueue: new queue_1.InMemoryWorkQueue(),
|
|
25
|
-
}
|
|
31
|
+
? { dataSource, admittance: new admittance_1.AllowAllAdmittance(), workQueue: orchestrationQueue }
|
|
26
32
|
: undefined);
|
|
27
33
|
const server = app.listen(config.port, config.host, () => {
|
|
28
34
|
console.log(`engine: listening on http://${config.host}:${config.port}`);
|
|
@@ -36,6 +42,8 @@ async function main() {
|
|
|
36
42
|
await new Promise((resolve, reject) => {
|
|
37
43
|
server.close((error) => (error ? reject(error) : resolve()));
|
|
38
44
|
});
|
|
45
|
+
if (worker)
|
|
46
|
+
await worker.stop();
|
|
39
47
|
if (dataSource?.isInitialized)
|
|
40
48
|
await dataSource.destroy();
|
|
41
49
|
process.exit(0);
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":";;AAAA,wCAA2C;AAC3C,gCAAoC;AAGpC,6CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { DataSource } from '@n8n/typeorm';
|
|
2
2
|
import { type Application } from 'express';
|
|
3
3
|
import type { AdmittanceService } from '../admittance';
|
|
4
|
-
import type { WorkQueue } from '../queue';
|
|
4
|
+
import type { OrchestrationMessage, WorkQueue } from '../queue';
|
|
5
5
|
export interface EngineServerDeps {
|
|
6
6
|
dataSource: DataSource;
|
|
7
7
|
admittance: AdmittanceService;
|
|
8
|
-
workQueue: WorkQueue
|
|
8
|
+
workQueue: WorkQueue<OrchestrationMessage>;
|
|
9
9
|
}
|
|
10
10
|
export declare function createEngineServer(deps?: EngineServerDeps): {
|
|
11
11
|
app: Application;
|
|
@@ -23,8 +23,8 @@ const GraphNodeSchema = zod_1.z.object({
|
|
|
23
23
|
const GraphEdgeSchema = zod_1.z.object({
|
|
24
24
|
from: zod_1.z.string(),
|
|
25
25
|
to: zod_1.z.string(),
|
|
26
|
-
outputIndex: zod_1.z.number().int().nonnegative().
|
|
27
|
-
inputIndex: zod_1.z.number().int().nonnegative().
|
|
26
|
+
outputIndex: zod_1.z.number().int().nonnegative().default(0),
|
|
27
|
+
inputIndex: zod_1.z.number().int().nonnegative().default(0),
|
|
28
28
|
isBackEdge: zod_1.z.boolean().optional(),
|
|
29
29
|
});
|
|
30
30
|
const WorkflowGraphSchema = zod_1.z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-executions.js","sourceRoot":"","sources":["../../../src/server/routes/workflow-executions.ts"],"names":[],"mappings":";;;AAAA,qCAA4D;AAC5D,6BAAwB;AAExB,iDAA2D;AAI3D,MAAM,eAAe,GAAyB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,OAAC,CAAC,KAAK,CAAC;IACP,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,IAAI,EAAE;IACR,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACxB,OAAC,CAAC,MAAM,CAAC,eAAe,CAAC;CACzB,CAAC,CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAEnD,MAAM,cAAc,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtF,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"workflow-executions.js","sourceRoot":"","sources":["../../../src/server/routes/workflow-executions.ts"],"names":[],"mappings":";;;AAAA,qCAA4D;AAC5D,6BAAwB;AAExB,iDAA2D;AAI3D,MAAM,eAAe,GAAyB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,OAAC,CAAC,KAAK,CAAC;IACP,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,IAAI,EAAE;IACR,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACxB,OAAC,CAAC,MAAM,CAAC,eAAe,CAAC;CACzB,CAAC,CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAEnD,MAAM,cAAc,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtF,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IAGd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,KAAK,EAAE,mBAAmB;IAC1B,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,wCAA+C,cAAqC;IACnF,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,oCAAuB,EAAE,CAAC;gBAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7E,OAAO;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "n8n workflow execution engine (v2)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/**/*",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"LICENSE.md",
|
|
10
|
+
"LICENSE_EE.md"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"express": "5.1.0",
|
|
14
14
|
"pg": "8.21.0",
|
|
15
15
|
"reflect-metadata": "0.2.2",
|
|
16
16
|
"uuid": "11.1.1",
|
|
17
|
-
"zod": "3.25.
|
|
18
|
-
"@n8n/config": "2.31.0",
|
|
17
|
+
"zod": "3.25.76",
|
|
19
18
|
"@n8n/di": "0.16.0",
|
|
20
|
-
"@n8n/typeorm": "0.7.0"
|
|
19
|
+
"@n8n/typeorm": "0.7.0",
|
|
20
|
+
"@n8n/config": "2.32.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@testcontainers/postgresql": "^11.13.0",
|