comfyui-node 1.4.4 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +21 -16
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/call-wrapper.d.ts +141 -124
  4. package/dist/call-wrapper.d.ts.map +1 -1
  5. package/dist/call-wrapper.js +353 -64
  6. package/dist/call-wrapper.js.map +1 -1
  7. package/dist/client.d.ts +290 -290
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +78 -19
  10. package/dist/client.js.map +1 -1
  11. package/dist/index.d.ts +3 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/pool/SmartPool.d.ts +144 -0
  16. package/dist/pool/SmartPool.d.ts.map +1 -0
  17. package/dist/pool/SmartPool.js +677 -0
  18. package/dist/pool/SmartPool.js.map +1 -0
  19. package/dist/pool/SmartPoolV2.d.ts +120 -0
  20. package/dist/pool/SmartPoolV2.d.ts.map +1 -0
  21. package/dist/pool/SmartPoolV2.js +587 -0
  22. package/dist/pool/SmartPoolV2.js.map +1 -0
  23. package/dist/pool/WorkflowPool.d.ts +32 -2
  24. package/dist/pool/WorkflowPool.d.ts.map +1 -1
  25. package/dist/pool/WorkflowPool.js +298 -66
  26. package/dist/pool/WorkflowPool.js.map +1 -1
  27. package/dist/pool/client/ClientManager.d.ts +4 -2
  28. package/dist/pool/client/ClientManager.d.ts.map +1 -1
  29. package/dist/pool/client/ClientManager.js +29 -9
  30. package/dist/pool/client/ClientManager.js.map +1 -1
  31. package/dist/pool/index.d.ts +2 -0
  32. package/dist/pool/index.d.ts.map +1 -1
  33. package/dist/pool/index.js +2 -0
  34. package/dist/pool/index.js.map +1 -1
  35. package/dist/pool/queue/QueueAdapter.d.ts +32 -30
  36. package/dist/pool/queue/QueueAdapter.d.ts.map +1 -1
  37. package/dist/pool/queue/adapters/memory.d.ts +22 -20
  38. package/dist/pool/queue/adapters/memory.d.ts.map +1 -1
  39. package/dist/pool/queue/adapters/memory.js +14 -2
  40. package/dist/pool/queue/adapters/memory.js.map +1 -1
  41. package/dist/pool/types/affinity.d.ts +6 -0
  42. package/dist/pool/types/affinity.d.ts.map +1 -0
  43. package/dist/pool/types/affinity.js +2 -0
  44. package/dist/pool/types/affinity.js.map +1 -0
  45. package/dist/pool/types/job.d.ts.map +1 -1
  46. package/dist/pool/utils/failure-analysis.d.ts +14 -0
  47. package/dist/pool/utils/failure-analysis.d.ts.map +1 -0
  48. package/dist/pool/utils/failure-analysis.js +224 -0
  49. package/dist/pool/utils/failure-analysis.js.map +1 -0
  50. package/dist/pool.d.ts +180 -180
  51. package/dist/types/error.d.ts +31 -1
  52. package/dist/types/error.d.ts.map +1 -1
  53. package/dist/types/error.js +30 -0
  54. package/dist/types/error.js.map +1 -1
  55. package/dist/workflow.d.ts.map +1 -1
  56. package/dist/workflow.js +4 -1
  57. package/dist/workflow.js.map +1 -1
  58. package/package.json +4 -3
@@ -4,10 +4,26 @@ import type { QueueAdapter, QueueStats } from "./queue/QueueAdapter.js";
4
4
  import type { FailoverStrategy } from "./failover/Strategy.js";
5
5
  import type { JobRecord, WorkflowInput, WorkflowJobOptions, JobId } from "./types/job.js";
6
6
  import type { WorkflowPoolEventMap } from "./types/events.js";
7
+ import type { WorkflowAffinity } from "./types/affinity.js";
7
8
  /**
8
9
  * Configuration options for WorkflowPool.
9
10
  */
10
11
  export interface WorkflowPoolOpts {
12
+ /**
13
+ * An array of workflow affinity rules to establish a default mapping
14
+ * between workflows and specific clients.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const pool = new WorkflowPool(clients, {
19
+ * workflowAffinities: [
20
+ * { workflowHash: "hash1", preferredClientIds: ["client-a"] },
21
+ * { workflowHash: "hash2", excludeClientIds: ["client-b"] },
22
+ * ]
23
+ * });
24
+ * ```
25
+ */
26
+ workflowAffinities?: WorkflowAffinity[];
11
27
  /**
12
28
  * Queue adapter for managing job queue operations.
13
29
  *
@@ -59,7 +75,7 @@ export interface WorkflowPoolOpts {
59
75
  * executionStartTimeoutMs: 10000 // 10 seconds
60
76
  * });
61
77
  * ```
62
- * @since 1.4.4
78
+ * @since 1.5.0
63
79
  */
64
80
  executionStartTimeoutMs?: number;
65
81
  /**
@@ -90,7 +106,7 @@ export interface WorkflowPoolOpts {
90
106
  * - Progress events (e.g., KSampler steps) reset the timeout
91
107
  * - First generation with model loading often needs longer timeout
92
108
  * - Cached nodes complete instantly and don't trigger timeout
93
- * @since 1.4.4
109
+ * @since 1.5.0
94
110
  */
95
111
  nodeExecutionTimeoutMs?: number;
96
112
  /**
@@ -152,11 +168,19 @@ export declare class WorkflowPool extends TypedEventTarget<WorkflowPoolEventMap>
152
168
  private clientManager;
153
169
  private opts;
154
170
  private jobStore;
171
+ private jobFailureAnalysis;
172
+ private affinities;
155
173
  private initPromise;
156
174
  private processing;
175
+ private processQueued;
157
176
  private activeJobs;
177
+ private readonly queueDebug;
178
+ private debugLog;
158
179
  constructor(clients: ComfyApi[], opts?: WorkflowPoolOpts);
159
180
  ready(): Promise<void>;
181
+ setAffinity(affinity: WorkflowAffinity): void;
182
+ removeAffinity(workflowHash: string): boolean;
183
+ getAffinities(): WorkflowAffinity[];
160
184
  enqueue(workflowInput: WorkflowInput, options?: WorkflowJobOptions): Promise<JobId>;
161
185
  getJob(jobId: string): JobRecord | undefined;
162
186
  cancel(jobId: string): Promise<boolean>;
@@ -167,6 +191,12 @@ export declare class WorkflowPool extends TypedEventTarget<WorkflowPoolEventMap>
167
191
  private static fallbackId;
168
192
  private scheduleProcess;
169
193
  private applyAutoSeed;
194
+ private rememberJobFailure;
195
+ private clearJobFailures;
196
+ private collectFailureReasons;
197
+ private addPermanentExclusion;
198
+ private hasRetryPath;
199
+ private createWorkflowNotSupportedError;
170
200
  private processQueue;
171
201
  private runJob;
172
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowPool.d.ts","sourceRoot":"","sources":["../../src/pool/WorkflowPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAoB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAsB,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA2C;gBAEjD,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB;IA6BlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAsDzF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBvC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;YAeP,YAAY;YA+BZ,MAAM;CA8brB"}
1
+ {"version":3,"file":"WorkflowPool.d.ts","sourceRoot":"","sources":["../../src/pool/WorkflowPool.ts"],"names":[],"mappings":"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"}