comfyui-node 1.6.6 → 1.6.7

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 (51) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +342 -341
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/multipool/client-registry.d.ts +3 -3
  5. package/dist/multipool/client-registry.d.ts.map +1 -1
  6. package/dist/multipool/client-registry.js +9 -9
  7. package/dist/multipool/client-registry.js.map +1 -1
  8. package/dist/multipool/helpers.d.ts +4 -4
  9. package/dist/multipool/index.d.ts +2 -2
  10. package/dist/multipool/interfaces.d.ts +0 -2
  11. package/dist/multipool/interfaces.d.ts.map +1 -1
  12. package/dist/multipool/job-queue-processor.d.ts +3 -3
  13. package/dist/multipool/job-queue-processor.d.ts.map +1 -1
  14. package/dist/multipool/job-queue-processor.js +28 -27
  15. package/dist/multipool/job-queue-processor.js.map +1 -1
  16. package/dist/multipool/logger.d.ts +29 -29
  17. package/dist/multipool/multi-workflow-pool.d.ts +0 -1
  18. package/dist/multipool/multi-workflow-pool.d.ts.map +1 -1
  19. package/dist/multipool/multi-workflow-pool.js +36 -37
  20. package/dist/multipool/multi-workflow-pool.js.map +1 -1
  21. package/dist/multipool/tests/client-registry-api-demo.js +1 -3
  22. package/dist/multipool/tests/client-registry-api-demo.js.map +1 -1
  23. package/dist/multipool/tests/client-registry.spec.js +6 -7
  24. package/dist/multipool/tests/client-registry.spec.js.map +1 -1
  25. package/dist/multipool/tests/error-classification-tests.d.ts +1 -1
  26. package/dist/multipool/tests/event-forwarding-demo.js +1 -3
  27. package/dist/multipool/tests/event-forwarding-demo.js.map +1 -1
  28. package/dist/multipool/tests/job-queue-processor.spec.js +7 -7
  29. package/dist/multipool/tests/job-queue-processor.spec.js.map +1 -1
  30. package/dist/multipool/tests/job-state-registry.d.ts +16 -16
  31. package/dist/multipool/tests/job-state-registry.js +23 -23
  32. package/dist/multipool/tests/job-state-registry.spec.js +5 -4
  33. package/dist/multipool/tests/job-state-registry.spec.js.map +1 -1
  34. package/dist/multipool/tests/multipool-basic.d.ts +11 -11
  35. package/dist/multipool/tests/profiling-demo.d.ts +6 -6
  36. package/dist/multipool/tests/profiling-demo.js +1 -2
  37. package/dist/multipool/tests/profiling-demo.js.map +1 -1
  38. package/dist/multipool/tests/prompt-generator.d.ts +9 -9
  39. package/dist/multipool/tests/test-helpers.d.ts +3 -3
  40. package/dist/multipool/tests/two-stage-edit-simulation.d.ts +31 -31
  41. package/dist/multipool/tests/two-stage-edit-simulation.d.ts.map +1 -1
  42. package/dist/multipool/tests/two-stage-edit-simulation.js +1 -2
  43. package/dist/multipool/tests/two-stage-edit-simulation.js.map +1 -1
  44. package/dist/pool/SmartPool.d.ts +143 -143
  45. package/dist/pool/SmartPool.js +676 -676
  46. package/dist/pool/SmartPoolV2.d.ts +119 -119
  47. package/dist/pool/SmartPoolV2.js +586 -586
  48. package/dist/pool/WorkflowPool.d.ts +202 -202
  49. package/dist/pool/client/ClientManager.d.ts +86 -86
  50. package/dist/pool/index.d.ts +9 -9
  51. package/package.json +2 -2
@@ -1,120 +1,120 @@
1
- import { TypedEventTarget } from "../typed-event-target.js";
2
- import { ComfyApi } from "../client.js";
3
- import { Workflow } from "../workflow.js";
4
- import type { WorkflowAffinity } from "./types/affinity.js";
5
- import type { JobId, JobRecord } from "./types/job.js";
6
- interface SmartPoolV2Options {
7
- connectionTimeoutMs?: number;
8
- jobExecutionTimeoutMs?: number;
9
- groupIdleTimeoutMs?: number;
10
- maxQueueDepth?: number;
11
- }
12
- interface ServerPerformanceMetrics {
13
- clientId: string;
14
- totalJobsCompleted: number;
15
- totalExecutionTimeMs: number;
16
- averageExecutionTimeMs: number;
17
- lastJobDurationMs?: number;
18
- }
19
- interface SmartPoolV2EventMap extends Record<string, CustomEvent<any>> {
20
- "job:queued": CustomEvent<{
21
- job: JobRecord;
22
- }>;
23
- "job:accepted": CustomEvent<{
24
- job: JobRecord;
25
- clientId: string;
26
- }>;
27
- "job:started": CustomEvent<{
28
- job: JobRecord;
29
- clientId: string;
30
- promptId: string;
31
- }>;
32
- "job:completed": CustomEvent<{
33
- job: JobRecord;
34
- }>;
35
- "job:failed": CustomEvent<{
36
- job: JobRecord;
37
- error: Error;
38
- willRetry?: boolean;
39
- }>;
40
- "group:idle-timeout": CustomEvent<{
41
- groupId: string;
42
- reason: string;
43
- }>;
44
- "server:idle": CustomEvent<{
45
- clientId: string;
46
- groupId?: string;
47
- }>;
48
- }
49
- export declare class SmartPoolV2 extends TypedEventTarget<SmartPoolV2EventMap> {
50
- private clientMap;
51
- private affinityGroups;
52
- private defaultQueue?;
53
- private jobStore;
54
- private executionContexts;
55
- private idleServers;
56
- private serverPerformance;
57
- private options;
58
- private isReady;
59
- private readyResolve?;
60
- constructor(clients: (ComfyApi | string)[], options?: SmartPoolV2Options);
61
- /**
62
- * Initialize pool and connect all clients
63
- */
64
- connect(): Promise<void>;
65
- /**
66
- * Wait for pool to be ready
67
- */
68
- ready(): Promise<void>;
69
- /**
70
- * Enqueue a workflow - automatically routed by workflow hash
71
- * Optional preferredClientIds overrides default routing for this specific job
72
- */
73
- enqueue(workflow: Workflow<any>, options?: {
74
- preferredClientIds?: string[];
75
- priority?: number;
76
- metadata?: Record<string, any>;
77
- }): Promise<JobId>;
78
- /**
79
- * Set workflow affinity - auto-creates group by workflow hash
80
- * Maps workflow hash to preferred servers
81
- */
82
- setAffinity(workflow: object, affinity: Omit<WorkflowAffinity, "workflowHash">): void;
83
- /**
84
- * Get job by ID
85
- */
86
- getJob(jobId: JobId): JobRecord | undefined;
87
- /**
88
- * Shutdown pool
89
- */
90
- shutdown(): void;
91
- /**
92
- * Get server performance metrics
93
- */
94
- getServerPerformance(clientId: string): ServerPerformanceMetrics | undefined;
95
- private createAffinityGroup;
96
- /**
97
- * Process affinity group queue - triggered by events only (no polling)
98
- */
99
- private processAffinityGroup;
100
- /**
101
- * Enqueue job on server and manage execution
102
- */
103
- private enqueueJobOnServer;
104
- /**
105
- * Handle job completion
106
- */
107
- private handleJobCompletion;
108
- /**
109
- * Handle job failure
110
- */
111
- private handleJobFailure;
112
- /**
113
- * Handle job timeout
114
- */
115
- private handleJobTimeout;
116
- private updateServerPerformance;
117
- private sortServersByPerformance;
118
- }
119
- export {};
1
+ import { TypedEventTarget } from "../typed-event-target.js";
2
+ import { ComfyApi } from "../client.js";
3
+ import { Workflow } from "../workflow.js";
4
+ import type { WorkflowAffinity } from "./types/affinity.js";
5
+ import type { JobId, JobRecord } from "./types/job.js";
6
+ interface SmartPoolV2Options {
7
+ connectionTimeoutMs?: number;
8
+ jobExecutionTimeoutMs?: number;
9
+ groupIdleTimeoutMs?: number;
10
+ maxQueueDepth?: number;
11
+ }
12
+ interface ServerPerformanceMetrics {
13
+ clientId: string;
14
+ totalJobsCompleted: number;
15
+ totalExecutionTimeMs: number;
16
+ averageExecutionTimeMs: number;
17
+ lastJobDurationMs?: number;
18
+ }
19
+ interface SmartPoolV2EventMap extends Record<string, CustomEvent<any>> {
20
+ "job:queued": CustomEvent<{
21
+ job: JobRecord;
22
+ }>;
23
+ "job:accepted": CustomEvent<{
24
+ job: JobRecord;
25
+ clientId: string;
26
+ }>;
27
+ "job:started": CustomEvent<{
28
+ job: JobRecord;
29
+ clientId: string;
30
+ promptId: string;
31
+ }>;
32
+ "job:completed": CustomEvent<{
33
+ job: JobRecord;
34
+ }>;
35
+ "job:failed": CustomEvent<{
36
+ job: JobRecord;
37
+ error: Error;
38
+ willRetry?: boolean;
39
+ }>;
40
+ "group:idle-timeout": CustomEvent<{
41
+ groupId: string;
42
+ reason: string;
43
+ }>;
44
+ "server:idle": CustomEvent<{
45
+ clientId: string;
46
+ groupId?: string;
47
+ }>;
48
+ }
49
+ export declare class SmartPoolV2 extends TypedEventTarget<SmartPoolV2EventMap> {
50
+ private clientMap;
51
+ private affinityGroups;
52
+ private defaultQueue?;
53
+ private jobStore;
54
+ private executionContexts;
55
+ private idleServers;
56
+ private serverPerformance;
57
+ private options;
58
+ private isReady;
59
+ private readyResolve?;
60
+ constructor(clients: (ComfyApi | string)[], options?: SmartPoolV2Options);
61
+ /**
62
+ * Initialize pool and connect all clients
63
+ */
64
+ connect(): Promise<void>;
65
+ /**
66
+ * Wait for pool to be ready
67
+ */
68
+ ready(): Promise<void>;
69
+ /**
70
+ * Enqueue a workflow - automatically routed by workflow hash
71
+ * Optional preferredClientIds overrides default routing for this specific job
72
+ */
73
+ enqueue(workflow: Workflow<any>, options?: {
74
+ preferredClientIds?: string[];
75
+ priority?: number;
76
+ metadata?: Record<string, any>;
77
+ }): Promise<JobId>;
78
+ /**
79
+ * Set workflow affinity - auto-creates group by workflow hash
80
+ * Maps workflow hash to preferred servers
81
+ */
82
+ setAffinity(workflow: object, affinity: Omit<WorkflowAffinity, "workflowHash">): void;
83
+ /**
84
+ * Get job by ID
85
+ */
86
+ getJob(jobId: JobId): JobRecord | undefined;
87
+ /**
88
+ * Shutdown pool
89
+ */
90
+ shutdown(): void;
91
+ /**
92
+ * Get server performance metrics
93
+ */
94
+ getServerPerformance(clientId: string): ServerPerformanceMetrics | undefined;
95
+ private createAffinityGroup;
96
+ /**
97
+ * Process affinity group queue - triggered by events only (no polling)
98
+ */
99
+ private processAffinityGroup;
100
+ /**
101
+ * Enqueue job on server and manage execution
102
+ */
103
+ private enqueueJobOnServer;
104
+ /**
105
+ * Handle job completion
106
+ */
107
+ private handleJobCompletion;
108
+ /**
109
+ * Handle job failure
110
+ */
111
+ private handleJobFailure;
112
+ /**
113
+ * Handle job timeout
114
+ */
115
+ private handleJobTimeout;
116
+ private updateServerPerformance;
117
+ private sortServersByPerformance;
118
+ }
119
+ export {};
120
120
  //# sourceMappingURL=SmartPoolV2.d.ts.map