n8n-nodes-comfyui-all 2.2.9 → 2.2.11
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/LICENSE +1 -1
- package/README.md +126 -11
- package/dist/agent-tools/ComfyUIAgentTool.d.ts +62 -0
- package/dist/agent-tools/ComfyUIAgentTool.d.ts.map +1 -0
- package/dist/agent-tools/ComfyUIAgentTool.js +440 -0
- package/dist/agent-tools/ComfyUIAgentTool.js.map +1 -0
- package/dist/nodes/AxiosAdapter.d.ts +5 -0
- package/dist/nodes/AxiosAdapter.d.ts.map +1 -0
- package/dist/nodes/AxiosAdapter.js +31 -0
- package/dist/nodes/AxiosAdapter.js.map +1 -0
- package/dist/nodes/ComfyUi/ComfyUi.node.d.ts +30 -0
- package/dist/nodes/ComfyUi/ComfyUi.node.d.ts.map +1 -1
- package/dist/nodes/ComfyUi/ComfyUi.node.js +47 -251
- package/dist/nodes/ComfyUi/ComfyUi.node.js.map +1 -1
- package/dist/nodes/ComfyUiClient.d.ts +116 -3
- package/dist/nodes/ComfyUiClient.d.ts.map +1 -1
- package/dist/nodes/ComfyUiClient.js +374 -98
- package/dist/nodes/ComfyUiClient.js.map +1 -1
- package/dist/nodes/HttpClient.d.ts +34 -0
- package/dist/nodes/HttpClient.d.ts.map +1 -0
- package/dist/nodes/HttpClient.js +85 -0
- package/dist/nodes/HttpClient.js.map +1 -0
- package/dist/nodes/N8nHelpersAdapter.d.ts +8 -0
- package/dist/nodes/N8nHelpersAdapter.d.ts.map +1 -0
- package/dist/nodes/N8nHelpersAdapter.js +23 -0
- package/dist/nodes/N8nHelpersAdapter.js.map +1 -0
- package/dist/nodes/constants.d.ts +14 -3
- package/dist/nodes/constants.d.ts.map +1 -1
- package/dist/nodes/constants.js +20 -14
- package/dist/nodes/constants.js.map +1 -1
- package/dist/nodes/errors.d.ts +35 -0
- package/dist/nodes/errors.d.ts.map +1 -0
- package/dist/nodes/errors.js +111 -0
- package/dist/nodes/errors.js.map +1 -0
- package/dist/nodes/logger.d.ts +9 -17
- package/dist/nodes/logger.d.ts.map +1 -1
- package/dist/nodes/logger.js +72 -23
- package/dist/nodes/logger.js.map +1 -1
- package/dist/nodes/parameterProcessor.d.ts +22 -0
- package/dist/nodes/parameterProcessor.d.ts.map +1 -0
- package/dist/nodes/parameterProcessor.js +268 -0
- package/dist/nodes/parameterProcessor.js.map +1 -0
- package/dist/nodes/types.d.ts +129 -0
- package/dist/nodes/types.d.ts.map +1 -1
- package/dist/nodes/utils.d.ts +65 -0
- package/dist/nodes/utils.d.ts.map +1 -0
- package/dist/nodes/utils.js +172 -0
- package/dist/nodes/utils.js.map +1 -0
- package/dist/nodes/validation.d.ts +8 -0
- package/dist/nodes/validation.d.ts.map +1 -1
- package/dist/nodes/validation.js +129 -7
- package/dist/nodes/validation.js.map +1 -1
- package/dist/nodes/workflowConfig.d.ts +13 -0
- package/dist/nodes/workflowConfig.d.ts.map +1 -0
- package/dist/nodes/workflowConfig.js +91 -0
- package/dist/nodes/workflowConfig.js.map +1 -0
- package/package.json +18 -2
package/dist/nodes/logger.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Simple logger for ComfyUI nodes
|
|
4
|
-
* In n8n context, console statements are not allowed
|
|
5
|
-
* This logger is disabled for community nodes
|
|
6
|
-
*/
|
|
7
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
3
|
exports.Logger = exports.LogLevel = void 0;
|
|
9
4
|
exports.createLogger = createLogger;
|
|
@@ -14,34 +9,88 @@ var LogLevel;
|
|
|
14
9
|
LogLevel["WARN"] = "warn";
|
|
15
10
|
LogLevel["ERROR"] = "error";
|
|
16
11
|
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Null Logger implementation for cases where no logger is provided
|
|
14
|
+
* Implements a no-op logger that silently discards all log messages
|
|
15
|
+
*/
|
|
16
|
+
class NullLogger {
|
|
17
|
+
debug(_message) { }
|
|
18
|
+
info(_message) { }
|
|
19
|
+
warn(_message) { }
|
|
20
|
+
error(_message) { }
|
|
21
|
+
}
|
|
17
22
|
class Logger {
|
|
18
|
-
constructor(
|
|
23
|
+
constructor(n8nLogger, context = []) {
|
|
24
|
+
this.n8nLogger = n8nLogger || new NullLogger();
|
|
19
25
|
this.context = context;
|
|
20
26
|
}
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
formatMessage(message) {
|
|
28
|
+
if (this.context.length === 0) {
|
|
29
|
+
return message;
|
|
30
|
+
}
|
|
31
|
+
return `[${this.context.join(' > ')}] ${message}`;
|
|
32
|
+
}
|
|
33
|
+
debug(message, ...args) {
|
|
34
|
+
const formattedMessage = this.formatMessage(message);
|
|
35
|
+
if (args.length > 0) {
|
|
36
|
+
this.n8nLogger.debug(formattedMessage, { args });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.n8nLogger.debug(formattedMessage);
|
|
40
|
+
}
|
|
23
41
|
}
|
|
24
|
-
info(
|
|
25
|
-
|
|
42
|
+
info(message, ...args) {
|
|
43
|
+
const formattedMessage = this.formatMessage(message);
|
|
44
|
+
if (args.length > 0) {
|
|
45
|
+
this.n8nLogger.info(formattedMessage, { args });
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.n8nLogger.info(formattedMessage);
|
|
49
|
+
}
|
|
26
50
|
}
|
|
27
|
-
warn(
|
|
28
|
-
|
|
51
|
+
warn(message, ...args) {
|
|
52
|
+
const formattedMessage = this.formatMessage(message);
|
|
53
|
+
if (args.length > 0) {
|
|
54
|
+
this.n8nLogger.warn(formattedMessage, { args });
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.n8nLogger.warn(formattedMessage);
|
|
58
|
+
}
|
|
29
59
|
}
|
|
30
|
-
error(
|
|
31
|
-
|
|
60
|
+
error(message, error, ...args) {
|
|
61
|
+
const formattedMessage = this.formatMessage(message);
|
|
62
|
+
if (error instanceof Error) {
|
|
63
|
+
if (args.length > 0) {
|
|
64
|
+
this.n8nLogger.error(formattedMessage, { error: error.message, stack: error.stack, args });
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.n8nLogger.error(formattedMessage, { error: error.message, stack: error.stack });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (error !== undefined) {
|
|
71
|
+
if (args.length > 0) {
|
|
72
|
+
this.n8nLogger.error(formattedMessage, { error, args });
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.n8nLogger.error(formattedMessage, { error });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
if (args.length > 0) {
|
|
80
|
+
this.n8nLogger.error(formattedMessage, { args });
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.n8nLogger.error(formattedMessage);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
32
86
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Create a child logger with additional context
|
|
35
|
-
*/
|
|
36
87
|
child(additionalContext) {
|
|
37
|
-
|
|
88
|
+
const newContext = [...this.context, additionalContext];
|
|
89
|
+
return new Logger(this.n8nLogger, newContext);
|
|
38
90
|
}
|
|
39
91
|
}
|
|
40
92
|
exports.Logger = Logger;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
function createLogger(context, _enabled = false) {
|
|
45
|
-
return new Logger(context, false);
|
|
93
|
+
function createLogger(n8nLogger) {
|
|
94
|
+
return new Logger(n8nLogger);
|
|
46
95
|
}
|
|
47
96
|
//# sourceMappingURL=logger.js.map
|
package/dist/nodes/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../nodes/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../nodes/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import { NodeParameterConfig, Workflow } from './types';
|
|
3
|
+
import { Logger } from './logger';
|
|
4
|
+
export interface ParameterProcessorConfig {
|
|
5
|
+
executeFunctions: IExecuteFunctions;
|
|
6
|
+
logger: Logger;
|
|
7
|
+
}
|
|
8
|
+
export declare class ParameterProcessor {
|
|
9
|
+
private executeFunctions;
|
|
10
|
+
private logger;
|
|
11
|
+
constructor(config: ParameterProcessorConfig);
|
|
12
|
+
processTextParameter(value: string): string;
|
|
13
|
+
processNumberParameter(numberValue: number): number;
|
|
14
|
+
processBooleanParameter(booleanValue: string | boolean): boolean;
|
|
15
|
+
processImageFromUrl(paramName: string, imageUrl: string, index: number, uploadImage: (buffer: Buffer, filename: string) => Promise<string>, timeout: number): Promise<string>;
|
|
16
|
+
processImageFromBinary(paramName: string, value: string, index: number, uploadImage: (buffer: Buffer, filename: string) => Promise<string>): Promise<string>;
|
|
17
|
+
processImageParameter(nodeId: string, paramName: string, imageSource: string, imageUrl: string, value: string, index: number, uploadImage: (buffer: Buffer, filename: string) => Promise<string>, timeout: number): Promise<string>;
|
|
18
|
+
processNodeParameters(nodeParametersInput: {
|
|
19
|
+
nodeParameter?: NodeParameterConfig[];
|
|
20
|
+
}, workflow: Workflow, uploadImage: (buffer: Buffer, filename: string) => Promise<string>, timeout: number): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=parameterProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterProcessor.d.ts","sourceRoot":"","sources":["../../nodes/parameterProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,wBAAwB;IAK5C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAInD,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAI1D,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAClE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IA4GZ,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACjE,OAAO,CAAC,MAAM,CAAC;IAqFZ,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAClE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAUZ,qBAAqB,CACzB,mBAAmB,EAAE;QAAE,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAA;KAAE,EAC9D,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAClE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;CAoGjB"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ParameterProcessor = void 0;
|
|
37
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
38
|
+
const validation_1 = require("./validation");
|
|
39
|
+
class ParameterProcessor {
|
|
40
|
+
constructor(config) {
|
|
41
|
+
this.executeFunctions = config.executeFunctions;
|
|
42
|
+
this.logger = config.logger;
|
|
43
|
+
}
|
|
44
|
+
processTextParameter(value) {
|
|
45
|
+
return value || '';
|
|
46
|
+
}
|
|
47
|
+
processNumberParameter(numberValue) {
|
|
48
|
+
return numberValue !== undefined ? numberValue : 0;
|
|
49
|
+
}
|
|
50
|
+
processBooleanParameter(booleanValue) {
|
|
51
|
+
return booleanValue === 'true' || booleanValue === true;
|
|
52
|
+
}
|
|
53
|
+
async processImageFromUrl(paramName, imageUrl, index, uploadImage, timeout) {
|
|
54
|
+
if (!imageUrl) {
|
|
55
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Image URL is required when Image Input Type is set to URL.`);
|
|
56
|
+
}
|
|
57
|
+
const { validateUrl } = await Promise.resolve().then(() => __importStar(require('./validation')));
|
|
58
|
+
if (!validateUrl(imageUrl)) {
|
|
59
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Invalid image URL "${imageUrl}". Must be a valid HTTP/HTTPS URL.`);
|
|
60
|
+
}
|
|
61
|
+
this.logger.info(`Downloading image from URL`, { url: imageUrl, paramName });
|
|
62
|
+
try {
|
|
63
|
+
const { HTTP_HEADERS } = await Promise.resolve().then(() => __importStar(require('./constants')));
|
|
64
|
+
const { validateFilename, generateUniqueFilename, getMaxImageSizeBytes, formatBytes } = await Promise.resolve().then(() => __importStar(require('./utils')));
|
|
65
|
+
const imageResponse = await this.executeFunctions.helpers.httpRequest({
|
|
66
|
+
method: 'GET',
|
|
67
|
+
url: imageUrl,
|
|
68
|
+
encoding: 'arraybuffer',
|
|
69
|
+
timeout: timeout * 1000,
|
|
70
|
+
headers: {
|
|
71
|
+
'User-Agent': HTTP_HEADERS.USER_AGENT,
|
|
72
|
+
'Accept': HTTP_HEADERS.ACCEPT,
|
|
73
|
+
'Accept-Language': HTTP_HEADERS.ACCEPT_LANGUAGE,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
if (!imageResponse || !Buffer.isBuffer(imageResponse)) {
|
|
77
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Failed to download image from URL "${imageUrl}". The server did not return valid image data. Please check the URL and try again.`);
|
|
78
|
+
}
|
|
79
|
+
const imageBuffer = Buffer.from(imageResponse);
|
|
80
|
+
if (imageBuffer.length === 0) {
|
|
81
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Downloaded image from URL "${imageUrl}" is empty. Please check the URL and try again.`);
|
|
82
|
+
}
|
|
83
|
+
const maxImageSize = getMaxImageSizeBytes();
|
|
84
|
+
if (imageBuffer.length > maxImageSize) {
|
|
85
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Downloaded image size (${formatBytes(imageBuffer.length)}) exceeds maximum allowed size of ${formatBytes(maxImageSize)}`);
|
|
86
|
+
}
|
|
87
|
+
this.logger.info(`Successfully downloaded image`, { size: imageBuffer.length, url: imageUrl });
|
|
88
|
+
let filename = imageUrl.split('/').pop() || generateUniqueFilename('png', 'download');
|
|
89
|
+
if (filename.includes('?')) {
|
|
90
|
+
filename = filename.split('?')[0];
|
|
91
|
+
}
|
|
92
|
+
if (!filename.match(/\.(png|jpg|jpeg|webp|gif|bmp)$/i)) {
|
|
93
|
+
filename = generateUniqueFilename('png', 'download');
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
try {
|
|
97
|
+
filename = validateFilename(filename);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
101
|
+
this.logger.warn(`Invalid filename "${filename}", generating unique filename`, { error: errorMsg });
|
|
102
|
+
filename = generateUniqueFilename('png', 'download');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
this.logger.info(`Uploading image to ComfyUI`, { filename, size: imageBuffer.length });
|
|
106
|
+
const uploadedFilename = await uploadImage(imageBuffer, filename);
|
|
107
|
+
this.logger.info(`Successfully uploaded image to ComfyUI`, { paramName, filename: uploadedFilename });
|
|
108
|
+
return uploadedFilename;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if (error instanceof n8n_workflow_1.NodeOperationError) {
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
const httpError = error;
|
|
115
|
+
const statusCode = httpError.response?.statusCode;
|
|
116
|
+
const statusMessage = httpError.response?.statusMessage;
|
|
117
|
+
const errorDetail = error instanceof Error ? error.message : String(error);
|
|
118
|
+
let errorMessage = `Node Parameters ${index + 1}: Failed to download image from URL "${imageUrl}"`;
|
|
119
|
+
if (statusCode) {
|
|
120
|
+
errorMessage += ` (HTTP ${statusCode} ${statusMessage || ''})`;
|
|
121
|
+
}
|
|
122
|
+
errorMessage += `. ${errorDetail}`;
|
|
123
|
+
if (statusCode === 403) {
|
|
124
|
+
errorMessage += ' Note: The URL may require authentication or block automated access. Try downloading the image manually and using Binary mode instead.';
|
|
125
|
+
}
|
|
126
|
+
else if (statusCode === 404) {
|
|
127
|
+
errorMessage += ' Note: The URL may be incorrect or the image may have been removed.';
|
|
128
|
+
}
|
|
129
|
+
else if (statusCode === 400) {
|
|
130
|
+
errorMessage += ' Note: The URL may be malformed or the server may be rejecting the request. Try using a different URL or download the image manually and use Binary mode.';
|
|
131
|
+
}
|
|
132
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), errorMessage);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async processImageFromBinary(paramName, value, index, uploadImage) {
|
|
136
|
+
this.logger.info(`Getting binary data from input`, { binaryProperty: value || 'data', paramName });
|
|
137
|
+
const inputData = this.executeFunctions.getInputData(0);
|
|
138
|
+
const binaryPropertyName = value || 'data';
|
|
139
|
+
if (!inputData || !inputData[0] || !inputData[0].binary || !inputData[0].binary[binaryPropertyName]) {
|
|
140
|
+
const availableKeys = inputData && inputData[0] && inputData[0].binary ? Object.keys(inputData[0].binary).join(', ') : 'none';
|
|
141
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Binary property "${binaryPropertyName}" not found in input data.
|
|
142
|
+
|
|
143
|
+
Available binary properties: ${availableKeys}
|
|
144
|
+
|
|
145
|
+
TIP: Check the previous node's "Output Binary Key" parameter. It should match "${binaryPropertyName}".`);
|
|
146
|
+
}
|
|
147
|
+
const binaryData = inputData[0].binary[binaryPropertyName];
|
|
148
|
+
if (!binaryData.data || typeof binaryData.data !== 'string') {
|
|
149
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Invalid binary data for property "${binaryPropertyName}". The data field is missing or not a string.`);
|
|
150
|
+
}
|
|
151
|
+
const { IMAGE_MIME_TYPES, BASE64_DECODE_FACTOR } = await Promise.resolve().then(() => __importStar(require('./constants')));
|
|
152
|
+
const { generateUniqueFilename, getMaxBase64Length, getMaxImageSizeBytes, formatBytes } = await Promise.resolve().then(() => __importStar(require('./utils')));
|
|
153
|
+
const base64Data = binaryData.data;
|
|
154
|
+
const maxBase64Length = getMaxBase64Length();
|
|
155
|
+
if (base64Data.length > maxBase64Length) {
|
|
156
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Binary data exceeds maximum allowed size of ${formatBytes(getMaxImageSizeBytes())}. ` +
|
|
157
|
+
`Base64 data length: ${formatBytes(base64Data.length)} (decoded would be ~${formatBytes(base64Data.length * BASE64_DECODE_FACTOR)})`);
|
|
158
|
+
}
|
|
159
|
+
if (!binaryData.mimeType || typeof binaryData.mimeType !== 'string') {
|
|
160
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Invalid or missing MIME type for binary data.`);
|
|
161
|
+
}
|
|
162
|
+
const mimeType = binaryData.mimeType.toLowerCase();
|
|
163
|
+
const allowedMimeTypes = Object.values(IMAGE_MIME_TYPES);
|
|
164
|
+
if (!allowedMimeTypes.includes(mimeType)) {
|
|
165
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Unsupported MIME type "${mimeType}". ` +
|
|
166
|
+
`Allowed types: ${allowedMimeTypes.join(', ')}`);
|
|
167
|
+
}
|
|
168
|
+
const ext = binaryData.mimeType.split('/')[1] || 'png';
|
|
169
|
+
const filename = binaryData.fileName || generateUniqueFilename(ext, 'upload');
|
|
170
|
+
const buffer = Buffer.from(base64Data, 'base64');
|
|
171
|
+
if (!Buffer.isBuffer(buffer) || buffer.length === 0) {
|
|
172
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Failed to decode binary data for property "${binaryPropertyName}". The data may be corrupted. Buffer length: ${buffer.length}`);
|
|
173
|
+
}
|
|
174
|
+
const maxBufferSize = getMaxImageSizeBytes();
|
|
175
|
+
if (buffer.length > maxBufferSize) {
|
|
176
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${index + 1}: Decoded buffer size (${formatBytes(buffer.length)}) exceeds maximum allowed size of ${formatBytes(maxBufferSize)}`);
|
|
177
|
+
}
|
|
178
|
+
this.logger.info(`Uploading binary data to ComfyUI`, { filename, size: buffer.length, mimeType: binaryData.mimeType, paramName });
|
|
179
|
+
const uploadedFilename = await uploadImage(buffer, filename);
|
|
180
|
+
this.logger.info(`Successfully uploaded binary data`, { paramName, filename: uploadedFilename });
|
|
181
|
+
return uploadedFilename;
|
|
182
|
+
}
|
|
183
|
+
async processImageParameter(nodeId, paramName, imageSource, imageUrl, value, index, uploadImage, timeout) {
|
|
184
|
+
this.logger.info(`Processing image parameter for node ${nodeId}`, { paramName, imageSource, imageUrl: imageUrl || 'N/A', value: value || 'N/A' });
|
|
185
|
+
if (imageSource === 'url') {
|
|
186
|
+
return await this.processImageFromUrl(paramName, imageUrl, index, uploadImage, timeout);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
return await this.processImageFromBinary(paramName, value, index, uploadImage);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
async processNodeParameters(nodeParametersInput, workflow, uploadImage, timeout) {
|
|
193
|
+
if (!nodeParametersInput || !nodeParametersInput.nodeParameter || !Array.isArray(nodeParametersInput.nodeParameter)) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this.logger.debug(`Processing ${nodeParametersInput.nodeParameter.length} node parameter overrides`);
|
|
197
|
+
for (const [i, nodeParamConfig] of nodeParametersInput.nodeParameter.entries()) {
|
|
198
|
+
const nodeId = nodeParamConfig.nodeId;
|
|
199
|
+
const parameterMode = nodeParamConfig.parameterMode || 'single';
|
|
200
|
+
const parametersJson = nodeParamConfig.parametersJson;
|
|
201
|
+
const paramName = nodeParamConfig.paramName;
|
|
202
|
+
const type = nodeParamConfig.type || 'text';
|
|
203
|
+
const imageSource = nodeParamConfig.imageSource || 'binary';
|
|
204
|
+
const value = nodeParamConfig.value || '';
|
|
205
|
+
const numberValue = nodeParamConfig.numberValue ?? 0;
|
|
206
|
+
const booleanValue = nodeParamConfig.booleanValue ?? 'false';
|
|
207
|
+
const imageUrl = nodeParamConfig.imageUrl || '';
|
|
208
|
+
if (!nodeId) {
|
|
209
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1} is missing Node ID.`);
|
|
210
|
+
}
|
|
211
|
+
if (!workflow[nodeId]) {
|
|
212
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node ID "${nodeId}" not found in workflow. Please check your workflow JSON.`);
|
|
213
|
+
}
|
|
214
|
+
if (!workflow[nodeId].inputs) {
|
|
215
|
+
workflow[nodeId].inputs = {};
|
|
216
|
+
}
|
|
217
|
+
if (parameterMode === 'multiple' && parametersJson) {
|
|
218
|
+
let parameters;
|
|
219
|
+
try {
|
|
220
|
+
parameters = (0, validation_1.safeJsonParse)(parametersJson, `Node Parameters ${i + 1}`);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
224
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1}: ${errorMsg}`);
|
|
225
|
+
}
|
|
226
|
+
if (typeof parameters !== 'object' || parameters === null) {
|
|
227
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1}: Parameters must be a JSON object`);
|
|
228
|
+
}
|
|
229
|
+
this.logger.debug(`Applying multiple parameters to node ${nodeId}`, { parameters });
|
|
230
|
+
for (const [key, val] of Object.entries(parameters)) {
|
|
231
|
+
workflow[nodeId].inputs[key] = val;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else if (parameterMode === 'single' && paramName) {
|
|
235
|
+
if (!type) {
|
|
236
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1}: Type is required for single parameter mode.`);
|
|
237
|
+
}
|
|
238
|
+
let parsedValue;
|
|
239
|
+
switch (type) {
|
|
240
|
+
case 'text':
|
|
241
|
+
parsedValue = this.processTextParameter(value);
|
|
242
|
+
workflow[nodeId].inputs[paramName] = parsedValue;
|
|
243
|
+
break;
|
|
244
|
+
case 'number':
|
|
245
|
+
parsedValue = this.processNumberParameter(numberValue);
|
|
246
|
+
workflow[nodeId].inputs[paramName] = parsedValue;
|
|
247
|
+
break;
|
|
248
|
+
case 'boolean':
|
|
249
|
+
parsedValue = this.processBooleanParameter(booleanValue);
|
|
250
|
+
workflow[nodeId].inputs[paramName] = parsedValue;
|
|
251
|
+
break;
|
|
252
|
+
case 'image':
|
|
253
|
+
parsedValue = await this.processImageParameter(nodeId, paramName, imageSource, imageUrl, value, i, uploadImage, timeout);
|
|
254
|
+
workflow[nodeId].inputs[paramName] = parsedValue;
|
|
255
|
+
break;
|
|
256
|
+
default:
|
|
257
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1}: Unknown type "${type}"`);
|
|
258
|
+
}
|
|
259
|
+
this.logger.debug(`Applying single parameter to node ${nodeId}`, { paramName, value: parsedValue });
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
throw new n8n_workflow_1.NodeOperationError(this.executeFunctions.getNode(), `Node Parameters ${i + 1}: For Multiple Parameters mode, provide Parameters JSON. For Single Parameter mode, provide Parameter Name and Value.`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
exports.ParameterProcessor = ParameterProcessor;
|
|
268
|
+
//# sourceMappingURL=parameterProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterProcessor.js","sourceRoot":"","sources":["../../nodes/parameterProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type definitions for ComfyUI n8n nodes
|
|
3
3
|
*/
|
|
4
|
+
import type { IDataObject } from 'n8n-workflow';
|
|
4
5
|
export interface ValidationResult {
|
|
5
6
|
valid: boolean;
|
|
6
7
|
error?: string;
|
|
@@ -24,5 +25,133 @@ export interface NodeParameterConfig {
|
|
|
24
25
|
export interface NodeParameterInput {
|
|
25
26
|
nodeParameter: NodeParameterConfig[];
|
|
26
27
|
}
|
|
28
|
+
export interface WorkflowNode {
|
|
29
|
+
inputs: Record<string, unknown>;
|
|
30
|
+
class_type: string;
|
|
31
|
+
}
|
|
32
|
+
export interface PromptResponse {
|
|
33
|
+
prompt_id: string;
|
|
34
|
+
}
|
|
35
|
+
export interface HistoryResponse {
|
|
36
|
+
[key: string]: {
|
|
37
|
+
outputs?: unknown;
|
|
38
|
+
status?: {
|
|
39
|
+
completed: boolean;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface Workflow {
|
|
44
|
+
[nodeId: string]: WorkflowNode;
|
|
45
|
+
}
|
|
46
|
+
export interface ImageInfo {
|
|
47
|
+
filename: string;
|
|
48
|
+
subfolder: string;
|
|
49
|
+
type: string;
|
|
50
|
+
url: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ParsedParameters {
|
|
53
|
+
prompt: string;
|
|
54
|
+
negative_prompt: string;
|
|
55
|
+
width: number;
|
|
56
|
+
height: number;
|
|
57
|
+
steps: number;
|
|
58
|
+
cfg: number;
|
|
59
|
+
seed: number;
|
|
60
|
+
[key: string]: unknown;
|
|
61
|
+
}
|
|
62
|
+
export interface ParameterPattern {
|
|
63
|
+
regex: RegExp;
|
|
64
|
+
paramKey?: string;
|
|
65
|
+
paramKeys?: string[];
|
|
66
|
+
parser: (match: RegExpMatchArray) => unknown;
|
|
67
|
+
}
|
|
68
|
+
export interface ToolInputOptions {
|
|
69
|
+
comfyUiUrl?: string;
|
|
70
|
+
workflowConfig?: WorkflowConfig;
|
|
71
|
+
}
|
|
72
|
+
export interface WorkflowConfig {
|
|
73
|
+
template?: Workflow;
|
|
74
|
+
customTemplate?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface ToolResult {
|
|
77
|
+
success: boolean;
|
|
78
|
+
message?: string;
|
|
79
|
+
error?: string;
|
|
80
|
+
data?: {
|
|
81
|
+
prompt: string;
|
|
82
|
+
images: string[];
|
|
83
|
+
parameters: ParsedParameters;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface ParameterExtractionResult {
|
|
87
|
+
value: unknown;
|
|
88
|
+
cleanedQuery: string;
|
|
89
|
+
}
|
|
27
90
|
export type { ComfyUIClientConfig, WorkflowExecution, WorkflowResult } from './ComfyUiClient';
|
|
91
|
+
export interface HttpError extends Error {
|
|
92
|
+
code?: string;
|
|
93
|
+
response?: {
|
|
94
|
+
statusCode: number;
|
|
95
|
+
statusMessage: string;
|
|
96
|
+
body?: unknown;
|
|
97
|
+
data?: unknown;
|
|
98
|
+
};
|
|
99
|
+
statusCode?: number;
|
|
100
|
+
statusMessage?: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* ComfyUI node output types
|
|
104
|
+
*/
|
|
105
|
+
export interface NodeOutput {
|
|
106
|
+
images?: Array<{
|
|
107
|
+
filename: string;
|
|
108
|
+
subfolder?: string;
|
|
109
|
+
type: string;
|
|
110
|
+
}>;
|
|
111
|
+
videos?: Array<{
|
|
112
|
+
filename: string;
|
|
113
|
+
subfolder?: string;
|
|
114
|
+
type: string;
|
|
115
|
+
}>;
|
|
116
|
+
gifs?: Array<{
|
|
117
|
+
filename: string;
|
|
118
|
+
subfolder?: string;
|
|
119
|
+
type: string;
|
|
120
|
+
}>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Workflow outputs mapping
|
|
124
|
+
*/
|
|
125
|
+
export interface WorkflowOutputs {
|
|
126
|
+
[nodeId: string]: NodeOutput;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Binary data structure for n8n output
|
|
130
|
+
*/
|
|
131
|
+
export interface BinaryData {
|
|
132
|
+
data: string;
|
|
133
|
+
mimeType: string;
|
|
134
|
+
fileName: string;
|
|
135
|
+
[key: string]: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* JSON data structure for n8n output
|
|
139
|
+
*/
|
|
140
|
+
export interface JsonData extends IDataObject {
|
|
141
|
+
success: true;
|
|
142
|
+
data?: Record<string, unknown>;
|
|
143
|
+
images?: string[];
|
|
144
|
+
imageUrls?: string[];
|
|
145
|
+
videos?: string[];
|
|
146
|
+
videoUrls?: string[];
|
|
147
|
+
imageCount?: number;
|
|
148
|
+
videoCount?: number;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Process output result from client
|
|
152
|
+
*/
|
|
153
|
+
export interface ProcessOutput {
|
|
154
|
+
json: JsonData;
|
|
155
|
+
binary: Record<string, BinaryData>;
|
|
156
|
+
}
|
|
28
157
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../nodes/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAGD,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../nodes/types.ts"],"names":[],"mappings":"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"}
|