n8n-core 2.5.0 → 2.6.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/binary-data/file-system.manager.js +2 -2
- package/dist/binary-data/file-system.manager.js.map +1 -1
- package/dist/binary-data/utils.d.ts +1 -2
- package/dist/binary-data/utils.js +4 -24
- package/dist/binary-data/utils.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/execution-engine/execution-context.js +1 -0
- package/dist/execution-engine/execution-context.js.map +1 -1
- package/dist/execution-engine/node-execution-context/index.d.ts +1 -0
- package/dist/execution-engine/node-execution-context/index.js +3 -1
- package/dist/execution-engine/node-execution-context/index.js.map +1 -1
- package/dist/execution-engine/node-execution-context/utils/ai-tool-types.d.ts +7 -0
- package/dist/execution-engine/node-execution-context/utils/ai-tool-types.js +15 -0
- package/dist/execution-engine/node-execution-context/utils/ai-tool-types.js.map +1 -0
- package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.d.ts +7 -0
- package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js +4 -0
- package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js.map +1 -1
- package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.d.ts +5 -1
- package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.js +100 -0
- package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.js.map +1 -1
- package/dist/execution-engine/partial-execution-utils/rewire-graph.js +2 -1
- package/dist/execution-engine/partial-execution-utils/rewire-graph.js.map +1 -1
- package/dist/execution-engine/requests-response.js +51 -41
- package/dist/execution-engine/requests-response.js.map +1 -1
- package/dist/execution-engine/workflow-execute.d.ts +10 -1
- package/dist/execution-engine/workflow-execute.js +18 -11
- package/dist/execution-engine/workflow-execute.js.map +1 -1
- package/package.json +7 -7
|
@@ -35,14 +35,14 @@ class FileSystemManager {
|
|
|
35
35
|
}
|
|
36
36
|
async getAsStream(fileId, chunkSize) {
|
|
37
37
|
const filePath = this.resolvePath(fileId);
|
|
38
|
-
if (await (0, utils_1.
|
|
38
|
+
if (!(await (0, utils_1.exists)(filePath))) {
|
|
39
39
|
throw new file_not_found_error_1.FileNotFoundError(filePath);
|
|
40
40
|
}
|
|
41
41
|
return (0, node_fs_1.createReadStream)(filePath, { highWaterMark: chunkSize });
|
|
42
42
|
}
|
|
43
43
|
async getAsBuffer(fileId) {
|
|
44
44
|
const filePath = this.resolvePath(fileId);
|
|
45
|
-
if (await (0, utils_1.
|
|
45
|
+
if (!(await (0, utils_1.exists)(filePath))) {
|
|
46
46
|
throw new file_not_found_error_1.FileNotFoundError(filePath);
|
|
47
47
|
}
|
|
48
48
|
return await promises_1.default.readFile(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system.manager.js","sourceRoot":"","sources":["../../src/binary-data/file-system.manager.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA0D;AAC1D,qCAA2C;AAC3C,gEAAkC;AAClC,0DAA6B;AAE7B,+BAAkC;AAKlC,
|
|
1
|
+
{"version":3,"file":"file-system.manager.js","sourceRoot":"","sources":["../../src/binary-data/file-system.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
2
|
import type { BinaryData } from './types';
|
|
3
|
+
export { assertDir, exists } from '@n8n/backend-common';
|
|
3
4
|
export declare function isStoredMode(mode: string): mode is BinaryData.StoredMode;
|
|
4
|
-
export declare function assertDir(dir: string): Promise<void>;
|
|
5
|
-
export declare function doesNotExist(dir: string): Promise<boolean>;
|
|
6
5
|
export declare function streamToBuffer(stream: Readable): Promise<Buffer<ArrayBufferLike>>;
|
|
7
6
|
export declare function binaryToBuffer(body: Buffer | Readable): Promise<Buffer<ArrayBufferLike>>;
|
|
8
7
|
export declare const FileLocation: {
|
|
@@ -1,37 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FileLocation = void 0;
|
|
3
|
+
exports.FileLocation = exports.exists = exports.assertDir = void 0;
|
|
7
4
|
exports.isStoredMode = isStoredMode;
|
|
8
|
-
exports.assertDir = assertDir;
|
|
9
|
-
exports.doesNotExist = doesNotExist;
|
|
10
5
|
exports.streamToBuffer = streamToBuffer;
|
|
11
6
|
exports.binaryToBuffer = binaryToBuffer;
|
|
12
7
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
13
|
-
|
|
8
|
+
var backend_common_1 = require("@n8n/backend-common");
|
|
9
|
+
Object.defineProperty(exports, "assertDir", { enumerable: true, get: function () { return backend_common_1.assertDir; } });
|
|
10
|
+
Object.defineProperty(exports, "exists", { enumerable: true, get: function () { return backend_common_1.exists; } });
|
|
14
11
|
const STORED_MODES = ['filesystem', 'filesystem-v2', 's3', 'database'];
|
|
15
12
|
function isStoredMode(mode) {
|
|
16
13
|
return STORED_MODES.includes(mode);
|
|
17
14
|
}
|
|
18
|
-
async function assertDir(dir) {
|
|
19
|
-
try {
|
|
20
|
-
await promises_1.default.access(dir);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
await promises_1.default.mkdir(dir, { recursive: true });
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async function doesNotExist(dir) {
|
|
27
|
-
try {
|
|
28
|
-
await promises_1.default.access(dir);
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
15
|
async function streamToBuffer(stream) {
|
|
36
16
|
return await new Promise((resolve, reject) => {
|
|
37
17
|
const chunks = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/binary-data/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/binary-data/utils.ts"],"names":[],"mappings":";;;AASA,oCAEC;AAGD,wCAWC;AAGD,wCAGC;AA/BD,+CAA+C;AAK/C,sDAAwD;AAA/C,2GAAA,SAAS,OAAA;AAAE,wGAAA,MAAM,OAAA;AAE1B,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAU,CAAC;AAEhF,SAAgB,YAAY,CAAC,IAAY;IACxC,OAAO,YAAY,CAAC,QAAQ,CAAC,IAA6B,CAAC,CAAC;AAC7D,CAAC;AAGM,KAAK,UAAU,cAAc,CAAC,MAAgB;IACpD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBACnD,MAAM,CAAC,IAAI,8BAAe,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;;gBACpE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,cAAc,CAAC,IAAuB;IAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAEY,QAAA,YAAY,GAAG;IAC3B,WAAW,EAAE,CAAC,UAAkB,EAAE,WAAmB,EAA2B,EAAE,CAAC,CAAC;QACnF,IAAI,EAAE,WAAW;QACjB,UAAU;QACV,WAAW;KACX,CAAC;IAMF,QAAQ,EAAE,CAAC,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,GAKR,EAA2B,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,QAAQ;QACd,YAAY;QACZ,UAAU;QACV,QAAQ;KACR,CAAC;CACF,CAAC"}
|