n8n-nodes-comfyui-all 2.3.14 → 2.4.1

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.
@@ -13,6 +13,7 @@ const ComfyUiClient_1 = require("../ComfyUiClient");
13
13
  const validation_1 = require("../validation");
14
14
  const logger_1 = require("../logger");
15
15
  const agentToolHelpers_1 = require("../agentToolHelpers");
16
+ const workflowConfig_1 = require("../workflowConfig");
16
17
  class ComfyUiTool {
17
18
  constructor() {
18
19
  /**
@@ -35,23 +36,14 @@ class ComfyUiTool {
35
36
  outputs: ['main'],
36
37
  subtitle: 'AI Image Generator',
37
38
  notes: [
38
- 'AI Agent-friendly ComfyUI tool',
39
- 'Requires ComfyUI workflow JSON in API format',
40
- 'Export workflow: ComfyUI Menu > Export > API Format',
41
- 'Supports both text-to-image and image-to-image workflows',
42
- 'Configure which node/parameters AI can modify using "Node ID" and "Allowed Parameters"',
43
- 'AI Agent provides: { query: "...", parameters: { seed: 123456, steps: 30 } }',
44
- 'Only parameters in "Allowed Parameters" list will be applied',
45
- 'Legacy format supported: "A sunset, size:1024x768, steps:30"',
39
+ 'Optimized for AI Agent usage',
40
+ 'Automatically detects and handles both text-to-image and image-to-image',
41
+ 'For image editing: pass image binary + text description',
42
+ 'Supports size, steps, cfg, seed, and negative prompt parameters',
43
+ 'Examples: "A beautiful sunset, size:1024x768, steps:30"',
46
44
  ],
47
45
  inputSample: {
48
46
  query: 'A beautiful landscape painting',
49
- parameters: {
50
- seed: 123456,
51
- steps: 30,
52
- width: 1024,
53
- height: 768,
54
- },
55
47
  },
56
48
  outputSample: {
57
49
  json: {
@@ -61,11 +53,11 @@ class ComfyUiTool {
61
53
  prompt: 'A beautiful landscape painting',
62
54
  mode: 'text-to-image',
63
55
  parameters: {
64
- width: 1024,
65
- height: 768,
66
- steps: 30,
56
+ width: 512,
57
+ height: 512,
58
+ steps: 20,
67
59
  cfg: 8,
68
- seed: 123456,
60
+ seed: 123456789,
69
61
  },
70
62
  },
71
63
  },
@@ -88,137 +80,70 @@ class ComfyUiTool {
88
80
  maxValue: 600,
89
81
  },
90
82
  {
91
- displayName: 'Workflow JSON',
92
- name: 'workflowJson',
83
+ displayName: 'Default Negative Prompt',
84
+ name: 'defaultNegativePrompt',
93
85
  type: 'string',
94
- required: true,
95
- typeOptions: {
96
- rows: 20,
97
- },
98
- default: '',
99
- description: 'ComfyUI workflow JSON in API format. Export your workflow from ComfyUI (Menu > Save > API Format) and paste it here.',
100
- placeholder: 'Paste your ComfyUI workflow JSON...',
86
+ default: 'ugly, blurry, low quality, distorted',
87
+ description: 'Default negative prompt to use when not specified in query',
88
+ placeholder: 'ugly, blurry, low quality',
101
89
  },
102
90
  {
103
- displayName: 'Node Name or ID',
104
- name: 'nodeId',
105
- type: 'options',
106
- description: 'Select a node from your workflow. AI will be able to modify parameters of this node. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
107
- typeOptions: {
108
- loadOptionsMethod: 'getWorkflowNodes',
109
- },
110
- placeholder: 'Select a node to configure AI-accessible parameters...',
111
- default: '',
112
- },
113
- {
114
- displayName: 'Allowed Parameter Names or IDs',
115
- name: 'allowedParameters',
116
- type: 'multiOptions',
117
- description: 'Select which parameters of this node AI can modify. Parameters will be loaded from the selected node. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
118
- typeOptions: {
119
- loadOptionsMethod: 'getNodeParameters',
120
- },
121
- placeholder: 'Select parameters...',
122
- default: [],
123
- displayOptions: {
124
- show: {
125
- nodeId: ['', null, undefined],
126
- mode: 'invert',
91
+ displayName: 'Advanced Options',
92
+ name: 'advancedOptions',
93
+ type: 'collection',
94
+ placeholder: 'Add Option',
95
+ default: {},
96
+ options: [
97
+ {
98
+ displayName: 'Custom Workflow JSON',
99
+ name: 'customWorkflow',
100
+ type: 'string',
101
+ typeOptions: {
102
+ rows: 20,
103
+ },
104
+ default: '',
105
+ description: 'Optional: Custom ComfyUI workflow JSON (API Format). If empty, uses default workflow. Only use this if you want to override the default template.',
127
106
  },
128
- },
107
+ {
108
+ displayName: 'Default CFG',
109
+ name: 'defaultCfg',
110
+ type: 'number',
111
+ default: 8,
112
+ description: 'Default CFG scale when not specified in query',
113
+ minValue: 1,
114
+ maxValue: 30,
115
+ },
116
+ {
117
+ displayName: 'Default Height',
118
+ name: 'defaultHeight',
119
+ type: 'number',
120
+ default: 512,
121
+ description: 'Default image height when not specified in query',
122
+ minValue: 64,
123
+ maxValue: 4096,
124
+ },
125
+ {
126
+ displayName: 'Default Steps',
127
+ name: 'defaultSteps',
128
+ type: 'number',
129
+ default: 20,
130
+ description: 'Default sampling steps when not specified in query',
131
+ minValue: 1,
132
+ maxValue: 150,
133
+ },
134
+ {
135
+ displayName: 'Default Width',
136
+ name: 'defaultWidth',
137
+ type: 'number',
138
+ default: 512,
139
+ description: 'Default image width when not specified in query',
140
+ minValue: 64,
141
+ maxValue: 4096,
142
+ },
143
+ ],
129
144
  },
130
145
  ],
131
146
  };
132
- /**
133
- * Load options methods for dynamic parameter selection
134
- */
135
- this.methods = {
136
- loadOptions: {
137
- /**
138
- * Load all nodes from workflow JSON for Node ID dropdown
139
- */
140
- async getWorkflowNodes() {
141
- try {
142
- const workflowJson = this.getNodeParameter('workflowJson', 0);
143
- if (!workflowJson || workflowJson.trim().length === 0) {
144
- return [];
145
- }
146
- const workflow = (0, validation_1.safeJsonParse)(workflowJson, 'Workflow JSON');
147
- const nodes = [];
148
- for (const [nodeId, nodeData] of Object.entries(workflow)) {
149
- if (nodeData && nodeData.class_type) {
150
- nodes.push({
151
- name: `${nodeId} - ${nodeData.class_type}`,
152
- value: nodeId,
153
- description: nodeData.class_type,
154
- });
155
- }
156
- }
157
- // Sort by node ID (numeric)
158
- nodes.sort((a, b) => {
159
- const aNum = parseInt(a.value);
160
- const bNum = parseInt(b.value);
161
- return aNum - bNum;
162
- });
163
- return nodes;
164
- }
165
- catch (error) {
166
- // Silently return empty array on error
167
- return [];
168
- }
169
- },
170
- /**
171
- * Load parameters for a specific node for Allowed Parameters multi-select
172
- */
173
- async getNodeParameters() {
174
- try {
175
- const workflowJson = this.getNodeParameter('workflowJson', 0);
176
- const nodeId = this.getNodeParameter('nodeId', 0);
177
- if (!workflowJson || workflowJson.trim().length === 0 || !nodeId) {
178
- return [];
179
- }
180
- const workflow = (0, validation_1.safeJsonParse)(workflowJson, 'Workflow JSON');
181
- const nodeData = workflow[nodeId];
182
- if (!nodeData || !nodeData.inputs) {
183
- return [];
184
- }
185
- const parameters = [];
186
- for (const [paramName, paramValue] of Object.entries(nodeData.inputs)) {
187
- // Skip array values (these are connections to other nodes)
188
- if (Array.isArray(paramValue)) {
189
- continue;
190
- }
191
- // Auto-detect type for display
192
- let detectedType = 'text';
193
- if (paramName.toLowerCase().includes('image') || paramName.toLowerCase().includes('upload')) {
194
- detectedType = 'image';
195
- }
196
- else if (typeof paramValue === 'boolean') {
197
- detectedType = 'boolean';
198
- }
199
- else if (typeof paramValue === 'number') {
200
- detectedType = 'number';
201
- }
202
- // Add parameter with value and type as description
203
- const valueStr = String(paramValue);
204
- const description = `Type: ${detectedType} | Current value: ${valueStr.length > 50 ? valueStr.substring(0, 50) + '...' : valueStr}`;
205
- parameters.push({
206
- name: paramName,
207
- value: paramName,
208
- description: description,
209
- });
210
- }
211
- // Sort alphabetically
212
- parameters.sort((a, b) => a.name.localeCompare(b.name));
213
- return parameters;
214
- }
215
- catch (error) {
216
- // Silently return empty array on error
217
- return [];
218
- }
219
- },
220
- },
221
- };
222
147
  }
223
148
  /**
224
149
  * Execute function - called when the node runs
@@ -228,15 +153,13 @@ class ComfyUiTool {
228
153
  // Get node parameters
229
154
  const comfyUiUrl = this.getNodeParameter('comfyUiUrl', 0);
230
155
  const timeout = this.getNodeParameter('timeout', 0);
231
- const workflowJson = this.getNodeParameter('workflowJson', 0);
156
+ const defaultNegativePrompt = this.getNodeParameter('defaultNegativePrompt', 0);
157
+ const advancedOptions = this.getNodeParameter('advancedOptions', 0);
158
+ const { customWorkflow = '', defaultWidth = 512, defaultHeight = 512, defaultSteps = 20, defaultCfg = 8, } = advancedOptions || {};
232
159
  // Validate URL
233
160
  if (!(0, validation_1.validateUrl)(comfyUiUrl)) {
234
161
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid ComfyUI URL. Must be a valid HTTP/HTTPS URL.');
235
162
  }
236
- // Validate workflow JSON
237
- if (!workflowJson || workflowJson.trim().length === 0) {
238
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Workflow JSON is required. Please export your ComfyUI workflow (Menu > Export > API Format) and paste it in the "Workflow JSON" field.');
239
- }
240
163
  // Get input data
241
164
  const inputData = this.getInputData();
242
165
  if (!inputData || inputData.length === 0) {
@@ -254,83 +177,32 @@ class ComfyUiTool {
254
177
  if (!query || query.trim().length === 0) {
255
178
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No query found in input. Please provide a "query", "text", or "prompt" field with a description of the image you want to generate.');
256
179
  }
257
- // Parse workflow JSON (already validated in parameter validation)
180
+ // Determine mode based on input
181
+ const mode = hasInputImage ? 'image-to-image' : 'text-to-image';
182
+ logger.info('Processing image generation request', { query, comfyUiUrl, timeout, mode });
183
+ // Parse the query to extract parameters
184
+ const params = (0, agentToolHelpers_1.parseInput)(query, {
185
+ negativePrompt: defaultNegativePrompt,
186
+ width: defaultWidth,
187
+ height: defaultHeight,
188
+ steps: defaultSteps,
189
+ cfg: defaultCfg,
190
+ });
191
+ logger.debug('Parsed parameters', {
192
+ prompt: params.prompt,
193
+ width: params.width,
194
+ height: params.height,
195
+ steps: params.steps,
196
+ cfg: params.cfg,
197
+ seed: params.seed,
198
+ });
199
+ // Get workflow template
258
200
  let workflowTemplate;
259
- try {
260
- workflowTemplate = (0, validation_1.safeJsonParse)(workflowJson, 'Workflow JSON');
261
- }
262
- catch (error) {
263
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Invalid Workflow JSON: ${error instanceof Error ? error.message : String(error)}`);
264
- }
265
- // Check if structured parameters are provided
266
- const structuredParams = firstItem.json.parameters;
267
- // Get node configuration (which node/parameters AI can modify)
268
- const configuredNodeId = this.getNodeParameter('nodeId', 0);
269
- const allowedParams = this.getNodeParameter('allowedParameters', 0) || [];
270
- let params;
271
- let workflow = workflowTemplate;
272
- let usedStructuredParams = false;
273
- if (structuredParams && typeof structuredParams === 'object' && Object.keys(structuredParams).length > 0) {
274
- // Use structured parameters from AI Agent
275
- logger.info('Using structured parameters from input', { parameters: structuredParams });
276
- // Filter parameters based on allowed list
277
- let filteredParams = structuredParams;
278
- if (configuredNodeId && allowedParams.length > 0) {
279
- filteredParams = {};
280
- for (const paramName of allowedParams) {
281
- if (paramName in structuredParams) {
282
- filteredParams[paramName] = structuredParams[paramName];
283
- }
284
- }
285
- logger.info('Filtered parameters based on allowed list', {
286
- configuredNodeId,
287
- allowedParams,
288
- filteredParams,
289
- });
290
- }
291
- // Convert structured parameters to ParsedParameters format
292
- // Use filteredParams when available to ensure response only includes allowed parameters
293
- const sourceParams = (configuredNodeId && allowedParams.length > 0) ? filteredParams : structuredParams;
294
- params = {
295
- prompt: query,
296
- negative_prompt: sourceParams.negative_prompt ||
297
- sourceParams.negative ||
298
- structuredParams.negative_prompt ||
299
- structuredParams.negative ||
300
- 'ugly, blurry, low quality, distorted',
301
- width: sourceParams.width || 512,
302
- height: sourceParams.height || 512,
303
- steps: sourceParams.steps || 20,
304
- cfg: sourceParams.cfg || 8,
305
- seed: sourceParams.seed || Math.floor(Math.random() * 2147483647),
306
- };
307
- // Apply filtered parameters to the configured node
308
- if (configuredNodeId && Object.keys(filteredParams).length > 0) {
309
- workflow = (0, agentToolHelpers_1.applyParametersToNode)(workflowTemplate, configuredNodeId, filteredParams);
310
- usedStructuredParams = true;
311
- logger.debug('Applied filtered parameters to configured node', {
312
- nodeId: configuredNodeId,
313
- params: filteredParams,
314
- });
315
- }
316
- else if (Object.keys(structuredParams).length > 0) {
317
- // Fallback to old behavior if no node configured
318
- workflow = (0, agentToolHelpers_1.applyStructuredParameters)(workflowTemplate, structuredParams);
319
- usedStructuredParams = true;
320
- logger.debug('Applied structured parameters (auto-mapped)', structuredParams);
321
- }
201
+ if (customWorkflow && customWorkflow.trim().length > 0) {
202
+ workflowTemplate = (0, validation_1.safeJsonParse)(customWorkflow, 'Custom workflow JSON');
322
203
  }
323
204
  else {
324
- // Parse the query to extract parameters (legacy behavior)
325
- params = (0, agentToolHelpers_1.parseInput)(query);
326
- logger.debug('Parsed parameters from query', {
327
- prompt: params.prompt,
328
- width: params.width,
329
- height: params.height,
330
- steps: params.steps,
331
- cfg: params.cfg,
332
- seed: params.seed,
333
- });
205
+ workflowTemplate = (0, workflowConfig_1.getWorkflowTemplate)({ mode });
334
206
  }
335
207
  // Create ComfyUI client
336
208
  const client = new ComfyUiClient_1.ComfyUIClient({
@@ -361,11 +233,8 @@ class ComfyUiTool {
361
233
  uploadedImageFilename = await client.uploadImage(buffer, binaryData.fileName || 'input_image.png');
362
234
  logger.info('Successfully uploaded input image', { filename: uploadedImageFilename });
363
235
  }
364
- // Update workflow with parsed parameters (only in legacy mode)
365
- // Skip if structured parameters were already applied
366
- if (!usedStructuredParams) {
367
- workflow = (0, agentToolHelpers_1.updateWorkflow)(workflow, params);
368
- }
236
+ // Update workflow with parsed parameters
237
+ let workflow = (0, agentToolHelpers_1.updateWorkflow)(workflowTemplate, params);
369
238
  // If we uploaded an image, update workflow with the image filename
370
239
  if (uploadedImageFilename) {
371
240
  workflow = (0, agentToolHelpers_1.updateWorkflowWithImage)(workflow, uploadedImageFilename);
@@ -377,16 +246,8 @@ class ComfyUiTool {
377
246
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to generate image: ${result.error}`);
378
247
  }
379
248
  // Only return URLs without downloading (for AI Agent)
380
- // Fix URL concatenation to handle trailing/leading slashes
381
- const baseUrl = comfyUiUrl.endsWith('/') ? comfyUiUrl.slice(0, -1) : comfyUiUrl;
382
- const imageUrls = result.images ? result.images.map(img => {
383
- const imagePath = img.startsWith('/') ? img : `/${img}`;
384
- return `${baseUrl}${imagePath}`;
385
- }) : [];
386
- const videoUrls = result.videos ? result.videos.map(vid => {
387
- const videoPath = vid.startsWith('/') ? vid : `/${vid}`;
388
- return `${baseUrl}${videoPath}`;
389
- }) : [];
249
+ const imageUrls = result.images ? result.images.map(img => `${comfyUiUrl}${img}`) : [];
250
+ const videoUrls = result.videos ? result.videos.map(vid => `${comfyUiUrl}${vid}`) : [];
390
251
  const enhancedJson = {
391
252
  success: true,
392
253
  imageUrls,
@@ -394,6 +255,7 @@ class ComfyUiTool {
394
255
  imageCount: result.images?.length || 0,
395
256
  videoCount: result.videos?.length || 0,
396
257
  prompt: params.prompt,
258
+ mode: mode,
397
259
  parameters: {
398
260
  width: params.width,
399
261
  height: params.height,
@@ -405,6 +267,7 @@ class ComfyUiTool {
405
267
  };
406
268
  logger.info('Image generation completed successfully', {
407
269
  imageCount: enhancedJson.imageCount,
270
+ mode,
408
271
  });
409
272
  // Return result (no binary data for AI Agent)
410
273
  return [this.helpers.constructExecutionMetaData([{ json: enhancedJson }], { itemData: { item: 0 } })];
@@ -1 +1 @@
1
- {"version":3,"file":"ComfyUiTool.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComfyUiTool.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"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"}
@@ -73,21 +73,4 @@ export declare function hasBinaryData(inputData: INodeExecutionData[]): boolean;
73
73
  * @returns First binary key or null
74
74
  */
75
75
  export declare function getFirstBinaryKey(inputData: INodeExecutionData[]): string | null;
76
- /**
77
- * Apply structured parameters to workflow
78
- * Intelligently maps parameters to the correct nodes in the workflow
79
- * @param workflow - ComfyUI workflow object
80
- * @param params - Parameters object with parameter names and values
81
- * @returns Updated workflow
82
- */
83
- export declare function applyStructuredParameters(workflow: Workflow, params: Record<string, unknown>): Workflow;
84
- /**
85
- * Apply parameters to a specific node in the workflow
86
- * Used by ComfyUiTool when user has configured which node/parameters AI can modify
87
- * @param workflow - ComfyUI workflow object
88
- * @param nodeId - Target node ID
89
- * @param params - Parameters to apply
90
- * @returns Updated workflow
91
- */
92
- export declare function applyParametersToNode(workflow: Workflow, nodeId: string, params: Record<string, unknown>): Workflow;
93
76
  //# sourceMappingURL=agentToolHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentToolHelpers.d.ts","sourceRoot":"","sources":["../../nodes/agentToolHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,UAAU,EACX,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAC9E,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,WAAW,IAAI,CAAC;AAG7B,eAAO,MAAM,cAAc,aAAa,CAAC;AAGzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA6B3D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,CAUpG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACT,GAAG,gBAAgB,CAmDxB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAyCrF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,CAW3F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,SAAS,GAAE,MAAe,GAAG,UAAU,GAAG,IAAI,CAWhH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAatE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,GAAG,IAAI,CAYhF;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAmEvG;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAiBnH"}
1
+ {"version":3,"file":"agentToolHelpers.d.ts","sourceRoot":"","sources":["../../nodes/agentToolHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,UAAU,EACX,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAC9E,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,WAAW,IAAI,CAAC;AAG7B,eAAO,MAAM,cAAc,aAAa,CAAC;AAGzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA6B3D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,CAUpG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACT,GAAG,gBAAgB,CA8CxB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAyCrF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,CAW3F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,SAAS,GAAE,MAAe,GAAG,UAAU,GAAG,IAAI,CAWhH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAatE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,GAAG,IAAI,CAYhF"}
@@ -15,8 +15,6 @@ exports.updateWorkflowWithImage = updateWorkflowWithImage;
15
15
  exports.extractBinaryData = extractBinaryData;
16
16
  exports.hasBinaryData = hasBinaryData;
17
17
  exports.getFirstBinaryKey = getFirstBinaryKey;
18
- exports.applyStructuredParameters = applyStructuredParameters;
19
- exports.applyParametersToNode = applyParametersToNode;
20
18
  const crypto_1 = require("crypto");
21
19
  // Parameter default values
22
20
  exports.DEFAULT_NEGATIVE_PROMPT = 'ugly, blurry, low quality, distorted';
@@ -89,10 +87,6 @@ function parseInput(query, defaults = {}) {
89
87
  seed: (0, crypto_1.randomInt)(0, exports.MAX_SEED_VALUE)
90
88
  };
91
89
  let currentQuery = query.trim();
92
- // Handle empty query case
93
- if (!currentQuery) {
94
- currentQuery = 'A beautiful image'; // Default fallback prompt
95
- }
96
90
  // Extract parameters using patterns
97
91
  for (const [, pattern] of Object.entries(exports.PARAM_PATTERNS)) {
98
92
  const { value, cleanedQuery } = extractParameter(currentQuery, pattern);
@@ -245,93 +239,4 @@ function getFirstBinaryKey(inputData) {
245
239
  const binaryKeys = Object.keys(firstItem.binary);
246
240
  return binaryKeys.length > 0 ? binaryKeys[0] : null;
247
241
  }
248
- /**
249
- * Apply structured parameters to workflow
250
- * Intelligently maps parameters to the correct nodes in the workflow
251
- * @param workflow - ComfyUI workflow object
252
- * @param params - Parameters object with parameter names and values
253
- * @returns Updated workflow
254
- */
255
- function applyStructuredParameters(workflow, params) {
256
- const updatedWorkflow = JSON.parse(JSON.stringify(workflow));
257
- // Map of parameter names to node types and input keys
258
- // This helps identify which node accepts which parameter
259
- const parameterMapping = {
260
- // KSampler parameters
261
- 'seed': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
262
- 'steps': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
263
- 'cfg': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
264
- 'sampler_name': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
265
- 'scheduler': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
266
- 'denoise': ['KSampler', 'KSamplerAdvanced', 'SamplerCustom'],
267
- // EmptyLatentImage parameters
268
- 'width': ['EmptyLatentImage', 'EmptySD3LatentImage'],
269
- 'height': ['EmptyLatentImage', 'EmptySD3LatentImage'],
270
- 'batch_size': ['EmptyLatentImage', 'EmptySD3LatentImage'],
271
- // CLIPTextEncode parameters (text)
272
- 'text': ['CLIPTextEncode'],
273
- 'prompt': ['CLIPTextEncode'],
274
- // CheckpointLoader parameters
275
- 'ckpt_name': ['CheckpointLoaderSimple', 'CheckpointLoader'],
276
- 'model': ['CheckpointLoaderSimple', 'CheckpointLoader'],
277
- // SaveImage parameters
278
- 'filename_prefix': ['SaveImage', 'SaveVideo', 'SaveAnimatedWEBP'],
279
- };
280
- // Apply each parameter to the appropriate node
281
- for (const [paramName, paramValue] of Object.entries(params)) {
282
- // Skip special parameters that are handled separately
283
- if (['negative_prompt', 'negative', 'prompt'].includes(paramName)) {
284
- continue;
285
- }
286
- // Find target node type for this parameter
287
- const targetNodeTypes = parameterMapping[paramName.toLowerCase()];
288
- if (targetNodeTypes) {
289
- // Find the first node of the target type
290
- for (const nodeId in updatedWorkflow) {
291
- const node = updatedWorkflow[nodeId];
292
- if (node && targetNodeTypes.includes(node.class_type)) {
293
- // Apply the parameter
294
- if (updatedWorkflow[nodeId].inputs) {
295
- updatedWorkflow[nodeId].inputs[paramName] = paramValue;
296
- break; // Only apply to the first matching node
297
- }
298
- }
299
- }
300
- }
301
- else {
302
- // Parameter not in mapping, try to find it by name in any node
303
- for (const nodeId in updatedWorkflow) {
304
- const node = updatedWorkflow[nodeId];
305
- if (node && node.inputs && paramName in node.inputs) {
306
- // Direct parameter match
307
- updatedWorkflow[nodeId].inputs[paramName] = paramValue;
308
- break; // Only apply to the first matching node
309
- }
310
- }
311
- }
312
- }
313
- return updatedWorkflow;
314
- }
315
- /**
316
- * Apply parameters to a specific node in the workflow
317
- * Used by ComfyUiTool when user has configured which node/parameters AI can modify
318
- * @param workflow - ComfyUI workflow object
319
- * @param nodeId - Target node ID
320
- * @param params - Parameters to apply
321
- * @returns Updated workflow
322
- */
323
- function applyParametersToNode(workflow, nodeId, params) {
324
- const updatedWorkflow = JSON.parse(JSON.stringify(workflow));
325
- if (!updatedWorkflow[nodeId]) {
326
- return updatedWorkflow;
327
- }
328
- if (!updatedWorkflow[nodeId].inputs) {
329
- updatedWorkflow[nodeId].inputs = {};
330
- }
331
- // Apply each parameter directly to the specified node
332
- for (const [paramName, paramValue] of Object.entries(params)) {
333
- updatedWorkflow[nodeId].inputs[paramName] = paramValue;
334
- }
335
- return updatedWorkflow;
336
- }
337
242
  //# sourceMappingURL=agentToolHelpers.js.map