tongflow 0.1.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 +661 -0
- package/README.md +145 -0
- package/abi/tongflow.abi.json +2590 -0
- package/dist/canvas-messages.cjs +4069 -0
- package/dist/canvas-messages.d.cts +13 -0
- package/dist/canvas-messages.d.ts +13 -0
- package/dist/canvas-messages.js +4066 -0
- package/dist/canvas.cjs +24711 -0
- package/dist/canvas.css +2 -0
- package/dist/canvas.d.cts +4121 -0
- package/dist/canvas.d.ts +4121 -0
- package/dist/canvas.js +24495 -0
- package/dist/index.cjs +7584 -0
- package/dist/index.d.cts +5799 -0
- package/dist/index.d.ts +5799 -0
- package/dist/index.js +7461 -0
- package/package.json +143 -0
package/dist/canvas.d.ts
ADDED
|
@@ -0,0 +1,4121 @@
|
|
|
1
|
+
import { Edge, EdgeTypes, Node, NodeTypes, OnConnect, OnEdgesChange, OnNodesChange, OnSelectionChangeFunc, PanelPosition } from "@xyflow/react";
|
|
2
|
+
import * as React$2 from "react";
|
|
3
|
+
import React$1, { ChangeEvent, Component, ErrorInfo, ReactNode } from "react";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import "zustand/vanilla";
|
|
6
|
+
import { ClassValue } from "clsx";
|
|
7
|
+
import { VariantProps } from "class-variance-authority";
|
|
8
|
+
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
9
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
10
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
11
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
12
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
13
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
14
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
15
|
+
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
16
|
+
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
17
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
18
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
19
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
20
|
+
import { JSONSchema7 } from "json-schema";
|
|
21
|
+
import { FromSchema } from "json-schema-to-ts";
|
|
22
|
+
//#region src/canvas/components/lib-input.d.ts
|
|
23
|
+
interface LibInputProps {
|
|
24
|
+
resourceType: "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "FILE" | "MODEL";
|
|
25
|
+
}
|
|
26
|
+
declare const LibInput: ({ resourceType }: LibInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/canvas/components/speaker-voice-recorder.d.ts
|
|
29
|
+
declare const SpeakerVoiceRecorder: ({ trigger, onChange }: {
|
|
30
|
+
trigger: ReactNode;
|
|
31
|
+
onChange: (key: string) => void;
|
|
32
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/canvas/constants/qwen-speakers.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Qwen3-TTS CustomVoice preset speakers — the 9 timbres shipped in
|
|
37
|
+
* `Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice`.
|
|
38
|
+
*/
|
|
39
|
+
type QwenSpeakerGender = "male" | "female";
|
|
40
|
+
interface QwenSpeaker {
|
|
41
|
+
value: string;
|
|
42
|
+
gender: QwenSpeakerGender;
|
|
43
|
+
/** Translation key under `Languages` for display. */
|
|
44
|
+
langKey: string;
|
|
45
|
+
/** Qwen3-TTS `language` parameter value for this speaker's native language. */
|
|
46
|
+
language: string;
|
|
47
|
+
}
|
|
48
|
+
declare const QWEN_SPEAKERS: QwenSpeaker[];
|
|
49
|
+
declare const DEFAULT_QWEN_SPEAKER: QwenSpeaker;
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/canvas/flow-canvas.d.ts
|
|
52
|
+
interface FlowCanvasHandle {
|
|
53
|
+
/** Fit the viewport to the whole graph, or to `nodeIds` when given. */
|
|
54
|
+
fitView: (nodeIds?: string[]) => void;
|
|
55
|
+
/** Smoothly center one node. */
|
|
56
|
+
focusNode: (nodeId: string) => void;
|
|
57
|
+
/** Tidy the whole canvas (or the components containing `seedIds`). */
|
|
58
|
+
tidyLayout: (seedIds?: string[]) => boolean;
|
|
59
|
+
}
|
|
60
|
+
interface FlowCanvasProps {
|
|
61
|
+
/** Overlay rendered inside a React Flow `Panel` (e.g. an action island). */
|
|
62
|
+
children?: ReactNode;
|
|
63
|
+
/** Where the `children` panel is anchored (default bottom-center). */
|
|
64
|
+
panelPosition?: PanelPosition;
|
|
65
|
+
panelClassName?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Keep the canvas mounted but hidden and inert (the host is showing an
|
|
68
|
+
* alternative view over it).
|
|
69
|
+
*/
|
|
70
|
+
hidden?: boolean;
|
|
71
|
+
/** Show React Flow's zoom controls (default true). */
|
|
72
|
+
showControls?: boolean;
|
|
73
|
+
className?: string;
|
|
74
|
+
/** Follow newly created nodes with the camera (default true). */
|
|
75
|
+
followNewNodes?: boolean;
|
|
76
|
+
}
|
|
77
|
+
declare const FlowCanvas: import("react").ForwardRefExoticComponent<FlowCanvasProps & import("react").RefAttributes<FlowCanvasHandle>>;
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region src/core/generated/abi/index.d.ts
|
|
80
|
+
declare const _slot_gen_text_inputs: {
|
|
81
|
+
readonly type: "object";
|
|
82
|
+
readonly required: readonly ["text"];
|
|
83
|
+
readonly properties: {
|
|
84
|
+
readonly text: {
|
|
85
|
+
readonly type: "string";
|
|
86
|
+
readonly minLength: 1;
|
|
87
|
+
};
|
|
88
|
+
readonly userPrompt: {
|
|
89
|
+
readonly type: "string";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly additionalProperties: false;
|
|
93
|
+
};
|
|
94
|
+
type GenTextInput = FromSchema<typeof _slot_gen_text_inputs>;
|
|
95
|
+
declare const _slot_split_text_inputs: {
|
|
96
|
+
readonly type: "object";
|
|
97
|
+
readonly required: readonly ["text"];
|
|
98
|
+
readonly properties: {
|
|
99
|
+
readonly text: {
|
|
100
|
+
readonly type: "string";
|
|
101
|
+
readonly minLength: 1;
|
|
102
|
+
};
|
|
103
|
+
readonly userPrompt: {
|
|
104
|
+
readonly type: "string";
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
readonly additionalProperties: false;
|
|
108
|
+
};
|
|
109
|
+
type SplitTextInput = FromSchema<typeof _slot_split_text_inputs>;
|
|
110
|
+
declare const _slot_combine_text_inputs: {
|
|
111
|
+
readonly type: "object";
|
|
112
|
+
readonly required: readonly ["texts"];
|
|
113
|
+
readonly properties: {
|
|
114
|
+
readonly texts: {
|
|
115
|
+
readonly type: "array";
|
|
116
|
+
readonly items: {
|
|
117
|
+
readonly type: "string";
|
|
118
|
+
readonly minLength: 1;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
readonly userPrompt: {
|
|
122
|
+
readonly type: "string";
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
readonly additionalProperties: false;
|
|
126
|
+
};
|
|
127
|
+
type CombineTextInput = FromSchema<typeof _slot_combine_text_inputs>;
|
|
128
|
+
declare const _slot_image_fusion_inputs: {
|
|
129
|
+
readonly type: "object";
|
|
130
|
+
readonly required: readonly ["text"];
|
|
131
|
+
readonly properties: {
|
|
132
|
+
readonly text: {
|
|
133
|
+
readonly type: "string";
|
|
134
|
+
readonly minLength: 1;
|
|
135
|
+
};
|
|
136
|
+
readonly images: {
|
|
137
|
+
readonly type: "array";
|
|
138
|
+
readonly items: {
|
|
139
|
+
readonly type: "object";
|
|
140
|
+
readonly required: readonly ["bytesBase64"];
|
|
141
|
+
readonly properties: {
|
|
142
|
+
readonly bytesBase64: {
|
|
143
|
+
readonly type: "string";
|
|
144
|
+
readonly minLength: 1;
|
|
145
|
+
};
|
|
146
|
+
readonly filename: {
|
|
147
|
+
readonly type: "string";
|
|
148
|
+
};
|
|
149
|
+
readonly mime: {
|
|
150
|
+
readonly type: "string";
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
readonly additionalProperties: false;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
readonly seed: {
|
|
157
|
+
readonly type: "integer";
|
|
158
|
+
};
|
|
159
|
+
readonly width: {
|
|
160
|
+
readonly type: "integer";
|
|
161
|
+
};
|
|
162
|
+
readonly height: {
|
|
163
|
+
readonly type: "integer";
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly additionalProperties: false;
|
|
167
|
+
};
|
|
168
|
+
type ImageFusionInput = FromSchema<typeof _slot_image_fusion_inputs>;
|
|
169
|
+
declare const _slot_images_gen_video_inputs: {
|
|
170
|
+
readonly type: "object";
|
|
171
|
+
readonly required: readonly ["text"];
|
|
172
|
+
readonly properties: {
|
|
173
|
+
readonly text: {
|
|
174
|
+
readonly type: "string";
|
|
175
|
+
readonly minLength: 1;
|
|
176
|
+
};
|
|
177
|
+
readonly images: {
|
|
178
|
+
readonly type: "array";
|
|
179
|
+
readonly items: {
|
|
180
|
+
readonly type: "object";
|
|
181
|
+
readonly required: readonly ["bytesBase64"];
|
|
182
|
+
readonly properties: {
|
|
183
|
+
readonly bytesBase64: {
|
|
184
|
+
readonly type: "string";
|
|
185
|
+
readonly minLength: 1;
|
|
186
|
+
};
|
|
187
|
+
readonly filename: {
|
|
188
|
+
readonly type: "string";
|
|
189
|
+
};
|
|
190
|
+
readonly mime: {
|
|
191
|
+
readonly type: "string";
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
readonly additionalProperties: false;
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
readonly duration: {
|
|
198
|
+
readonly type: "number";
|
|
199
|
+
};
|
|
200
|
+
readonly seed: {
|
|
201
|
+
readonly type: "integer";
|
|
202
|
+
};
|
|
203
|
+
readonly width: {
|
|
204
|
+
readonly type: "integer";
|
|
205
|
+
};
|
|
206
|
+
readonly height: {
|
|
207
|
+
readonly type: "integer";
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
readonly additionalProperties: false;
|
|
211
|
+
};
|
|
212
|
+
type ImagesGenVideoInput = FromSchema<typeof _slot_images_gen_video_inputs>;
|
|
213
|
+
declare const _slot_refs_gen_video_inputs: {
|
|
214
|
+
readonly type: "object";
|
|
215
|
+
readonly required: readonly ["text"];
|
|
216
|
+
readonly properties: {
|
|
217
|
+
readonly text: {
|
|
218
|
+
readonly type: "string";
|
|
219
|
+
readonly minLength: 1;
|
|
220
|
+
};
|
|
221
|
+
readonly images: {
|
|
222
|
+
readonly type: "array";
|
|
223
|
+
readonly items: {
|
|
224
|
+
readonly type: "object";
|
|
225
|
+
readonly required: readonly ["bytesBase64"];
|
|
226
|
+
readonly properties: {
|
|
227
|
+
readonly bytesBase64: {
|
|
228
|
+
readonly type: "string";
|
|
229
|
+
readonly minLength: 1;
|
|
230
|
+
};
|
|
231
|
+
readonly filename: {
|
|
232
|
+
readonly type: "string";
|
|
233
|
+
};
|
|
234
|
+
readonly mime: {
|
|
235
|
+
readonly type: "string";
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
readonly additionalProperties: false;
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
readonly videos: {
|
|
242
|
+
readonly type: "array";
|
|
243
|
+
readonly items: {
|
|
244
|
+
readonly type: "object";
|
|
245
|
+
readonly required: readonly ["bytesBase64"];
|
|
246
|
+
readonly properties: {
|
|
247
|
+
readonly bytesBase64: {
|
|
248
|
+
readonly type: "string";
|
|
249
|
+
readonly minLength: 1;
|
|
250
|
+
};
|
|
251
|
+
readonly filename: {
|
|
252
|
+
readonly type: "string";
|
|
253
|
+
};
|
|
254
|
+
readonly mime: {
|
|
255
|
+
readonly type: "string";
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
readonly additionalProperties: false;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
readonly audios: {
|
|
262
|
+
readonly type: "array";
|
|
263
|
+
readonly items: {
|
|
264
|
+
readonly type: "object";
|
|
265
|
+
readonly required: readonly ["bytesBase64"];
|
|
266
|
+
readonly properties: {
|
|
267
|
+
readonly bytesBase64: {
|
|
268
|
+
readonly type: "string";
|
|
269
|
+
readonly minLength: 1;
|
|
270
|
+
};
|
|
271
|
+
readonly filename: {
|
|
272
|
+
readonly type: "string";
|
|
273
|
+
};
|
|
274
|
+
readonly mime: {
|
|
275
|
+
readonly type: "string";
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
readonly additionalProperties: false;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
readonly duration: {
|
|
282
|
+
readonly type: "number";
|
|
283
|
+
};
|
|
284
|
+
readonly seed: {
|
|
285
|
+
readonly type: "integer";
|
|
286
|
+
};
|
|
287
|
+
readonly width: {
|
|
288
|
+
readonly type: "integer";
|
|
289
|
+
};
|
|
290
|
+
readonly height: {
|
|
291
|
+
readonly type: "integer";
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
readonly additionalProperties: false;
|
|
295
|
+
};
|
|
296
|
+
type RefsGenVideoInput = FromSchema<typeof _slot_refs_gen_video_inputs>;
|
|
297
|
+
declare const _slot_image_gen_text_inputs: {
|
|
298
|
+
readonly type: "object";
|
|
299
|
+
readonly required: readonly ["text"];
|
|
300
|
+
readonly properties: {
|
|
301
|
+
readonly text: {
|
|
302
|
+
readonly type: "string";
|
|
303
|
+
};
|
|
304
|
+
readonly system: {
|
|
305
|
+
readonly type: "string";
|
|
306
|
+
};
|
|
307
|
+
readonly max_new_tokens: {
|
|
308
|
+
readonly type: "integer";
|
|
309
|
+
};
|
|
310
|
+
readonly enable_thinking: {
|
|
311
|
+
readonly type: "boolean";
|
|
312
|
+
};
|
|
313
|
+
readonly temperature: {
|
|
314
|
+
readonly type: "number";
|
|
315
|
+
};
|
|
316
|
+
readonly top_p: {
|
|
317
|
+
readonly type: "number";
|
|
318
|
+
};
|
|
319
|
+
readonly top_k: {
|
|
320
|
+
readonly type: "integer";
|
|
321
|
+
};
|
|
322
|
+
readonly image: {
|
|
323
|
+
readonly type: "object";
|
|
324
|
+
readonly required: readonly ["bytesBase64"];
|
|
325
|
+
readonly properties: {
|
|
326
|
+
readonly bytesBase64: {
|
|
327
|
+
readonly type: "string";
|
|
328
|
+
readonly minLength: 1;
|
|
329
|
+
};
|
|
330
|
+
readonly filename: {
|
|
331
|
+
readonly type: "string";
|
|
332
|
+
};
|
|
333
|
+
readonly mime: {
|
|
334
|
+
readonly type: "string";
|
|
335
|
+
};
|
|
336
|
+
};
|
|
337
|
+
readonly additionalProperties: false;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
readonly additionalProperties: false;
|
|
341
|
+
};
|
|
342
|
+
type ImageGenTextInput = FromSchema<typeof _slot_image_gen_text_inputs>;
|
|
343
|
+
declare const _slot_video_gen_text_inputs: {
|
|
344
|
+
readonly type: "object";
|
|
345
|
+
readonly required: readonly ["text", "video"];
|
|
346
|
+
readonly properties: {
|
|
347
|
+
readonly text: {
|
|
348
|
+
readonly type: "string";
|
|
349
|
+
};
|
|
350
|
+
readonly system: {
|
|
351
|
+
readonly type: "string";
|
|
352
|
+
};
|
|
353
|
+
readonly max_new_tokens: {
|
|
354
|
+
readonly type: "integer";
|
|
355
|
+
};
|
|
356
|
+
readonly enable_thinking: {
|
|
357
|
+
readonly type: "boolean";
|
|
358
|
+
};
|
|
359
|
+
readonly temperature: {
|
|
360
|
+
readonly type: "number";
|
|
361
|
+
};
|
|
362
|
+
readonly top_p: {
|
|
363
|
+
readonly type: "number";
|
|
364
|
+
};
|
|
365
|
+
readonly top_k: {
|
|
366
|
+
readonly type: "integer";
|
|
367
|
+
};
|
|
368
|
+
readonly video: {
|
|
369
|
+
readonly type: "object";
|
|
370
|
+
readonly required: readonly ["bytesBase64"];
|
|
371
|
+
readonly properties: {
|
|
372
|
+
readonly bytesBase64: {
|
|
373
|
+
readonly type: "string";
|
|
374
|
+
readonly minLength: 1;
|
|
375
|
+
};
|
|
376
|
+
readonly filename: {
|
|
377
|
+
readonly type: "string";
|
|
378
|
+
};
|
|
379
|
+
readonly mime: {
|
|
380
|
+
readonly type: "string";
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
readonly additionalProperties: false;
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
readonly additionalProperties: false;
|
|
387
|
+
};
|
|
388
|
+
type VideoGenTextInput = FromSchema<typeof _slot_video_gen_text_inputs>;
|
|
389
|
+
declare const _slot_transcribe_inputs: {
|
|
390
|
+
readonly type: "object";
|
|
391
|
+
readonly required: readonly ["audio"];
|
|
392
|
+
readonly properties: {
|
|
393
|
+
readonly context: {
|
|
394
|
+
readonly type: "string";
|
|
395
|
+
};
|
|
396
|
+
readonly language: {
|
|
397
|
+
readonly type: "string";
|
|
398
|
+
};
|
|
399
|
+
readonly max_new_tokens: {
|
|
400
|
+
readonly type: "number";
|
|
401
|
+
};
|
|
402
|
+
readonly audio: {
|
|
403
|
+
readonly type: "object";
|
|
404
|
+
readonly required: readonly ["bytesBase64"];
|
|
405
|
+
readonly properties: {
|
|
406
|
+
readonly bytesBase64: {
|
|
407
|
+
readonly type: "string";
|
|
408
|
+
readonly minLength: 1;
|
|
409
|
+
};
|
|
410
|
+
readonly filename: {
|
|
411
|
+
readonly type: "string";
|
|
412
|
+
};
|
|
413
|
+
readonly mime: {
|
|
414
|
+
readonly type: "string";
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
readonly additionalProperties: false;
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
readonly additionalProperties: false;
|
|
421
|
+
};
|
|
422
|
+
type TranscribeInput = FromSchema<typeof _slot_transcribe_inputs>;
|
|
423
|
+
declare const _slot_concat_videos_inputs: {
|
|
424
|
+
readonly type: "object";
|
|
425
|
+
readonly required: readonly ["videos"];
|
|
426
|
+
readonly properties: {
|
|
427
|
+
readonly videos: {
|
|
428
|
+
readonly type: "array";
|
|
429
|
+
readonly items: {
|
|
430
|
+
readonly type: "object";
|
|
431
|
+
readonly required: readonly ["bytesBase64"];
|
|
432
|
+
readonly properties: {
|
|
433
|
+
readonly bytesBase64: {
|
|
434
|
+
readonly type: "string";
|
|
435
|
+
readonly minLength: 1;
|
|
436
|
+
};
|
|
437
|
+
readonly filename: {
|
|
438
|
+
readonly type: "string";
|
|
439
|
+
};
|
|
440
|
+
readonly mime: {
|
|
441
|
+
readonly type: "string";
|
|
442
|
+
};
|
|
443
|
+
};
|
|
444
|
+
readonly additionalProperties: false;
|
|
445
|
+
};
|
|
446
|
+
};
|
|
447
|
+
};
|
|
448
|
+
readonly additionalProperties: false;
|
|
449
|
+
};
|
|
450
|
+
type ConcatVideosInput = FromSchema<typeof _slot_concat_videos_inputs>;
|
|
451
|
+
declare const _slot_extract_audio_inputs: {
|
|
452
|
+
readonly type: "object";
|
|
453
|
+
readonly required: readonly ["video"];
|
|
454
|
+
readonly properties: {
|
|
455
|
+
readonly video: {
|
|
456
|
+
readonly type: "object";
|
|
457
|
+
readonly required: readonly ["bytesBase64"];
|
|
458
|
+
readonly properties: {
|
|
459
|
+
readonly bytesBase64: {
|
|
460
|
+
readonly type: "string";
|
|
461
|
+
readonly minLength: 1;
|
|
462
|
+
};
|
|
463
|
+
readonly filename: {
|
|
464
|
+
readonly type: "string";
|
|
465
|
+
};
|
|
466
|
+
readonly mime: {
|
|
467
|
+
readonly type: "string";
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
readonly additionalProperties: false;
|
|
471
|
+
};
|
|
472
|
+
};
|
|
473
|
+
readonly additionalProperties: false;
|
|
474
|
+
};
|
|
475
|
+
type ExtractAudioInput = FromSchema<typeof _slot_extract_audio_inputs>;
|
|
476
|
+
declare const _slot_remove_video_audio_inputs: {
|
|
477
|
+
readonly type: "object";
|
|
478
|
+
readonly required: readonly ["video"];
|
|
479
|
+
readonly properties: {
|
|
480
|
+
readonly video: {
|
|
481
|
+
readonly type: "object";
|
|
482
|
+
readonly required: readonly ["bytesBase64"];
|
|
483
|
+
readonly properties: {
|
|
484
|
+
readonly bytesBase64: {
|
|
485
|
+
readonly type: "string";
|
|
486
|
+
readonly minLength: 1;
|
|
487
|
+
};
|
|
488
|
+
readonly filename: {
|
|
489
|
+
readonly type: "string";
|
|
490
|
+
};
|
|
491
|
+
readonly mime: {
|
|
492
|
+
readonly type: "string";
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
readonly additionalProperties: false;
|
|
496
|
+
};
|
|
497
|
+
};
|
|
498
|
+
readonly additionalProperties: false;
|
|
499
|
+
};
|
|
500
|
+
type RemoveVideoAudioInput = FromSchema<typeof _slot_remove_video_audio_inputs>;
|
|
501
|
+
declare const _slot_merge_video_audio_inputs: {
|
|
502
|
+
readonly type: "object";
|
|
503
|
+
readonly required: readonly ["video", "audio"];
|
|
504
|
+
readonly properties: {
|
|
505
|
+
readonly video: {
|
|
506
|
+
readonly type: "object";
|
|
507
|
+
readonly required: readonly ["bytesBase64"];
|
|
508
|
+
readonly properties: {
|
|
509
|
+
readonly bytesBase64: {
|
|
510
|
+
readonly type: "string";
|
|
511
|
+
readonly minLength: 1;
|
|
512
|
+
};
|
|
513
|
+
readonly filename: {
|
|
514
|
+
readonly type: "string";
|
|
515
|
+
};
|
|
516
|
+
readonly mime: {
|
|
517
|
+
readonly type: "string";
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
readonly additionalProperties: false;
|
|
521
|
+
};
|
|
522
|
+
readonly audio: {
|
|
523
|
+
readonly type: "object";
|
|
524
|
+
readonly required: readonly ["bytesBase64"];
|
|
525
|
+
readonly properties: {
|
|
526
|
+
readonly bytesBase64: {
|
|
527
|
+
readonly type: "string";
|
|
528
|
+
readonly minLength: 1;
|
|
529
|
+
};
|
|
530
|
+
readonly filename: {
|
|
531
|
+
readonly type: "string";
|
|
532
|
+
};
|
|
533
|
+
readonly mime: {
|
|
534
|
+
readonly type: "string";
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
readonly additionalProperties: false;
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
readonly additionalProperties: false;
|
|
541
|
+
};
|
|
542
|
+
type MergeVideoAudioInput = FromSchema<typeof _slot_merge_video_audio_inputs>;
|
|
543
|
+
declare const _slot_audio_video_lip_sync_inputs: {
|
|
544
|
+
readonly type: "object";
|
|
545
|
+
readonly required: readonly ["video", "audio"];
|
|
546
|
+
readonly properties: {
|
|
547
|
+
readonly audio: {
|
|
548
|
+
readonly type: "object";
|
|
549
|
+
readonly required: readonly ["bytesBase64"];
|
|
550
|
+
readonly properties: {
|
|
551
|
+
readonly bytesBase64: {
|
|
552
|
+
readonly type: "string";
|
|
553
|
+
readonly minLength: 1;
|
|
554
|
+
};
|
|
555
|
+
readonly filename: {
|
|
556
|
+
readonly type: "string";
|
|
557
|
+
};
|
|
558
|
+
readonly mime: {
|
|
559
|
+
readonly type: "string";
|
|
560
|
+
};
|
|
561
|
+
};
|
|
562
|
+
readonly additionalProperties: false;
|
|
563
|
+
};
|
|
564
|
+
readonly text: {
|
|
565
|
+
readonly type: "string";
|
|
566
|
+
};
|
|
567
|
+
readonly seed: {
|
|
568
|
+
readonly type: "number";
|
|
569
|
+
};
|
|
570
|
+
readonly video: {
|
|
571
|
+
readonly type: "object";
|
|
572
|
+
readonly required: readonly ["bytesBase64"];
|
|
573
|
+
readonly properties: {
|
|
574
|
+
readonly bytesBase64: {
|
|
575
|
+
readonly type: "string";
|
|
576
|
+
readonly minLength: 1;
|
|
577
|
+
};
|
|
578
|
+
readonly filename: {
|
|
579
|
+
readonly type: "string";
|
|
580
|
+
};
|
|
581
|
+
readonly mime: {
|
|
582
|
+
readonly type: "string";
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
readonly additionalProperties: false;
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
readonly additionalProperties: false;
|
|
589
|
+
};
|
|
590
|
+
type AudioVideoLipSyncInput = FromSchema<typeof _slot_audio_video_lip_sync_inputs>;
|
|
591
|
+
declare const _slot_get_first_frame_inputs: {
|
|
592
|
+
readonly type: "object";
|
|
593
|
+
readonly required: readonly ["video"];
|
|
594
|
+
readonly properties: {
|
|
595
|
+
readonly video: {
|
|
596
|
+
readonly type: "object";
|
|
597
|
+
readonly required: readonly ["bytesBase64"];
|
|
598
|
+
readonly properties: {
|
|
599
|
+
readonly bytesBase64: {
|
|
600
|
+
readonly type: "string";
|
|
601
|
+
readonly minLength: 1;
|
|
602
|
+
};
|
|
603
|
+
readonly filename: {
|
|
604
|
+
readonly type: "string";
|
|
605
|
+
};
|
|
606
|
+
readonly mime: {
|
|
607
|
+
readonly type: "string";
|
|
608
|
+
};
|
|
609
|
+
};
|
|
610
|
+
readonly additionalProperties: false;
|
|
611
|
+
};
|
|
612
|
+
};
|
|
613
|
+
readonly additionalProperties: false;
|
|
614
|
+
};
|
|
615
|
+
type GetFirstFrameInput = FromSchema<typeof _slot_get_first_frame_inputs>;
|
|
616
|
+
declare const _slot_get_last_frame_inputs: {
|
|
617
|
+
readonly type: "object";
|
|
618
|
+
readonly required: readonly ["video"];
|
|
619
|
+
readonly properties: {
|
|
620
|
+
readonly video: {
|
|
621
|
+
readonly type: "object";
|
|
622
|
+
readonly required: readonly ["bytesBase64"];
|
|
623
|
+
readonly properties: {
|
|
624
|
+
readonly bytesBase64: {
|
|
625
|
+
readonly type: "string";
|
|
626
|
+
readonly minLength: 1;
|
|
627
|
+
};
|
|
628
|
+
readonly filename: {
|
|
629
|
+
readonly type: "string";
|
|
630
|
+
};
|
|
631
|
+
readonly mime: {
|
|
632
|
+
readonly type: "string";
|
|
633
|
+
};
|
|
634
|
+
};
|
|
635
|
+
readonly additionalProperties: false;
|
|
636
|
+
};
|
|
637
|
+
};
|
|
638
|
+
readonly additionalProperties: false;
|
|
639
|
+
};
|
|
640
|
+
type GetLastFrameInput = FromSchema<typeof _slot_get_last_frame_inputs>;
|
|
641
|
+
declare const _slot_parse_document_inputs: {
|
|
642
|
+
readonly type: "object";
|
|
643
|
+
readonly required: readonly ["document"];
|
|
644
|
+
readonly properties: {
|
|
645
|
+
readonly document: {
|
|
646
|
+
readonly type: "object";
|
|
647
|
+
readonly required: readonly ["bytesBase64"];
|
|
648
|
+
readonly properties: {
|
|
649
|
+
readonly bytesBase64: {
|
|
650
|
+
readonly type: "string";
|
|
651
|
+
readonly minLength: 1;
|
|
652
|
+
};
|
|
653
|
+
readonly filename: {
|
|
654
|
+
readonly type: "string";
|
|
655
|
+
};
|
|
656
|
+
readonly mime: {
|
|
657
|
+
readonly type: "string";
|
|
658
|
+
};
|
|
659
|
+
};
|
|
660
|
+
readonly additionalProperties: false;
|
|
661
|
+
};
|
|
662
|
+
};
|
|
663
|
+
readonly additionalProperties: false;
|
|
664
|
+
};
|
|
665
|
+
type ParseDocumentInput = FromSchema<typeof _slot_parse_document_inputs>;
|
|
666
|
+
declare const _slot_split_video_inputs: {
|
|
667
|
+
readonly type: "object";
|
|
668
|
+
readonly required: readonly ["video"];
|
|
669
|
+
readonly properties: {
|
|
670
|
+
readonly video: {
|
|
671
|
+
readonly type: "object";
|
|
672
|
+
readonly required: readonly ["bytesBase64"];
|
|
673
|
+
readonly properties: {
|
|
674
|
+
readonly bytesBase64: {
|
|
675
|
+
readonly type: "string";
|
|
676
|
+
readonly minLength: 1;
|
|
677
|
+
};
|
|
678
|
+
readonly filename: {
|
|
679
|
+
readonly type: "string";
|
|
680
|
+
};
|
|
681
|
+
readonly mime: {
|
|
682
|
+
readonly type: "string";
|
|
683
|
+
};
|
|
684
|
+
};
|
|
685
|
+
readonly additionalProperties: false;
|
|
686
|
+
};
|
|
687
|
+
readonly threshold: {
|
|
688
|
+
readonly type: "number";
|
|
689
|
+
};
|
|
690
|
+
};
|
|
691
|
+
readonly additionalProperties: false;
|
|
692
|
+
};
|
|
693
|
+
type SplitVideoInput = FromSchema<typeof _slot_split_video_inputs>;
|
|
694
|
+
declare const _slot_link_inputs: {
|
|
695
|
+
readonly type: "object";
|
|
696
|
+
readonly required: readonly ["url"];
|
|
697
|
+
readonly properties: {
|
|
698
|
+
readonly url: {
|
|
699
|
+
readonly type: "string";
|
|
700
|
+
readonly minLength: 1;
|
|
701
|
+
};
|
|
702
|
+
};
|
|
703
|
+
readonly additionalProperties: false;
|
|
704
|
+
};
|
|
705
|
+
type LinkInput = FromSchema<typeof _slot_link_inputs>;
|
|
706
|
+
declare const _slot_image_gen_inputs: {
|
|
707
|
+
readonly type: "object";
|
|
708
|
+
readonly required: readonly [];
|
|
709
|
+
readonly properties: {
|
|
710
|
+
readonly text: {
|
|
711
|
+
readonly type: "string";
|
|
712
|
+
readonly minLength: 1;
|
|
713
|
+
};
|
|
714
|
+
readonly width: {
|
|
715
|
+
readonly type: "integer";
|
|
716
|
+
};
|
|
717
|
+
readonly height: {
|
|
718
|
+
readonly type: "integer";
|
|
719
|
+
};
|
|
720
|
+
readonly seed: {
|
|
721
|
+
readonly type: "integer";
|
|
722
|
+
};
|
|
723
|
+
};
|
|
724
|
+
readonly additionalProperties: false;
|
|
725
|
+
};
|
|
726
|
+
type ImageGenInput = FromSchema<typeof _slot_image_gen_inputs>;
|
|
727
|
+
declare const _slot_gen_music_inputs: {
|
|
728
|
+
readonly type: "object";
|
|
729
|
+
readonly required: readonly [];
|
|
730
|
+
readonly properties: {
|
|
731
|
+
readonly text: {
|
|
732
|
+
readonly type: "string";
|
|
733
|
+
readonly minLength: 1;
|
|
734
|
+
};
|
|
735
|
+
readonly lyrics: {
|
|
736
|
+
readonly type: "string";
|
|
737
|
+
};
|
|
738
|
+
readonly tags: {
|
|
739
|
+
readonly type: "string";
|
|
740
|
+
};
|
|
741
|
+
readonly language: {
|
|
742
|
+
readonly type: "string";
|
|
743
|
+
};
|
|
744
|
+
readonly keyscale: {
|
|
745
|
+
readonly type: "string";
|
|
746
|
+
};
|
|
747
|
+
readonly bpm: {
|
|
748
|
+
readonly type: "number";
|
|
749
|
+
};
|
|
750
|
+
readonly songTitle: {
|
|
751
|
+
readonly type: "string";
|
|
752
|
+
};
|
|
753
|
+
readonly duration: {
|
|
754
|
+
readonly type: "number";
|
|
755
|
+
};
|
|
756
|
+
readonly seed: {
|
|
757
|
+
readonly type: "integer";
|
|
758
|
+
};
|
|
759
|
+
readonly ref_audio: {
|
|
760
|
+
readonly type: "object";
|
|
761
|
+
readonly required: readonly ["bytesBase64"];
|
|
762
|
+
readonly properties: {
|
|
763
|
+
readonly bytesBase64: {
|
|
764
|
+
readonly type: "string";
|
|
765
|
+
readonly minLength: 1;
|
|
766
|
+
};
|
|
767
|
+
readonly filename: {
|
|
768
|
+
readonly type: "string";
|
|
769
|
+
};
|
|
770
|
+
readonly mime: {
|
|
771
|
+
readonly type: "string";
|
|
772
|
+
};
|
|
773
|
+
};
|
|
774
|
+
readonly additionalProperties: false;
|
|
775
|
+
};
|
|
776
|
+
};
|
|
777
|
+
readonly additionalProperties: false;
|
|
778
|
+
};
|
|
779
|
+
type GenMusicInput = FromSchema<typeof _slot_gen_music_inputs>;
|
|
780
|
+
declare const _slot_text_gen_speech_preset_inputs: {
|
|
781
|
+
readonly type: "object";
|
|
782
|
+
readonly required: readonly ["text"];
|
|
783
|
+
readonly properties: {
|
|
784
|
+
readonly text: {
|
|
785
|
+
readonly type: "string";
|
|
786
|
+
readonly minLength: 1;
|
|
787
|
+
};
|
|
788
|
+
readonly language: {
|
|
789
|
+
readonly type: "string";
|
|
790
|
+
};
|
|
791
|
+
readonly speaker: {
|
|
792
|
+
readonly type: "string";
|
|
793
|
+
};
|
|
794
|
+
readonly instruct: {
|
|
795
|
+
readonly type: "string";
|
|
796
|
+
};
|
|
797
|
+
readonly max_new_tokens: {
|
|
798
|
+
readonly type: "integer";
|
|
799
|
+
};
|
|
800
|
+
};
|
|
801
|
+
readonly additionalProperties: false;
|
|
802
|
+
};
|
|
803
|
+
type TextGenSpeechPresetInput = FromSchema<typeof _slot_text_gen_speech_preset_inputs>;
|
|
804
|
+
declare const _slot_image_gen_video_inputs: {
|
|
805
|
+
readonly type: "object";
|
|
806
|
+
readonly required: readonly ["text", "image", "duration"];
|
|
807
|
+
readonly properties: {
|
|
808
|
+
readonly duration: {
|
|
809
|
+
readonly type: "number";
|
|
810
|
+
};
|
|
811
|
+
readonly text: {
|
|
812
|
+
readonly type: "string";
|
|
813
|
+
};
|
|
814
|
+
readonly seed: {
|
|
815
|
+
readonly type: "number";
|
|
816
|
+
};
|
|
817
|
+
readonly height: {
|
|
818
|
+
readonly type: "integer";
|
|
819
|
+
};
|
|
820
|
+
readonly width: {
|
|
821
|
+
readonly type: "integer";
|
|
822
|
+
};
|
|
823
|
+
readonly enhance_prompt: {
|
|
824
|
+
readonly type: "boolean";
|
|
825
|
+
};
|
|
826
|
+
readonly image: {
|
|
827
|
+
readonly type: "object";
|
|
828
|
+
readonly required: readonly ["bytesBase64"];
|
|
829
|
+
readonly properties: {
|
|
830
|
+
readonly bytesBase64: {
|
|
831
|
+
readonly type: "string";
|
|
832
|
+
readonly minLength: 1;
|
|
833
|
+
};
|
|
834
|
+
readonly filename: {
|
|
835
|
+
readonly type: "string";
|
|
836
|
+
};
|
|
837
|
+
readonly mime: {
|
|
838
|
+
readonly type: "string";
|
|
839
|
+
};
|
|
840
|
+
};
|
|
841
|
+
readonly additionalProperties: false;
|
|
842
|
+
};
|
|
843
|
+
readonly image_frame_idx: {
|
|
844
|
+
readonly type: "integer";
|
|
845
|
+
};
|
|
846
|
+
readonly image_strength: {
|
|
847
|
+
readonly type: "number";
|
|
848
|
+
};
|
|
849
|
+
};
|
|
850
|
+
readonly additionalProperties: false;
|
|
851
|
+
};
|
|
852
|
+
type ImageGenVideoInput = FromSchema<typeof _slot_image_gen_video_inputs>;
|
|
853
|
+
declare const _slot_image_edit_inputs: {
|
|
854
|
+
readonly type: "object";
|
|
855
|
+
readonly required: readonly ["text", "image"];
|
|
856
|
+
readonly properties: {
|
|
857
|
+
readonly text: {
|
|
858
|
+
readonly type: "string";
|
|
859
|
+
readonly minLength: 1;
|
|
860
|
+
};
|
|
861
|
+
readonly image: {
|
|
862
|
+
readonly type: "object";
|
|
863
|
+
readonly required: readonly ["bytesBase64"];
|
|
864
|
+
readonly properties: {
|
|
865
|
+
readonly bytesBase64: {
|
|
866
|
+
readonly type: "string";
|
|
867
|
+
readonly minLength: 1;
|
|
868
|
+
};
|
|
869
|
+
readonly filename: {
|
|
870
|
+
readonly type: "string";
|
|
871
|
+
};
|
|
872
|
+
readonly mime: {
|
|
873
|
+
readonly type: "string";
|
|
874
|
+
};
|
|
875
|
+
};
|
|
876
|
+
readonly additionalProperties: false;
|
|
877
|
+
};
|
|
878
|
+
readonly seed: {
|
|
879
|
+
readonly type: "integer";
|
|
880
|
+
};
|
|
881
|
+
readonly match_input_size: {
|
|
882
|
+
readonly type: "boolean";
|
|
883
|
+
};
|
|
884
|
+
readonly width: {
|
|
885
|
+
readonly type: "integer";
|
|
886
|
+
};
|
|
887
|
+
readonly height: {
|
|
888
|
+
readonly type: "integer";
|
|
889
|
+
};
|
|
890
|
+
};
|
|
891
|
+
readonly additionalProperties: false;
|
|
892
|
+
};
|
|
893
|
+
type ImageEditInput = FromSchema<typeof _slot_image_edit_inputs>;
|
|
894
|
+
declare const _slot_image_upscale_inputs: {
|
|
895
|
+
readonly type: "object";
|
|
896
|
+
readonly required: readonly ["image"];
|
|
897
|
+
readonly properties: {
|
|
898
|
+
readonly image: {
|
|
899
|
+
readonly type: "object";
|
|
900
|
+
readonly required: readonly ["bytesBase64"];
|
|
901
|
+
readonly properties: {
|
|
902
|
+
readonly bytesBase64: {
|
|
903
|
+
readonly type: "string";
|
|
904
|
+
readonly minLength: 1;
|
|
905
|
+
};
|
|
906
|
+
readonly filename: {
|
|
907
|
+
readonly type: "string";
|
|
908
|
+
};
|
|
909
|
+
readonly mime: {
|
|
910
|
+
readonly type: "string";
|
|
911
|
+
};
|
|
912
|
+
};
|
|
913
|
+
readonly additionalProperties: false;
|
|
914
|
+
};
|
|
915
|
+
readonly resolution: {
|
|
916
|
+
readonly type: "string";
|
|
917
|
+
};
|
|
918
|
+
readonly seed: {
|
|
919
|
+
readonly type: "integer";
|
|
920
|
+
};
|
|
921
|
+
};
|
|
922
|
+
readonly additionalProperties: false;
|
|
923
|
+
};
|
|
924
|
+
type ImageUpscaleInput = FromSchema<typeof _slot_image_upscale_inputs>;
|
|
925
|
+
declare const _slot_video_upscale_inputs: {
|
|
926
|
+
readonly type: "object";
|
|
927
|
+
readonly required: readonly ["video"];
|
|
928
|
+
readonly properties: {
|
|
929
|
+
readonly video: {
|
|
930
|
+
readonly type: "object";
|
|
931
|
+
readonly required: readonly ["bytesBase64"];
|
|
932
|
+
readonly properties: {
|
|
933
|
+
readonly bytesBase64: {
|
|
934
|
+
readonly type: "string";
|
|
935
|
+
readonly minLength: 1;
|
|
936
|
+
};
|
|
937
|
+
readonly filename: {
|
|
938
|
+
readonly type: "string";
|
|
939
|
+
};
|
|
940
|
+
readonly mime: {
|
|
941
|
+
readonly type: "string";
|
|
942
|
+
};
|
|
943
|
+
};
|
|
944
|
+
readonly additionalProperties: false;
|
|
945
|
+
};
|
|
946
|
+
readonly resolution: {
|
|
947
|
+
readonly type: "string";
|
|
948
|
+
};
|
|
949
|
+
readonly seed: {
|
|
950
|
+
readonly type: "integer";
|
|
951
|
+
};
|
|
952
|
+
};
|
|
953
|
+
readonly additionalProperties: false;
|
|
954
|
+
};
|
|
955
|
+
type VideoUpscaleInput = FromSchema<typeof _slot_video_upscale_inputs>;
|
|
956
|
+
declare const _slot_video_edit_inputs: {
|
|
957
|
+
readonly type: "object";
|
|
958
|
+
readonly required: readonly ["text", "video"];
|
|
959
|
+
readonly properties: {
|
|
960
|
+
readonly text: {
|
|
961
|
+
readonly type: "string";
|
|
962
|
+
readonly minLength: 1;
|
|
963
|
+
};
|
|
964
|
+
readonly video: {
|
|
965
|
+
readonly type: "object";
|
|
966
|
+
readonly required: readonly ["bytesBase64"];
|
|
967
|
+
readonly properties: {
|
|
968
|
+
readonly bytesBase64: {
|
|
969
|
+
readonly type: "string";
|
|
970
|
+
readonly minLength: 1;
|
|
971
|
+
};
|
|
972
|
+
readonly filename: {
|
|
973
|
+
readonly type: "string";
|
|
974
|
+
};
|
|
975
|
+
readonly mime: {
|
|
976
|
+
readonly type: "string";
|
|
977
|
+
};
|
|
978
|
+
};
|
|
979
|
+
readonly additionalProperties: false;
|
|
980
|
+
};
|
|
981
|
+
readonly seed: {
|
|
982
|
+
readonly type: "integer";
|
|
983
|
+
};
|
|
984
|
+
readonly width: {
|
|
985
|
+
readonly type: "integer";
|
|
986
|
+
};
|
|
987
|
+
readonly height: {
|
|
988
|
+
readonly type: "integer";
|
|
989
|
+
};
|
|
990
|
+
};
|
|
991
|
+
readonly additionalProperties: false;
|
|
992
|
+
};
|
|
993
|
+
type VideoEditInput = FromSchema<typeof _slot_video_edit_inputs>;
|
|
994
|
+
declare const _slot_image_describe_inputs: {
|
|
995
|
+
readonly type: "object";
|
|
996
|
+
readonly required: readonly ["image"];
|
|
997
|
+
readonly properties: {
|
|
998
|
+
readonly text: {
|
|
999
|
+
readonly type: "string";
|
|
1000
|
+
};
|
|
1001
|
+
readonly userPrompt: {
|
|
1002
|
+
readonly type: "string";
|
|
1003
|
+
};
|
|
1004
|
+
readonly image: {
|
|
1005
|
+
readonly type: "object";
|
|
1006
|
+
readonly required: readonly ["bytesBase64"];
|
|
1007
|
+
readonly properties: {
|
|
1008
|
+
readonly bytesBase64: {
|
|
1009
|
+
readonly type: "string";
|
|
1010
|
+
readonly minLength: 1;
|
|
1011
|
+
};
|
|
1012
|
+
readonly filename: {
|
|
1013
|
+
readonly type: "string";
|
|
1014
|
+
};
|
|
1015
|
+
readonly mime: {
|
|
1016
|
+
readonly type: "string";
|
|
1017
|
+
};
|
|
1018
|
+
};
|
|
1019
|
+
readonly additionalProperties: false;
|
|
1020
|
+
};
|
|
1021
|
+
};
|
|
1022
|
+
readonly additionalProperties: false;
|
|
1023
|
+
};
|
|
1024
|
+
type ImageDescribeInput = FromSchema<typeof _slot_image_describe_inputs>;
|
|
1025
|
+
declare const _slot_video_describe_inputs: {
|
|
1026
|
+
readonly type: "object";
|
|
1027
|
+
readonly required: readonly ["video"];
|
|
1028
|
+
readonly properties: {
|
|
1029
|
+
readonly text: {
|
|
1030
|
+
readonly type: "string";
|
|
1031
|
+
};
|
|
1032
|
+
readonly userPrompt: {
|
|
1033
|
+
readonly type: "string";
|
|
1034
|
+
};
|
|
1035
|
+
readonly video: {
|
|
1036
|
+
readonly type: "object";
|
|
1037
|
+
readonly required: readonly ["bytesBase64"];
|
|
1038
|
+
readonly properties: {
|
|
1039
|
+
readonly bytesBase64: {
|
|
1040
|
+
readonly type: "string";
|
|
1041
|
+
readonly minLength: 1;
|
|
1042
|
+
};
|
|
1043
|
+
readonly filename: {
|
|
1044
|
+
readonly type: "string";
|
|
1045
|
+
};
|
|
1046
|
+
readonly mime: {
|
|
1047
|
+
readonly type: "string";
|
|
1048
|
+
};
|
|
1049
|
+
};
|
|
1050
|
+
readonly additionalProperties: false;
|
|
1051
|
+
};
|
|
1052
|
+
};
|
|
1053
|
+
readonly additionalProperties: false;
|
|
1054
|
+
};
|
|
1055
|
+
type VideoDescribeInput = FromSchema<typeof _slot_video_describe_inputs>;
|
|
1056
|
+
declare const _slot_audio_describe_inputs: {
|
|
1057
|
+
readonly type: "object";
|
|
1058
|
+
readonly required: readonly ["audio"];
|
|
1059
|
+
readonly properties: {
|
|
1060
|
+
readonly text: {
|
|
1061
|
+
readonly type: "string";
|
|
1062
|
+
};
|
|
1063
|
+
readonly userPrompt: {
|
|
1064
|
+
readonly type: "string";
|
|
1065
|
+
};
|
|
1066
|
+
readonly audio: {
|
|
1067
|
+
readonly type: "object";
|
|
1068
|
+
readonly required: readonly ["bytesBase64"];
|
|
1069
|
+
readonly properties: {
|
|
1070
|
+
readonly bytesBase64: {
|
|
1071
|
+
readonly type: "string";
|
|
1072
|
+
readonly minLength: 1;
|
|
1073
|
+
};
|
|
1074
|
+
readonly filename: {
|
|
1075
|
+
readonly type: "string";
|
|
1076
|
+
};
|
|
1077
|
+
readonly mime: {
|
|
1078
|
+
readonly type: "string";
|
|
1079
|
+
};
|
|
1080
|
+
};
|
|
1081
|
+
readonly additionalProperties: false;
|
|
1082
|
+
};
|
|
1083
|
+
};
|
|
1084
|
+
readonly additionalProperties: false;
|
|
1085
|
+
};
|
|
1086
|
+
type AudioDescribeInput = FromSchema<typeof _slot_audio_describe_inputs>;
|
|
1087
|
+
declare const _slot_music_repaint_inputs: {
|
|
1088
|
+
readonly type: "object";
|
|
1089
|
+
readonly required: readonly ["audio", "start_time", "end_time"];
|
|
1090
|
+
readonly properties: {
|
|
1091
|
+
readonly audio: {
|
|
1092
|
+
readonly type: "object";
|
|
1093
|
+
readonly required: readonly ["bytesBase64"];
|
|
1094
|
+
readonly properties: {
|
|
1095
|
+
readonly bytesBase64: {
|
|
1096
|
+
readonly type: "string";
|
|
1097
|
+
readonly minLength: 1;
|
|
1098
|
+
};
|
|
1099
|
+
readonly filename: {
|
|
1100
|
+
readonly type: "string";
|
|
1101
|
+
};
|
|
1102
|
+
readonly mime: {
|
|
1103
|
+
readonly type: "string";
|
|
1104
|
+
};
|
|
1105
|
+
};
|
|
1106
|
+
readonly additionalProperties: false;
|
|
1107
|
+
};
|
|
1108
|
+
readonly text: {
|
|
1109
|
+
readonly type: "string";
|
|
1110
|
+
};
|
|
1111
|
+
readonly lyrics: {
|
|
1112
|
+
readonly type: "string";
|
|
1113
|
+
};
|
|
1114
|
+
readonly start_time: {
|
|
1115
|
+
readonly type: "number";
|
|
1116
|
+
};
|
|
1117
|
+
readonly end_time: {
|
|
1118
|
+
readonly type: "number";
|
|
1119
|
+
};
|
|
1120
|
+
readonly strength: {
|
|
1121
|
+
readonly type: "number";
|
|
1122
|
+
};
|
|
1123
|
+
readonly seed: {
|
|
1124
|
+
readonly type: "integer";
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
readonly additionalProperties: false;
|
|
1128
|
+
};
|
|
1129
|
+
type MusicRepaintInput = FromSchema<typeof _slot_music_repaint_inputs>;
|
|
1130
|
+
declare const _slot_music_cover_inputs: {
|
|
1131
|
+
readonly type: "object";
|
|
1132
|
+
readonly required: readonly ["audio"];
|
|
1133
|
+
readonly properties: {
|
|
1134
|
+
readonly audio: {
|
|
1135
|
+
readonly type: "object";
|
|
1136
|
+
readonly required: readonly ["bytesBase64"];
|
|
1137
|
+
readonly properties: {
|
|
1138
|
+
readonly bytesBase64: {
|
|
1139
|
+
readonly type: "string";
|
|
1140
|
+
readonly minLength: 1;
|
|
1141
|
+
};
|
|
1142
|
+
readonly filename: {
|
|
1143
|
+
readonly type: "string";
|
|
1144
|
+
};
|
|
1145
|
+
readonly mime: {
|
|
1146
|
+
readonly type: "string";
|
|
1147
|
+
};
|
|
1148
|
+
};
|
|
1149
|
+
readonly additionalProperties: false;
|
|
1150
|
+
};
|
|
1151
|
+
readonly ref_audio: {
|
|
1152
|
+
readonly type: "object";
|
|
1153
|
+
readonly required: readonly ["bytesBase64"];
|
|
1154
|
+
readonly properties: {
|
|
1155
|
+
readonly bytesBase64: {
|
|
1156
|
+
readonly type: "string";
|
|
1157
|
+
readonly minLength: 1;
|
|
1158
|
+
};
|
|
1159
|
+
readonly filename: {
|
|
1160
|
+
readonly type: "string";
|
|
1161
|
+
};
|
|
1162
|
+
readonly mime: {
|
|
1163
|
+
readonly type: "string";
|
|
1164
|
+
};
|
|
1165
|
+
};
|
|
1166
|
+
readonly additionalProperties: false;
|
|
1167
|
+
};
|
|
1168
|
+
readonly text: {
|
|
1169
|
+
readonly type: "string";
|
|
1170
|
+
};
|
|
1171
|
+
readonly lyrics: {
|
|
1172
|
+
readonly type: "string";
|
|
1173
|
+
};
|
|
1174
|
+
readonly strength: {
|
|
1175
|
+
readonly type: "number";
|
|
1176
|
+
};
|
|
1177
|
+
readonly seed: {
|
|
1178
|
+
readonly type: "integer";
|
|
1179
|
+
};
|
|
1180
|
+
};
|
|
1181
|
+
readonly additionalProperties: false;
|
|
1182
|
+
};
|
|
1183
|
+
type MusicCoverInput = FromSchema<typeof _slot_music_cover_inputs>;
|
|
1184
|
+
declare const _slot_music_extract_inputs: {
|
|
1185
|
+
readonly type: "object";
|
|
1186
|
+
readonly required: readonly ["audio", "track"];
|
|
1187
|
+
readonly properties: {
|
|
1188
|
+
readonly audio: {
|
|
1189
|
+
readonly type: "object";
|
|
1190
|
+
readonly required: readonly ["bytesBase64"];
|
|
1191
|
+
readonly properties: {
|
|
1192
|
+
readonly bytesBase64: {
|
|
1193
|
+
readonly type: "string";
|
|
1194
|
+
readonly minLength: 1;
|
|
1195
|
+
};
|
|
1196
|
+
readonly filename: {
|
|
1197
|
+
readonly type: "string";
|
|
1198
|
+
};
|
|
1199
|
+
readonly mime: {
|
|
1200
|
+
readonly type: "string";
|
|
1201
|
+
};
|
|
1202
|
+
};
|
|
1203
|
+
readonly additionalProperties: false;
|
|
1204
|
+
};
|
|
1205
|
+
readonly track: {
|
|
1206
|
+
readonly type: "string";
|
|
1207
|
+
};
|
|
1208
|
+
readonly seed: {
|
|
1209
|
+
readonly type: "integer";
|
|
1210
|
+
};
|
|
1211
|
+
};
|
|
1212
|
+
readonly additionalProperties: false;
|
|
1213
|
+
};
|
|
1214
|
+
type MusicExtractInput = FromSchema<typeof _slot_music_extract_inputs>;
|
|
1215
|
+
declare const _slot_separate_sound_inputs: {
|
|
1216
|
+
readonly type: "object";
|
|
1217
|
+
readonly required: readonly ["audio", "text"];
|
|
1218
|
+
readonly properties: {
|
|
1219
|
+
readonly audio: {
|
|
1220
|
+
readonly type: "object";
|
|
1221
|
+
readonly required: readonly ["bytesBase64"];
|
|
1222
|
+
readonly properties: {
|
|
1223
|
+
readonly bytesBase64: {
|
|
1224
|
+
readonly type: "string";
|
|
1225
|
+
readonly minLength: 1;
|
|
1226
|
+
};
|
|
1227
|
+
readonly filename: {
|
|
1228
|
+
readonly type: "string";
|
|
1229
|
+
};
|
|
1230
|
+
readonly mime: {
|
|
1231
|
+
readonly type: "string";
|
|
1232
|
+
};
|
|
1233
|
+
};
|
|
1234
|
+
readonly additionalProperties: false;
|
|
1235
|
+
};
|
|
1236
|
+
readonly text: {
|
|
1237
|
+
readonly type: "string";
|
|
1238
|
+
};
|
|
1239
|
+
readonly spans: {
|
|
1240
|
+
readonly type: "array";
|
|
1241
|
+
readonly items: {
|
|
1242
|
+
readonly type: "object";
|
|
1243
|
+
readonly required: readonly ["start", "end"];
|
|
1244
|
+
readonly properties: {
|
|
1245
|
+
readonly start: {
|
|
1246
|
+
readonly type: "number";
|
|
1247
|
+
};
|
|
1248
|
+
readonly end: {
|
|
1249
|
+
readonly type: "number";
|
|
1250
|
+
};
|
|
1251
|
+
};
|
|
1252
|
+
readonly additionalProperties: false;
|
|
1253
|
+
};
|
|
1254
|
+
};
|
|
1255
|
+
};
|
|
1256
|
+
readonly additionalProperties: false;
|
|
1257
|
+
};
|
|
1258
|
+
type SeparateSoundInput = FromSchema<typeof _slot_separate_sound_inputs>;
|
|
1259
|
+
declare const _slot_music_lego_inputs: {
|
|
1260
|
+
readonly type: "object";
|
|
1261
|
+
readonly required: readonly ["audio", "track"];
|
|
1262
|
+
readonly properties: {
|
|
1263
|
+
readonly audio: {
|
|
1264
|
+
readonly type: "object";
|
|
1265
|
+
readonly required: readonly ["bytesBase64"];
|
|
1266
|
+
readonly properties: {
|
|
1267
|
+
readonly bytesBase64: {
|
|
1268
|
+
readonly type: "string";
|
|
1269
|
+
readonly minLength: 1;
|
|
1270
|
+
};
|
|
1271
|
+
readonly filename: {
|
|
1272
|
+
readonly type: "string";
|
|
1273
|
+
};
|
|
1274
|
+
readonly mime: {
|
|
1275
|
+
readonly type: "string";
|
|
1276
|
+
};
|
|
1277
|
+
};
|
|
1278
|
+
readonly additionalProperties: false;
|
|
1279
|
+
};
|
|
1280
|
+
readonly track: {
|
|
1281
|
+
readonly type: "string";
|
|
1282
|
+
};
|
|
1283
|
+
readonly text: {
|
|
1284
|
+
readonly type: "string";
|
|
1285
|
+
};
|
|
1286
|
+
readonly lyrics: {
|
|
1287
|
+
readonly type: "string";
|
|
1288
|
+
};
|
|
1289
|
+
readonly seed: {
|
|
1290
|
+
readonly type: "integer";
|
|
1291
|
+
};
|
|
1292
|
+
};
|
|
1293
|
+
readonly additionalProperties: false;
|
|
1294
|
+
};
|
|
1295
|
+
type MusicLegoInput = FromSchema<typeof _slot_music_lego_inputs>;
|
|
1296
|
+
declare const _slot_music_complete_inputs: {
|
|
1297
|
+
readonly type: "object";
|
|
1298
|
+
readonly required: readonly ["audio"];
|
|
1299
|
+
readonly properties: {
|
|
1300
|
+
readonly audio: {
|
|
1301
|
+
readonly type: "object";
|
|
1302
|
+
readonly required: readonly ["bytesBase64"];
|
|
1303
|
+
readonly properties: {
|
|
1304
|
+
readonly bytesBase64: {
|
|
1305
|
+
readonly type: "string";
|
|
1306
|
+
readonly minLength: 1;
|
|
1307
|
+
};
|
|
1308
|
+
readonly filename: {
|
|
1309
|
+
readonly type: "string";
|
|
1310
|
+
};
|
|
1311
|
+
readonly mime: {
|
|
1312
|
+
readonly type: "string";
|
|
1313
|
+
};
|
|
1314
|
+
};
|
|
1315
|
+
readonly additionalProperties: false;
|
|
1316
|
+
};
|
|
1317
|
+
readonly tracks: {
|
|
1318
|
+
readonly type: "array";
|
|
1319
|
+
readonly items: {
|
|
1320
|
+
readonly type: "string";
|
|
1321
|
+
};
|
|
1322
|
+
};
|
|
1323
|
+
readonly text: {
|
|
1324
|
+
readonly type: "string";
|
|
1325
|
+
};
|
|
1326
|
+
readonly seed: {
|
|
1327
|
+
readonly type: "integer";
|
|
1328
|
+
};
|
|
1329
|
+
};
|
|
1330
|
+
readonly additionalProperties: false;
|
|
1331
|
+
};
|
|
1332
|
+
type MusicCompleteInput = FromSchema<typeof _slot_music_complete_inputs>;
|
|
1333
|
+
declare const _slot_music_brief_inputs: {
|
|
1334
|
+
readonly type: "object";
|
|
1335
|
+
readonly required: readonly ["text"];
|
|
1336
|
+
readonly properties: {
|
|
1337
|
+
readonly text: {
|
|
1338
|
+
readonly type: "string";
|
|
1339
|
+
readonly minLength: 1;
|
|
1340
|
+
};
|
|
1341
|
+
readonly instrumental: {
|
|
1342
|
+
readonly type: "boolean";
|
|
1343
|
+
};
|
|
1344
|
+
readonly language: {
|
|
1345
|
+
readonly type: "string";
|
|
1346
|
+
};
|
|
1347
|
+
};
|
|
1348
|
+
readonly additionalProperties: false;
|
|
1349
|
+
};
|
|
1350
|
+
type MusicBriefInput = FromSchema<typeof _slot_music_brief_inputs>;
|
|
1351
|
+
declare const _slot_audio_image_gen_video_inputs: {
|
|
1352
|
+
readonly type: "object";
|
|
1353
|
+
readonly required: readonly ["image", "audio"];
|
|
1354
|
+
readonly properties: {
|
|
1355
|
+
readonly text: {
|
|
1356
|
+
readonly type: "string";
|
|
1357
|
+
};
|
|
1358
|
+
readonly height: {
|
|
1359
|
+
readonly type: "integer";
|
|
1360
|
+
};
|
|
1361
|
+
readonly width: {
|
|
1362
|
+
readonly type: "integer";
|
|
1363
|
+
};
|
|
1364
|
+
readonly image: {
|
|
1365
|
+
readonly type: "object";
|
|
1366
|
+
readonly required: readonly ["bytesBase64"];
|
|
1367
|
+
readonly properties: {
|
|
1368
|
+
readonly bytesBase64: {
|
|
1369
|
+
readonly type: "string";
|
|
1370
|
+
readonly minLength: 1;
|
|
1371
|
+
};
|
|
1372
|
+
readonly filename: {
|
|
1373
|
+
readonly type: "string";
|
|
1374
|
+
};
|
|
1375
|
+
readonly mime: {
|
|
1376
|
+
readonly type: "string";
|
|
1377
|
+
};
|
|
1378
|
+
};
|
|
1379
|
+
readonly additionalProperties: false;
|
|
1380
|
+
};
|
|
1381
|
+
readonly audio: {
|
|
1382
|
+
readonly type: "object";
|
|
1383
|
+
readonly required: readonly ["bytesBase64"];
|
|
1384
|
+
readonly properties: {
|
|
1385
|
+
readonly bytesBase64: {
|
|
1386
|
+
readonly type: "string";
|
|
1387
|
+
readonly minLength: 1;
|
|
1388
|
+
};
|
|
1389
|
+
readonly filename: {
|
|
1390
|
+
readonly type: "string";
|
|
1391
|
+
};
|
|
1392
|
+
readonly mime: {
|
|
1393
|
+
readonly type: "string";
|
|
1394
|
+
};
|
|
1395
|
+
};
|
|
1396
|
+
readonly additionalProperties: false;
|
|
1397
|
+
};
|
|
1398
|
+
};
|
|
1399
|
+
readonly additionalProperties: false;
|
|
1400
|
+
};
|
|
1401
|
+
type AudioImageGenVideoInput = FromSchema<typeof _slot_audio_image_gen_video_inputs>;
|
|
1402
|
+
declare const _slot_speech_text_gen_video_inputs: {
|
|
1403
|
+
readonly type: "object";
|
|
1404
|
+
readonly required: readonly ["text", "audio"];
|
|
1405
|
+
readonly properties: {
|
|
1406
|
+
readonly text: {
|
|
1407
|
+
readonly type: "string";
|
|
1408
|
+
};
|
|
1409
|
+
readonly seed: {
|
|
1410
|
+
readonly type: "number";
|
|
1411
|
+
};
|
|
1412
|
+
readonly height: {
|
|
1413
|
+
readonly type: "integer";
|
|
1414
|
+
};
|
|
1415
|
+
readonly width: {
|
|
1416
|
+
readonly type: "integer";
|
|
1417
|
+
};
|
|
1418
|
+
readonly enhance_prompt: {
|
|
1419
|
+
readonly type: "boolean";
|
|
1420
|
+
};
|
|
1421
|
+
readonly image: {
|
|
1422
|
+
readonly type: "object";
|
|
1423
|
+
readonly required: readonly ["bytesBase64"];
|
|
1424
|
+
readonly properties: {
|
|
1425
|
+
readonly bytesBase64: {
|
|
1426
|
+
readonly type: "string";
|
|
1427
|
+
readonly minLength: 1;
|
|
1428
|
+
};
|
|
1429
|
+
readonly filename: {
|
|
1430
|
+
readonly type: "string";
|
|
1431
|
+
};
|
|
1432
|
+
readonly mime: {
|
|
1433
|
+
readonly type: "string";
|
|
1434
|
+
};
|
|
1435
|
+
};
|
|
1436
|
+
readonly additionalProperties: false;
|
|
1437
|
+
};
|
|
1438
|
+
readonly image_frame_idx: {
|
|
1439
|
+
readonly type: "integer";
|
|
1440
|
+
};
|
|
1441
|
+
readonly image_strength: {
|
|
1442
|
+
readonly type: "number";
|
|
1443
|
+
};
|
|
1444
|
+
readonly audio: {
|
|
1445
|
+
readonly type: "object";
|
|
1446
|
+
readonly required: readonly ["bytesBase64"];
|
|
1447
|
+
readonly properties: {
|
|
1448
|
+
readonly bytesBase64: {
|
|
1449
|
+
readonly type: "string";
|
|
1450
|
+
readonly minLength: 1;
|
|
1451
|
+
};
|
|
1452
|
+
readonly filename: {
|
|
1453
|
+
readonly type: "string";
|
|
1454
|
+
};
|
|
1455
|
+
readonly mime: {
|
|
1456
|
+
readonly type: "string";
|
|
1457
|
+
};
|
|
1458
|
+
};
|
|
1459
|
+
readonly additionalProperties: false;
|
|
1460
|
+
};
|
|
1461
|
+
readonly audio_start_time: {
|
|
1462
|
+
readonly type: "number";
|
|
1463
|
+
};
|
|
1464
|
+
readonly duration: {
|
|
1465
|
+
readonly type: "number";
|
|
1466
|
+
};
|
|
1467
|
+
};
|
|
1468
|
+
readonly additionalProperties: false;
|
|
1469
|
+
};
|
|
1470
|
+
type SpeechTextGenVideoInput = FromSchema<typeof _slot_speech_text_gen_video_inputs>;
|
|
1471
|
+
declare const _slot_video_image_gen_video_mix_inputs: {
|
|
1472
|
+
readonly type: "object";
|
|
1473
|
+
readonly required: readonly ["image", "video"];
|
|
1474
|
+
readonly properties: {
|
|
1475
|
+
readonly text: {
|
|
1476
|
+
readonly type: "string";
|
|
1477
|
+
};
|
|
1478
|
+
readonly image: {
|
|
1479
|
+
readonly type: "object";
|
|
1480
|
+
readonly required: readonly ["bytesBase64"];
|
|
1481
|
+
readonly properties: {
|
|
1482
|
+
readonly bytesBase64: {
|
|
1483
|
+
readonly type: "string";
|
|
1484
|
+
readonly minLength: 1;
|
|
1485
|
+
};
|
|
1486
|
+
readonly filename: {
|
|
1487
|
+
readonly type: "string";
|
|
1488
|
+
};
|
|
1489
|
+
readonly mime: {
|
|
1490
|
+
readonly type: "string";
|
|
1491
|
+
};
|
|
1492
|
+
};
|
|
1493
|
+
readonly additionalProperties: false;
|
|
1494
|
+
};
|
|
1495
|
+
readonly video: {
|
|
1496
|
+
readonly type: "object";
|
|
1497
|
+
readonly required: readonly ["bytesBase64"];
|
|
1498
|
+
readonly properties: {
|
|
1499
|
+
readonly bytesBase64: {
|
|
1500
|
+
readonly type: "string";
|
|
1501
|
+
readonly minLength: 1;
|
|
1502
|
+
};
|
|
1503
|
+
readonly filename: {
|
|
1504
|
+
readonly type: "string";
|
|
1505
|
+
};
|
|
1506
|
+
readonly mime: {
|
|
1507
|
+
readonly type: "string";
|
|
1508
|
+
};
|
|
1509
|
+
};
|
|
1510
|
+
readonly additionalProperties: false;
|
|
1511
|
+
};
|
|
1512
|
+
};
|
|
1513
|
+
readonly additionalProperties: false;
|
|
1514
|
+
};
|
|
1515
|
+
type VideoImageGenVideoMixInput = FromSchema<typeof _slot_video_image_gen_video_mix_inputs>;
|
|
1516
|
+
declare const _slot_video_image_gen_video_move_inputs: {
|
|
1517
|
+
readonly type: "object";
|
|
1518
|
+
readonly required: readonly ["image", "video"];
|
|
1519
|
+
readonly properties: {
|
|
1520
|
+
readonly text: {
|
|
1521
|
+
readonly type: "string";
|
|
1522
|
+
};
|
|
1523
|
+
readonly duration: {
|
|
1524
|
+
readonly type: "number";
|
|
1525
|
+
};
|
|
1526
|
+
readonly seed: {
|
|
1527
|
+
readonly type: "number";
|
|
1528
|
+
};
|
|
1529
|
+
readonly height: {
|
|
1530
|
+
readonly type: "integer";
|
|
1531
|
+
};
|
|
1532
|
+
readonly width: {
|
|
1533
|
+
readonly type: "integer";
|
|
1534
|
+
};
|
|
1535
|
+
readonly enhance_prompt: {
|
|
1536
|
+
readonly type: "boolean";
|
|
1537
|
+
};
|
|
1538
|
+
readonly image: {
|
|
1539
|
+
readonly type: "object";
|
|
1540
|
+
readonly required: readonly ["bytesBase64"];
|
|
1541
|
+
readonly properties: {
|
|
1542
|
+
readonly bytesBase64: {
|
|
1543
|
+
readonly type: "string";
|
|
1544
|
+
readonly minLength: 1;
|
|
1545
|
+
};
|
|
1546
|
+
readonly filename: {
|
|
1547
|
+
readonly type: "string";
|
|
1548
|
+
};
|
|
1549
|
+
readonly mime: {
|
|
1550
|
+
readonly type: "string";
|
|
1551
|
+
};
|
|
1552
|
+
};
|
|
1553
|
+
readonly additionalProperties: false;
|
|
1554
|
+
};
|
|
1555
|
+
readonly video: {
|
|
1556
|
+
readonly type: "object";
|
|
1557
|
+
readonly required: readonly ["bytesBase64"];
|
|
1558
|
+
readonly properties: {
|
|
1559
|
+
readonly bytesBase64: {
|
|
1560
|
+
readonly type: "string";
|
|
1561
|
+
readonly minLength: 1;
|
|
1562
|
+
};
|
|
1563
|
+
readonly filename: {
|
|
1564
|
+
readonly type: "string";
|
|
1565
|
+
};
|
|
1566
|
+
readonly mime: {
|
|
1567
|
+
readonly type: "string";
|
|
1568
|
+
};
|
|
1569
|
+
};
|
|
1570
|
+
readonly additionalProperties: false;
|
|
1571
|
+
};
|
|
1572
|
+
readonly attention_strength: {
|
|
1573
|
+
readonly type: "number";
|
|
1574
|
+
};
|
|
1575
|
+
};
|
|
1576
|
+
readonly additionalProperties: false;
|
|
1577
|
+
};
|
|
1578
|
+
type VideoImageGenVideoMoveInput = FromSchema<typeof _slot_video_image_gen_video_move_inputs>;
|
|
1579
|
+
declare const _slot_image_image_gen_video_inputs: {
|
|
1580
|
+
readonly type: "object";
|
|
1581
|
+
readonly required: readonly ["text", "image", "end_image"];
|
|
1582
|
+
readonly properties: {
|
|
1583
|
+
readonly text: {
|
|
1584
|
+
readonly type: "string";
|
|
1585
|
+
};
|
|
1586
|
+
readonly duration: {
|
|
1587
|
+
readonly type: "number";
|
|
1588
|
+
};
|
|
1589
|
+
readonly seed: {
|
|
1590
|
+
readonly type: "number";
|
|
1591
|
+
};
|
|
1592
|
+
readonly height: {
|
|
1593
|
+
readonly type: "integer";
|
|
1594
|
+
};
|
|
1595
|
+
readonly width: {
|
|
1596
|
+
readonly type: "integer";
|
|
1597
|
+
};
|
|
1598
|
+
readonly enhance_prompt: {
|
|
1599
|
+
readonly type: "boolean";
|
|
1600
|
+
};
|
|
1601
|
+
readonly image: {
|
|
1602
|
+
readonly type: "object";
|
|
1603
|
+
readonly required: readonly ["bytesBase64"];
|
|
1604
|
+
readonly properties: {
|
|
1605
|
+
readonly bytesBase64: {
|
|
1606
|
+
readonly type: "string";
|
|
1607
|
+
readonly minLength: 1;
|
|
1608
|
+
};
|
|
1609
|
+
readonly filename: {
|
|
1610
|
+
readonly type: "string";
|
|
1611
|
+
};
|
|
1612
|
+
readonly mime: {
|
|
1613
|
+
readonly type: "string";
|
|
1614
|
+
};
|
|
1615
|
+
};
|
|
1616
|
+
readonly additionalProperties: false;
|
|
1617
|
+
};
|
|
1618
|
+
readonly image_strength: {
|
|
1619
|
+
readonly type: "number";
|
|
1620
|
+
};
|
|
1621
|
+
readonly end_image: {
|
|
1622
|
+
readonly type: "object";
|
|
1623
|
+
readonly required: readonly ["bytesBase64"];
|
|
1624
|
+
readonly properties: {
|
|
1625
|
+
readonly bytesBase64: {
|
|
1626
|
+
readonly type: "string";
|
|
1627
|
+
readonly minLength: 1;
|
|
1628
|
+
};
|
|
1629
|
+
readonly filename: {
|
|
1630
|
+
readonly type: "string";
|
|
1631
|
+
};
|
|
1632
|
+
readonly mime: {
|
|
1633
|
+
readonly type: "string";
|
|
1634
|
+
};
|
|
1635
|
+
};
|
|
1636
|
+
readonly additionalProperties: false;
|
|
1637
|
+
};
|
|
1638
|
+
};
|
|
1639
|
+
readonly additionalProperties: false;
|
|
1640
|
+
};
|
|
1641
|
+
type ImageImageGenVideoInput = FromSchema<typeof _slot_image_image_gen_video_inputs>;
|
|
1642
|
+
declare const _slot_text_gen_video_inputs: {
|
|
1643
|
+
readonly type: "object";
|
|
1644
|
+
readonly required: readonly ["text", "duration"];
|
|
1645
|
+
readonly properties: {
|
|
1646
|
+
readonly text: {
|
|
1647
|
+
readonly type: "string";
|
|
1648
|
+
};
|
|
1649
|
+
readonly duration: {
|
|
1650
|
+
readonly type: "number";
|
|
1651
|
+
};
|
|
1652
|
+
readonly seed: {
|
|
1653
|
+
readonly type: "number";
|
|
1654
|
+
};
|
|
1655
|
+
readonly height: {
|
|
1656
|
+
readonly type: "integer";
|
|
1657
|
+
};
|
|
1658
|
+
readonly width: {
|
|
1659
|
+
readonly type: "integer";
|
|
1660
|
+
};
|
|
1661
|
+
readonly enhance_prompt: {
|
|
1662
|
+
readonly type: "boolean";
|
|
1663
|
+
};
|
|
1664
|
+
};
|
|
1665
|
+
readonly additionalProperties: false;
|
|
1666
|
+
};
|
|
1667
|
+
type TextGenVideoInput = FromSchema<typeof _slot_text_gen_video_inputs>;
|
|
1668
|
+
declare const _slot_image_gen_model_inputs: {
|
|
1669
|
+
readonly type: "object";
|
|
1670
|
+
readonly required: readonly ["image"];
|
|
1671
|
+
readonly properties: {
|
|
1672
|
+
readonly text: {
|
|
1673
|
+
readonly type: "string";
|
|
1674
|
+
readonly minLength: 1;
|
|
1675
|
+
};
|
|
1676
|
+
readonly width: {
|
|
1677
|
+
readonly type: "integer";
|
|
1678
|
+
};
|
|
1679
|
+
readonly height: {
|
|
1680
|
+
readonly type: "integer";
|
|
1681
|
+
};
|
|
1682
|
+
readonly seed: {
|
|
1683
|
+
readonly type: "integer";
|
|
1684
|
+
};
|
|
1685
|
+
readonly image: {
|
|
1686
|
+
readonly type: "object";
|
|
1687
|
+
readonly required: readonly ["bytesBase64"];
|
|
1688
|
+
readonly properties: {
|
|
1689
|
+
readonly bytesBase64: {
|
|
1690
|
+
readonly type: "string";
|
|
1691
|
+
readonly minLength: 1;
|
|
1692
|
+
};
|
|
1693
|
+
readonly filename: {
|
|
1694
|
+
readonly type: "string";
|
|
1695
|
+
};
|
|
1696
|
+
readonly mime: {
|
|
1697
|
+
readonly type: "string";
|
|
1698
|
+
};
|
|
1699
|
+
};
|
|
1700
|
+
readonly additionalProperties: false;
|
|
1701
|
+
};
|
|
1702
|
+
};
|
|
1703
|
+
readonly additionalProperties: false;
|
|
1704
|
+
};
|
|
1705
|
+
type ImageGenModelInput = FromSchema<typeof _slot_image_gen_model_inputs>;
|
|
1706
|
+
declare const _slot_speech_video_gen_video_inputs: {
|
|
1707
|
+
readonly type: "object";
|
|
1708
|
+
readonly required: readonly ["video", "text"];
|
|
1709
|
+
readonly properties: {
|
|
1710
|
+
readonly text: {
|
|
1711
|
+
readonly type: "string";
|
|
1712
|
+
readonly minLength: 1;
|
|
1713
|
+
};
|
|
1714
|
+
readonly video: {
|
|
1715
|
+
readonly type: "object";
|
|
1716
|
+
readonly required: readonly ["bytesBase64"];
|
|
1717
|
+
readonly properties: {
|
|
1718
|
+
readonly bytesBase64: {
|
|
1719
|
+
readonly type: "string";
|
|
1720
|
+
readonly minLength: 1;
|
|
1721
|
+
};
|
|
1722
|
+
readonly filename: {
|
|
1723
|
+
readonly type: "string";
|
|
1724
|
+
};
|
|
1725
|
+
readonly mime: {
|
|
1726
|
+
readonly type: "string";
|
|
1727
|
+
};
|
|
1728
|
+
};
|
|
1729
|
+
readonly additionalProperties: false;
|
|
1730
|
+
};
|
|
1731
|
+
readonly enhance_prompt: {
|
|
1732
|
+
readonly type: "boolean";
|
|
1733
|
+
};
|
|
1734
|
+
readonly reference_strength: {
|
|
1735
|
+
readonly type: "number";
|
|
1736
|
+
};
|
|
1737
|
+
readonly seed: {
|
|
1738
|
+
readonly type: "number";
|
|
1739
|
+
};
|
|
1740
|
+
};
|
|
1741
|
+
readonly additionalProperties: false;
|
|
1742
|
+
};
|
|
1743
|
+
type SpeechVideoGenVideoInput = FromSchema<typeof _slot_speech_video_gen_video_inputs>;
|
|
1744
|
+
declare const _slot_text_gen_speech_clone_inputs: {
|
|
1745
|
+
readonly type: "object";
|
|
1746
|
+
readonly required: readonly ["text", "ref_audio"];
|
|
1747
|
+
readonly properties: {
|
|
1748
|
+
readonly text: {
|
|
1749
|
+
readonly type: "string";
|
|
1750
|
+
readonly minLength: 1;
|
|
1751
|
+
};
|
|
1752
|
+
readonly ref_audio: {
|
|
1753
|
+
readonly type: "object";
|
|
1754
|
+
readonly required: readonly ["bytesBase64"];
|
|
1755
|
+
readonly properties: {
|
|
1756
|
+
readonly bytesBase64: {
|
|
1757
|
+
readonly type: "string";
|
|
1758
|
+
readonly minLength: 1;
|
|
1759
|
+
};
|
|
1760
|
+
readonly filename: {
|
|
1761
|
+
readonly type: "string";
|
|
1762
|
+
};
|
|
1763
|
+
readonly mime: {
|
|
1764
|
+
readonly type: "string";
|
|
1765
|
+
};
|
|
1766
|
+
};
|
|
1767
|
+
readonly additionalProperties: false;
|
|
1768
|
+
};
|
|
1769
|
+
readonly language: {
|
|
1770
|
+
readonly type: "string";
|
|
1771
|
+
};
|
|
1772
|
+
readonly ref_text: {
|
|
1773
|
+
readonly type: "string";
|
|
1774
|
+
};
|
|
1775
|
+
readonly x_vector_only: {
|
|
1776
|
+
readonly type: "boolean";
|
|
1777
|
+
};
|
|
1778
|
+
readonly max_new_tokens: {
|
|
1779
|
+
readonly type: "integer";
|
|
1780
|
+
};
|
|
1781
|
+
};
|
|
1782
|
+
readonly additionalProperties: false;
|
|
1783
|
+
};
|
|
1784
|
+
type TextGenSpeechCloneInput = FromSchema<typeof _slot_text_gen_speech_clone_inputs>;
|
|
1785
|
+
declare const _slot_transcribe_timestamp_inputs: {
|
|
1786
|
+
readonly type: "object";
|
|
1787
|
+
readonly required: readonly ["audio"];
|
|
1788
|
+
readonly properties: {
|
|
1789
|
+
readonly context: {
|
|
1790
|
+
readonly type: "string";
|
|
1791
|
+
};
|
|
1792
|
+
readonly language: {
|
|
1793
|
+
readonly type: "string";
|
|
1794
|
+
};
|
|
1795
|
+
readonly max_new_tokens: {
|
|
1796
|
+
readonly type: "number";
|
|
1797
|
+
};
|
|
1798
|
+
readonly audio: {
|
|
1799
|
+
readonly type: "object";
|
|
1800
|
+
readonly required: readonly ["bytesBase64"];
|
|
1801
|
+
readonly properties: {
|
|
1802
|
+
readonly bytesBase64: {
|
|
1803
|
+
readonly type: "string";
|
|
1804
|
+
readonly minLength: 1;
|
|
1805
|
+
};
|
|
1806
|
+
readonly filename: {
|
|
1807
|
+
readonly type: "string";
|
|
1808
|
+
};
|
|
1809
|
+
readonly mime: {
|
|
1810
|
+
readonly type: "string";
|
|
1811
|
+
};
|
|
1812
|
+
};
|
|
1813
|
+
readonly additionalProperties: false;
|
|
1814
|
+
};
|
|
1815
|
+
};
|
|
1816
|
+
readonly additionalProperties: false;
|
|
1817
|
+
};
|
|
1818
|
+
type TranscribeTimestampInput = FromSchema<typeof _slot_transcribe_timestamp_inputs>;
|
|
1819
|
+
declare const _slot_text_gen_speech_instruct_inputs: {
|
|
1820
|
+
readonly type: "object";
|
|
1821
|
+
readonly required: readonly ["text"];
|
|
1822
|
+
readonly properties: {
|
|
1823
|
+
readonly text: {
|
|
1824
|
+
readonly type: "string";
|
|
1825
|
+
readonly minLength: 1;
|
|
1826
|
+
};
|
|
1827
|
+
readonly language: {
|
|
1828
|
+
readonly type: "string";
|
|
1829
|
+
};
|
|
1830
|
+
readonly instruct: {
|
|
1831
|
+
readonly type: "string";
|
|
1832
|
+
};
|
|
1833
|
+
readonly max_new_tokens: {
|
|
1834
|
+
readonly type: "integer";
|
|
1835
|
+
};
|
|
1836
|
+
};
|
|
1837
|
+
readonly additionalProperties: false;
|
|
1838
|
+
};
|
|
1839
|
+
type TextGenSpeechInstructInput = FromSchema<typeof _slot_text_gen_speech_instruct_inputs>;
|
|
1840
|
+
declare const _slot_drop_video_inputs: {
|
|
1841
|
+
readonly type: "object";
|
|
1842
|
+
readonly required: readonly ["videos"];
|
|
1843
|
+
readonly properties: {
|
|
1844
|
+
readonly query: {
|
|
1845
|
+
readonly type: "string";
|
|
1846
|
+
};
|
|
1847
|
+
readonly videos: {
|
|
1848
|
+
readonly type: "array";
|
|
1849
|
+
readonly items: {
|
|
1850
|
+
readonly type: "object";
|
|
1851
|
+
readonly required: readonly ["bytesBase64"];
|
|
1852
|
+
readonly properties: {
|
|
1853
|
+
readonly bytesBase64: {
|
|
1854
|
+
readonly type: "string";
|
|
1855
|
+
readonly minLength: 1;
|
|
1856
|
+
};
|
|
1857
|
+
readonly filename: {
|
|
1858
|
+
readonly type: "string";
|
|
1859
|
+
};
|
|
1860
|
+
readonly mime: {
|
|
1861
|
+
readonly type: "string";
|
|
1862
|
+
};
|
|
1863
|
+
};
|
|
1864
|
+
readonly additionalProperties: false;
|
|
1865
|
+
};
|
|
1866
|
+
};
|
|
1867
|
+
};
|
|
1868
|
+
readonly additionalProperties: false;
|
|
1869
|
+
};
|
|
1870
|
+
type DropVideoInput = FromSchema<typeof _slot_drop_video_inputs>;
|
|
1871
|
+
declare const _slot_arrange_group_inputs: {
|
|
1872
|
+
readonly type: "object";
|
|
1873
|
+
readonly required: readonly [];
|
|
1874
|
+
readonly properties: {
|
|
1875
|
+
readonly items: {
|
|
1876
|
+
readonly type: "array";
|
|
1877
|
+
readonly items: {
|
|
1878
|
+
readonly type: "object";
|
|
1879
|
+
readonly required: readonly [];
|
|
1880
|
+
readonly properties: {
|
|
1881
|
+
readonly text: {
|
|
1882
|
+
readonly type: "string";
|
|
1883
|
+
};
|
|
1884
|
+
readonly id: {
|
|
1885
|
+
readonly type: "string";
|
|
1886
|
+
};
|
|
1887
|
+
};
|
|
1888
|
+
readonly additionalProperties: false;
|
|
1889
|
+
};
|
|
1890
|
+
};
|
|
1891
|
+
readonly infos: {
|
|
1892
|
+
readonly type: "array";
|
|
1893
|
+
readonly items: {
|
|
1894
|
+
readonly type: "object";
|
|
1895
|
+
readonly properties: {};
|
|
1896
|
+
readonly additionalProperties: true;
|
|
1897
|
+
};
|
|
1898
|
+
};
|
|
1899
|
+
readonly query: {
|
|
1900
|
+
readonly type: "string";
|
|
1901
|
+
};
|
|
1902
|
+
readonly groupCount: {
|
|
1903
|
+
readonly type: "integer";
|
|
1904
|
+
};
|
|
1905
|
+
readonly duplicatable: {
|
|
1906
|
+
readonly type: "boolean";
|
|
1907
|
+
};
|
|
1908
|
+
readonly images: {
|
|
1909
|
+
readonly type: "array";
|
|
1910
|
+
readonly items: {
|
|
1911
|
+
readonly type: "object";
|
|
1912
|
+
readonly required: readonly ["bytesBase64"];
|
|
1913
|
+
readonly properties: {
|
|
1914
|
+
readonly bytesBase64: {
|
|
1915
|
+
readonly type: "string";
|
|
1916
|
+
readonly minLength: 1;
|
|
1917
|
+
};
|
|
1918
|
+
readonly filename: {
|
|
1919
|
+
readonly type: "string";
|
|
1920
|
+
};
|
|
1921
|
+
readonly mime: {
|
|
1922
|
+
readonly type: "string";
|
|
1923
|
+
};
|
|
1924
|
+
};
|
|
1925
|
+
readonly additionalProperties: false;
|
|
1926
|
+
};
|
|
1927
|
+
};
|
|
1928
|
+
readonly fileKeys: {
|
|
1929
|
+
readonly type: "array";
|
|
1930
|
+
readonly items: {
|
|
1931
|
+
readonly type: "object";
|
|
1932
|
+
readonly required: readonly ["bytesBase64"];
|
|
1933
|
+
readonly properties: {
|
|
1934
|
+
readonly bytesBase64: {
|
|
1935
|
+
readonly type: "string";
|
|
1936
|
+
readonly minLength: 1;
|
|
1937
|
+
};
|
|
1938
|
+
readonly filename: {
|
|
1939
|
+
readonly type: "string";
|
|
1940
|
+
};
|
|
1941
|
+
readonly mime: {
|
|
1942
|
+
readonly type: "string";
|
|
1943
|
+
};
|
|
1944
|
+
};
|
|
1945
|
+
readonly additionalProperties: false;
|
|
1946
|
+
};
|
|
1947
|
+
};
|
|
1948
|
+
};
|
|
1949
|
+
readonly additionalProperties: false;
|
|
1950
|
+
};
|
|
1951
|
+
type ArrangeGroupInput = FromSchema<typeof _slot_arrange_group_inputs>;
|
|
1952
|
+
declare const _slot_separate_speaker_inputs: {
|
|
1953
|
+
readonly type: "object";
|
|
1954
|
+
readonly required: readonly ["audio"];
|
|
1955
|
+
readonly properties: {
|
|
1956
|
+
readonly audio: {
|
|
1957
|
+
readonly type: "object";
|
|
1958
|
+
readonly required: readonly ["bytesBase64"];
|
|
1959
|
+
readonly properties: {
|
|
1960
|
+
readonly bytesBase64: {
|
|
1961
|
+
readonly type: "string";
|
|
1962
|
+
readonly minLength: 1;
|
|
1963
|
+
};
|
|
1964
|
+
readonly filename: {
|
|
1965
|
+
readonly type: "string";
|
|
1966
|
+
};
|
|
1967
|
+
readonly mime: {
|
|
1968
|
+
readonly type: "string";
|
|
1969
|
+
};
|
|
1970
|
+
};
|
|
1971
|
+
readonly additionalProperties: false;
|
|
1972
|
+
};
|
|
1973
|
+
};
|
|
1974
|
+
readonly additionalProperties: false;
|
|
1975
|
+
};
|
|
1976
|
+
type SeparateSpeakerInput = FromSchema<typeof _slot_separate_speaker_inputs>;
|
|
1977
|
+
declare const _slot_separate_audio_track_inputs: {
|
|
1978
|
+
readonly type: "object";
|
|
1979
|
+
readonly required: readonly ["audio"];
|
|
1980
|
+
readonly properties: {
|
|
1981
|
+
readonly audio: {
|
|
1982
|
+
readonly type: "object";
|
|
1983
|
+
readonly required: readonly ["bytesBase64"];
|
|
1984
|
+
readonly properties: {
|
|
1985
|
+
readonly bytesBase64: {
|
|
1986
|
+
readonly type: "string";
|
|
1987
|
+
readonly minLength: 1;
|
|
1988
|
+
};
|
|
1989
|
+
readonly filename: {
|
|
1990
|
+
readonly type: "string";
|
|
1991
|
+
};
|
|
1992
|
+
readonly mime: {
|
|
1993
|
+
readonly type: "string";
|
|
1994
|
+
};
|
|
1995
|
+
};
|
|
1996
|
+
readonly additionalProperties: false;
|
|
1997
|
+
};
|
|
1998
|
+
};
|
|
1999
|
+
readonly additionalProperties: false;
|
|
2000
|
+
};
|
|
2001
|
+
type SeparateAudioTrackInput = FromSchema<typeof _slot_separate_audio_track_inputs>;
|
|
2002
|
+
declare const _slot_denoise_audio_inputs: {
|
|
2003
|
+
readonly type: "object";
|
|
2004
|
+
readonly required: readonly ["fileKey"];
|
|
2005
|
+
readonly properties: {
|
|
2006
|
+
readonly fileKey: {
|
|
2007
|
+
readonly type: "object";
|
|
2008
|
+
readonly required: readonly ["bytesBase64"];
|
|
2009
|
+
readonly properties: {
|
|
2010
|
+
readonly bytesBase64: {
|
|
2011
|
+
readonly type: "string";
|
|
2012
|
+
readonly minLength: 1;
|
|
2013
|
+
};
|
|
2014
|
+
readonly filename: {
|
|
2015
|
+
readonly type: "string";
|
|
2016
|
+
};
|
|
2017
|
+
readonly mime: {
|
|
2018
|
+
readonly type: "string";
|
|
2019
|
+
};
|
|
2020
|
+
};
|
|
2021
|
+
readonly additionalProperties: false;
|
|
2022
|
+
};
|
|
2023
|
+
};
|
|
2024
|
+
readonly additionalProperties: false;
|
|
2025
|
+
};
|
|
2026
|
+
type DenoiseAudioInput = FromSchema<typeof _slot_denoise_audio_inputs>;
|
|
2027
|
+
declare const _slot_convert_voice_inputs: {
|
|
2028
|
+
readonly type: "object";
|
|
2029
|
+
readonly required: readonly ["sourceKey", "targetKey"];
|
|
2030
|
+
readonly properties: {
|
|
2031
|
+
readonly sourceKey: {
|
|
2032
|
+
readonly type: "object";
|
|
2033
|
+
readonly required: readonly ["bytesBase64"];
|
|
2034
|
+
readonly properties: {
|
|
2035
|
+
readonly bytesBase64: {
|
|
2036
|
+
readonly type: "string";
|
|
2037
|
+
readonly minLength: 1;
|
|
2038
|
+
};
|
|
2039
|
+
readonly filename: {
|
|
2040
|
+
readonly type: "string";
|
|
2041
|
+
};
|
|
2042
|
+
readonly mime: {
|
|
2043
|
+
readonly type: "string";
|
|
2044
|
+
};
|
|
2045
|
+
};
|
|
2046
|
+
readonly additionalProperties: false;
|
|
2047
|
+
};
|
|
2048
|
+
readonly targetKey: {
|
|
2049
|
+
readonly type: "string";
|
|
2050
|
+
};
|
|
2051
|
+
};
|
|
2052
|
+
readonly additionalProperties: false;
|
|
2053
|
+
};
|
|
2054
|
+
type ConvertVoiceInput = FromSchema<typeof _slot_convert_voice_inputs>;
|
|
2055
|
+
declare const _slot_remove_watermark_inputs: {
|
|
2056
|
+
readonly type: "object";
|
|
2057
|
+
readonly required: readonly ["fileKey"];
|
|
2058
|
+
readonly properties: {
|
|
2059
|
+
readonly fileKey: {
|
|
2060
|
+
readonly type: "object";
|
|
2061
|
+
readonly required: readonly ["bytesBase64"];
|
|
2062
|
+
readonly properties: {
|
|
2063
|
+
readonly bytesBase64: {
|
|
2064
|
+
readonly type: "string";
|
|
2065
|
+
readonly minLength: 1;
|
|
2066
|
+
};
|
|
2067
|
+
readonly filename: {
|
|
2068
|
+
readonly type: "string";
|
|
2069
|
+
};
|
|
2070
|
+
readonly mime: {
|
|
2071
|
+
readonly type: "string";
|
|
2072
|
+
};
|
|
2073
|
+
};
|
|
2074
|
+
readonly additionalProperties: false;
|
|
2075
|
+
};
|
|
2076
|
+
};
|
|
2077
|
+
readonly additionalProperties: false;
|
|
2078
|
+
};
|
|
2079
|
+
type RemoveWatermarkInput = FromSchema<typeof _slot_remove_watermark_inputs>;
|
|
2080
|
+
declare const _slot_subtitle_remove_inputs: {
|
|
2081
|
+
readonly type: "object";
|
|
2082
|
+
readonly required: readonly ["fileKey"];
|
|
2083
|
+
readonly properties: {
|
|
2084
|
+
readonly fileKey: {
|
|
2085
|
+
readonly type: "object";
|
|
2086
|
+
readonly required: readonly ["bytesBase64"];
|
|
2087
|
+
readonly properties: {
|
|
2088
|
+
readonly bytesBase64: {
|
|
2089
|
+
readonly type: "string";
|
|
2090
|
+
readonly minLength: 1;
|
|
2091
|
+
};
|
|
2092
|
+
readonly filename: {
|
|
2093
|
+
readonly type: "string";
|
|
2094
|
+
};
|
|
2095
|
+
readonly mime: {
|
|
2096
|
+
readonly type: "string";
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2099
|
+
readonly additionalProperties: false;
|
|
2100
|
+
};
|
|
2101
|
+
};
|
|
2102
|
+
readonly additionalProperties: false;
|
|
2103
|
+
};
|
|
2104
|
+
type SubtitleRemoveInput = FromSchema<typeof _slot_subtitle_remove_inputs>;
|
|
2105
|
+
declare const _slot_text_audio_gen_speech_inputs: {
|
|
2106
|
+
readonly type: "object";
|
|
2107
|
+
readonly required: readonly ["text", "audio"];
|
|
2108
|
+
readonly properties: {
|
|
2109
|
+
readonly text: {
|
|
2110
|
+
readonly type: "string";
|
|
2111
|
+
readonly minLength: 1;
|
|
2112
|
+
};
|
|
2113
|
+
readonly audio: {
|
|
2114
|
+
readonly type: "object";
|
|
2115
|
+
readonly required: readonly ["bytesBase64"];
|
|
2116
|
+
readonly properties: {
|
|
2117
|
+
readonly bytesBase64: {
|
|
2118
|
+
readonly type: "string";
|
|
2119
|
+
readonly minLength: 1;
|
|
2120
|
+
};
|
|
2121
|
+
readonly filename: {
|
|
2122
|
+
readonly type: "string";
|
|
2123
|
+
};
|
|
2124
|
+
readonly mime: {
|
|
2125
|
+
readonly type: "string";
|
|
2126
|
+
};
|
|
2127
|
+
};
|
|
2128
|
+
readonly additionalProperties: false;
|
|
2129
|
+
};
|
|
2130
|
+
readonly emotion: {
|
|
2131
|
+
readonly type: "string";
|
|
2132
|
+
};
|
|
2133
|
+
readonly style: {
|
|
2134
|
+
readonly type: "string";
|
|
2135
|
+
};
|
|
2136
|
+
};
|
|
2137
|
+
readonly additionalProperties: false;
|
|
2138
|
+
};
|
|
2139
|
+
type TextAudioGenSpeechInput = FromSchema<typeof _slot_text_audio_gen_speech_inputs>;
|
|
2140
|
+
declare const _slot_image_pose_inputs: {
|
|
2141
|
+
readonly type: "object";
|
|
2142
|
+
readonly required: readonly ["image"];
|
|
2143
|
+
readonly properties: {
|
|
2144
|
+
readonly image: {
|
|
2145
|
+
readonly type: "object";
|
|
2146
|
+
readonly required: readonly ["bytesBase64"];
|
|
2147
|
+
readonly properties: {
|
|
2148
|
+
readonly bytesBase64: {
|
|
2149
|
+
readonly type: "string";
|
|
2150
|
+
readonly minLength: 1;
|
|
2151
|
+
};
|
|
2152
|
+
readonly filename: {
|
|
2153
|
+
readonly type: "string";
|
|
2154
|
+
};
|
|
2155
|
+
readonly mime: {
|
|
2156
|
+
readonly type: "string";
|
|
2157
|
+
};
|
|
2158
|
+
};
|
|
2159
|
+
readonly additionalProperties: false;
|
|
2160
|
+
};
|
|
2161
|
+
};
|
|
2162
|
+
readonly additionalProperties: false;
|
|
2163
|
+
};
|
|
2164
|
+
type ImagePoseInput = FromSchema<typeof _slot_image_pose_inputs>;
|
|
2165
|
+
declare const _slot_image_body_seg_inputs: {
|
|
2166
|
+
readonly type: "object";
|
|
2167
|
+
readonly required: readonly ["image"];
|
|
2168
|
+
readonly properties: {
|
|
2169
|
+
readonly image: {
|
|
2170
|
+
readonly type: "object";
|
|
2171
|
+
readonly required: readonly ["bytesBase64"];
|
|
2172
|
+
readonly properties: {
|
|
2173
|
+
readonly bytesBase64: {
|
|
2174
|
+
readonly type: "string";
|
|
2175
|
+
readonly minLength: 1;
|
|
2176
|
+
};
|
|
2177
|
+
readonly filename: {
|
|
2178
|
+
readonly type: "string";
|
|
2179
|
+
};
|
|
2180
|
+
readonly mime: {
|
|
2181
|
+
readonly type: "string";
|
|
2182
|
+
};
|
|
2183
|
+
};
|
|
2184
|
+
readonly additionalProperties: false;
|
|
2185
|
+
};
|
|
2186
|
+
};
|
|
2187
|
+
readonly additionalProperties: false;
|
|
2188
|
+
};
|
|
2189
|
+
type ImageBodySegInput = FromSchema<typeof _slot_image_body_seg_inputs>;
|
|
2190
|
+
declare const _slot_image_normal_inputs: {
|
|
2191
|
+
readonly type: "object";
|
|
2192
|
+
readonly required: readonly ["image"];
|
|
2193
|
+
readonly properties: {
|
|
2194
|
+
readonly image: {
|
|
2195
|
+
readonly type: "object";
|
|
2196
|
+
readonly required: readonly ["bytesBase64"];
|
|
2197
|
+
readonly properties: {
|
|
2198
|
+
readonly bytesBase64: {
|
|
2199
|
+
readonly type: "string";
|
|
2200
|
+
readonly minLength: 1;
|
|
2201
|
+
};
|
|
2202
|
+
readonly filename: {
|
|
2203
|
+
readonly type: "string";
|
|
2204
|
+
};
|
|
2205
|
+
readonly mime: {
|
|
2206
|
+
readonly type: "string";
|
|
2207
|
+
};
|
|
2208
|
+
};
|
|
2209
|
+
readonly additionalProperties: false;
|
|
2210
|
+
};
|
|
2211
|
+
};
|
|
2212
|
+
readonly additionalProperties: false;
|
|
2213
|
+
};
|
|
2214
|
+
type ImageNormalInput = FromSchema<typeof _slot_image_normal_inputs>;
|
|
2215
|
+
declare const _slot_image_matting_inputs: {
|
|
2216
|
+
readonly type: "object";
|
|
2217
|
+
readonly required: readonly ["image"];
|
|
2218
|
+
readonly properties: {
|
|
2219
|
+
readonly image: {
|
|
2220
|
+
readonly type: "object";
|
|
2221
|
+
readonly required: readonly ["bytesBase64"];
|
|
2222
|
+
readonly properties: {
|
|
2223
|
+
readonly bytesBase64: {
|
|
2224
|
+
readonly type: "string";
|
|
2225
|
+
readonly minLength: 1;
|
|
2226
|
+
};
|
|
2227
|
+
readonly filename: {
|
|
2228
|
+
readonly type: "string";
|
|
2229
|
+
};
|
|
2230
|
+
readonly mime: {
|
|
2231
|
+
readonly type: "string";
|
|
2232
|
+
};
|
|
2233
|
+
};
|
|
2234
|
+
readonly additionalProperties: false;
|
|
2235
|
+
};
|
|
2236
|
+
};
|
|
2237
|
+
readonly additionalProperties: false;
|
|
2238
|
+
};
|
|
2239
|
+
type ImageMattingInput = FromSchema<typeof _slot_image_matting_inputs>;
|
|
2240
|
+
declare const _slot_video_gen_model_inputs: {
|
|
2241
|
+
readonly type: "object";
|
|
2242
|
+
readonly required: readonly ["video"];
|
|
2243
|
+
readonly properties: {
|
|
2244
|
+
readonly video: {
|
|
2245
|
+
readonly type: "object";
|
|
2246
|
+
readonly required: readonly ["bytesBase64"];
|
|
2247
|
+
readonly properties: {
|
|
2248
|
+
readonly bytesBase64: {
|
|
2249
|
+
readonly type: "string";
|
|
2250
|
+
readonly minLength: 1;
|
|
2251
|
+
};
|
|
2252
|
+
readonly filename: {
|
|
2253
|
+
readonly type: "string";
|
|
2254
|
+
};
|
|
2255
|
+
readonly mime: {
|
|
2256
|
+
readonly type: "string";
|
|
2257
|
+
};
|
|
2258
|
+
};
|
|
2259
|
+
readonly additionalProperties: false;
|
|
2260
|
+
};
|
|
2261
|
+
};
|
|
2262
|
+
readonly additionalProperties: false;
|
|
2263
|
+
};
|
|
2264
|
+
type VideoGenModelInput = FromSchema<typeof _slot_video_gen_model_inputs>;
|
|
2265
|
+
type NodeSlot = "gen-text" | "split-text" | "combine-text" | "image-fusion" | "images-gen-video" | "refs-gen-video" | "image-gen-text" | "video-gen-text" | "transcribe" | "concat-videos" | "extract-audio" | "remove-video-audio" | "merge-video-audio" | "audio-video-lip-sync" | "get-first-frame" | "get-last-frame" | "parse-document" | "split-video" | "link" | "image-gen" | "gen-music" | "text-gen-speech-preset" | "image-gen-video" | "image-edit" | "image-upscale" | "video-upscale" | "video-edit" | "image-describe" | "video-describe" | "audio-describe" | "music-repaint" | "music-cover" | "music-extract" | "separate-sound" | "music-lego" | "music-complete" | "music-brief" | "audio-image-gen-video" | "speech-text-gen-video" | "video-image-gen-video-mix" | "video-image-gen-video-move" | "image-image-gen-video" | "text-gen-video" | "image-gen-model" | "speech-video-gen-video" | "text-gen-speech-clone" | "transcribe-timestamp" | "text-gen-speech-instruct" | "drop-video" | "arrange-group" | "separate_speaker" | "separate_audio_track" | "denoise_audio" | "convert_voice" | "remove_watermark" | "subtitle_remove" | "text-audio-gen-speech" | "image-pose" | "image-body-seg" | "image-normal" | "image-matting" | "video-gen-model";
|
|
2266
|
+
type SlotInputsMap = {
|
|
2267
|
+
"gen-text": GenTextInput;
|
|
2268
|
+
"split-text": SplitTextInput;
|
|
2269
|
+
"combine-text": CombineTextInput;
|
|
2270
|
+
"image-fusion": ImageFusionInput;
|
|
2271
|
+
"images-gen-video": ImagesGenVideoInput;
|
|
2272
|
+
"refs-gen-video": RefsGenVideoInput;
|
|
2273
|
+
"image-gen-text": ImageGenTextInput;
|
|
2274
|
+
"video-gen-text": VideoGenTextInput;
|
|
2275
|
+
transcribe: TranscribeInput;
|
|
2276
|
+
"concat-videos": ConcatVideosInput;
|
|
2277
|
+
"extract-audio": ExtractAudioInput;
|
|
2278
|
+
"remove-video-audio": RemoveVideoAudioInput;
|
|
2279
|
+
"merge-video-audio": MergeVideoAudioInput;
|
|
2280
|
+
"audio-video-lip-sync": AudioVideoLipSyncInput;
|
|
2281
|
+
"get-first-frame": GetFirstFrameInput;
|
|
2282
|
+
"get-last-frame": GetLastFrameInput;
|
|
2283
|
+
"parse-document": ParseDocumentInput;
|
|
2284
|
+
"split-video": SplitVideoInput;
|
|
2285
|
+
link: LinkInput;
|
|
2286
|
+
"image-gen": ImageGenInput;
|
|
2287
|
+
"gen-music": GenMusicInput;
|
|
2288
|
+
"text-gen-speech-preset": TextGenSpeechPresetInput;
|
|
2289
|
+
"image-gen-video": ImageGenVideoInput;
|
|
2290
|
+
"image-edit": ImageEditInput;
|
|
2291
|
+
"image-upscale": ImageUpscaleInput;
|
|
2292
|
+
"video-upscale": VideoUpscaleInput;
|
|
2293
|
+
"video-edit": VideoEditInput;
|
|
2294
|
+
"image-describe": ImageDescribeInput;
|
|
2295
|
+
"video-describe": VideoDescribeInput;
|
|
2296
|
+
"audio-describe": AudioDescribeInput;
|
|
2297
|
+
"music-repaint": MusicRepaintInput;
|
|
2298
|
+
"music-cover": MusicCoverInput;
|
|
2299
|
+
"music-extract": MusicExtractInput;
|
|
2300
|
+
"separate-sound": SeparateSoundInput;
|
|
2301
|
+
"music-lego": MusicLegoInput;
|
|
2302
|
+
"music-complete": MusicCompleteInput;
|
|
2303
|
+
"music-brief": MusicBriefInput;
|
|
2304
|
+
"audio-image-gen-video": AudioImageGenVideoInput;
|
|
2305
|
+
"speech-text-gen-video": SpeechTextGenVideoInput;
|
|
2306
|
+
"video-image-gen-video-mix": VideoImageGenVideoMixInput;
|
|
2307
|
+
"video-image-gen-video-move": VideoImageGenVideoMoveInput;
|
|
2308
|
+
"image-image-gen-video": ImageImageGenVideoInput;
|
|
2309
|
+
"text-gen-video": TextGenVideoInput;
|
|
2310
|
+
"image-gen-model": ImageGenModelInput;
|
|
2311
|
+
"speech-video-gen-video": SpeechVideoGenVideoInput;
|
|
2312
|
+
"text-gen-speech-clone": TextGenSpeechCloneInput;
|
|
2313
|
+
"transcribe-timestamp": TranscribeTimestampInput;
|
|
2314
|
+
"text-gen-speech-instruct": TextGenSpeechInstructInput;
|
|
2315
|
+
"drop-video": DropVideoInput;
|
|
2316
|
+
"arrange-group": ArrangeGroupInput;
|
|
2317
|
+
separate_speaker: SeparateSpeakerInput;
|
|
2318
|
+
separate_audio_track: SeparateAudioTrackInput;
|
|
2319
|
+
denoise_audio: DenoiseAudioInput;
|
|
2320
|
+
convert_voice: ConvertVoiceInput;
|
|
2321
|
+
remove_watermark: RemoveWatermarkInput;
|
|
2322
|
+
subtitle_remove: SubtitleRemoveInput;
|
|
2323
|
+
"text-audio-gen-speech": TextAudioGenSpeechInput;
|
|
2324
|
+
"image-pose": ImagePoseInput;
|
|
2325
|
+
"image-body-seg": ImageBodySegInput;
|
|
2326
|
+
"image-normal": ImageNormalInput;
|
|
2327
|
+
"image-matting": ImageMattingInput;
|
|
2328
|
+
"video-gen-model": VideoGenModelInput;
|
|
2329
|
+
};
|
|
2330
|
+
type SlotInput<S extends NodeSlot> = SlotInputsMap[S];
|
|
2331
|
+
//#endregion
|
|
2332
|
+
//#region src/core/abi/handle-introspect.d.ts
|
|
2333
|
+
type DataNodeType = "imageNode" | "audioNode" | "videoNode" | "textNode" | "fileNode" | "modelNode" | "linkNode";
|
|
2334
|
+
/** Source classification per ABI input field. */
|
|
2335
|
+
type FieldClass = {
|
|
2336
|
+
kind: "handle";
|
|
2337
|
+
/** Suggested upstream node type (best-effort). */
|
|
2338
|
+
nodeType: DataNodeType;
|
|
2339
|
+
/**
|
|
2340
|
+
* Default extraction path on the upstream node's data:
|
|
2341
|
+
* - "fileKeys[0]" for single ref,
|
|
2342
|
+
* - "fileKeys" for array of refs (multi),
|
|
2343
|
+
* - "texts[0]" for text scalar from textNode,
|
|
2344
|
+
* - "texts" for array of texts.
|
|
2345
|
+
*/
|
|
2346
|
+
path: string;
|
|
2347
|
+
/** Array-typed handle (consumer wants multiple). */
|
|
2348
|
+
array: boolean;
|
|
2349
|
+
/** Whether this field is required by ABI. */
|
|
2350
|
+
required: boolean;
|
|
2351
|
+
} | {
|
|
2352
|
+
kind: "config";
|
|
2353
|
+
/** Field is required by ABI. */
|
|
2354
|
+
required: boolean;
|
|
2355
|
+
/** Underlying JSON Schema for this field (post-ref-resolution). */
|
|
2356
|
+
schema: JSONSchema7;
|
|
2357
|
+
};
|
|
2358
|
+
interface AbiTopology {
|
|
2359
|
+
feature: NodeSlot;
|
|
2360
|
+
/** Each input field's default classification (before sourceSpec overrides). */
|
|
2361
|
+
inputs: Record<string, FieldClass>;
|
|
2362
|
+
/** Ordered list of input field names (preserves schema order). */
|
|
2363
|
+
inputOrder: string[];
|
|
2364
|
+
/** Required input field names. */
|
|
2365
|
+
requiredInputs: string[];
|
|
2366
|
+
/** Output handles to render on the source side. */
|
|
2367
|
+
outputs: OutputHandle[];
|
|
2368
|
+
}
|
|
2369
|
+
interface OutputHandle {
|
|
2370
|
+
field: string;
|
|
2371
|
+
nodeType: DataNodeType;
|
|
2372
|
+
/** True for `x-expand-each` array outputs. */
|
|
2373
|
+
expandEach: boolean;
|
|
2374
|
+
}
|
|
2375
|
+
//#endregion
|
|
2376
|
+
//#region src/core/abi/sources.d.ts
|
|
2377
|
+
interface HandleOverride {
|
|
2378
|
+
kind: "handle";
|
|
2379
|
+
/** Upstream node type accepted on this handle. */
|
|
2380
|
+
nodeType?: DataNodeType;
|
|
2381
|
+
/**
|
|
2382
|
+
* Data-extraction path on the upstream node's data, e.g. "fileKeys[0]" or "texts".
|
|
2383
|
+
* If omitted, defaults are: `fileKeys[0]` (file refs, scalar), `fileKeys` (array),
|
|
2384
|
+
* `texts[0]` (text scalar), `texts` (text array).
|
|
2385
|
+
*/
|
|
2386
|
+
path?: string;
|
|
2387
|
+
/** True if this handle accepts an array of values (drives batch expansion: one prompt per item). */
|
|
2388
|
+
batch?: boolean;
|
|
2389
|
+
/**
|
|
2390
|
+
* True if this handle should collect values from every matching incoming edge
|
|
2391
|
+
* into a single array, **without** expanding into multiple prompts.
|
|
2392
|
+
* Use for concat-style fields (e.g. `videos: Asset[]`).
|
|
2393
|
+
*/
|
|
2394
|
+
collect?: boolean;
|
|
2395
|
+
/**
|
|
2396
|
+
* True if this field is *also* manually settable via the node form (ComfyUI-style
|
|
2397
|
+
* widget ⇄ input duality). An upstream edge always wins; the manual config value
|
|
2398
|
+
* is used as a fallback when nothing is connected. Requires the node to render a
|
|
2399
|
+
* manual control bound to the same field.
|
|
2400
|
+
*/
|
|
2401
|
+
manual?: boolean;
|
|
2402
|
+
}
|
|
2403
|
+
//#endregion
|
|
2404
|
+
//#region src/core/abi/resolve.d.ts
|
|
2405
|
+
type ResolvedField = {
|
|
2406
|
+
kind: "handle";
|
|
2407
|
+
nodeType: NonNullable<HandleOverride["nodeType"]>;
|
|
2408
|
+
path: NonNullable<HandleOverride["path"]>;
|
|
2409
|
+
batch?: boolean;
|
|
2410
|
+
collect?: boolean;
|
|
2411
|
+
/**
|
|
2412
|
+
* The ABI-declared per-call plugin shape:
|
|
2413
|
+
* - `true` when the plugin field is intrinsically array-typed
|
|
2414
|
+
* (e.g. `texts: string[]`, `videos: VideoRef[]`).
|
|
2415
|
+
* - `false` for scalar fields, including scalars promoted to a
|
|
2416
|
+
* handle via `batchOn` (each batch iteration delivers a single
|
|
2417
|
+
* scalar value to the plugin — the runner handles fan-out).
|
|
2418
|
+
* The workflow exporter uses this to derive `FieldBinding.consumerShape`.
|
|
2419
|
+
*/
|
|
2420
|
+
array: boolean;
|
|
2421
|
+
/**
|
|
2422
|
+
* True if the field is also manually settable via the node form. When no
|
|
2423
|
+
* upstream value is present, `buildPrompts` falls back to the config value.
|
|
2424
|
+
*/
|
|
2425
|
+
manual?: boolean;
|
|
2426
|
+
required: boolean;
|
|
2427
|
+
} | {
|
|
2428
|
+
kind: "config";
|
|
2429
|
+
required: boolean;
|
|
2430
|
+
} | {
|
|
2431
|
+
kind: "static";
|
|
2432
|
+
value: unknown;
|
|
2433
|
+
required: boolean;
|
|
2434
|
+
} | {
|
|
2435
|
+
kind: "input";
|
|
2436
|
+
inputName?: string;
|
|
2437
|
+
required: boolean;
|
|
2438
|
+
};
|
|
2439
|
+
interface ResolvedSpec {
|
|
2440
|
+
topology: AbiTopology;
|
|
2441
|
+
fields: Record<string, ResolvedField>;
|
|
2442
|
+
/** Field that drives batch expansion (only one supported). */
|
|
2443
|
+
batchField?: string;
|
|
2444
|
+
}
|
|
2445
|
+
//#endregion
|
|
2446
|
+
//#region src/core/workflow/flow-history.d.ts
|
|
2447
|
+
interface FlowSnapshot {
|
|
2448
|
+
nodes: Node[];
|
|
2449
|
+
edges: Edge[];
|
|
2450
|
+
}
|
|
2451
|
+
//#endregion
|
|
2452
|
+
//#region src/core/store/flow-store.d.ts
|
|
2453
|
+
interface PossibleNode {
|
|
2454
|
+
type: string;
|
|
2455
|
+
data?: Record<string, unknown>;
|
|
2456
|
+
}
|
|
2457
|
+
interface FlowCoreState {
|
|
2458
|
+
nodes: Node[];
|
|
2459
|
+
edges: Edge[];
|
|
2460
|
+
workflowName: string;
|
|
2461
|
+
workflowId: number | null;
|
|
2462
|
+
workflowDescription: string;
|
|
2463
|
+
/** Nodes currently selected on the canvas (host-fed). */
|
|
2464
|
+
selectedNodes: Node[];
|
|
2465
|
+
setSelectedNodes: (nodes: Node[]) => void;
|
|
2466
|
+
comboMode: boolean;
|
|
2467
|
+
comboSelectedIds: Set<string>;
|
|
2468
|
+
setComboMode: (enabled: boolean) => void;
|
|
2469
|
+
isInCombo: (id: string) => boolean;
|
|
2470
|
+
toggleCombo: (id: string) => void;
|
|
2471
|
+
clearCombo: () => void;
|
|
2472
|
+
setWorkflowName: (name: string) => void;
|
|
2473
|
+
setWorkflowId: (id: number | null) => void;
|
|
2474
|
+
setWorkflowDescription: (description: string) => void;
|
|
2475
|
+
computeMap: Map<string, () => void>;
|
|
2476
|
+
registerCompute: (id: string, fn: () => void) => void;
|
|
2477
|
+
getCompute: (id: string) => (() => void) | undefined;
|
|
2478
|
+
setNodes: (nodes: Node[]) => void;
|
|
2479
|
+
setEdges: (edges: Edge[]) => void;
|
|
2480
|
+
/** Id of the edge currently being reconnected (excluded from validation). */
|
|
2481
|
+
reconnectingEdgeId: string | null;
|
|
2482
|
+
setReconnectingEdgeId: (id: string | null) => void;
|
|
2483
|
+
/**
|
|
2484
|
+
* Spawn (or reuse) downstream data nodes for `nodeId`, one per entry of
|
|
2485
|
+
* `possibleNodes`, wired with the canonical handles. Returns the ids in
|
|
2486
|
+
* `possibleNodes` order (existing siblings are reused first).
|
|
2487
|
+
*/
|
|
2488
|
+
expands: (nodeId: string | null, possibleNodes: PossibleNode[]) => string[];
|
|
2489
|
+
/** Create a node fed by every combo-selected node; returns the new id. */
|
|
2490
|
+
compose: (newNode: {
|
|
2491
|
+
type: string;
|
|
2492
|
+
data: unknown;
|
|
2493
|
+
}) => string;
|
|
2494
|
+
/** Replace a node's `data`. `history: false` skips the undo snapshot. */
|
|
2495
|
+
updates: (nodeId: string, data: Record<string, unknown>, opts?: {
|
|
2496
|
+
history?: boolean;
|
|
2497
|
+
}) => void;
|
|
2498
|
+
addNode: (node: PossibleNode, position?: {
|
|
2499
|
+
x: number;
|
|
2500
|
+
y: number;
|
|
2501
|
+
}) => string;
|
|
2502
|
+
removeNode: (nodeId: string) => void;
|
|
2503
|
+
/** Drop every edge touching one of `nodeIds` (after a host removed them). */
|
|
2504
|
+
pruneEdgesOf: (nodeIds: string[]) => void;
|
|
2505
|
+
/**
|
|
2506
|
+
* Tidy the canvas (or just the weakly-connected components containing
|
|
2507
|
+
* `seedIds`) into a layered layout. Returns true when anything moved.
|
|
2508
|
+
* `history: false` folds the move into the caller's own snapshot.
|
|
2509
|
+
*/
|
|
2510
|
+
autoLayout: (seedIds?: string[], opts?: {
|
|
2511
|
+
history?: boolean;
|
|
2512
|
+
}) => boolean;
|
|
2513
|
+
/**
|
|
2514
|
+
* Layout settle watcher hooks for the host: a user drag cancels any pending
|
|
2515
|
+
* re-tidy; a late dimension change inside a just-tidied scope re-runs that
|
|
2516
|
+
* layout without a new history entry.
|
|
2517
|
+
*/
|
|
2518
|
+
cancelLayoutSettleWatch: () => void;
|
|
2519
|
+
notifyNodesMeasured: (nodeIds: string[]) => void;
|
|
2520
|
+
historyPast: FlowSnapshot[];
|
|
2521
|
+
historyFuture: FlowSnapshot[];
|
|
2522
|
+
/**
|
|
2523
|
+
* Snapshot the current state onto the past stack and clear the future
|
|
2524
|
+
* stack. Commits with the same `source` coalesce while focus stays put.
|
|
2525
|
+
*/
|
|
2526
|
+
commitHistory: (source?: string) => void;
|
|
2527
|
+
/** Break coalescing so the next commit with the same source starts fresh. */
|
|
2528
|
+
resetHistoryCoalescing: () => void;
|
|
2529
|
+
undo: () => void;
|
|
2530
|
+
redo: () => void;
|
|
2531
|
+
clearHistory: () => void;
|
|
2532
|
+
nodeCreatedCallbacks: Set<(nodeIds: string[]) => void>;
|
|
2533
|
+
onNodeCreated: (callback: (nodeIds: string[]) => void) => () => void;
|
|
2534
|
+
}
|
|
2535
|
+
//#endregion
|
|
2536
|
+
//#region src/core/constants/media-options.d.ts
|
|
2537
|
+
interface AspectRatio {
|
|
2538
|
+
value: string;
|
|
2539
|
+
label: string;
|
|
2540
|
+
width: number;
|
|
2541
|
+
height: number;
|
|
2542
|
+
}
|
|
2543
|
+
//#endregion
|
|
2544
|
+
//#region src/core/constants/task-status.d.ts
|
|
2545
|
+
/**
|
|
2546
|
+
* Unified task status definitions
|
|
2547
|
+
*
|
|
2548
|
+
* Status hierarchy:
|
|
2549
|
+
* - TASK_*: Single-task level status
|
|
2550
|
+
* - WORKFLOW_*: Workflow level status
|
|
2551
|
+
* - NODE_*: Node level status (workflow only)
|
|
2552
|
+
*
|
|
2553
|
+
* Status lifecycle:
|
|
2554
|
+
* PENDING -> RUNNING -> COMPLETED/FAILED/CANCELLED
|
|
2555
|
+
*/
|
|
2556
|
+
/**
|
|
2557
|
+
* General task status (single-task and workflow level)
|
|
2558
|
+
*/
|
|
2559
|
+
declare const TaskStatus: {
|
|
2560
|
+
readonly PENDING: "PENDING";
|
|
2561
|
+
readonly RUNNING: "RUNNING";
|
|
2562
|
+
readonly COMPLETED: "COMPLETED";
|
|
2563
|
+
readonly FAILED: "FAILED";
|
|
2564
|
+
readonly CANCELLED: "CANCELLED";
|
|
2565
|
+
};
|
|
2566
|
+
/**
|
|
2567
|
+
* Workflow level status
|
|
2568
|
+
*/
|
|
2569
|
+
declare const WorkflowStatus: {
|
|
2570
|
+
readonly WORKFLOW_STARTED: "WORKFLOW_STARTED";
|
|
2571
|
+
readonly WORKFLOW_COMPLETED: "WORKFLOW_COMPLETED";
|
|
2572
|
+
readonly WORKFLOW_FAILED: "WORKFLOW_FAILED";
|
|
2573
|
+
readonly WORKFLOW_CANCELLED: "WORKFLOW_CANCELLED";
|
|
2574
|
+
};
|
|
2575
|
+
/**
|
|
2576
|
+
* Node level status
|
|
2577
|
+
*/
|
|
2578
|
+
declare const NodeStatus: {
|
|
2579
|
+
readonly NODE_STARTED: "NODE_STARTED";
|
|
2580
|
+
readonly NODE_RUNNING: "NODE_RUNNING";
|
|
2581
|
+
readonly NODE_COMPLETED: "NODE_COMPLETED";
|
|
2582
|
+
readonly NODE_FAILED: "NODE_FAILED";
|
|
2583
|
+
};
|
|
2584
|
+
type TaskStatusType = (typeof TaskStatus)[keyof typeof TaskStatus];
|
|
2585
|
+
type WorkflowStatusType = (typeof WorkflowStatus)[keyof typeof WorkflowStatus];
|
|
2586
|
+
type NodeStatusType = (typeof NodeStatus)[keyof typeof NodeStatus];
|
|
2587
|
+
//#endregion
|
|
2588
|
+
//#region src/core/schema/tongflow-abi.d.ts
|
|
2589
|
+
interface ResolvedOutputRoute {
|
|
2590
|
+
sourceField: string;
|
|
2591
|
+
nodeType: "videoNode" | "audioNode" | "imageNode" | "textNode" | "modelNode" | "fileNode";
|
|
2592
|
+
dataField: "fileKeys" | "texts";
|
|
2593
|
+
expandEach: boolean;
|
|
2594
|
+
itemValuePath?: string;
|
|
2595
|
+
isArrayOfArrays?: boolean;
|
|
2596
|
+
}
|
|
2597
|
+
//#endregion
|
|
2598
|
+
//#region src/core/types/nodes.d.ts
|
|
2599
|
+
/**
|
|
2600
|
+
* Output node type
|
|
2601
|
+
*/
|
|
2602
|
+
type OutputNodeType = "textNode" | "imageNode" | "audioNode" | "videoNode" | "modelNode";
|
|
2603
|
+
/**
|
|
2604
|
+
* Shared React Flow `data` persisted on canvas nodes (media, composition, ABI workflow).
|
|
2605
|
+
* Modal primitives, transfer/compose plugins, and `TongflowPluginNodeData` all use this spine
|
|
2606
|
+
* so fields are readable without field-by-field `as` casts.
|
|
2607
|
+
*/
|
|
2608
|
+
interface BaseNodeData extends Record<string, unknown> {
|
|
2609
|
+
feature?: string;
|
|
2610
|
+
prompt?: Record<string, unknown>;
|
|
2611
|
+
/** Currently selected plugin ID (registry `nodeSlot` → `pluginIds`) */
|
|
2612
|
+
pluginId?: string;
|
|
2613
|
+
/** Selected model for router-style plugins that declare per-slot model
|
|
2614
|
+
* lists; empty/absent means the plugin's default. */
|
|
2615
|
+
pluginModel?: string;
|
|
2616
|
+
/** Composition linkage (`useNodesData`) */
|
|
2617
|
+
ids?: string[];
|
|
2618
|
+
texts?: string[];
|
|
2619
|
+
fileKeys?: string[];
|
|
2620
|
+
selectedAspectRatio?: AspectRatio;
|
|
2621
|
+
selectedResolution?: unknown;
|
|
2622
|
+
infos?: unknown[];
|
|
2623
|
+
label?: string;
|
|
2624
|
+
comment?: string;
|
|
2625
|
+
locked?: boolean;
|
|
2626
|
+
/** Model / single-file modalities */
|
|
2627
|
+
fileName?: string;
|
|
2628
|
+
fileKey?: string;
|
|
2629
|
+
outputType?: OutputNodeType;
|
|
2630
|
+
outputField?: "fileKeys" | "texts";
|
|
2631
|
+
}
|
|
2632
|
+
//#endregion
|
|
2633
|
+
//#region src/canvas/hooks/use-abi-form.d.ts
|
|
2634
|
+
type ConfigState<F extends NodeSlot> = Partial<SlotInput<F>>;
|
|
2635
|
+
interface UseAbiFormReturn<F extends NodeSlot> {
|
|
2636
|
+
feature: F;
|
|
2637
|
+
spec: ResolvedSpec;
|
|
2638
|
+
/** Current config snapshot (handle-fed fields are excluded). */
|
|
2639
|
+
state: ConfigState<F>;
|
|
2640
|
+
/**
|
|
2641
|
+
* Set a single field. Pass `{ history: false }` for programmatic writes
|
|
2642
|
+
* (e.g. mount-time defaults) so they stay out of undo history.
|
|
2643
|
+
*/
|
|
2644
|
+
set: <K extends keyof ConfigState<F>>(field: K, value: ConfigState<F>[K], opts?: {
|
|
2645
|
+
history?: boolean;
|
|
2646
|
+
}) => void;
|
|
2647
|
+
/** Merge a partial patch. Same `history` semantics as `set`. */
|
|
2648
|
+
patch: (partial: ConfigState<F>, opts?: {
|
|
2649
|
+
history?: boolean;
|
|
2650
|
+
}) => void;
|
|
2651
|
+
/** Bind a callback-style control: returns `{ value, onChange(value) }`. */
|
|
2652
|
+
bind: <K extends keyof ConfigState<F>>(field: K) => {
|
|
2653
|
+
value: ConfigState<F>[K] | undefined;
|
|
2654
|
+
onChange: (value: ConfigState<F>[K]) => void;
|
|
2655
|
+
};
|
|
2656
|
+
/** Bind a native input: returns `{ value, onChange(event) }`. */
|
|
2657
|
+
register: <K extends keyof ConfigState<F>>(field: K) => {
|
|
2658
|
+
value: string;
|
|
2659
|
+
onChange: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
2660
|
+
};
|
|
2661
|
+
}
|
|
2662
|
+
declare function useAbiForm<F extends NodeSlot>(feature: F): UseAbiFormReturn<F>;
|
|
2663
|
+
//#endregion
|
|
2664
|
+
//#region src/canvas/hooks/use-node-plugin-resolver.d.ts
|
|
2665
|
+
/**
|
|
2666
|
+
* Resolves the active plugin for a node given its ABI feature/nodeSlot.
|
|
2667
|
+
*
|
|
2668
|
+
* Responsibilities:
|
|
2669
|
+
* - Ensures the plugins registry is fetched (so `nodePluginMap` populates on canvas).
|
|
2670
|
+
* - Reads pluginOptions from the scanned registry (`nodePluginMap[feature]`).
|
|
2671
|
+
* - Persists a default `pluginId` into node data before paint so execution hooks
|
|
2672
|
+
* always see a value (avoids run-before-effect race).
|
|
2673
|
+
* - Provides `resolveActivePluginId()` so the execution hook can hand the id
|
|
2674
|
+
* to the create-task API as a top-level field.
|
|
2675
|
+
*/
|
|
2676
|
+
declare function useNodePluginResolver(feature: string | undefined): {
|
|
2677
|
+
pluginOptions: string[];
|
|
2678
|
+
defaultPluginIdFromRegistry: string;
|
|
2679
|
+
resolveActivePluginId: () => string;
|
|
2680
|
+
resolveActiveModel: () => string | undefined;
|
|
2681
|
+
};
|
|
2682
|
+
//#endregion
|
|
2683
|
+
//#region src/canvas/hooks/use-task.d.ts
|
|
2684
|
+
/**
|
|
2685
|
+
* Task management hook.
|
|
2686
|
+
* Uses SSE (Server-Sent Events) for realtime task updates.
|
|
2687
|
+
*/
|
|
2688
|
+
interface Task {
|
|
2689
|
+
id: string;
|
|
2690
|
+
status: "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED";
|
|
2691
|
+
data?: Record<string, unknown>;
|
|
2692
|
+
progress?: number;
|
|
2693
|
+
result?: unknown;
|
|
2694
|
+
error?: string;
|
|
2695
|
+
nodeId?: string;
|
|
2696
|
+
}
|
|
2697
|
+
type NodeTaskHandler = (task: Task) => void;
|
|
2698
|
+
type WorkspaceMode = "create" | "execute" | "app";
|
|
2699
|
+
type WorkflowExecutionStatus = "idle" | "running" | "paused" | "completed" | "failed";
|
|
2700
|
+
declare const WORKSPACE_MODE_KEY = "workspace-mode";
|
|
2701
|
+
interface TaskState {
|
|
2702
|
+
tasks: Map<string, Task>;
|
|
2703
|
+
workspaceMode: WorkspaceMode;
|
|
2704
|
+
setWorkspaceMode: (mode: WorkspaceMode) => void;
|
|
2705
|
+
workflowExecutionStatus: WorkflowExecutionStatus;
|
|
2706
|
+
setWorkflowExecutionStatus: (status: WorkflowExecutionStatus) => void;
|
|
2707
|
+
currentExecutionLevel: number;
|
|
2708
|
+
setCurrentExecutionLevel: (level: number) => void;
|
|
2709
|
+
nodeExecutionStatusMap: Map<string, string>;
|
|
2710
|
+
setNodeExecutionStatus: (nodeId: string, status: string) => void;
|
|
2711
|
+
clearNodeExecutionStatus: () => void;
|
|
2712
|
+
taskNodeMap: Map<string, string>;
|
|
2713
|
+
nodeHandlers: Map<string, NodeTaskHandler[]>;
|
|
2714
|
+
setTask: (taskId: string | number, task: Task) => void;
|
|
2715
|
+
getTask: (taskId: string | number) => Task | undefined;
|
|
2716
|
+
removeTask: (taskId: string | number) => void;
|
|
2717
|
+
clearCompletedTasks: () => void;
|
|
2718
|
+
getActiveTasks: () => Task[];
|
|
2719
|
+
hasActiveTasks: () => boolean;
|
|
2720
|
+
trackTaskToNode: (taskId: string, nodeId: string) => void;
|
|
2721
|
+
getTaskNodeId: (taskId: string) => string | undefined;
|
|
2722
|
+
registerNodeHandler: (nodeId: string, handler: NodeTaskHandler) => void;
|
|
2723
|
+
unregisterNodeHandler: (nodeId: string, handler: NodeTaskHandler) => void;
|
|
2724
|
+
routeTaskToNode: (task: Task) => void;
|
|
2725
|
+
}
|
|
2726
|
+
interface TaskCreationConfig {
|
|
2727
|
+
feature: string;
|
|
2728
|
+
pluginId: string;
|
|
2729
|
+
/** Selected model for router-style plugins; omitted otherwise. */
|
|
2730
|
+
model?: string;
|
|
2731
|
+
prompt: Record<string, unknown>;
|
|
2732
|
+
nodeId: string;
|
|
2733
|
+
workflowId?: number;
|
|
2734
|
+
}
|
|
2735
|
+
interface BatchTaskConfig {
|
|
2736
|
+
onBatchComplete?: (tasks: Task[]) => void;
|
|
2737
|
+
onProgress?: (completed: number, total: number) => void;
|
|
2738
|
+
}
|
|
2739
|
+
interface TaskSubscriptionOptions {
|
|
2740
|
+
onError?: (error: unknown) => void;
|
|
2741
|
+
maxRetries?: number;
|
|
2742
|
+
retryDelay?: number;
|
|
2743
|
+
onTaskUpdate?: (task: Task) => void;
|
|
2744
|
+
onStatusChange?: (status: "connecting" | "connected" | "reconnecting" | "disconnected" | "error") => void;
|
|
2745
|
+
}
|
|
2746
|
+
declare const useTaskStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TaskState>>;
|
|
2747
|
+
/**
|
|
2748
|
+
* Subscribe to task updates over SSE (Server-Sent Events).
|
|
2749
|
+
* Handles connection lifecycle, reconnect, and parsing.
|
|
2750
|
+
*/
|
|
2751
|
+
declare function useTaskSubscription(taskId?: string, options?: TaskSubscriptionOptions): {
|
|
2752
|
+
status: "error" | "connecting" | "connected" | "reconnecting" | "disconnected";
|
|
2753
|
+
};
|
|
2754
|
+
/**
|
|
2755
|
+
* Create a task and automatically attach SSE streaming.
|
|
2756
|
+
*/
|
|
2757
|
+
declare function useCreateTask(options?: TaskSubscriptionOptions): {
|
|
2758
|
+
createTask: (config: TaskCreationConfig) => Promise<string>;
|
|
2759
|
+
isLoading: boolean;
|
|
2760
|
+
error: Error | null;
|
|
2761
|
+
};
|
|
2762
|
+
/**
|
|
2763
|
+
* Manage many tasks concurrently.
|
|
2764
|
+
* Opens one SSE channel per task; loading stops when streams finish or drop.
|
|
2765
|
+
*/
|
|
2766
|
+
declare function useBatchTaskManager(config?: BatchTaskConfig, options?: TaskSubscriptionOptions): {
|
|
2767
|
+
createBatchTasks: (taskConfigs: TaskCreationConfig[]) => Promise<string[]>;
|
|
2768
|
+
cancelTasks: () => Promise<void>;
|
|
2769
|
+
isLoading: boolean;
|
|
2770
|
+
completedTasks: Task[];
|
|
2771
|
+
progress: number;
|
|
2772
|
+
};
|
|
2773
|
+
/**
|
|
2774
|
+
* Convenience hook bridging the Zustand store with routing helpers.
|
|
2775
|
+
*
|
|
2776
|
+
* SSE handling is encapsulated by useCreateTask; consumers rarely subscribe manually.
|
|
2777
|
+
*/
|
|
2778
|
+
declare function useTask(): {
|
|
2779
|
+
tasks: Map<string, Task>;
|
|
2780
|
+
setTask: (taskId: string | number, task: Task) => void;
|
|
2781
|
+
getTask: (taskId: string | number) => Task | undefined;
|
|
2782
|
+
removeTask: (taskId: string | number) => void;
|
|
2783
|
+
clearCompletedTasks: () => void;
|
|
2784
|
+
getActiveTasks: () => Task[];
|
|
2785
|
+
hasActiveTasks: () => boolean;
|
|
2786
|
+
trackTaskToNode: (taskId: string, nodeId: string) => void;
|
|
2787
|
+
getTaskNodeId: (taskId: string) => string | undefined;
|
|
2788
|
+
registerNodeHandler: (nodeId: string, handler: NodeTaskHandler) => void;
|
|
2789
|
+
unregisterNodeHandler: (nodeId: string, handler: NodeTaskHandler) => void;
|
|
2790
|
+
routeTaskToNode: (task: Task) => void;
|
|
2791
|
+
};
|
|
2792
|
+
/**
|
|
2793
|
+
* Subscribe handlers for updates emitted by tasks created from nodeId.
|
|
2794
|
+
*/
|
|
2795
|
+
declare function useNodeTaskUpdate(nodeId: string, handler: NodeTaskHandler): void;
|
|
2796
|
+
//#endregion
|
|
2797
|
+
//#region src/canvas/hooks/use-abi-execution.d.ts
|
|
2798
|
+
interface UseAbiExecutionOptions<F extends NodeSlot> {
|
|
2799
|
+
feature: F;
|
|
2800
|
+
/** Optional pairing with useAbiForm to read config values. */
|
|
2801
|
+
form?: UseAbiFormReturn<F>;
|
|
2802
|
+
/** Force-disable execution from the calling node. */
|
|
2803
|
+
disabled?: boolean;
|
|
2804
|
+
/**
|
|
2805
|
+
* Custom task update handler. Return `true` to mark the event handled
|
|
2806
|
+
* (skips the default ABI output routing).
|
|
2807
|
+
*/
|
|
2808
|
+
onTaskUpdate?: (task: Task) => boolean | undefined | Promise<boolean | undefined>;
|
|
2809
|
+
/**
|
|
2810
|
+
* Final-stage transform applied to the prompts produced by `buildPrompts`.
|
|
2811
|
+
* Use as an escape hatch for nodes that need to emit multiple prompts based
|
|
2812
|
+
* on local React state (e.g. a list-driven node with no upstream batch).
|
|
2813
|
+
*/
|
|
2814
|
+
transformPrompts?: (prompts: Record<string, unknown>[]) => Record<string, unknown>[];
|
|
2815
|
+
}
|
|
2816
|
+
interface UseAbiExecutionReturn {
|
|
2817
|
+
/** Execute one batch (single click). */
|
|
2818
|
+
run: () => Promise<void>;
|
|
2819
|
+
/** Cancel the in-flight batch created by this node (no-op when idle). */
|
|
2820
|
+
cancel: () => Promise<void>;
|
|
2821
|
+
/** True while this node owns cancellable in-flight tasks. */
|
|
2822
|
+
canCancel: boolean;
|
|
2823
|
+
loading: boolean;
|
|
2824
|
+
elapsedSeconds: number;
|
|
2825
|
+
/** Live runner status text from SSE (label / feature / message). Null when no message yet. */
|
|
2826
|
+
progressLabel: string | null;
|
|
2827
|
+
/** Live streamed reasoning ("thinking") for the node bubble. Null when none. */
|
|
2828
|
+
thinkingText: string | null;
|
|
2829
|
+
canRun: boolean;
|
|
2830
|
+
/** ABI feature being executed. */
|
|
2831
|
+
feature: string;
|
|
2832
|
+
/** Whether running in execute-mode (vs design mode). */
|
|
2833
|
+
isExecuteMode: boolean;
|
|
2834
|
+
/** Missing plugin dialog state (canvas execute UX). */
|
|
2835
|
+
missingPluginOpen: boolean;
|
|
2836
|
+
setMissingPluginOpen: (open: boolean) => void;
|
|
2837
|
+
/** Lazily resolved plugin options (used by NodePluginIdSelect). */
|
|
2838
|
+
pluginOptions: ReturnType<typeof useNodePluginResolver>["pluginOptions"];
|
|
2839
|
+
}
|
|
2840
|
+
declare function useAbiExecution<F extends NodeSlot>(opts: UseAbiExecutionOptions<F>): UseAbiExecutionReturn;
|
|
2841
|
+
//#endregion
|
|
2842
|
+
//#region src/canvas/lib/file/loader-queue.d.ts
|
|
2843
|
+
/**
|
|
2844
|
+
* Simplified file loader queue for local files.
|
|
2845
|
+
* Since files are served locally, no complex queuing is needed.
|
|
2846
|
+
*/
|
|
2847
|
+
type LoadPriority = "high" | "normal" | "low";
|
|
2848
|
+
interface LoadTask {
|
|
2849
|
+
id: string;
|
|
2850
|
+
fileKey: string;
|
|
2851
|
+
url: string;
|
|
2852
|
+
priority: LoadPriority;
|
|
2853
|
+
retryCount: number;
|
|
2854
|
+
maxRetries: number;
|
|
2855
|
+
timestamp: number;
|
|
2856
|
+
onSuccess: (url: string) => void;
|
|
2857
|
+
onError: (error: Error) => void;
|
|
2858
|
+
}
|
|
2859
|
+
declare class FileLoaderQueue {
|
|
2860
|
+
enqueue(task: LoadTask): void;
|
|
2861
|
+
enqueueBatch(tasks: LoadTask[]): void;
|
|
2862
|
+
cancel(_taskId: string): void;
|
|
2863
|
+
getStats(): {
|
|
2864
|
+
pending: number;
|
|
2865
|
+
active: number;
|
|
2866
|
+
completed: number;
|
|
2867
|
+
failed: number;
|
|
2868
|
+
};
|
|
2869
|
+
}
|
|
2870
|
+
declare function getGlobalFileQueue(): FileLoaderQueue;
|
|
2871
|
+
//#endregion
|
|
2872
|
+
//#region src/canvas/hooks/use-file-async-loader.d.ts
|
|
2873
|
+
interface UseFileAsyncLoaderOptions {
|
|
2874
|
+
priority?: LoadPriority;
|
|
2875
|
+
onProgress?: (loaded: number, total: number) => void;
|
|
2876
|
+
}
|
|
2877
|
+
declare function useFileAsyncLoader(fileKey: string | null | undefined, options?: UseFileAsyncLoaderOptions): {
|
|
2878
|
+
url: string | null;
|
|
2879
|
+
isLoading: boolean;
|
|
2880
|
+
error: Error | null;
|
|
2881
|
+
};
|
|
2882
|
+
declare function useFileAsyncLoaderBatch(fileKeys: string[], options?: UseFileAsyncLoaderOptions): {
|
|
2883
|
+
urls: Map<string, string>;
|
|
2884
|
+
isLoading: boolean;
|
|
2885
|
+
errors: Map<string, Error>;
|
|
2886
|
+
progress: {
|
|
2887
|
+
loaded: number;
|
|
2888
|
+
total: number;
|
|
2889
|
+
};
|
|
2890
|
+
};
|
|
2891
|
+
declare function useFileUrl(fileKey: string | null | undefined): string;
|
|
2892
|
+
declare function useFileLoaderStats(): {
|
|
2893
|
+
pending: number;
|
|
2894
|
+
active: number;
|
|
2895
|
+
completed: number;
|
|
2896
|
+
failed: number;
|
|
2897
|
+
};
|
|
2898
|
+
//#endregion
|
|
2899
|
+
//#region src/canvas/hooks/use-flow.d.ts
|
|
2900
|
+
/** React Flow bindings layered on the headless core. */
|
|
2901
|
+
interface FlowReactBindings {
|
|
2902
|
+
onSelectionChange: OnSelectionChangeFunc;
|
|
2903
|
+
onNodesChange: OnNodesChange<Node>;
|
|
2904
|
+
onEdgesChange: OnEdgesChange;
|
|
2905
|
+
onConnect: OnConnect;
|
|
2906
|
+
}
|
|
2907
|
+
type FlowState = FlowCoreState & FlowReactBindings;
|
|
2908
|
+
declare const useFlow: import("zustand").UseBoundStore<import("zustand").StoreApi<FlowState>>;
|
|
2909
|
+
//#endregion
|
|
2910
|
+
//#region src/canvas/hooks/use-node-abi-spec.d.ts
|
|
2911
|
+
/** React Flow type of the current node (undefined outside a node). */
|
|
2912
|
+
declare function useNodeType(): string | undefined;
|
|
2913
|
+
declare function useNodeAbiSpec<F extends NodeSlot>(feature: F): ResolvedSpec;
|
|
2914
|
+
//#endregion
|
|
2915
|
+
//#region src/canvas/hooks/use-node-data.d.ts
|
|
2916
|
+
/**
|
|
2917
|
+
* Hook for managing multiple states of a node
|
|
2918
|
+
* @param initialState Initial state object
|
|
2919
|
+
* @param nodeData Node's data object
|
|
2920
|
+
* @returns [state, updateState] Similar to useState interface, but supports object updates
|
|
2921
|
+
*/
|
|
2922
|
+
declare function useNodeState<T extends Record<string, any>>(initialState: T, nodeData: any): readonly [T, (updates: Partial<T> | ((prev: T) => T)) => void];
|
|
2923
|
+
//#endregion
|
|
2924
|
+
//#region src/canvas/hooks/use-plugins-registry.d.ts
|
|
2925
|
+
type PluginsRegistryPayload = {
|
|
2926
|
+
version: 1;
|
|
2927
|
+
generatedAt: string;
|
|
2928
|
+
scannerVersion?: number;
|
|
2929
|
+
nodePluginMap: Record<string, string[]>;
|
|
2930
|
+
plugins: Record<string, {
|
|
2931
|
+
methodsByNodeSlot?: Record<string, {
|
|
2932
|
+
methodName: string;
|
|
2933
|
+
models?: string[];
|
|
2934
|
+
}>;
|
|
2935
|
+
/** Presentation metadata merged from `tongflow.plugin.json`. */
|
|
2936
|
+
name?: string;
|
|
2937
|
+
description?: string;
|
|
2938
|
+
icon?: string;
|
|
2939
|
+
}>;
|
|
2940
|
+
errors?: Array<{
|
|
2941
|
+
pluginId: string;
|
|
2942
|
+
message: string;
|
|
2943
|
+
}>;
|
|
2944
|
+
};
|
|
2945
|
+
type PluginsRegistryState = {
|
|
2946
|
+
registry: PluginsRegistryPayload | null;
|
|
2947
|
+
isLoaded: boolean;
|
|
2948
|
+
isLoading: boolean;
|
|
2949
|
+
error: Error | null;
|
|
2950
|
+
};
|
|
2951
|
+
declare const usePluginsRegistryStore: import("zustand").UseBoundStore<import("zustand").StoreApi<PluginsRegistryState>>;
|
|
2952
|
+
declare function usePluginsRegistry(): {
|
|
2953
|
+
registry: PluginsRegistryPayload | null;
|
|
2954
|
+
isLoaded: boolean;
|
|
2955
|
+
isLoading: boolean;
|
|
2956
|
+
error: Error | null;
|
|
2957
|
+
};
|
|
2958
|
+
/**
|
|
2959
|
+
* Force refresh registry from the server (e.g. after install/update/remove).
|
|
2960
|
+
*/
|
|
2961
|
+
declare function refreshPluginsRegistry(): Promise<void>;
|
|
2962
|
+
/** Plugin directory names registered for a single ABI `nodeSlot`. */
|
|
2963
|
+
declare function useNodePluginIds(nodeSlot: string): string[];
|
|
2964
|
+
/**
|
|
2965
|
+
* Model ids a plugin declares for one ABI `nodeSlot` (empty for single-model
|
|
2966
|
+
* plugins — the model dropdown is hidden in that case).
|
|
2967
|
+
*/
|
|
2968
|
+
declare function useNodePluginModels(nodeSlot: string, pluginId: string): string[];
|
|
2969
|
+
type PluginMeta = {
|
|
2970
|
+
name?: string;
|
|
2971
|
+
description?: string;
|
|
2972
|
+
icon?: string;
|
|
2973
|
+
};
|
|
2974
|
+
/** Presentation metadata (name/description/icon) for a single plugin. */
|
|
2975
|
+
declare function usePluginMeta(pluginId: string): PluginMeta;
|
|
2976
|
+
/**
|
|
2977
|
+
* Union of plugin ids for several slots (e.g. `transcribe` + `transcribe_timestamp`).
|
|
2978
|
+
*/
|
|
2979
|
+
declare function useNodePluginIdsUnion(nodeSlots: string[]): string[];
|
|
2980
|
+
//#endregion
|
|
2981
|
+
//#region src/canvas/hooks/use-upload.d.ts
|
|
2982
|
+
/**
|
|
2983
|
+
* File upload hook - simplified for open-source version
|
|
2984
|
+
* Uploads files directly to local server
|
|
2985
|
+
*/
|
|
2986
|
+
interface UploadResponse {
|
|
2987
|
+
url: string;
|
|
2988
|
+
key: string;
|
|
2989
|
+
size: number;
|
|
2990
|
+
}
|
|
2991
|
+
interface UploadState {
|
|
2992
|
+
isUploading: boolean;
|
|
2993
|
+
progress: number;
|
|
2994
|
+
error: Error | null;
|
|
2995
|
+
uploadedFiles: UploadResponse[];
|
|
2996
|
+
}
|
|
2997
|
+
interface UseUploadOptions {
|
|
2998
|
+
onSuccess?: (response: UploadResponse) => void;
|
|
2999
|
+
onError?: (error: Error) => void;
|
|
3000
|
+
onProgress?: (progress: number) => void;
|
|
3001
|
+
}
|
|
3002
|
+
interface UseMultipleUploadOptions {
|
|
3003
|
+
onSuccess?: (responses: UploadResponse[]) => void;
|
|
3004
|
+
onError?: (error: Error) => void;
|
|
3005
|
+
onProgress?: (progress: number) => void;
|
|
3006
|
+
onFileComplete?: (response: UploadResponse, index: number) => void;
|
|
3007
|
+
}
|
|
3008
|
+
declare function useUpload(options?: UseUploadOptions): {
|
|
3009
|
+
upload: (file: File) => Promise<UploadResponse | null>;
|
|
3010
|
+
reset: () => void;
|
|
3011
|
+
isUploading: boolean;
|
|
3012
|
+
progress: number;
|
|
3013
|
+
error: Error | null;
|
|
3014
|
+
uploadedFiles: UploadResponse[];
|
|
3015
|
+
};
|
|
3016
|
+
declare function useMultipleUpload(options?: UseMultipleUploadOptions): {
|
|
3017
|
+
upload: (files: File[]) => Promise<UploadResponse[]>;
|
|
3018
|
+
reset: () => void;
|
|
3019
|
+
isUploading: boolean;
|
|
3020
|
+
progress: number;
|
|
3021
|
+
error: Error | null;
|
|
3022
|
+
uploadedFiles: UploadResponse[];
|
|
3023
|
+
};
|
|
3024
|
+
declare function useDropzone(options?: {
|
|
3025
|
+
onDrop?: (files: File[]) => void;
|
|
3026
|
+
accept?: string;
|
|
3027
|
+
maxSize?: number;
|
|
3028
|
+
maxFiles?: number;
|
|
3029
|
+
}): {
|
|
3030
|
+
isDragActive: boolean;
|
|
3031
|
+
error: string | null;
|
|
3032
|
+
handleDragEnter: (e: React.DragEvent) => void;
|
|
3033
|
+
handleDragLeave: (e: React.DragEvent) => void;
|
|
3034
|
+
handleDragOver: (e: React.DragEvent) => void;
|
|
3035
|
+
handleDrop: (e: React.DragEvent) => void;
|
|
3036
|
+
handleFileInput: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
3037
|
+
getRootProps: () => {
|
|
3038
|
+
onDragEnter: (e: React.DragEvent) => void;
|
|
3039
|
+
onDragLeave: (e: React.DragEvent) => void;
|
|
3040
|
+
onDragOver: (e: React.DragEvent) => void;
|
|
3041
|
+
onDrop: (e: React.DragEvent) => void;
|
|
3042
|
+
};
|
|
3043
|
+
getInputProps: () => {
|
|
3044
|
+
type: "file";
|
|
3045
|
+
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
3046
|
+
accept: string | undefined;
|
|
3047
|
+
multiple: boolean;
|
|
3048
|
+
};
|
|
3049
|
+
};
|
|
3050
|
+
//#endregion
|
|
3051
|
+
//#region src/canvas/hooks/use-upstream-ids.d.ts
|
|
3052
|
+
/**
|
|
3053
|
+
* Upstream node ids for display, derived from the live edge list.
|
|
3054
|
+
*
|
|
3055
|
+
* Node components must not render from the compose-time `data.ids` snapshot
|
|
3056
|
+
* alone: edges can be added by hand, reconnected, or rewritten via the edge
|
|
3057
|
+
* target-handle select, and none of those paths update `data.ids`. Deriving
|
|
3058
|
+
* from the subscribed edge list keeps the node's display in sync with every
|
|
3059
|
+
* edge mutation. The snapshot is only a fallback for nodes with no incoming
|
|
3060
|
+
* edges (legacy workflows persisted before edges were authoritative).
|
|
3061
|
+
*/
|
|
3062
|
+
declare function useUpstreamNodeIds(snapshotIds?: string[]): string[];
|
|
3063
|
+
//#endregion
|
|
3064
|
+
//#region src/canvas/host.d.ts
|
|
3065
|
+
interface CanvasHostConfig {
|
|
3066
|
+
/**
|
|
3067
|
+
* Prefix for every API request (no trailing slash), e.g.
|
|
3068
|
+
* `"https://app.tongflow.com"`. Empty string = same origin.
|
|
3069
|
+
*/
|
|
3070
|
+
apiBaseUrl: string;
|
|
3071
|
+
/**
|
|
3072
|
+
* Resolve a stored asset `file_key` to a fetchable URL. Defaults to
|
|
3073
|
+
* `${apiBaseUrl}/api/uploads/<file_key>`.
|
|
3074
|
+
*/
|
|
3075
|
+
resolveAssetUrl?: (fileKey: string) => string;
|
|
3076
|
+
/** Custom fetch (auth headers, credentials, …). Defaults to global fetch. */
|
|
3077
|
+
fetch?: typeof fetch;
|
|
3078
|
+
}
|
|
3079
|
+
/** Replace the host configuration (merges with the current one). */
|
|
3080
|
+
declare function configureCanvasHost(config: Partial<CanvasHostConfig>): void;
|
|
3081
|
+
declare function getCanvasHost(): Readonly<CanvasHostConfig>;
|
|
3082
|
+
/** Absolute (or origin-relative) URL for an API path such as `/api/task/create`. */
|
|
3083
|
+
declare function apiUrl(path: string): string;
|
|
3084
|
+
/** The fetch implementation the canvas should use. */
|
|
3085
|
+
declare function hostFetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
|
|
3086
|
+
/** URL for an asset `file_key` (private uploads endpoint by default). */
|
|
3087
|
+
declare function assetUrl(fileKey: string): string;
|
|
3088
|
+
interface CanvasProviderProps extends Partial<CanvasHostConfig> {
|
|
3089
|
+
/** Active UI locale for non-React translations (toasts, thrown errors). */
|
|
3090
|
+
locale?: string;
|
|
3091
|
+
children?: ReactNode;
|
|
3092
|
+
}
|
|
3093
|
+
/**
|
|
3094
|
+
* Applies host configuration + locale for the canvas subtree. Message
|
|
3095
|
+
* catalogs are NOT provided here — wrap the tree in `use-intl`'s
|
|
3096
|
+
* `IntlProvider` (or next-intl's provider) with `canvasMessages[locale]`
|
|
3097
|
+
* merged into your messages.
|
|
3098
|
+
*/
|
|
3099
|
+
declare function CanvasProvider({ locale, children, ...config }: CanvasProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
3100
|
+
//#endregion
|
|
3101
|
+
//#region src/canvas/i18n/messages.d.ts
|
|
3102
|
+
/**
|
|
3103
|
+
* Message catalogs the canvas ships with. A host merges the catalog for its
|
|
3104
|
+
* locale into its own messages (`{ ...canvasMessages[locale], ...own }`) and
|
|
3105
|
+
* provides them through `use-intl`'s `IntlProvider` (or next-intl's
|
|
3106
|
+
* `NextIntlClientProvider`, which is the same context).
|
|
3107
|
+
*/
|
|
3108
|
+
type CanvasLocale = "en" | "zh" | "ja" | "ko";
|
|
3109
|
+
declare const CANVAS_LOCALES: readonly CanvasLocale[];
|
|
3110
|
+
declare const canvasMessages: Record<CanvasLocale, Record<string, unknown>>;
|
|
3111
|
+
declare function isCanvasLocale(value: string): value is CanvasLocale;
|
|
3112
|
+
//#endregion
|
|
3113
|
+
//#region src/canvas/i18n/client.d.ts
|
|
3114
|
+
/** Announce the active UI locale (called by `CanvasProvider`). */
|
|
3115
|
+
declare function setCanvasLocale(locale: string): void;
|
|
3116
|
+
declare function getCanvasLocale(): CanvasLocale;
|
|
3117
|
+
type ClientTranslator = (key: string, values?: Record<string, string | number>) => string;
|
|
3118
|
+
declare function getClientTranslator(namespace?: string): ClientTranslator;
|
|
3119
|
+
//#endregion
|
|
3120
|
+
//#region src/canvas/lib/api/client.d.ts
|
|
3121
|
+
/**
|
|
3122
|
+
* Request configuration options
|
|
3123
|
+
*/
|
|
3124
|
+
interface FetchOptions extends Omit<RequestInit, "body"> {
|
|
3125
|
+
/**
|
|
3126
|
+
* Whether to show an error toast, defaults to true
|
|
3127
|
+
*/
|
|
3128
|
+
showErrorToast?: boolean;
|
|
3129
|
+
/**
|
|
3130
|
+
* Whether to show a success toast, defaults to false
|
|
3131
|
+
*/
|
|
3132
|
+
showSuccessToast?: boolean;
|
|
3133
|
+
/**
|
|
3134
|
+
* Custom success message
|
|
3135
|
+
*/
|
|
3136
|
+
successMessage?: string;
|
|
3137
|
+
/**
|
|
3138
|
+
* Custom error message
|
|
3139
|
+
*/
|
|
3140
|
+
errorMessage?: string;
|
|
3141
|
+
/**
|
|
3142
|
+
* Whether to automatically parse JSON, defaults to true
|
|
3143
|
+
*/
|
|
3144
|
+
parseJson?: boolean;
|
|
3145
|
+
/**
|
|
3146
|
+
* Response timeout in milliseconds, defaults to 30000
|
|
3147
|
+
*/
|
|
3148
|
+
timeout?: number;
|
|
3149
|
+
}
|
|
3150
|
+
/**
|
|
3151
|
+
* Unified fetch wrapper function
|
|
3152
|
+
*
|
|
3153
|
+
* @example
|
|
3154
|
+
* // Simple GET request
|
|
3155
|
+
* const data = await apiClient('/api/users');
|
|
3156
|
+
*
|
|
3157
|
+
* @example
|
|
3158
|
+
* // POST request with success message
|
|
3159
|
+
* const result = await apiClient('/api/users', {
|
|
3160
|
+
* method: 'POST',
|
|
3161
|
+
* body: JSON.stringify({ name: 'John' }),
|
|
3162
|
+
* showSuccessToast: true,
|
|
3163
|
+
* successMessage: 'Created successfully!',
|
|
3164
|
+
* });
|
|
3165
|
+
*
|
|
3166
|
+
* @example
|
|
3167
|
+
* // Custom error handling
|
|
3168
|
+
* const data = await apiClient('/api/users', {
|
|
3169
|
+
* errorMessage: 'Failed to load users',
|
|
3170
|
+
* });
|
|
3171
|
+
*/
|
|
3172
|
+
declare function apiClient<T = unknown>(url: string, options?: FetchOptions): Promise<T>;
|
|
3173
|
+
/**
|
|
3174
|
+
* Convenience method: GET request
|
|
3175
|
+
*/
|
|
3176
|
+
declare function apiGet<T = unknown>(url: string, options?: Omit<FetchOptions, "method" | "body">): Promise<T>;
|
|
3177
|
+
/**
|
|
3178
|
+
* Convenience method: POST request
|
|
3179
|
+
*/
|
|
3180
|
+
declare function apiPost<T = unknown>(url: string, body?: unknown, options?: Omit<FetchOptions, "method">): Promise<T>;
|
|
3181
|
+
/**
|
|
3182
|
+
* Convenience method: PUT request
|
|
3183
|
+
*/
|
|
3184
|
+
declare function apiPut<T = unknown>(url: string, body?: unknown, options?: Omit<FetchOptions, "method">): Promise<T>;
|
|
3185
|
+
/**
|
|
3186
|
+
* Convenience method: DELETE request
|
|
3187
|
+
*/
|
|
3188
|
+
declare function apiDelete<T = unknown>(url: string, options?: Omit<FetchOptions, "method">): Promise<T>;
|
|
3189
|
+
/**
|
|
3190
|
+
* Convenience method: PATCH request
|
|
3191
|
+
*/
|
|
3192
|
+
declare function apiPatch<T = unknown>(url: string, body?: unknown, options?: Omit<FetchOptions, "method">): Promise<T>;
|
|
3193
|
+
//#endregion
|
|
3194
|
+
//#region src/canvas/lib/api/material.d.ts
|
|
3195
|
+
/**
|
|
3196
|
+
* Material API client — local library
|
|
3197
|
+
*/
|
|
3198
|
+
type MaterialType = "image" | "video" | "audio" | "text" | "file" | "model";
|
|
3199
|
+
interface Material {
|
|
3200
|
+
id: number;
|
|
3201
|
+
name: string;
|
|
3202
|
+
type: MaterialType;
|
|
3203
|
+
content: {
|
|
3204
|
+
fileKeys?: string[];
|
|
3205
|
+
texts?: string[];
|
|
3206
|
+
};
|
|
3207
|
+
thumbnail?: string;
|
|
3208
|
+
isFavorite: boolean;
|
|
3209
|
+
isCover?: boolean;
|
|
3210
|
+
createdAt: Date;
|
|
3211
|
+
updatedAt: Date;
|
|
3212
|
+
deleted: boolean;
|
|
3213
|
+
}
|
|
3214
|
+
interface CreateMaterialRequest {
|
|
3215
|
+
name: string;
|
|
3216
|
+
type: MaterialType;
|
|
3217
|
+
content: {
|
|
3218
|
+
fileKeys?: string[];
|
|
3219
|
+
texts?: string[];
|
|
3220
|
+
};
|
|
3221
|
+
thumbnail?: string;
|
|
3222
|
+
}
|
|
3223
|
+
interface CreateMaterialResponse {
|
|
3224
|
+
materialId: number;
|
|
3225
|
+
}
|
|
3226
|
+
interface ListMaterialsResponse {
|
|
3227
|
+
materials: Material[];
|
|
3228
|
+
}
|
|
3229
|
+
declare function createMaterial(data: CreateMaterialRequest): Promise<CreateMaterialResponse>;
|
|
3230
|
+
declare function listMaterials(type?: MaterialType): Promise<ListMaterialsResponse>;
|
|
3231
|
+
declare function deleteMaterial(id: number): Promise<void>;
|
|
3232
|
+
declare function toggleFavorite(id: number): Promise<{
|
|
3233
|
+
isFavorite: boolean;
|
|
3234
|
+
}>;
|
|
3235
|
+
interface TraceMaterialWorkflowResponse {
|
|
3236
|
+
workflow: {
|
|
3237
|
+
id: number;
|
|
3238
|
+
name: string;
|
|
3239
|
+
description?: string;
|
|
3240
|
+
cover?: string;
|
|
3241
|
+
} | null;
|
|
3242
|
+
message?: string;
|
|
3243
|
+
}
|
|
3244
|
+
declare function traceMaterialWorkflow(materialId: number): Promise<TraceMaterialWorkflowResponse>;
|
|
3245
|
+
interface SaveFromTaskRequest {
|
|
3246
|
+
taskId: string;
|
|
3247
|
+
status: string;
|
|
3248
|
+
data?: {
|
|
3249
|
+
file_key?: string;
|
|
3250
|
+
file_keys?: string[];
|
|
3251
|
+
text?: string;
|
|
3252
|
+
texts?: string[];
|
|
3253
|
+
feature?: string;
|
|
3254
|
+
outputs?: Record<string, unknown>;
|
|
3255
|
+
[key: string]: unknown;
|
|
3256
|
+
};
|
|
3257
|
+
}
|
|
3258
|
+
interface SaveFromTaskResponse {
|
|
3259
|
+
success: boolean;
|
|
3260
|
+
taskUpdated?: boolean;
|
|
3261
|
+
savedMaterials?: number;
|
|
3262
|
+
skipped?: boolean;
|
|
3263
|
+
error?: string;
|
|
3264
|
+
}
|
|
3265
|
+
declare function saveFromTask(data: SaveFromTaskRequest): Promise<SaveFromTaskResponse>;
|
|
3266
|
+
//#endregion
|
|
3267
|
+
//#region src/canvas/lib/api/task.d.ts
|
|
3268
|
+
/**
|
|
3269
|
+
* Task API client
|
|
3270
|
+
*/
|
|
3271
|
+
/** A persisted task row as returned by the task list API. */
|
|
3272
|
+
interface TaskRecord {
|
|
3273
|
+
id: string;
|
|
3274
|
+
nodeId: string;
|
|
3275
|
+
feature: string;
|
|
3276
|
+
prompt: Record<string, unknown>;
|
|
3277
|
+
status: "pending" | "processing" | "completed" | "failed" | "cancelled";
|
|
3278
|
+
progress: number;
|
|
3279
|
+
result?: unknown;
|
|
3280
|
+
error?: string;
|
|
3281
|
+
createdAt: Date;
|
|
3282
|
+
updatedAt: Date;
|
|
3283
|
+
}
|
|
3284
|
+
interface CreateTaskRequest {
|
|
3285
|
+
feature: string;
|
|
3286
|
+
pluginId: string;
|
|
3287
|
+
/** Selected model for router-style plugins; omitted otherwise. */
|
|
3288
|
+
model?: string;
|
|
3289
|
+
prompt: Record<string, unknown>;
|
|
3290
|
+
nodeId: string;
|
|
3291
|
+
workflowId?: number;
|
|
3292
|
+
}
|
|
3293
|
+
interface CreateTaskResponse {
|
|
3294
|
+
taskId: string;
|
|
3295
|
+
}
|
|
3296
|
+
/**
|
|
3297
|
+
* Create task
|
|
3298
|
+
*/
|
|
3299
|
+
declare function createTask(config: CreateTaskRequest): Promise<CreateTaskResponse>;
|
|
3300
|
+
interface ListTasksResponse {
|
|
3301
|
+
tasks: TaskRecord[];
|
|
3302
|
+
}
|
|
3303
|
+
/**
|
|
3304
|
+
* Get task list
|
|
3305
|
+
*/
|
|
3306
|
+
declare function listTasks(page?: number, pageSize?: number): Promise<ListTasksResponse>;
|
|
3307
|
+
interface UpdateStatusRequest {
|
|
3308
|
+
taskId: string;
|
|
3309
|
+
status: string;
|
|
3310
|
+
data?: Record<string, unknown>;
|
|
3311
|
+
}
|
|
3312
|
+
interface UpdateStatusResponse {
|
|
3313
|
+
success: boolean;
|
|
3314
|
+
taskUpdated?: boolean;
|
|
3315
|
+
skipped?: boolean;
|
|
3316
|
+
}
|
|
3317
|
+
/**
|
|
3318
|
+
* Update task status (frontend safety net, for single tasks)
|
|
3319
|
+
* Do not save assets; only update task status
|
|
3320
|
+
*/
|
|
3321
|
+
declare function updateTaskStatus(request: UpdateStatusRequest): Promise<UpdateStatusResponse>;
|
|
3322
|
+
//#endregion
|
|
3323
|
+
//#region src/canvas/lib/upload/limits.d.ts
|
|
3324
|
+
/**
|
|
3325
|
+
* Upload limit configuration
|
|
3326
|
+
*/
|
|
3327
|
+
interface ValidationResult {
|
|
3328
|
+
allowed: boolean;
|
|
3329
|
+
message?: string;
|
|
3330
|
+
maxAllowed?: number;
|
|
3331
|
+
}
|
|
3332
|
+
//#endregion
|
|
3333
|
+
//#region src/canvas/lib/upload/validation.d.ts
|
|
3334
|
+
/**
|
|
3335
|
+
* Read image dimensions
|
|
3336
|
+
*/
|
|
3337
|
+
declare function getImageDimensions(file: File): Promise<{
|
|
3338
|
+
width: number;
|
|
3339
|
+
height: number;
|
|
3340
|
+
}>;
|
|
3341
|
+
/**
|
|
3342
|
+
* Read video metadata
|
|
3343
|
+
*/
|
|
3344
|
+
declare function getVideoMetadata(file: File): Promise<{
|
|
3345
|
+
width: number;
|
|
3346
|
+
height: number;
|
|
3347
|
+
duration: number;
|
|
3348
|
+
}>;
|
|
3349
|
+
declare function isImageFile(file: File): boolean;
|
|
3350
|
+
declare function isVideoFile(file: File): boolean;
|
|
3351
|
+
interface FileValidationResult extends ValidationResult {
|
|
3352
|
+
fileInfo?: {
|
|
3353
|
+
size: number;
|
|
3354
|
+
width?: number;
|
|
3355
|
+
height?: number;
|
|
3356
|
+
duration?: number;
|
|
3357
|
+
};
|
|
3358
|
+
}
|
|
3359
|
+
/**
|
|
3360
|
+
* Validate whether the file meets upload limits
|
|
3361
|
+
*/
|
|
3362
|
+
declare function validateFile(file: File): Promise<FileValidationResult>;
|
|
3363
|
+
declare class UploadValidationError extends Error {
|
|
3364
|
+
code: string;
|
|
3365
|
+
maxAllowed?: number;
|
|
3366
|
+
fileInfo?: FileValidationResult["fileInfo"];
|
|
3367
|
+
constructor(result: FileValidationResult);
|
|
3368
|
+
}
|
|
3369
|
+
//#endregion
|
|
3370
|
+
//#region src/canvas/lib/api/upload.d.ts
|
|
3371
|
+
interface PresignedUrlResponse {
|
|
3372
|
+
uploadUrl: string;
|
|
3373
|
+
fileKey: string;
|
|
3374
|
+
url: string;
|
|
3375
|
+
expiresIn: number;
|
|
3376
|
+
}
|
|
3377
|
+
/**
|
|
3378
|
+
* Upload file to local server.
|
|
3379
|
+
* Returns a response compatible with the presigned URL interface.
|
|
3380
|
+
*/
|
|
3381
|
+
declare function getPresignedUploadUrl(file: File): Promise<PresignedUrlResponse>;
|
|
3382
|
+
//#endregion
|
|
3383
|
+
//#region src/canvas/lib/file/url.d.ts
|
|
3384
|
+
declare const getFileUrl: (fileKey: string | undefined | null) => string;
|
|
3385
|
+
declare const getPrivateFileUrl: (fileKey: string | undefined | null) => string;
|
|
3386
|
+
declare const getSharedFileUrl: (_materialId: number, fileKey: string | undefined | null) => string;
|
|
3387
|
+
declare const getMaterialFileUrls: (material: {
|
|
3388
|
+
id: number;
|
|
3389
|
+
content: string | {
|
|
3390
|
+
fileKeys?: string[];
|
|
3391
|
+
};
|
|
3392
|
+
}) => string[];
|
|
3393
|
+
//#endregion
|
|
3394
|
+
//#region src/canvas/lib/file/url-cache.d.ts
|
|
3395
|
+
/**
|
|
3396
|
+
* Simple URL cache for file keys.
|
|
3397
|
+
*/
|
|
3398
|
+
declare class FileUrlCache {
|
|
3399
|
+
private cache;
|
|
3400
|
+
get(fileKey: string): string | undefined;
|
|
3401
|
+
set(fileKey: string, url: string): void;
|
|
3402
|
+
has(fileKey: string): boolean;
|
|
3403
|
+
delete(fileKey: string): void;
|
|
3404
|
+
clear(): void;
|
|
3405
|
+
}
|
|
3406
|
+
declare function getGlobalFileCache(): FileUrlCache;
|
|
3407
|
+
//#endregion
|
|
3408
|
+
//#region src/canvas/lib/task/api-url.d.ts
|
|
3409
|
+
/**
|
|
3410
|
+
* Request URLs for task SSE (wait) and stop, served by the TongFlow API.
|
|
3411
|
+
*/
|
|
3412
|
+
declare function getTaskWaitUrl(taskId: string, reconnect?: boolean): string;
|
|
3413
|
+
declare function getTaskStopUrl(): string;
|
|
3414
|
+
//#endregion
|
|
3415
|
+
//#region src/canvas/lib/task/payload.d.ts
|
|
3416
|
+
type ExpandsFn = (nodeId: string | null, nodes: PossibleNode[]) => string[];
|
|
3417
|
+
/**
|
|
3418
|
+
* Pure projection of a plugin output, indexed by ABI source field. Used
|
|
3419
|
+
* server-side by the workflow runner (no canvas context) and shared with the
|
|
3420
|
+
* SSE consumer to keep edit-mode and execution-mode in sync.
|
|
3421
|
+
*
|
|
3422
|
+
* Each channel's `values` is normalized to a flat string[]:
|
|
3423
|
+
* - asset $ref objects → `itemValuePath` (typically `file_key`) is extracted.
|
|
3424
|
+
* - scalar string / Asset → wrapped in a single-element array.
|
|
3425
|
+
* - arrays are flattened; array-of-arrays loses its grouping here and must be
|
|
3426
|
+
* handled separately by canvas-side `applyResolvedOutputRoutes` if needed.
|
|
3427
|
+
*/
|
|
3428
|
+
interface AbiOutputChannel {
|
|
3429
|
+
sourceField: string;
|
|
3430
|
+
nodeType: ResolvedOutputRoute["nodeType"];
|
|
3431
|
+
dataField: ResolvedOutputRoute["dataField"];
|
|
3432
|
+
expandEach: boolean;
|
|
3433
|
+
values: string[];
|
|
3434
|
+
}
|
|
3435
|
+
type AbiOutputView = Record<string, AbiOutputChannel>;
|
|
3436
|
+
declare function computeOutputView(routes: ResolvedOutputRoute[], payload: Record<string, unknown> | undefined): AbiOutputView;
|
|
3437
|
+
declare function applyResolvedOutputRoutes(nodeId: string, payload: Record<string, unknown> | undefined, routes: ResolvedOutputRoute[], expands: ExpandsFn): void;
|
|
3438
|
+
/** SSE data is sometimes a JSON string; Modal may wrap content in markdown or nested result. */
|
|
3439
|
+
declare function normalizeTaskPayloadData(data: unknown): Record<string, unknown> | undefined;
|
|
3440
|
+
//#endregion
|
|
3441
|
+
//#region src/canvas/types/sse.d.ts
|
|
3442
|
+
interface SSENodeInfo {
|
|
3443
|
+
id: string;
|
|
3444
|
+
label: string;
|
|
3445
|
+
feature: string;
|
|
3446
|
+
}
|
|
3447
|
+
/**
|
|
3448
|
+
* Union of all status strings that can appear in an SSE message.
|
|
3449
|
+
* Reuses the canonical enums from `task-status.ts`.
|
|
3450
|
+
* The extra string literals (`"NODE_PROGRESS"`) are statuses streamed by the
|
|
3451
|
+
* backend that aren't part of the lifecycle enums.
|
|
3452
|
+
*/
|
|
3453
|
+
type SSEStatus = TaskStatusType | WorkflowStatusType | NodeStatusType | "NODE_PROGRESS" |
|
|
3454
|
+
/** Frontend-only synthetic event emitted when the EventSource opens */
|
|
3455
|
+
"SSE_CONNECTED";
|
|
3456
|
+
/**
|
|
3457
|
+
* Data payload accompanying an SSE message.
|
|
3458
|
+
* All fields are optional — actual presence depends on `status`.
|
|
3459
|
+
*/
|
|
3460
|
+
interface SSEMessageData {
|
|
3461
|
+
totalNodes?: number;
|
|
3462
|
+
levels?: number;
|
|
3463
|
+
nodes?: SSENodeInfo[];
|
|
3464
|
+
level?: number;
|
|
3465
|
+
feature?: string;
|
|
3466
|
+
label?: string;
|
|
3467
|
+
output?: {
|
|
3468
|
+
fileKeys?: string[];
|
|
3469
|
+
texts?: string[];
|
|
3470
|
+
} & Record<string, unknown>;
|
|
3471
|
+
outputs?: Record<string, unknown>;
|
|
3472
|
+
duration?: number;
|
|
3473
|
+
totalDuration?: number;
|
|
3474
|
+
progress?: number;
|
|
3475
|
+
message?: string;
|
|
3476
|
+
/** True when `message` is streamed reasoning for the node thinking bubble. */
|
|
3477
|
+
thinking?: boolean;
|
|
3478
|
+
code?: number;
|
|
3479
|
+
/** Stable machine code for a failure — localized via `TaskErrors.<code>`. */
|
|
3480
|
+
errorCode?: string;
|
|
3481
|
+
/** Interpolation values for the localized failure message. */
|
|
3482
|
+
errorParams?: Record<string, string | number>;
|
|
3483
|
+
error?: string;
|
|
3484
|
+
status?: string;
|
|
3485
|
+
file_key?: string;
|
|
3486
|
+
file_keys?: string[];
|
|
3487
|
+
text?: string;
|
|
3488
|
+
texts?: string[];
|
|
3489
|
+
/** Open-ended: backend payloads may include arbitrary extra fields. */
|
|
3490
|
+
[key: string]: unknown;
|
|
3491
|
+
}
|
|
3492
|
+
/**
|
|
3493
|
+
* Full SSE message envelope.
|
|
3494
|
+
* `nodeId` is null for workflow-level events, set for node-level events.
|
|
3495
|
+
*/
|
|
3496
|
+
interface SSEMessage {
|
|
3497
|
+
id: string;
|
|
3498
|
+
status: SSEStatus;
|
|
3499
|
+
nodeId: string | null;
|
|
3500
|
+
data?: SSEMessageData;
|
|
3501
|
+
}
|
|
3502
|
+
//#endregion
|
|
3503
|
+
//#region src/canvas/lib/task/sse-events.d.ts
|
|
3504
|
+
declare const SSE_TASK_MESSAGE_EVENT = "sse-task-message";
|
|
3505
|
+
declare const TASK_CANCEL_REQUEST_EVENT = "task-cancel-request";
|
|
3506
|
+
interface TaskCancelRequestDetail {
|
|
3507
|
+
taskId: string | null;
|
|
3508
|
+
}
|
|
3509
|
+
declare function emitSSETaskMessage(message: SSEMessage): void;
|
|
3510
|
+
declare function emitSSEConnected(taskId: string): void;
|
|
3511
|
+
declare function emitTaskCancelRequest(taskId: string | null): void;
|
|
3512
|
+
//#endregion
|
|
3513
|
+
//#region src/canvas/lib/utils.d.ts
|
|
3514
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
3515
|
+
//#endregion
|
|
3516
|
+
//#region src/canvas/node-types.d.ts
|
|
3517
|
+
/**
|
|
3518
|
+
* Node type mapping
|
|
3519
|
+
* Based on the full list from the saas project
|
|
3520
|
+
*/
|
|
3521
|
+
declare const NODE_TYPES: NodeTypes;
|
|
3522
|
+
/**
|
|
3523
|
+
* Edge type mapping
|
|
3524
|
+
*/
|
|
3525
|
+
declare const EDGE_TYPES: EdgeTypes;
|
|
3526
|
+
/**
|
|
3527
|
+
* Node type enum
|
|
3528
|
+
* Used for type checking and node creation
|
|
3529
|
+
*/
|
|
3530
|
+
type NodeType = keyof typeof NODE_TYPES;
|
|
3531
|
+
/**
|
|
3532
|
+
* Node categories
|
|
3533
|
+
*/
|
|
3534
|
+
declare const NODE_CATEGORIES: {
|
|
3535
|
+
readonly DATA: readonly ["imageNode", "textNode", "videoNode", "audioNode", "fileNode", "modelNode", "linkNode"];
|
|
3536
|
+
readonly ADD: readonly ["addImageNode", "addTextNode", "addAudioNode", "addVideoNode", "addLinkNode", "addFileNode", "addModelNode"];
|
|
3537
|
+
readonly TRANSFORM: readonly ["imageGenVideoNode", "textGenVideoNode", "imageGenModelNode", "imagePoseNode", "imageBodySegNode", "imageNormalNode", "imageMattingNode", "videoGenModelNode", "speechGenVideoNode", "imageGenImageNode", "imageGenImageUpscaleNode", "genTextNode", "textGenImageNode", "textGenMusicNode", "textGenSpeechCloneNode", "textGenSpeechPresetNode", "textGenSpeechInstructNode", "removeVideoSubtitleNode", "removeWatermarkNode", "videoUpscaleNode", "videoEditNode", "extractAudioNode", "removeVideoAudioNode", "denoiseAudioSubtitleNode", "separateAudioTrackNode", "separateSpeakerNode", "convertVoiceNode", "audioDescribeNode", "imageGenTextNode", "videoGenTextNode", "videoGenTextSpeechRecognizeNode", "audioGenTextSpeechRecognizeNode", "fileGenTextNode", "linkGenTextNode", "getFirstFrameNode", "getLastFrameNode", "musicRepaintNode", "musicExtractNode", "musicLegoNode", "musicCompleteNode"];
|
|
3538
|
+
readonly BATCH: readonly ["dropVideoNode", "arrangeNode", "concatVideoNode"];
|
|
3539
|
+
readonly COMPOSE: readonly ["mergeVideoAudioNode", "audioVideoLipSyncNode", "imageFusionNode", "imagesGenVideoNode", "refsGenVideoNode", "speechImageGenVideoNode", "speechTextGenVideoNode", "speechVideoGenVideoNode", "videoImageGenVideoMoveNode", "videoImageGenVideoMixNode", "imageImageGenVideoNode", "textAudioGenSpeechNode", "textGenSpeechCloneComposeNode", "imageGenVideoComposeNode", "textsGenTextNode", "concatVideoComposeNode", "musicCoverNode"];
|
|
3540
|
+
readonly DECOMPOSE: readonly ["splitVideoNode", "splitTextNode", "musicBriefNode", "separateSoundNode"];
|
|
3541
|
+
};
|
|
3542
|
+
//#endregion
|
|
3543
|
+
//#region src/canvas/nodes/base/node-plugin-id-select.d.ts
|
|
3544
|
+
declare function pluginDisplayName(pluginId: string): string;
|
|
3545
|
+
type NodePluginIdSelectProps = {
|
|
3546
|
+
nodeSlot: string;
|
|
3547
|
+
data: BaseNodeData;
|
|
3548
|
+
/**
|
|
3549
|
+
* By default, writes `{ pluginId }` onto node data.
|
|
3550
|
+
* Use this when a node stores plugin id under a different key.
|
|
3551
|
+
*/
|
|
3552
|
+
dataKey?: string;
|
|
3553
|
+
};
|
|
3554
|
+
declare function useResolvedPluginId(nodeSlot: string, data: BaseNodeData, dataKey?: string): {
|
|
3555
|
+
current: string;
|
|
3556
|
+
resolved: string;
|
|
3557
|
+
pluginOptions: string[];
|
|
3558
|
+
};
|
|
3559
|
+
/**
|
|
3560
|
+
* Plugin implementation selector for a fixed ABI `nodeSlot`.
|
|
3561
|
+
* Options come from scanned registry: `nodePluginMap[nodeSlot]`.
|
|
3562
|
+
*/
|
|
3563
|
+
declare function NodePluginIdSelect({ nodeSlot, data, dataKey }: NodePluginIdSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
3564
|
+
//#endregion
|
|
3565
|
+
//#region src/canvas/nodes/modality/model-node.formats.d.ts
|
|
3566
|
+
/**
|
|
3567
|
+
* 3D Model Node - Supported Formats
|
|
3568
|
+
*
|
|
3569
|
+
* This document lists all 3D file formats supported by the model-node.tsx component and their features.
|
|
3570
|
+
*/
|
|
3571
|
+
declare const SUPPORTED_FORMATS: {
|
|
3572
|
+
glb: {
|
|
3573
|
+
name: string;
|
|
3574
|
+
extension: string;
|
|
3575
|
+
description: string;
|
|
3576
|
+
features: string[];
|
|
3577
|
+
loader: string;
|
|
3578
|
+
};
|
|
3579
|
+
gltf: {
|
|
3580
|
+
name: string;
|
|
3581
|
+
extension: string;
|
|
3582
|
+
description: string;
|
|
3583
|
+
features: string[];
|
|
3584
|
+
loader: string;
|
|
3585
|
+
};
|
|
3586
|
+
obj: {
|
|
3587
|
+
name: string;
|
|
3588
|
+
extension: string;
|
|
3589
|
+
description: string;
|
|
3590
|
+
features: string[];
|
|
3591
|
+
loader: string;
|
|
3592
|
+
};
|
|
3593
|
+
fbx: {
|
|
3594
|
+
name: string;
|
|
3595
|
+
extension: string;
|
|
3596
|
+
description: string;
|
|
3597
|
+
features: string[];
|
|
3598
|
+
loader: string;
|
|
3599
|
+
};
|
|
3600
|
+
ply: {
|
|
3601
|
+
name: string;
|
|
3602
|
+
extension: string;
|
|
3603
|
+
description: string;
|
|
3604
|
+
features: string[];
|
|
3605
|
+
loader: string;
|
|
3606
|
+
};
|
|
3607
|
+
ptx: {
|
|
3608
|
+
name: string;
|
|
3609
|
+
extension: string;
|
|
3610
|
+
description: string;
|
|
3611
|
+
features: string[];
|
|
3612
|
+
loader: string;
|
|
3613
|
+
};
|
|
3614
|
+
pts: {
|
|
3615
|
+
name: string;
|
|
3616
|
+
extension: string;
|
|
3617
|
+
description: string;
|
|
3618
|
+
features: string[];
|
|
3619
|
+
loader: string;
|
|
3620
|
+
};
|
|
3621
|
+
xyz: {
|
|
3622
|
+
name: string;
|
|
3623
|
+
extension: string;
|
|
3624
|
+
description: string;
|
|
3625
|
+
features: string[];
|
|
3626
|
+
loader: string;
|
|
3627
|
+
};
|
|
3628
|
+
spz: {
|
|
3629
|
+
name: string;
|
|
3630
|
+
extension: string;
|
|
3631
|
+
description: string;
|
|
3632
|
+
features: string[];
|
|
3633
|
+
loader: string;
|
|
3634
|
+
};
|
|
3635
|
+
splat: {
|
|
3636
|
+
name: string;
|
|
3637
|
+
extension: string;
|
|
3638
|
+
description: string;
|
|
3639
|
+
features: string[];
|
|
3640
|
+
loader: string;
|
|
3641
|
+
};
|
|
3642
|
+
ksplat: {
|
|
3643
|
+
name: string;
|
|
3644
|
+
extension: string;
|
|
3645
|
+
description: string;
|
|
3646
|
+
features: string[];
|
|
3647
|
+
loader: string;
|
|
3648
|
+
};
|
|
3649
|
+
sog: {
|
|
3650
|
+
name: string;
|
|
3651
|
+
extension: string;
|
|
3652
|
+
description: string;
|
|
3653
|
+
features: string[];
|
|
3654
|
+
loader: string;
|
|
3655
|
+
};
|
|
3656
|
+
stl: {
|
|
3657
|
+
name: string;
|
|
3658
|
+
extension: string;
|
|
3659
|
+
description: string;
|
|
3660
|
+
features: string[];
|
|
3661
|
+
loader: string;
|
|
3662
|
+
};
|
|
3663
|
+
step: {
|
|
3664
|
+
name: string;
|
|
3665
|
+
extension: string;
|
|
3666
|
+
description: string;
|
|
3667
|
+
features: string[];
|
|
3668
|
+
note: string;
|
|
3669
|
+
};
|
|
3670
|
+
iges: {
|
|
3671
|
+
name: string;
|
|
3672
|
+
extension: string;
|
|
3673
|
+
description: string;
|
|
3674
|
+
features: string[];
|
|
3675
|
+
note: string;
|
|
3676
|
+
};
|
|
3677
|
+
dae: {
|
|
3678
|
+
name: string;
|
|
3679
|
+
extension: string;
|
|
3680
|
+
description: string;
|
|
3681
|
+
features: string[];
|
|
3682
|
+
loader: string;
|
|
3683
|
+
};
|
|
3684
|
+
usdz: {
|
|
3685
|
+
name: string;
|
|
3686
|
+
extension: string;
|
|
3687
|
+
description: string;
|
|
3688
|
+
features: string[];
|
|
3689
|
+
loader: string;
|
|
3690
|
+
};
|
|
3691
|
+
usd: {
|
|
3692
|
+
name: string;
|
|
3693
|
+
extension: string;
|
|
3694
|
+
description: string;
|
|
3695
|
+
features: string[];
|
|
3696
|
+
loader: string;
|
|
3697
|
+
};
|
|
3698
|
+
tds: {
|
|
3699
|
+
name: string;
|
|
3700
|
+
extension: string;
|
|
3701
|
+
description: string;
|
|
3702
|
+
features: string[];
|
|
3703
|
+
loader: string;
|
|
3704
|
+
};
|
|
3705
|
+
vtp: {
|
|
3706
|
+
name: string;
|
|
3707
|
+
extension: string;
|
|
3708
|
+
description: string;
|
|
3709
|
+
features: string[];
|
|
3710
|
+
loader: string;
|
|
3711
|
+
};
|
|
3712
|
+
};
|
|
3713
|
+
declare const FORMAT_CATEGORIES: {
|
|
3714
|
+
recommended: {
|
|
3715
|
+
description: string;
|
|
3716
|
+
formats: string[];
|
|
3717
|
+
};
|
|
3718
|
+
general3D: {
|
|
3719
|
+
description: string;
|
|
3720
|
+
formats: string[];
|
|
3721
|
+
};
|
|
3722
|
+
pointCloud: {
|
|
3723
|
+
description: string;
|
|
3724
|
+
formats: string[];
|
|
3725
|
+
};
|
|
3726
|
+
gaussianSplat: {
|
|
3727
|
+
description: string;
|
|
3728
|
+
formats: string[];
|
|
3729
|
+
};
|
|
3730
|
+
cad: {
|
|
3731
|
+
description: string;
|
|
3732
|
+
formats: string[];
|
|
3733
|
+
note: string;
|
|
3734
|
+
};
|
|
3735
|
+
"3DPrinting": {
|
|
3736
|
+
description: string;
|
|
3737
|
+
formats: string[];
|
|
3738
|
+
};
|
|
3739
|
+
AppleAR: {
|
|
3740
|
+
description: string;
|
|
3741
|
+
formats: string[];
|
|
3742
|
+
};
|
|
3743
|
+
academic: {
|
|
3744
|
+
description: string;
|
|
3745
|
+
formats: string[];
|
|
3746
|
+
};
|
|
3747
|
+
legacy: {
|
|
3748
|
+
description: string;
|
|
3749
|
+
formats: string[];
|
|
3750
|
+
};
|
|
3751
|
+
};
|
|
3752
|
+
/**
|
|
3753
|
+
* 1. Using GLB files
|
|
3754
|
+
*
|
|
3755
|
+
* GLB is the recommended general-purpose format, with these advantages:
|
|
3756
|
+
* - Supports animation and skeletons
|
|
3757
|
+
* - Supports PBR materials
|
|
3758
|
+
* - Smaller files and fast loading
|
|
3759
|
+
* - Best cross-platform compatibility
|
|
3760
|
+
*
|
|
3761
|
+
* Exporting GLB for Three.js:
|
|
3762
|
+
* - Blender: File > Export > glTF 2.0 (.glb/.gltf)
|
|
3763
|
+
* - Maya: Use the babylon.js exporter or a third-party plugin
|
|
3764
|
+
* - 3ds Max: Use the babylon.js exporter
|
|
3765
|
+
*/
|
|
3766
|
+
/**
|
|
3767
|
+
* 2. Point cloud data
|
|
3768
|
+
*
|
|
3769
|
+
* Supports multiple point cloud formats:
|
|
3770
|
+
* - PLY: Most flexible, supports colors and normals
|
|
3771
|
+
* - PTX: Standard format for Leica scanners
|
|
3772
|
+
* - PTS/XYZ: Simple text formats
|
|
3773
|
+
*
|
|
3774
|
+
* Point cloud file format examples:
|
|
3775
|
+
* XYZ format:
|
|
3776
|
+
* 0.0 0.0 0.0
|
|
3777
|
+
* 1.0 1.0 1.0
|
|
3778
|
+
*
|
|
3779
|
+
* XYZ RGB format:
|
|
3780
|
+
* 0.0 0.0 0.0 255 0 0
|
|
3781
|
+
* 1.0 1.0 1.0 0 255 0
|
|
3782
|
+
*/
|
|
3783
|
+
/**
|
|
3784
|
+
* 3. Gaussian splat formats
|
|
3785
|
+
*
|
|
3786
|
+
* These formats provide the highest quality real-time rendering:
|
|
3787
|
+
*
|
|
3788
|
+
* SPZ (recommended):
|
|
3789
|
+
* - Scaniverse format, with the best compression ratio
|
|
3790
|
+
* - Website: https://scaniverse.com
|
|
3791
|
+
*
|
|
3792
|
+
* SPLAT:
|
|
3793
|
+
* - Antimatter15 implementation
|
|
3794
|
+
* - Larger files, but widely supported
|
|
3795
|
+
*
|
|
3796
|
+
* Generating Gaussian splats:
|
|
3797
|
+
* - Use professional tools such as Reality Capture or Metashape
|
|
3798
|
+
* - Or use the open-source gaussian-splatting project
|
|
3799
|
+
*/
|
|
3800
|
+
/**
|
|
3801
|
+
* 4. Handling CAD formats
|
|
3802
|
+
*
|
|
3803
|
+
* STEP/IGES formats require special handling:
|
|
3804
|
+
* - High component complexity
|
|
3805
|
+
* - Requires dedicated CAD libraries
|
|
3806
|
+
* - Recommended to convert to GLTF or OBJ in CAD software
|
|
3807
|
+
*
|
|
3808
|
+
* Conversion steps:
|
|
3809
|
+
* 1. Open the file in CAD software
|
|
3810
|
+
* 2. Export as GLTF or OBJ
|
|
3811
|
+
* 3. Upload the converted file
|
|
3812
|
+
*/
|
|
3813
|
+
/**
|
|
3814
|
+
* 5. 3D printing formats
|
|
3815
|
+
*
|
|
3816
|
+
* STL format:
|
|
3817
|
+
* - Used for 3D printing
|
|
3818
|
+
* - Mesh format without textures or colors
|
|
3819
|
+
* - Can be binary or ASCII
|
|
3820
|
+
*/
|
|
3821
|
+
declare const RECOMMENDATIONS: {
|
|
3822
|
+
bestGeneralPurpose: string;
|
|
3823
|
+
bestPointCloud: string;
|
|
3824
|
+
bestPhotogrammetry: string;
|
|
3825
|
+
"3DPrinting": string;
|
|
3826
|
+
web: string;
|
|
3827
|
+
mobileAR: string;
|
|
3828
|
+
gameEngine: string;
|
|
3829
|
+
professionalCAD: string;
|
|
3830
|
+
pointCloudVisualization: string;
|
|
3831
|
+
smallestFileSize: string;
|
|
3832
|
+
};
|
|
3833
|
+
declare const TROUBLESHOOTING: {
|
|
3834
|
+
formatUnsupported: {
|
|
3835
|
+
solution: string;
|
|
3836
|
+
};
|
|
3837
|
+
fileFailedToLoad: {
|
|
3838
|
+
causes: string[];
|
|
3839
|
+
solution: string;
|
|
3840
|
+
};
|
|
3841
|
+
colorsOrMaterialsMissing: {
|
|
3842
|
+
causes: string[];
|
|
3843
|
+
solution: string;
|
|
3844
|
+
};
|
|
3845
|
+
modelNotFullyVisible: {
|
|
3846
|
+
causes: string[];
|
|
3847
|
+
solution: string;
|
|
3848
|
+
};
|
|
3849
|
+
animationNotPlaying: {
|
|
3850
|
+
causes: string[];
|
|
3851
|
+
solution: string;
|
|
3852
|
+
};
|
|
3853
|
+
};
|
|
3854
|
+
//#endregion
|
|
3855
|
+
//#region src/canvas/ui/alert-dialog.d.ts
|
|
3856
|
+
declare function AlertDialog({ ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3857
|
+
declare function AlertDialogTrigger({ ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
3858
|
+
declare function AlertDialogPortal({ ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
3859
|
+
declare function AlertDialogOverlay({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
3860
|
+
declare function AlertDialogContent({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
3861
|
+
declare function AlertDialogHeader({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3862
|
+
declare function AlertDialogFooter({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3863
|
+
declare function AlertDialogTitle({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
3864
|
+
declare function AlertDialogDescription({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
3865
|
+
declare function AlertDialogAction({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Action>): import("react/jsx-runtime").JSX.Element;
|
|
3866
|
+
declare function AlertDialogCancel({ className, ...props }: React$2.ComponentProps<typeof AlertDialogPrimitive.Cancel>): import("react/jsx-runtime").JSX.Element;
|
|
3867
|
+
//#endregion
|
|
3868
|
+
//#region src/canvas/ui/audio-recorder.d.ts
|
|
3869
|
+
interface Props$1 {
|
|
3870
|
+
className?: string;
|
|
3871
|
+
timerClassName?: string;
|
|
3872
|
+
onRecord: (file: File) => void;
|
|
3873
|
+
}
|
|
3874
|
+
declare const AudioRecorderWithVisualizer: ({ className, timerClassName: _timerClassName, onRecord }: Props$1) => import("react/jsx-runtime").JSX.Element;
|
|
3875
|
+
//#endregion
|
|
3876
|
+
//#region src/canvas/ui/badge.d.ts
|
|
3877
|
+
declare const badgeVariants: (props?: ({
|
|
3878
|
+
variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
|
|
3879
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
3880
|
+
declare function Badge({ className, variant, asChild, ...props }: React$2.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
|
|
3881
|
+
asChild?: boolean;
|
|
3882
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3883
|
+
//#endregion
|
|
3884
|
+
//#region src/canvas/ui/button.d.ts
|
|
3885
|
+
declare const buttonVariants: (props?: ({
|
|
3886
|
+
variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
|
|
3887
|
+
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
3888
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
3889
|
+
declare function Button({ className, variant, size, asChild, ...props }: React$2.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
3890
|
+
asChild?: boolean;
|
|
3891
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3892
|
+
//#endregion
|
|
3893
|
+
//#region src/canvas/ui/card.d.ts
|
|
3894
|
+
declare function Card({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3895
|
+
declare function CardHeader({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3896
|
+
declare function CardTitle({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3897
|
+
declare function CardDescription({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3898
|
+
declare function CardAction({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3899
|
+
declare function CardContent({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3900
|
+
declare function CardFooter({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3901
|
+
//#endregion
|
|
3902
|
+
//#region src/canvas/ui/checkbox.d.ts
|
|
3903
|
+
declare function Checkbox({ className, ...props }: React$2.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3904
|
+
//#endregion
|
|
3905
|
+
//#region src/canvas/ui/dialog.d.ts
|
|
3906
|
+
declare function Dialog({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3907
|
+
declare function DialogTrigger({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
3908
|
+
declare function DialogPortal({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
3909
|
+
declare function DialogClose({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
3910
|
+
declare function DialogOverlay({ className, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
3911
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
3912
|
+
showCloseButton?: boolean;
|
|
3913
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3914
|
+
declare function DialogHeader({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3915
|
+
declare function DialogFooter({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3916
|
+
declare function DialogTitle({ className, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
3917
|
+
declare function DialogDescription({ className, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
3918
|
+
//#endregion
|
|
3919
|
+
//#region src/canvas/ui/dropdown-menu.d.ts
|
|
3920
|
+
declare function DropdownMenu({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3921
|
+
declare function DropdownMenuPortal({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
3922
|
+
declare function DropdownMenuTrigger({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
3923
|
+
declare function DropdownMenuContent({ className, sideOffset, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
3924
|
+
declare function DropdownMenuGroup({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
|
|
3925
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
3926
|
+
inset?: boolean;
|
|
3927
|
+
variant?: "default" | "destructive";
|
|
3928
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3929
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
|
|
3930
|
+
declare function DropdownMenuRadioGroup({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
|
|
3931
|
+
declare function DropdownMenuRadioItem({ className, children, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
|
|
3932
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
|
|
3933
|
+
inset?: boolean;
|
|
3934
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3935
|
+
declare function DropdownMenuSeparator({ className, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
|
|
3936
|
+
declare function DropdownMenuShortcut({ className, ...props }: React$2.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
3937
|
+
declare function DropdownMenuSub({ ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
|
|
3938
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
3939
|
+
inset?: boolean;
|
|
3940
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3941
|
+
declare function DropdownMenuSubContent({ className, ...props }: React$2.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
|
|
3942
|
+
//#endregion
|
|
3943
|
+
//#region src/canvas/ui/error-boundary.d.ts
|
|
3944
|
+
interface Props {
|
|
3945
|
+
children: ReactNode;
|
|
3946
|
+
fallback?: ReactNode;
|
|
3947
|
+
}
|
|
3948
|
+
interface State {
|
|
3949
|
+
hasError: boolean;
|
|
3950
|
+
error: Error | null;
|
|
3951
|
+
}
|
|
3952
|
+
declare class ErrorBoundary extends Component<Props, State> {
|
|
3953
|
+
constructor(props: Props);
|
|
3954
|
+
static getDerivedStateFromError(error: Error): State;
|
|
3955
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
3956
|
+
handleReset: () => void;
|
|
3957
|
+
render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
|
|
3958
|
+
}
|
|
3959
|
+
//#endregion
|
|
3960
|
+
//#region src/canvas/ui/error-toast.d.ts
|
|
3961
|
+
interface ShowErrorToastOptions {
|
|
3962
|
+
/** Optional bold headline shown above the message. */
|
|
3963
|
+
title?: string;
|
|
3964
|
+
/** Primary error message shown to the user. */
|
|
3965
|
+
message: string;
|
|
3966
|
+
/** Full detail (stack / per-node failures) revealed under "Details". */
|
|
3967
|
+
detail?: string;
|
|
3968
|
+
/**
|
|
3969
|
+
* Stable id so repeated errors from the same source replace rather than
|
|
3970
|
+
* stack (e.g. one per task id). Omit for an auto-generated id.
|
|
3971
|
+
*/
|
|
3972
|
+
id?: string;
|
|
3973
|
+
/** Extra content below the actions (e.g. community-support links). */
|
|
3974
|
+
footer?: React.ReactNode;
|
|
3975
|
+
}
|
|
3976
|
+
/**
|
|
3977
|
+
* Persistent error toast: stays until the user dismisses it (✕), with an
|
|
3978
|
+
* optional expandable detail panel and copy button. Use for any real error
|
|
3979
|
+
* (API/network failures, task/workflow failures) so they don't flash by.
|
|
3980
|
+
*/
|
|
3981
|
+
declare function showErrorToast({ title, message, detail, id, footer }: ShowErrorToastOptions): string;
|
|
3982
|
+
//#endregion
|
|
3983
|
+
//#region src/canvas/ui/input.d.ts
|
|
3984
|
+
declare function Input({ className, type, ...props }: React$2.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
|
|
3985
|
+
//#endregion
|
|
3986
|
+
//#region src/canvas/ui/label.d.ts
|
|
3987
|
+
declare function Label({ className, ...props }: React$2.ComponentProps<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3988
|
+
//#endregion
|
|
3989
|
+
//#region src/canvas/ui/progress.d.ts
|
|
3990
|
+
declare function Progress({ className, value, ...props }: React$2.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3991
|
+
//#endregion
|
|
3992
|
+
//#region src/canvas/ui/select.d.ts
|
|
3993
|
+
declare function Select({ ...props }: React$2.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3994
|
+
declare function SelectGroup({ ...props }: React$2.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
|
|
3995
|
+
declare function SelectValue({ ...props }: React$2.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
|
|
3996
|
+
declare function SelectTrigger({ className, size, children, ...props }: React$2.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
3997
|
+
size?: "sm" | "default";
|
|
3998
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
3999
|
+
declare function SelectContent({ className, children, position, ...props }: React$2.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
4000
|
+
declare function SelectLabel({ className, ...props }: React$2.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
|
|
4001
|
+
declare function SelectItem({ className, children, endSlot, ...props }: React$2.ComponentProps<typeof SelectPrimitive.Item> & {
|
|
4002
|
+
/** Rendered as a sibling after the item text (outside `ItemText`, so it is
|
|
4003
|
+
* not cloned into the trigger's selected-value display). */
|
|
4004
|
+
endSlot?: React$2.ReactNode;
|
|
4005
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
4006
|
+
declare function SelectSeparator({ className, ...props }: React$2.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
|
|
4007
|
+
declare function SelectScrollUpButton({ className, ...props }: React$2.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
|
|
4008
|
+
declare function SelectScrollDownButton({ className, ...props }: React$2.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
|
|
4009
|
+
//#endregion
|
|
4010
|
+
//#region src/canvas/ui/separator.d.ts
|
|
4011
|
+
declare function Separator({ className, orientation, decorative, ...props }: React$2.ComponentProps<typeof SeparatorPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4012
|
+
//#endregion
|
|
4013
|
+
//#region src/canvas/ui/sheet.d.ts
|
|
4014
|
+
declare function Sheet({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4015
|
+
declare function SheetTrigger({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
4016
|
+
declare function SheetClose({ ...props }: React$2.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
4017
|
+
declare function SheetContent({ className, children, side, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
4018
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
4019
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
4020
|
+
declare function SheetHeader({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
4021
|
+
declare function SheetFooter({ className, ...props }: React$2.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
4022
|
+
declare function SheetTitle({ className, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
4023
|
+
declare function SheetDescription({ className, ...props }: React$2.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
4024
|
+
//#endregion
|
|
4025
|
+
//#region src/canvas/ui/skeleton.d.ts
|
|
4026
|
+
declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
4027
|
+
//#endregion
|
|
4028
|
+
//#region src/canvas/ui/slider.d.ts
|
|
4029
|
+
declare const Slider: React$2.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React$2.RefAttributes<HTMLSpanElement>, "ref"> & React$2.RefAttributes<HTMLSpanElement>>;
|
|
4030
|
+
//#endregion
|
|
4031
|
+
//#region src/canvas/ui/switch.d.ts
|
|
4032
|
+
declare function Switch({ className, ...props }: React$2.ComponentProps<typeof SwitchPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4033
|
+
//#endregion
|
|
4034
|
+
//#region src/canvas/ui/tabs.d.ts
|
|
4035
|
+
declare function Tabs({ className, ...props }: React$2.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4036
|
+
declare function TabsList({ className, ...props }: React$2.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
|
|
4037
|
+
declare function TabsTrigger({ className, ...props }: React$2.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
4038
|
+
declare function TabsContent({ className, ...props }: React$2.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
4039
|
+
//#endregion
|
|
4040
|
+
//#region src/canvas/ui/textarea.d.ts
|
|
4041
|
+
declare function Textarea({ className, ...props }: React$2.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
|
|
4042
|
+
//#endregion
|
|
4043
|
+
//#region src/canvas/ui/tooltip.d.ts
|
|
4044
|
+
declare function TooltipProvider({ delayDuration, ...props }: React$2.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
|
|
4045
|
+
declare function Tooltip({ ...props }: React$2.ComponentProps<typeof TooltipPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4046
|
+
declare function TooltipTrigger({ ...props }: React$2.ComponentProps<typeof TooltipPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
4047
|
+
declare function TooltipContent({ className, sideOffset, children, ...props }: React$2.ComponentProps<typeof TooltipPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
4048
|
+
//#endregion
|
|
4049
|
+
//#region src/canvas/ui/video-recorder.d.ts
|
|
4050
|
+
interface VideoRecorderProps {
|
|
4051
|
+
onRecord: (blobUrl?: string) => void;
|
|
4052
|
+
className?: string;
|
|
4053
|
+
}
|
|
4054
|
+
declare const VideoRecorder: ({ onRecord, className }: VideoRecorderProps) => import("react/jsx-runtime").JSX.Element;
|
|
4055
|
+
//#endregion
|
|
4056
|
+
//#region src/canvas/ui/waterfall.d.ts
|
|
4057
|
+
/**
|
|
4058
|
+
* Render function type for the waterfall component
|
|
4059
|
+
*/
|
|
4060
|
+
interface WaterfallRenderProps {
|
|
4061
|
+
index: number;
|
|
4062
|
+
data: any;
|
|
4063
|
+
width: number;
|
|
4064
|
+
}
|
|
4065
|
+
/**
|
|
4066
|
+
* Props type for the waterfall component
|
|
4067
|
+
*/
|
|
4068
|
+
interface WaterfallProps {
|
|
4069
|
+
/** Data source array */
|
|
4070
|
+
items: any[];
|
|
4071
|
+
/** Component used to render each item */
|
|
4072
|
+
render: React$2.ComponentType<WaterfallRenderProps>;
|
|
4073
|
+
/** Column width (minimum value), in pixels, defaults to 240px */
|
|
4074
|
+
columnWidth?: number;
|
|
4075
|
+
/** Column gutter, in pixels, defaults to 0px */
|
|
4076
|
+
columnGutter?: number;
|
|
4077
|
+
/** Row gutter, in pixels, defaults to columnGutter */
|
|
4078
|
+
rowGutter?: number;
|
|
4079
|
+
/** Maximum number of columns */
|
|
4080
|
+
maxColumnCount?: number;
|
|
4081
|
+
/** Maximum column width */
|
|
4082
|
+
maxColumnWidth?: number;
|
|
4083
|
+
/** Container className */
|
|
4084
|
+
className?: string;
|
|
4085
|
+
/** Container style */
|
|
4086
|
+
style?: React$2.CSSProperties;
|
|
4087
|
+
/** Estimated item height for initial render optimization, defaults to 300px */
|
|
4088
|
+
itemHeightEstimate?: number;
|
|
4089
|
+
/** Callback when items are rendered */
|
|
4090
|
+
onRender?: (startIndex: number, stopIndex: number, items: any[]) => void;
|
|
4091
|
+
/** Get the unique key for each item, defaults to returning the index */
|
|
4092
|
+
itemKey?: (data: any, index: number) => string | number;
|
|
4093
|
+
}
|
|
4094
|
+
/**
|
|
4095
|
+
* Waterfall component
|
|
4096
|
+
* A high-performance virtualized waterfall layout component based on the masonic library
|
|
4097
|
+
*
|
|
4098
|
+
* @example
|
|
4099
|
+
* ```tsx
|
|
4100
|
+
* <Waterfall
|
|
4101
|
+
* items={items}
|
|
4102
|
+
* render={MasonryCard}
|
|
4103
|
+
* columnWidth={240}
|
|
4104
|
+
* columnGutter={16}
|
|
4105
|
+
* rowGutter={16}
|
|
4106
|
+
* />
|
|
4107
|
+
* ```
|
|
4108
|
+
*/
|
|
4109
|
+
declare const Waterfall: React$2.ForwardRefExoticComponent<WaterfallProps & React$2.RefAttributes<HTMLDivElement>>;
|
|
4110
|
+
//#endregion
|
|
4111
|
+
//#region src/canvas/ui/whiteboard.d.ts
|
|
4112
|
+
interface WhiteBoardRef {
|
|
4113
|
+
clear: () => void;
|
|
4114
|
+
getDataURL: () => string | null;
|
|
4115
|
+
}
|
|
4116
|
+
interface WhiteBoardProps {
|
|
4117
|
+
onChange: (dataUrl?: string) => void;
|
|
4118
|
+
}
|
|
4119
|
+
declare const WhiteBoard: React$1.ForwardRefExoticComponent<WhiteBoardProps & React$1.RefAttributes<WhiteBoardRef>>;
|
|
4120
|
+
//#endregion
|
|
4121
|
+
export { AbiOutputChannel, AbiOutputView, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AudioRecorderWithVisualizer, Badge, BatchTaskConfig, Button, CANVAS_LOCALES, CanvasHostConfig, CanvasLocale, CanvasProvider, CanvasProviderProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ClientTranslator, ConfigState, CreateMaterialRequest, CreateMaterialResponse, CreateTaskRequest, CreateTaskResponse, DEFAULT_QWEN_SPEAKER, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EDGE_TYPES, ErrorBoundary, FORMAT_CATEGORIES, FileValidationResult, FlowCanvas, FlowCanvasHandle, FlowCanvasProps, FlowReactBindings, FlowState, Input, Label, LibInput, ListMaterialsResponse, ListTasksResponse, LoadPriority, LoadTask, Material, MaterialType, NODE_CATEGORIES, NODE_TYPES, NodePluginIdSelect, NodeTaskHandler, NodeType, PluginMeta, PluginsRegistryPayload, type PossibleNode, PresignedUrlResponse, Progress, QWEN_SPEAKERS, QwenSpeaker, QwenSpeakerGender, RECOMMENDATIONS, SSEMessage, SSEMessageData, SSENodeInfo, SSEStatus, SSE_TASK_MESSAGE_EVENT, SUPPORTED_FORMATS, SaveFromTaskRequest, SaveFromTaskResponse, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShowErrorToastOptions, Skeleton, Slider, SpeakerVoiceRecorder, Switch, TASK_CANCEL_REQUEST_EVENT, TROUBLESHOOTING, Tabs, TabsContent, TabsList, TabsTrigger, Task, TaskCancelRequestDetail, TaskCreationConfig, TaskRecord, TaskState, TaskSubscriptionOptions, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceMaterialWorkflowResponse, UpdateStatusRequest, UpdateStatusResponse, UploadResponse, UploadState, UploadValidationError, UseAbiExecutionOptions, UseAbiExecutionReturn, UseAbiFormReturn, UseFileAsyncLoaderOptions, UseMultipleUploadOptions, UseUploadOptions, ValidationResult, VideoRecorder, WORKSPACE_MODE_KEY, Waterfall, WaterfallProps, WaterfallRenderProps, WhiteBoard, WhiteBoardRef, WorkflowExecutionStatus, WorkspaceMode, apiClient, apiDelete, apiGet, apiPatch, apiPost, apiPut, apiUrl, applyResolvedOutputRoutes, assetUrl, badgeVariants, buttonVariants, canvasMessages, cn, computeOutputView, configureCanvasHost, createMaterial, createTask, deleteMaterial, emitSSEConnected, emitSSETaskMessage, emitTaskCancelRequest, getCanvasHost, getCanvasLocale, getClientTranslator, getFileUrl, getGlobalFileCache, getGlobalFileQueue, getImageDimensions, getMaterialFileUrls, getPresignedUploadUrl, getPrivateFileUrl, getSharedFileUrl, getTaskStopUrl, getTaskWaitUrl, getVideoMetadata, hostFetch, isCanvasLocale, isImageFile, isVideoFile, listMaterials, listTasks, normalizeTaskPayloadData, pluginDisplayName, refreshPluginsRegistry, saveFromTask, setCanvasLocale, showErrorToast, toggleFavorite, traceMaterialWorkflow, updateTaskStatus, useAbiExecution, useAbiForm, useBatchTaskManager, useCreateTask, useDropzone, useFileAsyncLoader, useFileAsyncLoaderBatch, useFileLoaderStats, useFileUrl, useFlow, useMultipleUpload, useNodeAbiSpec, useNodePluginIds, useNodePluginIdsUnion, useNodePluginModels, useNodePluginResolver, useNodeState, useNodeTaskUpdate, useNodeType, usePluginMeta, usePluginsRegistry, usePluginsRegistryStore, useResolvedPluginId, useTask, useTaskStore, useTaskSubscription, useUpload, useUpstreamNodeIds, validateFile };
|