comfyui-node 1.5.0 → 1.6.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.
Files changed (77) hide show
  1. package/LICENSE +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/call-wrapper.d.ts.map +1 -1
  4. package/dist/call-wrapper.js +133 -37
  5. package/dist/call-wrapper.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/multipool/client-registry.d.ts +12 -0
  11. package/dist/multipool/client-registry.d.ts.map +1 -0
  12. package/dist/multipool/client-registry.js +26 -0
  13. package/dist/multipool/client-registry.js.map +1 -0
  14. package/dist/multipool/index.d.ts +2 -0
  15. package/dist/multipool/index.d.ts.map +1 -0
  16. package/dist/multipool/index.js +2 -0
  17. package/dist/multipool/index.js.map +1 -0
  18. package/dist/multipool/interfaces.d.ts +5 -0
  19. package/dist/multipool/interfaces.d.ts.map +1 -0
  20. package/dist/multipool/interfaces.js +2 -0
  21. package/dist/multipool/interfaces.js.map +1 -0
  22. package/dist/multipool/job-queue-processor.d.ts +12 -0
  23. package/dist/multipool/job-queue-processor.d.ts.map +1 -0
  24. package/dist/multipool/job-queue-processor.js +10 -0
  25. package/dist/multipool/job-queue-processor.js.map +1 -0
  26. package/dist/multipool/multi-workflow-pool.d.ts +24 -0
  27. package/dist/multipool/multi-workflow-pool.d.ts.map +1 -0
  28. package/dist/multipool/multi-workflow-pool.js +73 -0
  29. package/dist/multipool/multi-workflow-pool.js.map +1 -0
  30. package/dist/multipool/pool-event-manager.d.ts +11 -0
  31. package/dist/multipool/pool-event-manager.d.ts.map +1 -0
  32. package/dist/multipool/pool-event-manager.js +28 -0
  33. package/dist/multipool/pool-event-manager.js.map +1 -0
  34. package/dist/multipool/tests/job-state-registry.d.ts +17 -0
  35. package/dist/multipool/tests/job-state-registry.d.ts.map +1 -0
  36. package/dist/multipool/tests/job-state-registry.js +24 -0
  37. package/dist/multipool/tests/job-state-registry.js.map +1 -0
  38. package/dist/multipool/tests/multipool-basic.d.ts +2 -0
  39. package/dist/multipool/tests/multipool-basic.d.ts.map +1 -0
  40. package/dist/multipool/tests/multipool-basic.js +4 -0
  41. package/dist/multipool/tests/multipool-basic.js.map +1 -0
  42. package/dist/multipool/workflow.d.ts +174 -0
  43. package/dist/multipool/workflow.d.ts.map +1 -0
  44. package/dist/multipool/workflow.js +272 -0
  45. package/dist/multipool/workflow.js.map +1 -0
  46. package/dist/pool/SmartPool.d.ts +144 -0
  47. package/dist/pool/SmartPool.d.ts.map +1 -0
  48. package/dist/pool/SmartPool.js +677 -0
  49. package/dist/pool/SmartPool.js.map +1 -0
  50. package/dist/pool/SmartPoolV2.d.ts +120 -0
  51. package/dist/pool/SmartPoolV2.d.ts.map +1 -0
  52. package/dist/pool/SmartPoolV2.js +587 -0
  53. package/dist/pool/SmartPoolV2.js.map +1 -0
  54. package/dist/pool/WorkflowPool.d.ts +23 -0
  55. package/dist/pool/WorkflowPool.d.ts.map +1 -1
  56. package/dist/pool/WorkflowPool.js +206 -59
  57. package/dist/pool/WorkflowPool.js.map +1 -1
  58. package/dist/pool/client/ClientManager.d.ts +4 -2
  59. package/dist/pool/client/ClientManager.d.ts.map +1 -1
  60. package/dist/pool/client/ClientManager.js +29 -9
  61. package/dist/pool/client/ClientManager.js.map +1 -1
  62. package/dist/pool/index.d.ts +2 -0
  63. package/dist/pool/index.d.ts.map +1 -1
  64. package/dist/pool/index.js +2 -0
  65. package/dist/pool/index.js.map +1 -1
  66. package/dist/pool/queue/QueueAdapter.d.ts +2 -0
  67. package/dist/pool/queue/QueueAdapter.d.ts.map +1 -1
  68. package/dist/pool/queue/adapters/memory.d.ts +2 -0
  69. package/dist/pool/queue/adapters/memory.d.ts.map +1 -1
  70. package/dist/pool/queue/adapters/memory.js +14 -2
  71. package/dist/pool/queue/adapters/memory.js.map +1 -1
  72. package/dist/pool/types/affinity.d.ts +6 -0
  73. package/dist/pool/types/affinity.d.ts.map +1 -0
  74. package/dist/pool/types/affinity.js +2 -0
  75. package/dist/pool/types/affinity.js.map +1 -0
  76. package/dist/pool/types/job.d.ts.map +1 -1
  77. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/multipool/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { WorkflowAffinity } from "./types/affinity.js";
2
+ import { JobId, JobRecord } from "./types/job.js";
3
+ import { ComfyApi } from "../client.js";
4
+ import { Workflow } from "../workflow.js";
5
+ import { TypedEventTarget } from "../typed-event-target.js";
6
+ interface SmartPoolOptions {
7
+ connectionTimeoutMs: number;
8
+ }
9
+ interface PoolEvent {
10
+ type: string;
11
+ promptId: string;
12
+ clientId: string;
13
+ workflowHash: string;
14
+ data?: any;
15
+ }
16
+ interface ClientQueueState {
17
+ queuedJobs: number;
18
+ runningJobs: number;
19
+ }
20
+ interface ServerPerformanceMetrics {
21
+ clientId: string;
22
+ totalJobsCompleted: number;
23
+ totalExecutionTimeMs: number;
24
+ averageExecutionTimeMs: number;
25
+ lastJobDurationMs?: number;
26
+ }
27
+ interface SmartPoolEventMap extends Record<string, CustomEvent<any>> {
28
+ "job:queued": CustomEvent<{
29
+ job: JobRecord;
30
+ }>;
31
+ "job:accepted": CustomEvent<{
32
+ job: JobRecord;
33
+ }>;
34
+ "job:started": CustomEvent<{
35
+ job: JobRecord;
36
+ }>;
37
+ "job:completed": CustomEvent<{
38
+ job: JobRecord;
39
+ }>;
40
+ "job:failed": CustomEvent<{
41
+ job: JobRecord;
42
+ willRetry?: boolean;
43
+ }>;
44
+ }
45
+ export declare class SmartPool extends TypedEventTarget<SmartPoolEventMap> {
46
+ clientMap: Map<string, ComfyApi>;
47
+ clientQueueStates: Map<string, ClientQueueState>;
48
+ jobStore: Map<JobId, JobRecord>;
49
+ affinities: Map<string, WorkflowAffinity>;
50
+ serverPerformance: Map<string, ServerPerformanceMetrics>;
51
+ private queueAdapter;
52
+ private processingNextJob;
53
+ private options;
54
+ hooks: {
55
+ any?: (event: PoolEvent) => void;
56
+ [key: string]: ((event: PoolEvent) => void) | undefined;
57
+ };
58
+ constructor(clients: (ComfyApi | string)[], options?: Partial<SmartPoolOptions>);
59
+ emitLegacy(event: PoolEvent): void;
60
+ /**
61
+ * Adds an event listener for the specified event type.
62
+ * Properly typed wrapper around EventTarget.addEventListener.
63
+ */
64
+ on<K extends keyof SmartPoolEventMap>(type: K, handler: (ev: SmartPoolEventMap[K]) => void, options?: AddEventListenerOptions | boolean): () => void;
65
+ /**
66
+ * Removes an event listener for the specified event type.
67
+ * Properly typed wrapper around EventTarget.removeEventListener.
68
+ */
69
+ off<K extends keyof SmartPoolEventMap>(type: K, handler: (ev: SmartPoolEventMap[K]) => void, options?: EventListenerOptions | boolean): void;
70
+ /**
71
+ * Adds a one-time event listener for the specified event type.
72
+ */
73
+ once<K extends keyof SmartPoolEventMap>(type: K, handler: (ev: SmartPoolEventMap[K]) => void, options?: AddEventListenerOptions | boolean): () => void;
74
+ connect(): Promise<void>;
75
+ shutdown(): void;
76
+ syncQueueStates(): Promise<void>;
77
+ addJob(jobId: JobId, jobRecord: JobRecord): void;
78
+ getJob(jobId: JobId): JobRecord | undefined;
79
+ removeJob(jobId: JobId): void;
80
+ setAffinity(workflow: object, affinity: Omit<WorkflowAffinity, "workflowHash">): void;
81
+ getAffinity(workflowHash: string): WorkflowAffinity | undefined;
82
+ removeAffinity(workflowHash: string): void;
83
+ /**
84
+ * Track server performance metrics for job execution
85
+ */
86
+ private updateServerPerformance;
87
+ /**
88
+ * Get server performance metrics
89
+ */
90
+ getServerPerformance(clientId: string): ServerPerformanceMetrics | undefined;
91
+ /**
92
+ * Get sorted list of servers by performance (fastest first) within a given set
93
+ */
94
+ sortServersByPerformance(serverIds: string[]): string[];
95
+ /**
96
+ * Enqueue a workflow for execution by the pool.
97
+ * Auto-triggers processing via setImmediate (batteries included).
98
+ */
99
+ enqueue(workflow: Workflow<any>, opts?: {
100
+ preferredClientIds?: string[];
101
+ priority?: number;
102
+ }): Promise<JobId>;
103
+ /**
104
+ * Entry point for queue processing with deduplication guard.
105
+ * Prevents concurrent processing of jobs.
106
+ * Poll-based approach: check idle servers, collect compatible jobs, enqueue only when slots available.
107
+ */
108
+ private processNextJobQueued;
109
+ /**
110
+ * Find servers that are currently idle (no running or pending jobs)
111
+ */
112
+ private findIdleServers;
113
+ /**
114
+ * Assign compatible jobs from our queue to idle servers
115
+ * Returns number of jobs assigned
116
+ */
117
+ private assignJobsToIdleServers;
118
+ /**
119
+ * Check if a job is compatible with a server
120
+ */
121
+ private isJobCompatibleWithServer;
122
+ /**
123
+ * Enqueue a job on a specific server
124
+ * Returns true if successful, false if failed
125
+ */
126
+ private enqueueJobOnServer;
127
+ /**
128
+ * Retrieve images from a completed job's execution.
129
+ */
130
+ getJobOutputImages(jobId: JobId, nodeId?: string): Promise<Array<{
131
+ filename: string;
132
+ blob: Blob;
133
+ }>>;
134
+ executeImmediate(workflow: Workflow<any>, opts: {
135
+ preferableClientIds?: string[];
136
+ }): Promise<any>;
137
+ /**
138
+ * Build the return value for executeImmediate() with images and blob.
139
+ */
140
+ private buildExecuteImmediateResult;
141
+ private waitForExecutionCompletion;
142
+ }
143
+ export {};
144
+ //# sourceMappingURL=SmartPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartPool.d.ts","sourceRoot":"","sources":["../../src/pool/SmartPool.ts"],"names":[],"mappings":"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"}