comfyui-node 1.0.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.
- package/LICENSE +21 -0
- package/README.md +601 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/call-wrapper.d.ts +115 -0
- package/dist/call-wrapper.d.ts.map +1 -0
- package/dist/call-wrapper.js +432 -0
- package/dist/call-wrapper.js.map +1 -0
- package/dist/client.d.ts +233 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +719 -0
- package/dist/client.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -0
- package/dist/features/abstract.d.ts +15 -0
- package/dist/features/abstract.d.ts.map +1 -0
- package/dist/features/abstract.js +19 -0
- package/dist/features/abstract.js.map +1 -0
- package/dist/features/base.d.ts +9 -0
- package/dist/features/base.d.ts.map +1 -0
- package/dist/features/base.js +15 -0
- package/dist/features/base.js.map +1 -0
- package/dist/features/feature-flags.d.ts +14 -0
- package/dist/features/feature-flags.d.ts.map +1 -0
- package/dist/features/feature-flags.js +27 -0
- package/dist/features/feature-flags.js.map +1 -0
- package/dist/features/file.d.ts +86 -0
- package/dist/features/file.d.ts.map +1 -0
- package/dist/features/file.js +160 -0
- package/dist/features/file.js.map +1 -0
- package/dist/features/history.d.ts +16 -0
- package/dist/features/history.d.ts.map +1 -0
- package/dist/features/history.js +23 -0
- package/dist/features/history.js.map +1 -0
- package/dist/features/index.d.ts +14 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +14 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/manager.d.ts +154 -0
- package/dist/features/manager.d.ts.map +1 -0
- package/dist/features/manager.js +309 -0
- package/dist/features/manager.js.map +1 -0
- package/dist/features/misc.d.ts +17 -0
- package/dist/features/misc.d.ts.map +1 -0
- package/dist/features/misc.js +52 -0
- package/dist/features/misc.js.map +1 -0
- package/dist/features/model.d.ts +39 -0
- package/dist/features/model.d.ts.map +1 -0
- package/dist/features/model.js +79 -0
- package/dist/features/model.js.map +1 -0
- package/dist/features/monitoring.d.ts +90 -0
- package/dist/features/monitoring.d.ts.map +1 -0
- package/dist/features/monitoring.js +129 -0
- package/dist/features/monitoring.js.map +1 -0
- package/dist/features/node.d.ts +42 -0
- package/dist/features/node.d.ts.map +1 -0
- package/dist/features/node.js +68 -0
- package/dist/features/node.js.map +1 -0
- package/dist/features/queue.d.ts +23 -0
- package/dist/features/queue.d.ts.map +1 -0
- package/dist/features/queue.js +68 -0
- package/dist/features/queue.js.map +1 -0
- package/dist/features/system.d.ts +21 -0
- package/dist/features/system.d.ts.map +1 -0
- package/dist/features/system.js +45 -0
- package/dist/features/system.js.map +1 -0
- package/dist/features/terminal.d.ts +25 -0
- package/dist/features/terminal.d.ts.map +1 -0
- package/dist/features/terminal.js +32 -0
- package/dist/features/terminal.js.map +1 -0
- package/dist/features/user.d.ts +42 -0
- package/dist/features/user.d.ts.map +1 -0
- package/dist/features/user.js +76 -0
- package/dist/features/user.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/pool.d.ts +171 -0
- package/dist/pool.d.ts.map +1 -0
- package/dist/pool.js +467 -0
- package/dist/pool.js.map +1 -0
- package/dist/prompt-builder.d.ts +131 -0
- package/dist/prompt-builder.d.ts.map +1 -0
- package/dist/prompt-builder.js +266 -0
- package/dist/prompt-builder.js.map +1 -0
- package/dist/tools.d.ts +10 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +16 -0
- package/dist/tools.js.map +1 -0
- package/dist/typed-event-target.d.ts +7 -0
- package/dist/typed-event-target.d.ts.map +1 -0
- package/dist/typed-event-target.js +19 -0
- package/dist/typed-event-target.js.map +1 -0
- package/dist/types/api.d.ts +212 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +16 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/error.d.ts +72 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +75 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/event.d.ts +164 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/event.js +2 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/manager.d.ts +157 -0
- package/dist/types/manager.d.ts.map +1 -0
- package/dist/types/manager.js +41 -0
- package/dist/types/manager.js.map +1 -0
- package/dist/types/sampler.d.ts +3 -0
- package/dist/types/sampler.d.ts.map +1 -0
- package/dist/types/sampler.js +2 -0
- package/dist/types/sampler.js.map +1 -0
- package/dist/types/tool.d.ts +10 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +2 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/utils/response-error.d.ts +4 -0
- package/dist/utils/response-error.d.ts.map +1 -0
- package/dist/utils/response-error.js +62 -0
- package/dist/utils/response-error.js.map +1 -0
- package/dist/utils/ws-reconnect.d.ts +29 -0
- package/dist/utils/ws-reconnect.d.ts.map +1 -0
- package/dist/utils/ws-reconnect.js +91 -0
- package/dist/utils/ws-reconnect.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { encodeNTPath, encodePosixPath } from "./tools.js";
|
|
2
|
+
import { OSType } from "./types/api.js";
|
|
3
|
+
export class PromptBuilder {
|
|
4
|
+
prompt;
|
|
5
|
+
mapInputKeys = {};
|
|
6
|
+
mapOutputKeys = {};
|
|
7
|
+
bypassNodes = [];
|
|
8
|
+
constructor(prompt, inputKeys, outputKeys) {
|
|
9
|
+
this.prompt = structuredClone(prompt);
|
|
10
|
+
inputKeys.forEach((key) => {
|
|
11
|
+
this.mapInputKeys[key] = undefined;
|
|
12
|
+
});
|
|
13
|
+
outputKeys.forEach((key) => {
|
|
14
|
+
this.mapOutputKeys[key] = undefined;
|
|
15
|
+
});
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new instance of the PromptBuilder with the same prompt, input keys, and output keys.
|
|
20
|
+
*
|
|
21
|
+
* @returns A new instance of the PromptBuilder.
|
|
22
|
+
*/
|
|
23
|
+
clone() {
|
|
24
|
+
const newBuilder = new PromptBuilder(this.prompt, Object.keys(this.mapInputKeys), Object.keys(this.mapOutputKeys));
|
|
25
|
+
newBuilder.mapInputKeys = { ...this.mapInputKeys };
|
|
26
|
+
newBuilder.mapOutputKeys = { ...this.mapOutputKeys };
|
|
27
|
+
newBuilder.bypassNodes = [...this.bypassNodes];
|
|
28
|
+
return newBuilder;
|
|
29
|
+
}
|
|
30
|
+
bypass(nodes) {
|
|
31
|
+
if (!Array.isArray(nodes)) {
|
|
32
|
+
nodes = [nodes];
|
|
33
|
+
}
|
|
34
|
+
const newBuilder = this.clone();
|
|
35
|
+
newBuilder.bypassNodes.push(...nodes);
|
|
36
|
+
return newBuilder;
|
|
37
|
+
}
|
|
38
|
+
reinstate(nodes) {
|
|
39
|
+
if (!Array.isArray(nodes)) {
|
|
40
|
+
nodes = [nodes];
|
|
41
|
+
}
|
|
42
|
+
const newBuilder = this.clone();
|
|
43
|
+
for (const node of nodes) {
|
|
44
|
+
newBuilder.bypassNodes.splice(newBuilder.bypassNodes.indexOf(node), 1);
|
|
45
|
+
}
|
|
46
|
+
return newBuilder;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Sets the input node for a given key. Can be map multiple keys to the same input.
|
|
50
|
+
*
|
|
51
|
+
* @param input - The input node to set.
|
|
52
|
+
* @param key - The key(s) to associate with the input node. Can be array of keys.
|
|
53
|
+
* @returns This builder instance.
|
|
54
|
+
*/
|
|
55
|
+
setInputNode(input, key) {
|
|
56
|
+
return this.setRawInputNode(input, key);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Sets the raw input node for the given input and key. This will bypass the typing check. Use for dynamic nodes.
|
|
60
|
+
*
|
|
61
|
+
* @param input - The input node to be set.
|
|
62
|
+
* @param key - The key associated with the input node.
|
|
63
|
+
* @returns The current instance for method chaining.
|
|
64
|
+
*/
|
|
65
|
+
setRawInputNode(input, key) {
|
|
66
|
+
this.mapInputKeys[input] = key;
|
|
67
|
+
return this.clone();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Appends raw input node keys to the map of input keys. This will bypass the typing check. Use for dynamic nodes.
|
|
71
|
+
*
|
|
72
|
+
* @param input - The input node to which the keys will be appended.
|
|
73
|
+
* @param key - The key or array of keys to append to the input node.
|
|
74
|
+
* @returns A clone of the current instance with the updated input keys.
|
|
75
|
+
*/
|
|
76
|
+
appendRawInputNode(input, key) {
|
|
77
|
+
let keys = typeof key === "string" ? [key] : key;
|
|
78
|
+
if (typeof this.mapInputKeys[input] === "string") {
|
|
79
|
+
this.mapInputKeys[input] = [this.mapInputKeys[input]];
|
|
80
|
+
}
|
|
81
|
+
this.mapInputKeys[input]?.push(...keys);
|
|
82
|
+
return this.clone();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Appends mapped key into the input node.
|
|
86
|
+
*
|
|
87
|
+
* @param input - The input node to append.
|
|
88
|
+
* @param key - The key(s) to associate with the input node. Can be array of keys.
|
|
89
|
+
* @returns The updated prompt builder.
|
|
90
|
+
*/
|
|
91
|
+
appendInputNode(input, key) {
|
|
92
|
+
return this.appendRawInputNode(input, key);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sets the output node for a given key. This will bypass the typing check. Use for dynamic nodes.
|
|
96
|
+
*
|
|
97
|
+
* @param output - The output node to set.
|
|
98
|
+
* @param key - The key to associate with the output node.
|
|
99
|
+
* @returns This builder instance.
|
|
100
|
+
*/
|
|
101
|
+
setRawOutputNode(output, key) {
|
|
102
|
+
this.mapOutputKeys[output] = key;
|
|
103
|
+
return this.clone();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Sets the output node for a given key.
|
|
107
|
+
*
|
|
108
|
+
* @param output - The output node to set.
|
|
109
|
+
* @param key - The key to associate with the output node.
|
|
110
|
+
* @returns This builder instance.
|
|
111
|
+
*/
|
|
112
|
+
setOutputNode(output, key) {
|
|
113
|
+
return this.setRawOutputNode(output, key);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Sets the value for a specific input key in the prompt builder.
|
|
117
|
+
*
|
|
118
|
+
* @template V - The type of the value being set.
|
|
119
|
+
* @param {I} key - The input key.
|
|
120
|
+
* @param {V} value - The value to set.
|
|
121
|
+
* @param {OSType} [encodeOs] - The OS type to encode the path.
|
|
122
|
+
* @returns A new prompt builder with the updated value.
|
|
123
|
+
* @throws {Error} - If the key is not found.
|
|
124
|
+
*/
|
|
125
|
+
input(key, value, encodeOs) {
|
|
126
|
+
if (value !== undefined) {
|
|
127
|
+
let valueToSet = value;
|
|
128
|
+
/**
|
|
129
|
+
* Handle encode path if needed, use for load models path
|
|
130
|
+
*/
|
|
131
|
+
if (encodeOs === OSType.NT && typeof valueToSet === "string") {
|
|
132
|
+
valueToSet = encodeNTPath(valueToSet);
|
|
133
|
+
}
|
|
134
|
+
else if (encodeOs === OSType.POSIX && typeof valueToSet === "string") {
|
|
135
|
+
valueToSet = encodePosixPath(valueToSet);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Map the input key to the path in the prompt object
|
|
139
|
+
*/
|
|
140
|
+
let paths = this.mapInputKeys[key];
|
|
141
|
+
if (!paths) {
|
|
142
|
+
throw new Error(`Key ${key} not found`);
|
|
143
|
+
}
|
|
144
|
+
if (typeof paths === "string") {
|
|
145
|
+
paths = [paths];
|
|
146
|
+
}
|
|
147
|
+
for (const path of paths) {
|
|
148
|
+
const keys = path.split(".");
|
|
149
|
+
let current = this.prompt;
|
|
150
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
151
|
+
if (!current[keys[i]]) {
|
|
152
|
+
current[keys[i]] = {}; // Allow setting value to undefined path
|
|
153
|
+
}
|
|
154
|
+
current = current[keys[i]];
|
|
155
|
+
}
|
|
156
|
+
current[keys[keys.length - 1]] = valueToSet;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Sets the value for a any input key in the prompt builder.
|
|
163
|
+
*
|
|
164
|
+
* @template V - The type of the value being set.
|
|
165
|
+
* @param {string} key - The input key.
|
|
166
|
+
* @param {V} value - The value to set.
|
|
167
|
+
* @param {OSType} [encodeOs] - The OS type to encode the path.
|
|
168
|
+
* @returns A new prompt builder with the updated value.
|
|
169
|
+
* @throws {Error} - If the key is not found.
|
|
170
|
+
*/
|
|
171
|
+
inputRaw(key, value, encodeOs) {
|
|
172
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
173
|
+
throw new Error(`Invalid key: ${key}`);
|
|
174
|
+
}
|
|
175
|
+
if (value !== undefined) {
|
|
176
|
+
let valueToSet = value;
|
|
177
|
+
/**
|
|
178
|
+
* Handle encode path if needed, use for load models path
|
|
179
|
+
*/
|
|
180
|
+
if (encodeOs === OSType.NT && typeof valueToSet === "string") {
|
|
181
|
+
valueToSet = encodeNTPath(valueToSet);
|
|
182
|
+
}
|
|
183
|
+
else if (encodeOs === OSType.POSIX && typeof valueToSet === "string") {
|
|
184
|
+
valueToSet = encodePosixPath(valueToSet);
|
|
185
|
+
}
|
|
186
|
+
const keys = key.split(".");
|
|
187
|
+
let current = this.prompt;
|
|
188
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
189
|
+
if (keys[i] === "__proto__" || keys[i] === "constructor")
|
|
190
|
+
continue;
|
|
191
|
+
if (!current[keys[i]]) {
|
|
192
|
+
current[keys[i]] = {}; // Allow to set value to undefined path
|
|
193
|
+
}
|
|
194
|
+
current = current[keys[i]];
|
|
195
|
+
}
|
|
196
|
+
if (keys[keys.length - 1] !== "__proto__" && keys[keys.length - 1] !== "constructor") {
|
|
197
|
+
current[keys[keys.length - 1]] = valueToSet;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* @deprecated Please call `input` directly instead
|
|
204
|
+
*/
|
|
205
|
+
get caller() {
|
|
206
|
+
return this;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Gets the workflow object of the prompt builder.
|
|
210
|
+
*/
|
|
211
|
+
get workflow() {
|
|
212
|
+
return this.prompt;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Validates that all declared output keys are mapped to existing nodes in the workflow.
|
|
216
|
+
* Throws an Error listing missing mappings.
|
|
217
|
+
*/
|
|
218
|
+
validateOutputMappings() {
|
|
219
|
+
const missing = [];
|
|
220
|
+
const promptAny = this.prompt;
|
|
221
|
+
for (const [k, v] of Object.entries(this.mapOutputKeys)) {
|
|
222
|
+
if (!v || typeof v !== 'string' || !(Object.prototype.hasOwnProperty.call(promptAny, v))) {
|
|
223
|
+
missing.push(`${k}:${v || 'UNMAPPED'}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (missing.length) {
|
|
227
|
+
throw new Error(`Unmapped or missing output nodes: ${missing.join(', ')}`);
|
|
228
|
+
}
|
|
229
|
+
return this;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Detect simple circular references in node inputs (node referencing itself directly or via immediate tuple link).
|
|
233
|
+
* More advanced graph cycles can be added later.
|
|
234
|
+
*/
|
|
235
|
+
validateNoImmediateCycles() {
|
|
236
|
+
const promptAny2 = this.prompt;
|
|
237
|
+
for (const [nodeId, nodeAny] of Object.entries(promptAny2)) {
|
|
238
|
+
const inputs = nodeAny?.inputs || {};
|
|
239
|
+
for (const input of Object.values(inputs)) {
|
|
240
|
+
if (Array.isArray(input) && input[0] === nodeId) {
|
|
241
|
+
throw new Error(`Immediate self-cycle detected at node ${nodeId}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return this;
|
|
246
|
+
}
|
|
247
|
+
/** Serialize builder state (excluding functions) */
|
|
248
|
+
toJSON() {
|
|
249
|
+
return {
|
|
250
|
+
prompt: this.prompt,
|
|
251
|
+
mapInputKeys: this.mapInputKeys,
|
|
252
|
+
mapOutputKeys: this.mapOutputKeys,
|
|
253
|
+
bypassNodes: this.bypassNodes
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
static fromJSON(data) {
|
|
257
|
+
const keysIn = Object.keys(data.mapInputKeys || {});
|
|
258
|
+
const keysOut = Object.keys(data.mapOutputKeys || {});
|
|
259
|
+
const builder = new PromptBuilder(data.prompt, keysIn, keysOut);
|
|
260
|
+
builder.mapInputKeys = data.mapInputKeys || {};
|
|
261
|
+
builder.mapOutputKeys = data.mapOutputKeys || {};
|
|
262
|
+
builder.bypassNodes = data.bypassNodes || [];
|
|
263
|
+
return builder;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const randomInt: (min: number, max: number) => number;
|
|
2
|
+
export declare const delay: (ms: number) => Promise<unknown>;
|
|
3
|
+
export declare const seed: () => number;
|
|
4
|
+
/**
|
|
5
|
+
* Encode a POSIX path to NT path
|
|
6
|
+
* Useful for loading model with Windows's ComfyUI Client
|
|
7
|
+
*/
|
|
8
|
+
export declare const encodeNTPath: (path: string) => string;
|
|
9
|
+
export declare const encodePosixPath: (path: string) => string;
|
|
10
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,WAEjD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,qBAAsD,CAAC;AAEvF,eAAO,MAAM,IAAI,cAA6C,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,WAExC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,WAE3C,CAAC"}
|
package/dist/tools.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const randomInt = (min, max) => {
|
|
2
|
+
return Math.floor(Math.random() * (max - min + 1) + min);
|
|
3
|
+
};
|
|
4
|
+
export const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
5
|
+
export const seed = () => randomInt(10000000000, 999999999999);
|
|
6
|
+
/**
|
|
7
|
+
* Encode a POSIX path to NT path
|
|
8
|
+
* Useful for loading model with Windows's ComfyUI Client
|
|
9
|
+
*/
|
|
10
|
+
export const encodeNTPath = (path) => {
|
|
11
|
+
return path.replace(/\//g, "\\");
|
|
12
|
+
};
|
|
13
|
+
export const encodePosixPath = (path) => {
|
|
14
|
+
return path.replace(/\\/g, "/");
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class TypedEventTarget<M extends Record<string, CustomEvent<any>>> extends EventTarget {
|
|
2
|
+
on<K extends keyof M>(type: K, handler: (ev: M[K]) => void, options?: AddEventListenerOptions | boolean): () => void;
|
|
3
|
+
off<K extends keyof M>(type: K, handler: (ev: M[K]) => void, options?: EventListenerOptions | boolean): void;
|
|
4
|
+
once<K extends keyof M>(type: K, handler: (ev: M[K]) => void, options?: AddEventListenerOptions | boolean): () => void;
|
|
5
|
+
emit<K extends keyof M>(type: K, event: M[K]): void;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=typed-event-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-event-target.d.ts","sourceRoot":"","sources":["../src/typed-event-target.ts"],"names":[],"mappings":"AAEA,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,SAAQ,WAAW;IAC3F,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO;IAIvG,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAGrG,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO;IAIzG,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAG7C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Lightweight strongly-typed EventTarget wrapper without exploding union overloads.
|
|
2
|
+
// M is a mapping of event name to CustomEvent<Detail>.
|
|
3
|
+
export class TypedEventTarget extends EventTarget {
|
|
4
|
+
on(type, handler, options) {
|
|
5
|
+
this.addEventListener(type, handler, options);
|
|
6
|
+
return () => this.off(type, handler, options);
|
|
7
|
+
}
|
|
8
|
+
off(type, handler, options) {
|
|
9
|
+
this.removeEventListener(type, handler, options);
|
|
10
|
+
}
|
|
11
|
+
once(type, handler, options) {
|
|
12
|
+
const off = this.on(type, (ev) => { off(); handler(ev); }, { ...(typeof options === 'object' ? options : {}), once: true });
|
|
13
|
+
return off;
|
|
14
|
+
}
|
|
15
|
+
emit(type, event) {
|
|
16
|
+
this.dispatchEvent(event);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=typed-event-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-event-target.js","sourceRoot":"","sources":["../src/typed-event-target.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,uDAAuD;AACvD,MAAM,OAAO,gBAA6D,SAAQ,WAAW;IAC3F,EAAE,CAAoB,IAAO,EAAE,OAA2B,EAAE,OAA2C;QACrG,IAAI,CAAC,gBAAgB,CAAC,IAAc,EAAE,OAAwB,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,GAAG,CAAoB,IAAO,EAAE,OAA2B,EAAE,OAAwC;QACnG,IAAI,CAAC,mBAAmB,CAAC,IAAc,EAAE,OAAwB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAoB,IAAO,EAAE,OAA2B,EAAE,OAA2C;QACvG,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClI,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAoB,IAAO,EAAE,KAAW;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
export declare enum OSType {
|
|
2
|
+
/**
|
|
3
|
+
* Unix-like operating systems
|
|
4
|
+
*/
|
|
5
|
+
POSIX = "posix",
|
|
6
|
+
/**
|
|
7
|
+
* Windows operating systems
|
|
8
|
+
*/
|
|
9
|
+
NT = "nt",
|
|
10
|
+
/**
|
|
11
|
+
* Java virtual machine
|
|
12
|
+
*/
|
|
13
|
+
JAVA = "java"
|
|
14
|
+
}
|
|
15
|
+
export interface BasicCredentials {
|
|
16
|
+
type: "basic";
|
|
17
|
+
username: string;
|
|
18
|
+
password: string;
|
|
19
|
+
}
|
|
20
|
+
export interface BearerTokenCredentials {
|
|
21
|
+
type: "bearer_token";
|
|
22
|
+
token: string;
|
|
23
|
+
}
|
|
24
|
+
export interface CustomCredentials {
|
|
25
|
+
type: "custom";
|
|
26
|
+
headers: Record<string, string>;
|
|
27
|
+
}
|
|
28
|
+
export interface HistoryResponse {
|
|
29
|
+
[key: string]: HistoryEntry;
|
|
30
|
+
}
|
|
31
|
+
export interface HistoryEntry {
|
|
32
|
+
prompt: PromptData;
|
|
33
|
+
outputs: OutputData;
|
|
34
|
+
status: StatusData;
|
|
35
|
+
}
|
|
36
|
+
export interface PromptData {
|
|
37
|
+
[index: number]: number | string | NodeData | MetadataData;
|
|
38
|
+
}
|
|
39
|
+
export interface NodeData {
|
|
40
|
+
[key: string]: {
|
|
41
|
+
inputs: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
};
|
|
44
|
+
class_type: string;
|
|
45
|
+
_meta: {
|
|
46
|
+
title: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface MetadataData {
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
}
|
|
53
|
+
export interface ImageInfo {
|
|
54
|
+
filename: string;
|
|
55
|
+
subfolder: string;
|
|
56
|
+
type: string;
|
|
57
|
+
}
|
|
58
|
+
export interface OutputData {
|
|
59
|
+
[key: string]: {
|
|
60
|
+
width?: number[];
|
|
61
|
+
height?: number[];
|
|
62
|
+
ratio?: number[];
|
|
63
|
+
images?: ImageInfo[];
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface StatusData {
|
|
67
|
+
status_str: string;
|
|
68
|
+
completed: boolean;
|
|
69
|
+
messages: [string, {
|
|
70
|
+
[key: string]: any;
|
|
71
|
+
}][];
|
|
72
|
+
}
|
|
73
|
+
export interface QueueResponse {
|
|
74
|
+
queue_running: QueueItem[];
|
|
75
|
+
queue_pending: QueueItem[];
|
|
76
|
+
}
|
|
77
|
+
export interface QueueItem {
|
|
78
|
+
[index: number]: number | string | NodeData | MetadataData;
|
|
79
|
+
}
|
|
80
|
+
export interface QueuePromptResponse {
|
|
81
|
+
prompt_id: string;
|
|
82
|
+
number: number;
|
|
83
|
+
node_errors: {
|
|
84
|
+
[key: string]: any;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export interface SystemStatsResponse {
|
|
88
|
+
system: {
|
|
89
|
+
os: OSType;
|
|
90
|
+
python_version: string;
|
|
91
|
+
embedded_python: boolean;
|
|
92
|
+
};
|
|
93
|
+
devices: DeviceStats[];
|
|
94
|
+
}
|
|
95
|
+
export interface DeviceStats {
|
|
96
|
+
name: string;
|
|
97
|
+
type: string;
|
|
98
|
+
index: number;
|
|
99
|
+
vram_total: number;
|
|
100
|
+
vram_free: number;
|
|
101
|
+
torch_vram_total: number;
|
|
102
|
+
torch_vram_free: number;
|
|
103
|
+
}
|
|
104
|
+
export interface QueueStatus {
|
|
105
|
+
exec_info: {
|
|
106
|
+
queue_remaining: number;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface NodeDefsResponse {
|
|
110
|
+
[key: string]: NodeDef;
|
|
111
|
+
}
|
|
112
|
+
export interface NodeDef {
|
|
113
|
+
input: {
|
|
114
|
+
required: {
|
|
115
|
+
[key: string]: [string[], {
|
|
116
|
+
tooltip?: string;
|
|
117
|
+
}] | [string, {
|
|
118
|
+
tooltip?: string;
|
|
119
|
+
}] | TStringInput | TBoolInput | TNumberInput;
|
|
120
|
+
};
|
|
121
|
+
optional?: {
|
|
122
|
+
[key: string]: [string[], {
|
|
123
|
+
tooltip?: string;
|
|
124
|
+
}] | [string, {
|
|
125
|
+
tooltip?: string;
|
|
126
|
+
}] | TStringInput | TBoolInput | TNumberInput;
|
|
127
|
+
};
|
|
128
|
+
hidden: {
|
|
129
|
+
[key: string]: string;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
input_order: {
|
|
133
|
+
required: string[];
|
|
134
|
+
optional?: string[];
|
|
135
|
+
hidden: string[];
|
|
136
|
+
};
|
|
137
|
+
output: string[];
|
|
138
|
+
output_is_list: boolean[];
|
|
139
|
+
output_name: string[];
|
|
140
|
+
name: string;
|
|
141
|
+
display_name: string;
|
|
142
|
+
description: string;
|
|
143
|
+
category: string;
|
|
144
|
+
python_module: string;
|
|
145
|
+
output_node: boolean;
|
|
146
|
+
output_tooltips: string[];
|
|
147
|
+
}
|
|
148
|
+
export interface NodeProgress {
|
|
149
|
+
value: number;
|
|
150
|
+
max: number;
|
|
151
|
+
prompt_id: string;
|
|
152
|
+
node: string;
|
|
153
|
+
}
|
|
154
|
+
export interface IInputNumberConfig {
|
|
155
|
+
default: number;
|
|
156
|
+
min: number;
|
|
157
|
+
max: number;
|
|
158
|
+
step?: number;
|
|
159
|
+
round?: number;
|
|
160
|
+
tooltip?: string;
|
|
161
|
+
}
|
|
162
|
+
export interface IInputStringConfig {
|
|
163
|
+
default?: string;
|
|
164
|
+
multiline?: boolean;
|
|
165
|
+
dynamicPrompts?: boolean;
|
|
166
|
+
tooltip?: string;
|
|
167
|
+
}
|
|
168
|
+
export type TStringInput = ["STRING", IInputStringConfig];
|
|
169
|
+
export type TBoolInput = ["BOOLEAN", {
|
|
170
|
+
default: boolean;
|
|
171
|
+
tooltip?: string;
|
|
172
|
+
}];
|
|
173
|
+
export type TNumberInput = ["INT" | "FLOAT", IInputNumberConfig];
|
|
174
|
+
/**
|
|
175
|
+
* Represents a model folder in the ComfyUI system
|
|
176
|
+
* @experimental API that may change in future versions
|
|
177
|
+
*/
|
|
178
|
+
export interface ModelFolder {
|
|
179
|
+
name: string;
|
|
180
|
+
folders: string[];
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Represents a model file in the ComfyUI system
|
|
184
|
+
* @experimental API that may change in future versions
|
|
185
|
+
*/
|
|
186
|
+
export interface ModelFile {
|
|
187
|
+
name: string;
|
|
188
|
+
pathIndex: number;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Response format for model preview images
|
|
192
|
+
* @experimental API that may change in future versions
|
|
193
|
+
*/
|
|
194
|
+
export interface ModelPreviewResponse {
|
|
195
|
+
body: ArrayBuffer;
|
|
196
|
+
contentType: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Response format for a list of model files
|
|
200
|
+
* @experimental API that may change in future versions
|
|
201
|
+
*/
|
|
202
|
+
export interface ModelFileListResponse {
|
|
203
|
+
files: ModelFile[];
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Response format for a list of model folders
|
|
207
|
+
* @experimental API that may change in future versions
|
|
208
|
+
*/
|
|
209
|
+
export interface ModelFoldersResponse {
|
|
210
|
+
folders: ModelFolder[];
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export var OSType;
|
|
2
|
+
(function (OSType) {
|
|
3
|
+
/**
|
|
4
|
+
* Unix-like operating systems
|
|
5
|
+
*/
|
|
6
|
+
OSType["POSIX"] = "posix";
|
|
7
|
+
/**
|
|
8
|
+
* Windows operating systems
|
|
9
|
+
*/
|
|
10
|
+
OSType["NT"] = "nt";
|
|
11
|
+
/**
|
|
12
|
+
* Java virtual machine
|
|
13
|
+
*/
|
|
14
|
+
OSType["JAVA"] = "java";
|
|
15
|
+
})(OSType || (OSType = {}));
|
|
16
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MAaX;AAbD,WAAY,MAAM;IAChB;;OAEG;IACH,yBAAe,CAAA;IACf;;OAEG;IACH,mBAAS,CAAA;IACT;;OAEG;IACH,uBAAa,CAAA;AACf,CAAC,EAbW,MAAM,KAAN,MAAM,QAajB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export declare enum ErrorCode {
|
|
2
|
+
WENT_MISSING = "E_WENT_MISSING",
|
|
3
|
+
FAILED_CACHE = "E_FAILED_CACHE",
|
|
4
|
+
ENQUEUE_FAILED = "E_ENQUEUE_FAILED",
|
|
5
|
+
DISCONNECTED = "E_DISCONNECTED",
|
|
6
|
+
EXECUTION_FAILED = "E_EXECUTION_FAILED",
|
|
7
|
+
CUSTOM_EVENT = "E_CUSTOM_EVENT",
|
|
8
|
+
EXECUTION_INTERRUPTED = "E_EXECUTION_INTERRUPTED",
|
|
9
|
+
MISSING_NODE = "E_MISSING_NODE"
|
|
10
|
+
}
|
|
11
|
+
export declare class CallWrapperError extends Error {
|
|
12
|
+
name: string;
|
|
13
|
+
/** Stable machine-readable error code */
|
|
14
|
+
code: ErrorCode | string;
|
|
15
|
+
}
|
|
16
|
+
export declare class WentMissingError extends CallWrapperError {
|
|
17
|
+
name: string;
|
|
18
|
+
code: ErrorCode;
|
|
19
|
+
}
|
|
20
|
+
export declare class FailedCacheError extends CallWrapperError {
|
|
21
|
+
name: string;
|
|
22
|
+
code: ErrorCode;
|
|
23
|
+
}
|
|
24
|
+
export declare class EnqueueFailedError extends CallWrapperError {
|
|
25
|
+
name: string;
|
|
26
|
+
code: ErrorCode;
|
|
27
|
+
/** HTTP status code when available */
|
|
28
|
+
status?: number;
|
|
29
|
+
/** HTTP status text */
|
|
30
|
+
statusText?: string;
|
|
31
|
+
/** Request URL (if known) */
|
|
32
|
+
url?: string;
|
|
33
|
+
/** HTTP method (if known) */
|
|
34
|
+
method?: string;
|
|
35
|
+
/** Parsed JSON body (if any) */
|
|
36
|
+
bodyJSON?: any;
|
|
37
|
+
/** Raw body text snippet (truncated) */
|
|
38
|
+
bodyTextSnippet?: string;
|
|
39
|
+
/** Extracted concise reason message */
|
|
40
|
+
reason?: string;
|
|
41
|
+
constructor(message: string, init?: {
|
|
42
|
+
cause?: any;
|
|
43
|
+
status?: number;
|
|
44
|
+
statusText?: string;
|
|
45
|
+
url?: string;
|
|
46
|
+
method?: string;
|
|
47
|
+
bodyJSON?: any;
|
|
48
|
+
bodyTextSnippet?: string;
|
|
49
|
+
reason?: string;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export declare class DisconnectedError extends CallWrapperError {
|
|
53
|
+
name: string;
|
|
54
|
+
code: ErrorCode;
|
|
55
|
+
}
|
|
56
|
+
export declare class ExecutionFailedError extends CallWrapperError {
|
|
57
|
+
name: string;
|
|
58
|
+
code: ErrorCode;
|
|
59
|
+
}
|
|
60
|
+
export declare class CustomEventError extends CallWrapperError {
|
|
61
|
+
name: string;
|
|
62
|
+
code: ErrorCode;
|
|
63
|
+
}
|
|
64
|
+
export declare class ExecutionInterruptedError extends CallWrapperError {
|
|
65
|
+
name: string;
|
|
66
|
+
code: ErrorCode;
|
|
67
|
+
}
|
|
68
|
+
export declare class MissingNodeError extends CallWrapperError {
|
|
69
|
+
name: string;
|
|
70
|
+
code: ErrorCode;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,YAAY,mBAAmB;IAC/B,YAAY,mBAAmB;IAC/B,cAAc,qBAAqB;IACnC,YAAY,mBAAmB;IAC/B,gBAAgB,uBAAuB;IACvC,YAAY,mBAAmB;IAC/B,qBAAqB,4BAA4B;IACjD,YAAY,mBAAmB;CAChC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,IAAI,SAAsB;IAC1B,yCAAyC;IACzC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAM;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,IAAI,SAAsB;IAC1B,IAAI,YAA0B;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,IAAI,SAAsB;IAC1B,IAAI,YAA0B;CAC/B;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,IAAI,SAAwB;IAC5B,IAAI,YAA4B;IAChC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAClC,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAYF;AAED,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,IAAI,SAAuB;IAC3B,IAAI,YAA0B;CAC/B;AAED,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,IAAI,SAA0B;IAC9B,IAAI,YAA8B;CACnC;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,IAAI,SAAsB;IAC1B,IAAI,YAA0B;CAC/B;AAED,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,IAAI,SAA+B;IACnC,IAAI,YAAmC;CACxC;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,IAAI,SAAsB;IAC1B,IAAI,YAA0B;CAC/B"}
|