n8n-nodes-comfyui-all 2.2.9 → 2.2.10
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/README.md +126 -11
- package/dist/agent-tools/ComfyUIAgentTool.d.ts +57 -0
- package/dist/agent-tools/ComfyUIAgentTool.d.ts.map +1 -0
- package/dist/agent-tools/ComfyUIAgentTool.js +405 -0
- package/dist/agent-tools/ComfyUIAgentTool.js.map +1 -0
- package/dist/nodes/ComfyUi/ComfyUi.node.d.ts +9 -0
- package/dist/nodes/ComfyUi/ComfyUi.node.d.ts.map +1 -1
- package/dist/nodes/ComfyUi/ComfyUi.node.js +66 -100
- package/dist/nodes/ComfyUi/ComfyUi.node.js.map +1 -1
- package/dist/nodes/ComfyUiClient.d.ts +81 -0
- package/dist/nodes/ComfyUiClient.d.ts.map +1 -1
- package/dist/nodes/ComfyUiClient.js +235 -26
- package/dist/nodes/ComfyUiClient.js.map +1 -1
- package/dist/nodes/constants.d.ts +5 -1
- package/dist/nodes/constants.d.ts.map +1 -1
- package/dist/nodes/constants.js +7 -12
- package/dist/nodes/constants.js.map +1 -1
- package/dist/nodes/logger.d.ts +9 -19
- package/dist/nodes/logger.d.ts.map +1 -1
- package/dist/nodes/logger.js +62 -25
- package/dist/nodes/logger.js.map +1 -1
- package/dist/nodes/types.d.ts +62 -0
- package/dist/nodes/types.d.ts.map +1 -1
- package/dist/nodes/utils.d.ts +47 -0
- package/dist/nodes/utils.d.ts.map +1 -0
- package/dist/nodes/utils.js +139 -0
- package/dist/nodes/utils.js.map +1 -0
- package/dist/nodes/validation.d.ts +1 -0
- package/dist/nodes/validation.d.ts.map +1 -1
- package/dist/nodes/validation.js +51 -2
- 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 +3 -1
- package/LICENSE +0 -21
|
@@ -6,9 +6,13 @@ const ComfyUiClient_1 = require("../ComfyUiClient");
|
|
|
6
6
|
const validation_1 = require("../validation");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
const logger_1 = require("../logger");
|
|
9
|
-
const
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
10
|
class ComfyUi {
|
|
11
11
|
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Node description for n8n
|
|
14
|
+
* Defines the node's properties, inputs, outputs, and configuration options
|
|
15
|
+
*/
|
|
12
16
|
this.description = {
|
|
13
17
|
displayName: 'ComfyUI',
|
|
14
18
|
name: 'comfyUi',
|
|
@@ -286,11 +290,17 @@ class ComfyUi {
|
|
|
286
290
|
],
|
|
287
291
|
};
|
|
288
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Execute the ComfyUI workflow
|
|
295
|
+
* @returns Promise containing the execution results with image/video data
|
|
296
|
+
* @throws {NodeOperationError} If URL validation, workflow validation, or execution fails
|
|
297
|
+
*/
|
|
289
298
|
async execute() {
|
|
299
|
+
const logger = (0, logger_1.createLogger)(this.logger);
|
|
290
300
|
const comfyUiUrl = this.getNodeParameter('comfyUiUrl', 0);
|
|
291
301
|
const workflowJson = this.getNodeParameter('workflowJson', 0);
|
|
292
302
|
const timeout = this.getNodeParameter('timeout', 0);
|
|
293
|
-
const outputBinaryKey = this.getNodeParameter('outputBinaryKey', 0) ||
|
|
303
|
+
const outputBinaryKey = this.getNodeParameter('outputBinaryKey', 0) || constants_1.DEFAULT_OUTPUT_BINARY_KEY;
|
|
294
304
|
if (!(0, validation_1.validateUrl)(comfyUiUrl)) {
|
|
295
305
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid ComfyUI URL. Must be a valid HTTP/HTTPS URL.');
|
|
296
306
|
}
|
|
@@ -300,7 +310,7 @@ class ComfyUi {
|
|
|
300
310
|
}
|
|
301
311
|
let workflow;
|
|
302
312
|
try {
|
|
303
|
-
workflow =
|
|
313
|
+
workflow = (0, validation_1.safeJsonParse)(workflowJson, 'Workflow JSON');
|
|
304
314
|
}
|
|
305
315
|
catch (error) {
|
|
306
316
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to parse workflow JSON: ${error}. Please ensure the JSON is valid.`);
|
|
@@ -309,14 +319,14 @@ class ComfyUi {
|
|
|
309
319
|
baseUrl: comfyUiUrl,
|
|
310
320
|
timeout: timeout * 1000,
|
|
311
321
|
helpers: this.helpers,
|
|
322
|
+
logger: logger,
|
|
312
323
|
});
|
|
313
324
|
logger.info('Starting ComfyUI workflow execution', { url: comfyUiUrl, timeout });
|
|
314
325
|
try {
|
|
315
326
|
const nodeParametersInput = this.getNodeParameter('nodeParameters', 0);
|
|
316
327
|
if (nodeParametersInput && nodeParametersInput.nodeParameter && Array.isArray(nodeParametersInput.nodeParameter)) {
|
|
317
328
|
logger.debug(`Processing ${nodeParametersInput.nodeParameter.length} node parameter overrides`);
|
|
318
|
-
for (
|
|
319
|
-
const nodeParamConfig = nodeParametersInput.nodeParameter[i];
|
|
329
|
+
for (const [i, nodeParamConfig] of nodeParametersInput.nodeParameter.entries()) {
|
|
320
330
|
const nodeId = nodeParamConfig.nodeId;
|
|
321
331
|
const parameterMode = nodeParamConfig.parameterMode || 'single';
|
|
322
332
|
const parametersJson = nodeParamConfig.parametersJson;
|
|
@@ -324,8 +334,8 @@ class ComfyUi {
|
|
|
324
334
|
const type = nodeParamConfig.type || 'text';
|
|
325
335
|
const imageSource = nodeParamConfig.imageSource || 'binary';
|
|
326
336
|
const value = nodeParamConfig.value || '';
|
|
327
|
-
const numberValue = nodeParamConfig.numberValue;
|
|
328
|
-
const booleanValue = nodeParamConfig.booleanValue;
|
|
337
|
+
const numberValue = nodeParamConfig.numberValue ?? 0;
|
|
338
|
+
const booleanValue = nodeParamConfig.booleanValue ?? 'false';
|
|
329
339
|
const imageUrl = nodeParamConfig.imageUrl || '';
|
|
330
340
|
if (!nodeId) {
|
|
331
341
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1} is missing Node ID.`);
|
|
@@ -339,17 +349,18 @@ class ComfyUi {
|
|
|
339
349
|
if (parameterMode === 'multiple' && parametersJson) {
|
|
340
350
|
let parameters;
|
|
341
351
|
try {
|
|
342
|
-
parameters =
|
|
352
|
+
parameters = (0, validation_1.safeJsonParse)(parametersJson, `Node Parameters ${i + 1}`);
|
|
343
353
|
}
|
|
344
354
|
catch (error) {
|
|
345
|
-
|
|
355
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
356
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: ${errorMsg}`);
|
|
346
357
|
}
|
|
347
358
|
if (typeof parameters !== 'object' || parameters === null) {
|
|
348
359
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Parameters must be a JSON object`);
|
|
349
360
|
}
|
|
350
361
|
logger.debug(`Applying multiple parameters to node ${nodeId}`, { parameters });
|
|
351
|
-
for (const [
|
|
352
|
-
workflow[nodeId].inputs[
|
|
362
|
+
for (const [key, val] of Object.entries(parameters)) {
|
|
363
|
+
workflow[nodeId].inputs[key] = val;
|
|
353
364
|
}
|
|
354
365
|
}
|
|
355
366
|
else if (parameterMode === 'single' && paramName) {
|
|
@@ -399,13 +410,28 @@ class ComfyUi {
|
|
|
399
410
|
if (imageBuffer.length === 0) {
|
|
400
411
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Downloaded image from URL "${imageUrl}" is empty. Please check the URL and try again.`);
|
|
401
412
|
}
|
|
413
|
+
// Validate downloaded image size
|
|
414
|
+
const maxImageSize = constants_1.VALIDATION.MAX_IMAGE_SIZE_MB * 1024 * 1024;
|
|
415
|
+
if (imageBuffer.length > maxImageSize) {
|
|
416
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Downloaded image size (${Math.round(imageBuffer.length / 1024 / 1024)}MB) exceeds maximum allowed size of ${constants_1.VALIDATION.MAX_IMAGE_SIZE_MB}MB`);
|
|
417
|
+
}
|
|
402
418
|
logger.info(`Successfully downloaded image`, { size: imageBuffer.length, url: imageUrl });
|
|
403
|
-
let filename = imageUrl.split('/').pop() ||
|
|
419
|
+
let filename = imageUrl.split('/').pop() || (0, utils_1.generateUniqueFilename)('png', 'download');
|
|
404
420
|
if (filename.includes('?')) {
|
|
405
421
|
filename = filename.split('?')[0];
|
|
406
422
|
}
|
|
407
423
|
if (!filename.match(/\.(png|jpg|jpeg|webp|gif|bmp)$/i)) {
|
|
408
|
-
filename =
|
|
424
|
+
filename = (0, utils_1.generateUniqueFilename)('png', 'download');
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
try {
|
|
428
|
+
filename = (0, utils_1.validateFilename)(filename);
|
|
429
|
+
}
|
|
430
|
+
catch (error) {
|
|
431
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
432
|
+
logger.warn(`Invalid filename "${filename}", generating unique filename`, { error: errorMsg });
|
|
433
|
+
filename = (0, utils_1.generateUniqueFilename)('png', 'download');
|
|
434
|
+
}
|
|
409
435
|
}
|
|
410
436
|
logger.info(`Uploading image to ComfyUI`, { filename, size: imageBuffer.length });
|
|
411
437
|
const uploadedFilename = await client.uploadImage(imageBuffer, filename);
|
|
@@ -419,11 +445,12 @@ class ComfyUi {
|
|
|
419
445
|
}
|
|
420
446
|
const statusCode = error.response?.statusCode || error.statusCode;
|
|
421
447
|
const statusMessage = error.response?.statusMessage || error.statusMessage;
|
|
448
|
+
const errorDetail = error instanceof Error ? error.message : String(error);
|
|
422
449
|
let errorMessage = `Node Parameters ${i + 1}: Failed to download image from URL "${imageUrl}"`;
|
|
423
450
|
if (statusCode) {
|
|
424
451
|
errorMessage += ` (HTTP ${statusCode} ${statusMessage || ''})`;
|
|
425
452
|
}
|
|
426
|
-
errorMessage += `. ${
|
|
453
|
+
errorMessage += `. ${errorDetail}`;
|
|
427
454
|
if (statusCode === 403) {
|
|
428
455
|
errorMessage += ' Note: The URL may require authentication or block automated access. Try downloading the image manually and using Binary mode instead.';
|
|
429
456
|
}
|
|
@@ -452,11 +479,33 @@ TIP: Check the previous node's "Output Binary Key" parameter. It should match "$
|
|
|
452
479
|
if (!binaryData.data || typeof binaryData.data !== 'string') {
|
|
453
480
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Invalid binary data for property "${binaryPropertyName}". The data field is missing or not a string.`);
|
|
454
481
|
}
|
|
455
|
-
|
|
482
|
+
// Validate base64 string length before decoding
|
|
483
|
+
const base64Data = binaryData.data;
|
|
484
|
+
const maxBase64Length = constants_1.VALIDATION.MAX_IMAGE_SIZE_MB * 1024 * 1024 * 4 / 3; // Base64 is ~33% larger than binary
|
|
485
|
+
if (base64Data.length > maxBase64Length) {
|
|
486
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Binary data exceeds maximum allowed size of ${constants_1.VALIDATION.MAX_IMAGE_SIZE_MB}MB. ` +
|
|
487
|
+
`Base64 data length: ${Math.round(base64Data.length / 1024 / 1024)}MB (decoded would be ~${Math.round(base64Data.length * 0.75 / 1024 / 1024)}MB)`);
|
|
488
|
+
}
|
|
489
|
+
// Validate MIME type
|
|
490
|
+
if (!binaryData.mimeType || typeof binaryData.mimeType !== 'string') {
|
|
491
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Invalid or missing MIME type for binary data.`);
|
|
492
|
+
}
|
|
493
|
+
const mimeType = binaryData.mimeType.toLowerCase();
|
|
494
|
+
const allowedMimeTypes = Object.values(constants_1.IMAGE_MIME_TYPES);
|
|
495
|
+
if (!allowedMimeTypes.includes(mimeType)) {
|
|
496
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Unsupported MIME type "${mimeType}". ` +
|
|
497
|
+
`Allowed types: ${allowedMimeTypes.join(', ')}`);
|
|
498
|
+
}
|
|
499
|
+
const ext = binaryData.mimeType.split('/')[1] || 'png';
|
|
500
|
+
const filename = binaryData.fileName || (0, utils_1.generateUniqueFilename)(ext, 'upload');
|
|
501
|
+
const buffer = Buffer.from(base64Data, 'base64');
|
|
456
502
|
if (!Buffer.isBuffer(buffer) || buffer.length === 0) {
|
|
457
503
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Failed to decode binary data for property "${binaryPropertyName}". The data may be corrupted. Buffer length: ${buffer.length}`);
|
|
458
504
|
}
|
|
459
|
-
const
|
|
505
|
+
const maxBufferSize = constants_1.VALIDATION.MAX_IMAGE_SIZE_MB * 1024 * 1024;
|
|
506
|
+
if (buffer.length > maxBufferSize) {
|
|
507
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Node Parameters ${i + 1}: Decoded buffer size (${Math.round(buffer.length / 1024 / 1024)}MB) exceeds maximum allowed size of ${constants_1.VALIDATION.MAX_IMAGE_SIZE_MB}MB`);
|
|
508
|
+
}
|
|
460
509
|
logger.info(`Uploading binary data to ComfyUI`, { filename, size: buffer.length, mimeType: binaryData.mimeType, paramName });
|
|
461
510
|
const uploadedFilename = await client.uploadImage(buffer, filename);
|
|
462
511
|
parsedValue = uploadedFilename;
|
|
@@ -486,7 +535,7 @@ TIP: Check the previous node's "Output Binary Key" parameter. It should match "$
|
|
|
486
535
|
logger.error('Workflow execution failed', result.error);
|
|
487
536
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to execute workflow: ${result.error}`);
|
|
488
537
|
}
|
|
489
|
-
const { json, binary } = await processResults(result,
|
|
538
|
+
const { json, binary } = await client.processResults(result, outputBinaryKey);
|
|
490
539
|
logger.info('Workflow execution completed successfully', {
|
|
491
540
|
imageCount: json.imageCount,
|
|
492
541
|
videoCount: json.videoCount,
|
|
@@ -504,87 +553,4 @@ TIP: Check the previous node's "Output Binary Key" parameter. It should match "$
|
|
|
504
553
|
}
|
|
505
554
|
}
|
|
506
555
|
exports.ComfyUi = ComfyUi;
|
|
507
|
-
async function processResults(result, client, comfyUiUrl, outputBinaryKey = 'data') {
|
|
508
|
-
const jsonData = {
|
|
509
|
-
success: true,
|
|
510
|
-
};
|
|
511
|
-
if (result.output) {
|
|
512
|
-
jsonData.data = result.output;
|
|
513
|
-
}
|
|
514
|
-
if (result.images && result.images.length > 0) {
|
|
515
|
-
jsonData.images = result.images;
|
|
516
|
-
jsonData.imageUrls = result.images.map(img => `${comfyUiUrl}${img}`);
|
|
517
|
-
}
|
|
518
|
-
if (result.videos && result.videos.length > 0) {
|
|
519
|
-
jsonData.videos = result.videos;
|
|
520
|
-
jsonData.videoUrls = result.videos.map(vid => `${comfyUiUrl}${vid}`);
|
|
521
|
-
}
|
|
522
|
-
const binaryData = {};
|
|
523
|
-
if (result.images && result.images.length > 0) {
|
|
524
|
-
for (let i = 0; i < result.images.length; i++) {
|
|
525
|
-
const imagePath = result.images[i];
|
|
526
|
-
const imageBuffer = await client.getImageBuffer(imagePath);
|
|
527
|
-
const filenameMatch = imagePath.match(/filename=([^&]+)/);
|
|
528
|
-
const filename = filenameMatch ? filenameMatch[1] : `image_${i}`;
|
|
529
|
-
let ext = 'png';
|
|
530
|
-
const extMatch = filename.match(/\.([^.]+)$/);
|
|
531
|
-
if (extMatch) {
|
|
532
|
-
ext = extMatch[1].toLowerCase();
|
|
533
|
-
}
|
|
534
|
-
if (!extMatch && imagePath.includes('type=')) {
|
|
535
|
-
const typeMatch = imagePath.match(/type=([^&]+)/);
|
|
536
|
-
if (typeMatch) {
|
|
537
|
-
const type = typeMatch[1].toLowerCase();
|
|
538
|
-
const mimeMap = {
|
|
539
|
-
'input': 'png',
|
|
540
|
-
'output': 'png',
|
|
541
|
-
'temp': 'png',
|
|
542
|
-
};
|
|
543
|
-
ext = mimeMap[type] || 'png';
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
const mimeType = constants_1.IMAGE_MIME_TYPES[ext] || 'image/png';
|
|
547
|
-
const binaryKey = i === 0 ? outputBinaryKey : `image_${i}`;
|
|
548
|
-
binaryData[binaryKey] = {
|
|
549
|
-
data: imageBuffer.toString('base64'),
|
|
550
|
-
mimeType: mimeType,
|
|
551
|
-
fileName: filename,
|
|
552
|
-
};
|
|
553
|
-
}
|
|
554
|
-
jsonData.imageCount = result.images.length;
|
|
555
|
-
}
|
|
556
|
-
if (result.videos && result.videos.length > 0) {
|
|
557
|
-
for (let i = 0; i < result.videos.length; i++) {
|
|
558
|
-
const videoPath = result.videos[i];
|
|
559
|
-
const typeMatch = videoPath.match(/type=([^&]+)/);
|
|
560
|
-
let videoType = 'mp4';
|
|
561
|
-
if (typeMatch) {
|
|
562
|
-
videoType = typeMatch[1].toLowerCase();
|
|
563
|
-
}
|
|
564
|
-
const filenameMatch = videoPath.match(/filename=([^&]+)/);
|
|
565
|
-
let filename = filenameMatch ? filenameMatch[1] : `video_${i}.mp4`;
|
|
566
|
-
const extMatch = filename.match(/\.([^.]+)$/);
|
|
567
|
-
if (extMatch) {
|
|
568
|
-
videoType = extMatch[1].toLowerCase();
|
|
569
|
-
}
|
|
570
|
-
else {
|
|
571
|
-
filename = `${filename}.${videoType}`;
|
|
572
|
-
}
|
|
573
|
-
const mimeType = constants_1.VIDEO_MIME_TYPES[videoType] || 'video/mp4';
|
|
574
|
-
const videoBuffer = await client.getVideoBuffer(videoPath);
|
|
575
|
-
const hasImages = result.images && result.images.length > 0;
|
|
576
|
-
const binaryKey = (!hasImages && i === 0) ? outputBinaryKey : `video_${i}`;
|
|
577
|
-
binaryData[binaryKey] = {
|
|
578
|
-
data: videoBuffer.toString('base64'),
|
|
579
|
-
mimeType: mimeType,
|
|
580
|
-
fileName: filename,
|
|
581
|
-
};
|
|
582
|
-
}
|
|
583
|
-
jsonData.videoCount = result.videos.length;
|
|
584
|
-
}
|
|
585
|
-
return {
|
|
586
|
-
json: jsonData,
|
|
587
|
-
binary: binaryData,
|
|
588
|
-
};
|
|
589
|
-
}
|
|
590
556
|
//# sourceMappingURL=ComfyUi.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComfyUi.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUi/ComfyUi.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComfyUi.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUi/ComfyUi.node.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAEtB,oDAAiD;AACjD,8CAAoF;AAEpF,4CAAuF;AACvF,sCAAyC;AACzC,oCAAoE;AAEpE,MAAa,OAAO;IAApB;QACE;;;WAGG;QACH,gBAAW,GAAG;YACZ,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE;gBACV;oBACE,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,uBAAuB;oBAChC,WAAW,EAAE,uBAAuB;iBACrC;gBACD;oBACE,WAAW,EAAE,eAAe;oBAC5B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;wBACX,IAAI,EAAE,EAAE;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,6QAA6Q;oBAC1R,WAAW,EAAE,4KAA4K;oBACzL,IAAI,EAAE,wGAAwG;iBAC/G;gBACD;oBACE,WAAW,EAAE,mBAAmB;oBAChC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,qFAAqF;oBAClG,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,mBAAmB;oBAChC,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,kFAAkF;oBAC/F,WAAW,EAAE,MAAM;iBACpB;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE;wBACX,cAAc,EAAE,IAAI;wBACpB,QAAQ,EAAE,IAAI;qBACf;oBACD,WAAW,EAAE,wGAAwG;oBACrH,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE;wBACP;4BACE,WAAW,EAAE,gBAAgB;4BAC7B,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE;gCACT;oCACC,WAAW,EAAE,SAAS;oCACtB,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,2DAA2D;oCACxE,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACd;gCACD;oCACC,WAAW,EAAE,gBAAgB;oCAC7B,IAAI,EAAE,eAAe;oCACrB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,QAAQ;oCACjB,WAAW,EAAE,oCAAoC;oCACjD,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,kBAAkB;4CACxB,KAAK,EAAE,QAAQ;4CACf,WAAW,EAAE,mCAAmC;yCAChD;wCACD;4CACC,IAAI,EAAE,qBAAqB;4CAC3B,KAAK,EAAE,UAAU;4CACjB,WAAW,EAAE,kDAAkD;yCAC/D;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,gBAAgB;oCAC7B,IAAI,EAAE,WAAW;oCACjB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,sHAAsH;oCACnI,WAAW,EAAE,OAAO;oCACpB,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;yCACzB;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,iBAAiB;oCAC9B,IAAI,EAAE,gBAAgB;oCACtB,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE;wCACZ,IAAI,EAAE,EAAE;qCACR;oCACD,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,0KAA0K;oCACvL,WAAW,EAAE,oEAAoE;oCACjF,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,UAAU,CAAC;yCAC3B;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,MAAM;oCACnB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,MAAM;oCACf,WAAW,EAAE,oDAAoD;oCACjE,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;4CACb,WAAW,EAAE,mBAAmB;yCAChC;wCACD;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;4CACf,WAAW,EAAE,eAAe;yCAC5B;wCACD;4CACC,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,SAAS;4CAChB,WAAW,EAAE,YAAY;yCACzB;wCACD;4CACC,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE,OAAO;4CACd,WAAW,EAAE,sCAAsC;yCACnD;qCACA;oCACF,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;yCACzB;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,kBAAkB;oCAC/B,IAAI,EAAE,aAAa;oCACnB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,KAAK;oCACd,WAAW,EAAE,wBAAwB;oCACrC,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,KAAK;4CACX,KAAK,EAAE,KAAK;4CACZ,WAAW,EAAE,mBAAmB;yCAChC;wCACD;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;4CACf,WAAW,EAAE,4BAA4B;yCACzC;qCACD;oCACD,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,OAAO,CAAC;yCACf;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,WAAW;oCACxB,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,oDAAoD;oCACjE,WAAW,EAAE,+BAA+B;oCAC5C,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,OAAO,CAAC;4CACf,WAAW,EAAE,CAAC,KAAK,CAAC;yCACpB;qCACD;oCACD,IAAI,EAAE,mCAAmC;iCACzC;gCACD;oCACC,WAAW,EAAE,OAAO;oCACpB,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,kBAAkB;oCAC/B,WAAW,EAAE,eAAe;oCAC5B,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,MAAM,CAAC;yCACd;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,OAAO;oCACpB,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,sEAAsE;oCACnF,WAAW,EAAE,MAAM;oCACnB,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,OAAO,CAAC;4CACf,WAAW,EAAE,CAAC,QAAQ,CAAC;yCACvB;qCACD;oCACD,IAAI,EAAE,gDAAgD;iCACtD;gCACD;oCACC,WAAW,EAAE,OAAO;oCACpB,IAAI,EAAE,aAAa;oCACnB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,CAAC;oCACV,WAAW,EAAE,0BAA0B;oCACvC,WAAW,EAAE,iBAAiB;oCAC9B,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,QAAQ,CAAC;yCAChB;qCACD;iCACD;gCACD;oCACC,WAAW,EAAE,OAAO;oCACpB,IAAI,EAAE,cAAc;oCACpB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,OAAO;oCAChB,WAAW,EAAE,0BAA0B;oCACvC,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;4CACb,WAAW,EAAE,oBAAoB;yCACjC;wCACD;4CACC,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE,OAAO;4CACd,WAAW,EAAE,sBAAsB;yCACnC;qCACA;oCACF,cAAc,EAAE;wCACf,IAAI,EAAE;4CACL,aAAa,EAAE,CAAC,QAAQ,CAAC;4CACzB,IAAI,EAAE,CAAC,SAAS,CAAC;yCACjB;qCACD;iCACD;6BACF;yBACC;qBACF;iBACF;aACF;SACF,CAAC;IAqUJ,CAAC;IAnUC;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAW,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAW,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAW,IAAI,qCAAyB,CAAC;QAE3G,IAAI,CAAC,IAAA,wBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sDAAsD,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAA,oCAAuB,EAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,6BAA6B,kBAAkB,CAAC,KAAK,sEAAsE,CAAC,CAAC;QAC5K,CAAC;QAED,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,IAAA,0BAAa,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kCAAkC,KAAK,oCAAoC,CAAC,CAAC;QAC5H,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC;YAC/B,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,OAAO,GAAG,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAuB,CAAC;YAC7F,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjH,MAAM,CAAC,KAAK,CAAC,cAAc,mBAAmB,CAAC,aAAa,CAAC,MAAM,2BAA2B,CAAC,CAAC;gBAEhG,KAAK,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;oBACtC,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,IAAI,QAAQ,CAAC;oBAChE,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;oBACtD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;oBAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,MAAM,CAAC;oBAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC;oBAE5D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC1C,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,CAAC,CAAC;oBACrD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,OAAO,CAAC;oBAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;oBAC/F,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,MAAM,2DAA2D,CAAC,CAAC;oBAC9H,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC7B,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;oBAC/B,CAAC;oBAED,IAAI,aAAa,KAAK,UAAU,IAAI,cAAc,EAAE,CAAC;wBACnD,IAAI,UAAmC,CAAC;wBACxC,IAAI,CAAC;4BACH,UAAU,GAAG,IAAA,0BAAa,EAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACzE,CAAC;wBAAC,OAAO,KAAc,EAAE,CAAC;4BACxB,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACxE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;wBACxF,CAAC;wBAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BAC1D,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;wBAC7G,CAAC;wBAED,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAE/E,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;4BACpD,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBACrC,CAAC;oBACH,CAAC;yBAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;4BACV,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;wBACxH,CAAC;wBAED,IAAI,WAAoB,CAAC;wBAEzB,QAAQ,IAAI,EAAE,CAAC;4BACb,KAAK,MAAM;gCACT,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC;gCAC1B,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;gCACjD,MAAM;4BAER,KAAK,QAAQ;gCACX,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1D,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;gCACjD,MAAM;4BAER,KAAK,SAAS;gCACZ,WAAW,GAAG,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,IAAI,CAAC;gCAC/D,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;gCACjD,MAAM;4BAER,KAAK,OAAO;gCACV,MAAM,CAAC,IAAI,CAAC,uCAAuC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;gCAE7I,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oCAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;wCACd,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;oCACvI,CAAC;oCAED,IAAI,CAAC,IAAA,wBAAW,EAAC,QAAQ,CAAC,EAAE,CAAC;wCAC3B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,wBAAwB,QAAQ,oCAAoC,CAAC,CAAC;oCAC7I,CAAC;oCAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;oCACxE,IAAI,CAAC;wCACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;4CACnD,MAAM,EAAE,KAAK;4CACb,GAAG,EAAE,QAAQ;4CACb,QAAQ,EAAE,aAAa;4CACvB,OAAO,EAAE,OAAO,GAAG,IAAI;4CACvB,OAAO,EAAE;gDACP,YAAY,EAAE,iHAAiH;gDAC/H,QAAQ,EAAE,kEAAkE;gDAC5E,iBAAiB,EAAE,gBAAgB;6CACpC;yCACF,CAAC,CAAC;wCAEH,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;4CACtD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,wCAAwC,QAAQ,oFAAoF,CAAC,CAAC;wCAC7M,CAAC;wCAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wCAE/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4CAC7B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,gCAAgC,QAAQ,iDAAiD,CAAC,CAAC;wCAClK,CAAC;wCAED,iCAAiC;wCACjC,MAAM,YAAY,GAAG,sBAAU,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;wCAChE,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;4CACtC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,uCAAuC,sBAAU,CAAC,iBAAiB,IAAI,CACxK,CAAC;wCACJ,CAAC;wCAED,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;wCAE1F,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAA,8BAAsB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wCACtF,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4CAC3B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCACpC,CAAC;wCAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;4CACvD,QAAQ,GAAG,IAAA,8BAAsB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wCACvD,CAAC;6CAAM,CAAC;4CACN,IAAI,CAAC;gDACH,QAAQ,GAAG,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;4CACxC,CAAC;4CAAC,OAAO,KAAc,EAAE,CAAC;gDACxB,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gDACxE,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,+BAA+B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gDAC/F,QAAQ,GAAG,IAAA,8BAAsB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;4CACvD,CAAC;wCACH,CAAC;wCAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;wCAClF,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;wCAEzE,WAAW,GAAG,gBAAgB,CAAC;wCAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;wCAEjD,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;oCACnG,CAAC;oCAAC,OAAO,KAAc,EAAE,CAAC;wCACxB,IAAI,KAAK,YAAY,iCAAkB,EAAE,CAAC;4CACxC,MAAM,KAAK,CAAC;wCACd,CAAC;wCAED,MAAM,UAAU,GAAI,KAAa,CAAC,QAAQ,EAAE,UAAU,IAAK,KAAa,CAAC,UAAU,CAAC;wCACpF,MAAM,aAAa,GAAI,KAAa,CAAC,QAAQ,EAAE,aAAa,IAAK,KAAa,CAAC,aAAa,CAAC;wCAC7F,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wCAC3E,IAAI,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,wCAAwC,QAAQ,GAAG,CAAC;wCAC/F,IAAI,UAAU,EAAE,CAAC;4CACf,YAAY,IAAI,UAAU,UAAU,IAAI,aAAa,IAAI,EAAE,GAAG,CAAC;wCACjE,CAAC;wCACD,YAAY,IAAI,KAAK,WAAW,EAAE,CAAC;wCAEnC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4CACvB,YAAY,IAAI,wIAAwI,CAAC;wCAC3J,CAAC;6CAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4CAC9B,YAAY,IAAI,qEAAqE,CAAC;wCACxF,CAAC;6CAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4CAC9B,YAAY,IAAI,2JAA2J,CAAC;wCAC9K,CAAC;wCAED,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;oCAC7D,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,cAAc,EAAE,KAAK,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oCAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oCACvC,MAAM,kBAAkB,GAAG,KAAK,IAAI,MAAM,CAAC;oCAE3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;wCACpG,MAAM,aAAa,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wCAC9H,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,sBAAsB,kBAAkB;;+BAElG,aAAa;;iFAEqC,kBAAkB,IAAI,CAAC,CAAC;oCACvF,CAAC;oCAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;oCAE3D,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wCAC5D,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,uCAAuC,kBAAkB,+CAA+C,CAAC,CAAC;oCACjL,CAAC;oCAED,gDAAgD;oCAChD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;oCACnC,MAAM,eAAe,GAAG,sBAAU,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC;oCAEhH,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;wCACxC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,CAAC,GAAG,CAAC,iDAAiD,sBAAU,CAAC,iBAAiB,MAAM;4CAC3G,uBAAuB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CACnJ,CAAC;oCACJ,CAAC;oCAED,qBAAqB;oCACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wCACpE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;oCAC1H,CAAC;oCAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oCACnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,4BAAgB,CAAC,CAAC;oCAEzD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wCACzC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,CAAC,GAAG,CAAC,4BAA4B,QAAQ,KAAK;4CACjE,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChD,CAAC;oCACJ,CAAC;oCAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;oCACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAA,8BAAsB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oCAE9E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oCAEjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCACpD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,gDAAgD,kBAAkB,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oCAC1M,CAAC;oCAED,MAAM,aAAa,GAAG,sBAAU,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;oCACjE,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;wCAClC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,uCAAuC,sBAAU,CAAC,iBAAiB,IAAI,CACjK,CAAC;oCACJ,CAAC;oCAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;oCAC7H,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oCAEpE,WAAW,GAAG,gBAAgB,CAAC;oCAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;oCAEjD,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;gCAC9F,CAAC;gCACD,MAAM;4BAER;gCACE,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;wBACrG,CAAC;wBAED,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBACjG,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,uHAAuH,CAAC,CAAC;oBAChM,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAC7C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;gBACvC,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC5C,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACnG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,+BAA+B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAE9E,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;gBACvD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC7C,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAClB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AA7lBD,0BA6lBC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import { Logger } from './logger';
|
|
2
3
|
export interface ComfyUIClientConfig {
|
|
3
4
|
baseUrl: string;
|
|
4
5
|
clientId?: string;
|
|
@@ -6,6 +7,7 @@ export interface ComfyUIClientConfig {
|
|
|
6
7
|
maxRetries?: number;
|
|
7
8
|
retryDelay?: number;
|
|
8
9
|
helpers: IExecuteFunctions['helpers'];
|
|
10
|
+
logger?: Logger;
|
|
9
11
|
}
|
|
10
12
|
export interface WorkflowNode {
|
|
11
13
|
inputs?: Record<string, unknown>;
|
|
@@ -24,11 +26,13 @@ export interface WorkflowResult {
|
|
|
24
26
|
}
|
|
25
27
|
export declare class ComfyUIClient {
|
|
26
28
|
private helpers;
|
|
29
|
+
private logger;
|
|
27
30
|
private baseUrl;
|
|
28
31
|
private timeout;
|
|
29
32
|
private clientId;
|
|
30
33
|
private maxRetries;
|
|
31
34
|
private isDestroyed;
|
|
35
|
+
private abortController;
|
|
32
36
|
constructor(config: ComfyUIClientConfig);
|
|
33
37
|
/**
|
|
34
38
|
* Cancel any ongoing request and clean up resources
|
|
@@ -42,20 +46,97 @@ export declare class ComfyUIClient {
|
|
|
42
46
|
* Check if the client has been destroyed
|
|
43
47
|
*/
|
|
44
48
|
isClientDestroyed(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Generate a unique client ID
|
|
51
|
+
* @returns Unique client ID string
|
|
52
|
+
*/
|
|
45
53
|
private generateClientId;
|
|
54
|
+
/**
|
|
55
|
+
* Delay execution for a specified time
|
|
56
|
+
* @param ms - Delay time in milliseconds
|
|
57
|
+
* @returns Promise that resolves after the delay
|
|
58
|
+
*/
|
|
59
|
+
private delay;
|
|
60
|
+
/**
|
|
61
|
+
* Retry a request with exponential backoff
|
|
62
|
+
* @param requestFn - Function that returns a Promise to retry
|
|
63
|
+
* @param retries - Maximum number of retry attempts
|
|
64
|
+
* @returns Promise that resolves when the request succeeds
|
|
65
|
+
* @throws Error if all retry attempts fail
|
|
66
|
+
*/
|
|
46
67
|
private retryRequest;
|
|
68
|
+
/**
|
|
69
|
+
* Execute a ComfyUI workflow
|
|
70
|
+
* @param workflow - Workflow object containing nodes and their configurations
|
|
71
|
+
* @returns Promise containing workflow execution result
|
|
72
|
+
*/
|
|
47
73
|
executeWorkflow(workflow: Record<string, WorkflowNode>): Promise<WorkflowResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Prepare workflow prompt for ComfyUI API
|
|
76
|
+
* @param workflow - Workflow object containing nodes
|
|
77
|
+
* @returns Formatted prompt object
|
|
78
|
+
*/
|
|
48
79
|
private preparePrompt;
|
|
80
|
+
/**
|
|
81
|
+
* Wait for workflow execution to complete
|
|
82
|
+
* @param promptId - Prompt ID from ComfyUI
|
|
83
|
+
* @param maxWaitTime - Maximum time to wait in milliseconds
|
|
84
|
+
* @returns Promise containing workflow execution result
|
|
85
|
+
*/
|
|
49
86
|
private waitForExecution;
|
|
87
|
+
/**
|
|
88
|
+
* Extract image and video results from workflow outputs
|
|
89
|
+
* @param outputs - Raw output data from ComfyUI
|
|
90
|
+
* @returns WorkflowResult with extracted images and videos
|
|
91
|
+
*/
|
|
50
92
|
private extractResults;
|
|
93
|
+
/**
|
|
94
|
+
* Get execution history from ComfyUI
|
|
95
|
+
* @param limit - Maximum number of history entries to retrieve
|
|
96
|
+
* @returns Promise containing history data
|
|
97
|
+
*/
|
|
51
98
|
getHistory(limit?: number): Promise<Record<string, unknown>>;
|
|
99
|
+
/**
|
|
100
|
+
* Upload an image to ComfyUI server
|
|
101
|
+
* @param imageData - Image data as Buffer
|
|
102
|
+
* @param filename - Name of the file to upload
|
|
103
|
+
* @param overwrite - Whether to overwrite existing file
|
|
104
|
+
* @returns Promise containing the uploaded filename
|
|
105
|
+
* @throws Error if image data is invalid or upload fails
|
|
106
|
+
*/
|
|
52
107
|
uploadImage(imageData: Buffer, filename: string, overwrite?: boolean): Promise<string>;
|
|
108
|
+
/**
|
|
109
|
+
* Get system information from ComfyUI server
|
|
110
|
+
* @returns Promise containing system stats
|
|
111
|
+
*/
|
|
53
112
|
getSystemInfo(): Promise<Record<string, unknown>>;
|
|
113
|
+
/**
|
|
114
|
+
* Get image buffer from ComfyUI server
|
|
115
|
+
* @param imagePath - Path to the image on ComfyUI server
|
|
116
|
+
* @returns Promise containing image data as Buffer
|
|
117
|
+
* @throws Error if image retrieval fails
|
|
118
|
+
*/
|
|
54
119
|
getImageBuffer(imagePath: string): Promise<Buffer>;
|
|
120
|
+
/**
|
|
121
|
+
* Get video buffer from ComfyUI server
|
|
122
|
+
* @param videoPath - Path to the video on ComfyUI server
|
|
123
|
+
* @returns Promise containing video data as Buffer
|
|
124
|
+
* @throws Error if video retrieval fails
|
|
125
|
+
*/
|
|
55
126
|
getVideoBuffer(videoPath: string): Promise<Buffer>;
|
|
56
127
|
/**
|
|
57
128
|
* Format error message with additional context
|
|
58
129
|
*/
|
|
59
130
|
private formatErrorMessage;
|
|
131
|
+
/**
|
|
132
|
+
* Process workflow execution results and format them for n8n output
|
|
133
|
+
* @param result - Workflow execution result
|
|
134
|
+
* @param outputBinaryKey - Property name for the first output binary data
|
|
135
|
+
* @returns Processed result with json and binary data
|
|
136
|
+
*/
|
|
137
|
+
processResults(result: WorkflowResult, outputBinaryKey?: string): Promise<{
|
|
138
|
+
json: Record<string, any>;
|
|
139
|
+
binary: Record<string, any>;
|
|
140
|
+
}>;
|
|
60
141
|
}
|
|
61
142
|
//# sourceMappingURL=ComfyUiClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComfyUiClient.d.ts","sourceRoot":"","sources":["../../nodes/ComfyUiClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ComfyUiClient.d.ts","sourceRoot":"","sources":["../../nodes/ComfyUiClient.ts"],"names":[],"mappings":"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"}
|