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.
@@ -0,0 +1,4121 @@
1
+ import * as React$2 from "react";
2
+ import React$1, { ChangeEvent, Component, ErrorInfo, ReactNode } from "react";
3
+ import { Edge, EdgeTypes, Node, NodeTypes, OnConnect, OnEdgesChange, OnNodesChange, OnSelectionChangeFunc, PanelPosition } from "@xyflow/react";
4
+ import { JSONSchema7 } from "json-schema";
5
+ import { FromSchema } from "json-schema-to-ts";
6
+ import "zustand/vanilla";
7
+ import "zod";
8
+ import { ClassValue } from "clsx";
9
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
10
+ import { VariantProps } from "class-variance-authority";
11
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
12
+ import * as DialogPrimitive from "@radix-ui/react-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 SelectPrimitive from "@radix-ui/react-select";
17
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
18
+ import * as SliderPrimitive from "@radix-ui/react-slider";
19
+ import * as SwitchPrimitive from "@radix-ui/react-switch";
20
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
21
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
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 };