tongflow 0.2.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +3 -2
- package/abi/tongflow.abi.json +49 -4
- package/dist/canvas-messages.cjs +71 -63
- package/dist/canvas-messages.js +71 -63
- package/dist/canvas.cjs +860 -260
- package/dist/canvas.css +1 -1
- package/dist/canvas.d.cts +158 -12
- package/dist/canvas.d.ts +158 -12
- package/dist/canvas.js +856 -261
- package/dist/index.cjs +659 -12
- package/dist/index.d.cts +317 -22
- package/dist/index.d.ts +317 -22
- package/dist/index.js +651 -13
- package/package.json +235 -233
package/dist/canvas.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { Edge, EdgeTypes, Node, NodeTypes, OnConnect, OnEdgesChange, OnNodesChan
|
|
|
4
4
|
import { JSONSchema7 } from "json-schema";
|
|
5
5
|
import { FromSchema } from "json-schema-to-ts";
|
|
6
6
|
import "zustand/vanilla";
|
|
7
|
-
import "zod";
|
|
7
|
+
import { z } from "zod";
|
|
8
8
|
import { ClassValue } from "clsx";
|
|
9
9
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
10
10
|
import { VariantProps } from "class-variance-authority";
|
|
@@ -777,6 +777,41 @@ declare const _slot_gen_music_inputs: {
|
|
|
777
777
|
readonly additionalProperties: false;
|
|
778
778
|
};
|
|
779
779
|
type GenMusicInput = FromSchema<typeof _slot_gen_music_inputs>;
|
|
780
|
+
declare const _slot_text_gen_audio_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 ref_audios: {
|
|
789
|
+
readonly type: "array";
|
|
790
|
+
readonly items: {
|
|
791
|
+
readonly type: "object";
|
|
792
|
+
readonly required: readonly ["bytesBase64"];
|
|
793
|
+
readonly properties: {
|
|
794
|
+
readonly bytesBase64: {
|
|
795
|
+
readonly type: "string";
|
|
796
|
+
readonly minLength: 1;
|
|
797
|
+
};
|
|
798
|
+
readonly filename: {
|
|
799
|
+
readonly type: "string";
|
|
800
|
+
};
|
|
801
|
+
readonly mime: {
|
|
802
|
+
readonly type: "string";
|
|
803
|
+
};
|
|
804
|
+
};
|
|
805
|
+
readonly additionalProperties: false;
|
|
806
|
+
};
|
|
807
|
+
};
|
|
808
|
+
readonly seed: {
|
|
809
|
+
readonly type: "integer";
|
|
810
|
+
};
|
|
811
|
+
};
|
|
812
|
+
readonly additionalProperties: false;
|
|
813
|
+
};
|
|
814
|
+
type TextGenAudioInput = FromSchema<typeof _slot_text_gen_audio_inputs>;
|
|
780
815
|
declare const _slot_text_gen_speech_preset_inputs: {
|
|
781
816
|
readonly type: "object";
|
|
782
817
|
readonly required: readonly ["text"];
|
|
@@ -2026,9 +2061,9 @@ declare const _slot_denoise_audio_inputs: {
|
|
|
2026
2061
|
type DenoiseAudioInput = FromSchema<typeof _slot_denoise_audio_inputs>;
|
|
2027
2062
|
declare const _slot_convert_voice_inputs: {
|
|
2028
2063
|
readonly type: "object";
|
|
2029
|
-
readonly required: readonly ["
|
|
2064
|
+
readonly required: readonly ["audio", "ref_audio"];
|
|
2030
2065
|
readonly properties: {
|
|
2031
|
-
readonly
|
|
2066
|
+
readonly audio: {
|
|
2032
2067
|
readonly type: "object";
|
|
2033
2068
|
readonly required: readonly ["bytesBase64"];
|
|
2034
2069
|
readonly properties: {
|
|
@@ -2045,8 +2080,22 @@ declare const _slot_convert_voice_inputs: {
|
|
|
2045
2080
|
};
|
|
2046
2081
|
readonly additionalProperties: false;
|
|
2047
2082
|
};
|
|
2048
|
-
readonly
|
|
2049
|
-
readonly type: "
|
|
2083
|
+
readonly ref_audio: {
|
|
2084
|
+
readonly type: "object";
|
|
2085
|
+
readonly required: readonly ["bytesBase64"];
|
|
2086
|
+
readonly properties: {
|
|
2087
|
+
readonly bytesBase64: {
|
|
2088
|
+
readonly type: "string";
|
|
2089
|
+
readonly minLength: 1;
|
|
2090
|
+
};
|
|
2091
|
+
readonly filename: {
|
|
2092
|
+
readonly type: "string";
|
|
2093
|
+
};
|
|
2094
|
+
readonly mime: {
|
|
2095
|
+
readonly type: "string";
|
|
2096
|
+
};
|
|
2097
|
+
};
|
|
2098
|
+
readonly additionalProperties: false;
|
|
2050
2099
|
};
|
|
2051
2100
|
};
|
|
2052
2101
|
readonly additionalProperties: false;
|
|
@@ -2262,7 +2311,7 @@ declare const _slot_video_gen_model_inputs: {
|
|
|
2262
2311
|
readonly additionalProperties: false;
|
|
2263
2312
|
};
|
|
2264
2313
|
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";
|
|
2314
|
+
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-audio" | "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
2315
|
type SlotInputsMap = {
|
|
2267
2316
|
"gen-text": GenTextInput;
|
|
2268
2317
|
"split-text": SplitTextInput;
|
|
@@ -2285,6 +2334,7 @@ type SlotInputsMap = {
|
|
|
2285
2334
|
link: LinkInput;
|
|
2286
2335
|
"image-gen": ImageGenInput;
|
|
2287
2336
|
"gen-music": GenMusicInput;
|
|
2337
|
+
"text-gen-audio": TextGenAudioInput;
|
|
2288
2338
|
"text-gen-speech-preset": TextGenSpeechPresetInput;
|
|
2289
2339
|
"image-gen-video": ImageGenVideoInput;
|
|
2290
2340
|
"image-edit": ImageEditInput;
|
|
@@ -2487,9 +2537,15 @@ interface FlowCoreState {
|
|
|
2487
2537
|
*/
|
|
2488
2538
|
expands: (nodeId: string | null, possibleNodes: PossibleNode[]) => string[];
|
|
2489
2539
|
/** Create a node fed by every combo-selected node; returns the new id. */
|
|
2540
|
+
/**
|
|
2541
|
+
* Create a node from the combo selection and wire every selected node into
|
|
2542
|
+
* it. `sourceOrder` overrides the selection order used to assign handles
|
|
2543
|
+
* (sources are matched to target fields in ABI input order).
|
|
2544
|
+
*/
|
|
2490
2545
|
compose: (newNode: {
|
|
2491
2546
|
type: string;
|
|
2492
2547
|
data: unknown;
|
|
2548
|
+
sourceOrder?: string[];
|
|
2493
2549
|
}) => string;
|
|
2494
2550
|
/** Replace a node's `data`. `history: false` skips the undo snapshot. */
|
|
2495
2551
|
updates: (nodeId: string, data: Record<string, unknown>, opts?: {
|
|
@@ -2585,6 +2641,54 @@ type TaskStatusType = (typeof TaskStatus)[keyof typeof TaskStatus];
|
|
|
2585
2641
|
type WorkflowStatusType = (typeof WorkflowStatus)[keyof typeof WorkflowStatus];
|
|
2586
2642
|
type NodeStatusType = (typeof NodeStatus)[keyof typeof NodeStatus];
|
|
2587
2643
|
//#endregion
|
|
2644
|
+
//#region src/core/registry/plugins-registry-schema.d.ts
|
|
2645
|
+
declare const PluginParamSpecSchema: z.ZodObject<{
|
|
2646
|
+
type: z.ZodEnum<{
|
|
2647
|
+
number: "number";
|
|
2648
|
+
boolean: "boolean";
|
|
2649
|
+
select: "select";
|
|
2650
|
+
text: "text";
|
|
2651
|
+
integer: "integer";
|
|
2652
|
+
}>;
|
|
2653
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2654
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2655
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
|
|
2656
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2657
|
+
min: z.ZodOptional<z.ZodNumber>;
|
|
2658
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
2659
|
+
step: z.ZodOptional<z.ZodNumber>;
|
|
2660
|
+
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2661
|
+
}, z.core.$strip>;
|
|
2662
|
+
/**
|
|
2663
|
+
* Optional live model catalog (`TONGFLOW_MODEL_CATALOG` in the plugin source).
|
|
2664
|
+
* The canvas GETs `url` in the browser (public, CORS-enabled, no auth) — or,
|
|
2665
|
+
* when `authEnv` names the env key holding a bearer token, through the app's
|
|
2666
|
+
* `/api/plugins/model-catalog` route, which injects the stored key server-side
|
|
2667
|
+
* — reads the record array at dot-path `items`, each model id at dot-path `id`, drops
|
|
2668
|
+
* records where an `exclude` field equals its literal, and keeps a record for
|
|
2669
|
+
* a slot when every `slots[slot]` token is a substring of the named field
|
|
2670
|
+
* (arrays/objects are JSON-serialized before matching; a token prefixed with
|
|
2671
|
+
* `!` must be absent instead). Matching ids extend
|
|
2672
|
+
* that slot's dropdown after the static `models` shortlist.
|
|
2673
|
+
*/
|
|
2674
|
+
declare const PluginModelCatalogSchema: z.ZodObject<{
|
|
2675
|
+
url: z.ZodString;
|
|
2676
|
+
authEnv: z.ZodOptional<z.ZodString>;
|
|
2677
|
+
items: z.ZodDefault<z.ZodString>;
|
|
2678
|
+
id: z.ZodDefault<z.ZodString>;
|
|
2679
|
+
exclude: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
|
|
2680
|
+
slots: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
|
|
2681
|
+
}, z.core.$strip>;
|
|
2682
|
+
type PluginModelCatalog = z.infer<typeof PluginModelCatalogSchema>;
|
|
2683
|
+
type PluginParamSpec = z.infer<typeof PluginParamSpecSchema>;
|
|
2684
|
+
//#endregion
|
|
2685
|
+
//#region src/core/registry/plugin-params.d.ts
|
|
2686
|
+
/** A plugin's declared params for one slot, in declaration order. */
|
|
2687
|
+
type PluginParamEntry = {
|
|
2688
|
+
name: string;
|
|
2689
|
+
spec: PluginParamSpec;
|
|
2690
|
+
};
|
|
2691
|
+
//#endregion
|
|
2588
2692
|
//#region src/core/schema/tongflow-abi.d.ts
|
|
2589
2693
|
interface ResolvedOutputRoute {
|
|
2590
2694
|
sourceField: string;
|
|
@@ -2613,6 +2717,10 @@ interface BaseNodeData extends Record<string, unknown> {
|
|
|
2613
2717
|
/** Selected model for router-style plugins that declare per-slot model
|
|
2614
2718
|
* lists; empty/absent means the plugin's default. */
|
|
2615
2719
|
pluginModel?: string;
|
|
2720
|
+
/** Advanced parameters chosen for the active plugin (keys from its
|
|
2721
|
+
* `TONGFLOW_SLOT_PARAMS`); only values differing from the declared default
|
|
2722
|
+
* are kept, so absent means the plugin's own default. */
|
|
2723
|
+
pluginParams?: Record<string, unknown>;
|
|
2616
2724
|
/** Composition linkage (`useNodesData`) */
|
|
2617
2725
|
ids?: string[];
|
|
2618
2726
|
texts?: string[];
|
|
@@ -2678,6 +2786,7 @@ declare function useNodePluginResolver(feature: string | undefined): {
|
|
|
2678
2786
|
defaultPluginIdFromRegistry: string;
|
|
2679
2787
|
resolveActivePluginId: () => string;
|
|
2680
2788
|
resolveActiveModel: () => string | undefined;
|
|
2789
|
+
resolveActiveParams: () => Record<string, unknown> | undefined;
|
|
2681
2790
|
};
|
|
2682
2791
|
//#endregion
|
|
2683
2792
|
//#region src/canvas/hooks/use-task.d.ts
|
|
@@ -2728,6 +2837,9 @@ interface TaskCreationConfig {
|
|
|
2728
2837
|
pluginId: string;
|
|
2729
2838
|
/** Selected model for router-style plugins; omitted otherwise. */
|
|
2730
2839
|
model?: string;
|
|
2840
|
+
/** Advanced parameters (plugin's `TONGFLOW_SLOT_PARAMS` keys); omitted
|
|
2841
|
+
* when the node runs on plugin defaults. */
|
|
2842
|
+
params?: Record<string, unknown>;
|
|
2731
2843
|
prompt: Record<string, unknown>;
|
|
2732
2844
|
nodeId: string;
|
|
2733
2845
|
workflowId?: number;
|
|
@@ -2749,7 +2861,7 @@ declare const useTaskStore: import("zustand").UseBoundStore<import("zustand").St
|
|
|
2749
2861
|
* Handles connection lifecycle, reconnect, and parsing.
|
|
2750
2862
|
*/
|
|
2751
2863
|
declare function useTaskSubscription(taskId?: string, options?: TaskSubscriptionOptions): {
|
|
2752
|
-
status: "
|
|
2864
|
+
status: "connecting" | "connected" | "reconnecting" | "disconnected" | "error";
|
|
2753
2865
|
};
|
|
2754
2866
|
/**
|
|
2755
2867
|
* Create a task and automatically attach SSE streaming.
|
|
@@ -2931,7 +3043,11 @@ type PluginsRegistryPayload = {
|
|
|
2931
3043
|
methodsByNodeSlot?: Record<string, {
|
|
2932
3044
|
methodName: string;
|
|
2933
3045
|
models?: string[];
|
|
3046
|
+
/** Advanced params declared via `TONGFLOW_SLOT_PARAMS`. */
|
|
3047
|
+
params?: Record<string, PluginParamSpec>;
|
|
2934
3048
|
}>;
|
|
3049
|
+
/** Live model catalog declared via `TONGFLOW_MODEL_CATALOG`. */
|
|
3050
|
+
modelCatalog?: PluginModelCatalog;
|
|
2935
3051
|
/** Presentation metadata merged from `tongflow.plugin.json`. */
|
|
2936
3052
|
name?: string;
|
|
2937
3053
|
description?: string;
|
|
@@ -2961,11 +3077,38 @@ declare function usePluginsRegistry(): {
|
|
|
2961
3077
|
declare function refreshPluginsRegistry(): Promise<void>;
|
|
2962
3078
|
/** Plugin directory names registered for a single ABI `nodeSlot`. */
|
|
2963
3079
|
declare function useNodePluginIds(nodeSlot: string): string[];
|
|
3080
|
+
type LiveModelsEntry = {
|
|
3081
|
+
fetchedAt: number;
|
|
3082
|
+
bySlot: Record<string, string[]>;
|
|
3083
|
+
};
|
|
3084
|
+
type LiveModelsState = {
|
|
3085
|
+
byPlugin: Record<string, LiveModelsEntry>;
|
|
3086
|
+
};
|
|
3087
|
+
declare const useLiveModelsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LiveModelsState>>;
|
|
3088
|
+
/**
|
|
3089
|
+
* Fetch (or refresh, once the TTL elapsed) a plugin's live model catalog. Safe
|
|
3090
|
+
* to call eagerly — it is a no-op for plugins without a catalog and while a
|
|
3091
|
+
* fresh result is cached.
|
|
3092
|
+
*/
|
|
3093
|
+
declare function loadPluginModelCatalog(pluginId: string): Promise<void>;
|
|
2964
3094
|
/**
|
|
2965
|
-
*
|
|
2966
|
-
*
|
|
3095
|
+
* Synchronous read of a plugin's model ids for one slot: the static shortlist
|
|
3096
|
+
* (declared order, first = default) followed by any live-catalog extras.
|
|
3097
|
+
*/
|
|
3098
|
+
declare function getNodePluginModels(nodeSlot: string, pluginId: string): string[];
|
|
3099
|
+
/**
|
|
3100
|
+
* Model ids a plugin offers for one ABI `nodeSlot` (empty for single-model
|
|
3101
|
+
* plugins — the model dropdown is hidden in that case): the static shortlist
|
|
3102
|
+
* plus live-catalog extras, which this hook fetches on first use.
|
|
2967
3103
|
*/
|
|
2968
3104
|
declare function useNodePluginModels(nodeSlot: string, pluginId: string): string[];
|
|
3105
|
+
/**
|
|
3106
|
+
* Synchronous read of the params a plugin offers for one slot given the
|
|
3107
|
+
* selected model, in declaration order.
|
|
3108
|
+
*/
|
|
3109
|
+
declare function getNodePluginParams(nodeSlot: string, pluginId: string, model: string | undefined): PluginParamEntry[];
|
|
3110
|
+
/** Reactive form of {@link getNodePluginParams}. */
|
|
3111
|
+
declare function useNodePluginParams(nodeSlot: string, pluginId: string, model: string | undefined): PluginParamEntry[];
|
|
2969
3112
|
type PluginMeta = {
|
|
2970
3113
|
name?: string;
|
|
2971
3114
|
description?: string;
|
|
@@ -3286,6 +3429,9 @@ interface CreateTaskRequest {
|
|
|
3286
3429
|
pluginId: string;
|
|
3287
3430
|
/** Selected model for router-style plugins; omitted otherwise. */
|
|
3288
3431
|
model?: string;
|
|
3432
|
+
/** Advanced parameters (plugin's `TONGFLOW_SLOT_PARAMS` keys); omitted
|
|
3433
|
+
* when the node runs on plugin defaults. */
|
|
3434
|
+
params?: Record<string, unknown>;
|
|
3289
3435
|
prompt: Record<string, unknown>;
|
|
3290
3436
|
nodeId: string;
|
|
3291
3437
|
workflowId?: number;
|
|
@@ -3534,7 +3680,7 @@ type NodeType = keyof typeof NODE_TYPES;
|
|
|
3534
3680
|
declare const NODE_CATEGORIES: {
|
|
3535
3681
|
readonly DATA: readonly ["imageNode", "textNode", "videoNode", "audioNode", "fileNode", "modelNode", "linkNode"];
|
|
3536
3682
|
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"];
|
|
3683
|
+
readonly TRANSFORM: readonly ["imageGenVideoNode", "textGenVideoNode", "imageGenModelNode", "imagePoseNode", "imageBodySegNode", "imageNormalNode", "imageMattingNode", "videoGenModelNode", "speechGenVideoNode", "imageGenImageNode", "imageGenImageUpscaleNode", "genTextNode", "textGenImageNode", "textGenMusicNode", "textGenAudioNode", "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
3684
|
readonly BATCH: readonly ["dropVideoNode", "arrangeNode", "concatVideoNode"];
|
|
3539
3685
|
readonly COMPOSE: readonly ["mergeVideoAudioNode", "audioVideoLipSyncNode", "imageFusionNode", "imagesGenVideoNode", "refsGenVideoNode", "speechImageGenVideoNode", "speechTextGenVideoNode", "speechVideoGenVideoNode", "videoImageGenVideoMoveNode", "videoImageGenVideoMixNode", "imageImageGenVideoNode", "textAudioGenSpeechNode", "textGenSpeechCloneComposeNode", "imageGenVideoComposeNode", "textsGenTextNode", "concatVideoComposeNode", "musicCoverNode"];
|
|
3540
3686
|
readonly DECOMPOSE: readonly ["splitVideoNode", "splitTextNode", "musicBriefNode", "separateSoundNode"];
|
|
@@ -3954,7 +4100,7 @@ declare class ErrorBoundary extends Component<Props, State> {
|
|
|
3954
4100
|
static getDerivedStateFromError(error: Error): State;
|
|
3955
4101
|
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
3956
4102
|
handleReset: () => void;
|
|
3957
|
-
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> |
|
|
4103
|
+
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
4104
|
}
|
|
3959
4105
|
//#endregion
|
|
3960
4106
|
//#region src/canvas/ui/error-toast.d.ts
|
|
@@ -4118,4 +4264,4 @@ interface WhiteBoardProps {
|
|
|
4118
4264
|
}
|
|
4119
4265
|
declare const WhiteBoard: React$1.ForwardRefExoticComponent<WhiteBoardProps & React$1.RefAttributes<WhiteBoardRef>>;
|
|
4120
4266
|
//#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 };
|
|
4267
|
+
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, getNodePluginModels, getNodePluginParams, getPresignedUploadUrl, getPrivateFileUrl, getSharedFileUrl, getTaskStopUrl, getTaskWaitUrl, getVideoMetadata, hostFetch, isCanvasLocale, isImageFile, isVideoFile, listMaterials, listTasks, loadPluginModelCatalog, normalizeTaskPayloadData, pluginDisplayName, refreshPluginsRegistry, saveFromTask, setCanvasLocale, showErrorToast, toggleFavorite, traceMaterialWorkflow, updateTaskStatus, useAbiExecution, useAbiForm, useBatchTaskManager, useCreateTask, useDropzone, useFileAsyncLoader, useFileAsyncLoaderBatch, useFileLoaderStats, useFileUrl, useFlow, useLiveModelsStore, useMultipleUpload, useNodeAbiSpec, useNodePluginIds, useNodePluginIdsUnion, useNodePluginModels, useNodePluginParams, useNodePluginResolver, useNodeState, useNodeTaskUpdate, useNodeType, usePluginMeta, usePluginsRegistry, usePluginsRegistryStore, useResolvedPluginId, useTask, useTaskStore, useTaskSubscription, useUpload, useUpstreamNodeIds, validateFile };
|
package/dist/canvas.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
|
12
12
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
13
13
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
14
14
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
15
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
15
16
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
16
17
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
17
|
-
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
18
18
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
19
19
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
20
20
|
import { JSONSchema7 } from "json-schema";
|
|
@@ -777,6 +777,41 @@ declare const _slot_gen_music_inputs: {
|
|
|
777
777
|
readonly additionalProperties: false;
|
|
778
778
|
};
|
|
779
779
|
type GenMusicInput = FromSchema<typeof _slot_gen_music_inputs>;
|
|
780
|
+
declare const _slot_text_gen_audio_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 ref_audios: {
|
|
789
|
+
readonly type: "array";
|
|
790
|
+
readonly items: {
|
|
791
|
+
readonly type: "object";
|
|
792
|
+
readonly required: readonly ["bytesBase64"];
|
|
793
|
+
readonly properties: {
|
|
794
|
+
readonly bytesBase64: {
|
|
795
|
+
readonly type: "string";
|
|
796
|
+
readonly minLength: 1;
|
|
797
|
+
};
|
|
798
|
+
readonly filename: {
|
|
799
|
+
readonly type: "string";
|
|
800
|
+
};
|
|
801
|
+
readonly mime: {
|
|
802
|
+
readonly type: "string";
|
|
803
|
+
};
|
|
804
|
+
};
|
|
805
|
+
readonly additionalProperties: false;
|
|
806
|
+
};
|
|
807
|
+
};
|
|
808
|
+
readonly seed: {
|
|
809
|
+
readonly type: "integer";
|
|
810
|
+
};
|
|
811
|
+
};
|
|
812
|
+
readonly additionalProperties: false;
|
|
813
|
+
};
|
|
814
|
+
type TextGenAudioInput = FromSchema<typeof _slot_text_gen_audio_inputs>;
|
|
780
815
|
declare const _slot_text_gen_speech_preset_inputs: {
|
|
781
816
|
readonly type: "object";
|
|
782
817
|
readonly required: readonly ["text"];
|
|
@@ -2026,9 +2061,9 @@ declare const _slot_denoise_audio_inputs: {
|
|
|
2026
2061
|
type DenoiseAudioInput = FromSchema<typeof _slot_denoise_audio_inputs>;
|
|
2027
2062
|
declare const _slot_convert_voice_inputs: {
|
|
2028
2063
|
readonly type: "object";
|
|
2029
|
-
readonly required: readonly ["
|
|
2064
|
+
readonly required: readonly ["audio", "ref_audio"];
|
|
2030
2065
|
readonly properties: {
|
|
2031
|
-
readonly
|
|
2066
|
+
readonly audio: {
|
|
2032
2067
|
readonly type: "object";
|
|
2033
2068
|
readonly required: readonly ["bytesBase64"];
|
|
2034
2069
|
readonly properties: {
|
|
@@ -2045,8 +2080,22 @@ declare const _slot_convert_voice_inputs: {
|
|
|
2045
2080
|
};
|
|
2046
2081
|
readonly additionalProperties: false;
|
|
2047
2082
|
};
|
|
2048
|
-
readonly
|
|
2049
|
-
readonly type: "
|
|
2083
|
+
readonly ref_audio: {
|
|
2084
|
+
readonly type: "object";
|
|
2085
|
+
readonly required: readonly ["bytesBase64"];
|
|
2086
|
+
readonly properties: {
|
|
2087
|
+
readonly bytesBase64: {
|
|
2088
|
+
readonly type: "string";
|
|
2089
|
+
readonly minLength: 1;
|
|
2090
|
+
};
|
|
2091
|
+
readonly filename: {
|
|
2092
|
+
readonly type: "string";
|
|
2093
|
+
};
|
|
2094
|
+
readonly mime: {
|
|
2095
|
+
readonly type: "string";
|
|
2096
|
+
};
|
|
2097
|
+
};
|
|
2098
|
+
readonly additionalProperties: false;
|
|
2050
2099
|
};
|
|
2051
2100
|
};
|
|
2052
2101
|
readonly additionalProperties: false;
|
|
@@ -2262,7 +2311,7 @@ declare const _slot_video_gen_model_inputs: {
|
|
|
2262
2311
|
readonly additionalProperties: false;
|
|
2263
2312
|
};
|
|
2264
2313
|
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";
|
|
2314
|
+
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-audio" | "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
2315
|
type SlotInputsMap = {
|
|
2267
2316
|
"gen-text": GenTextInput;
|
|
2268
2317
|
"split-text": SplitTextInput;
|
|
@@ -2285,6 +2334,7 @@ type SlotInputsMap = {
|
|
|
2285
2334
|
link: LinkInput;
|
|
2286
2335
|
"image-gen": ImageGenInput;
|
|
2287
2336
|
"gen-music": GenMusicInput;
|
|
2337
|
+
"text-gen-audio": TextGenAudioInput;
|
|
2288
2338
|
"text-gen-speech-preset": TextGenSpeechPresetInput;
|
|
2289
2339
|
"image-gen-video": ImageGenVideoInput;
|
|
2290
2340
|
"image-edit": ImageEditInput;
|
|
@@ -2487,9 +2537,15 @@ interface FlowCoreState {
|
|
|
2487
2537
|
*/
|
|
2488
2538
|
expands: (nodeId: string | null, possibleNodes: PossibleNode[]) => string[];
|
|
2489
2539
|
/** Create a node fed by every combo-selected node; returns the new id. */
|
|
2540
|
+
/**
|
|
2541
|
+
* Create a node from the combo selection and wire every selected node into
|
|
2542
|
+
* it. `sourceOrder` overrides the selection order used to assign handles
|
|
2543
|
+
* (sources are matched to target fields in ABI input order).
|
|
2544
|
+
*/
|
|
2490
2545
|
compose: (newNode: {
|
|
2491
2546
|
type: string;
|
|
2492
2547
|
data: unknown;
|
|
2548
|
+
sourceOrder?: string[];
|
|
2493
2549
|
}) => string;
|
|
2494
2550
|
/** Replace a node's `data`. `history: false` skips the undo snapshot. */
|
|
2495
2551
|
updates: (nodeId: string, data: Record<string, unknown>, opts?: {
|
|
@@ -2585,6 +2641,54 @@ type TaskStatusType = (typeof TaskStatus)[keyof typeof TaskStatus];
|
|
|
2585
2641
|
type WorkflowStatusType = (typeof WorkflowStatus)[keyof typeof WorkflowStatus];
|
|
2586
2642
|
type NodeStatusType = (typeof NodeStatus)[keyof typeof NodeStatus];
|
|
2587
2643
|
//#endregion
|
|
2644
|
+
//#region src/core/registry/plugins-registry-schema.d.ts
|
|
2645
|
+
declare const PluginParamSpecSchema: z.ZodObject<{
|
|
2646
|
+
type: z.ZodEnum<{
|
|
2647
|
+
number: "number";
|
|
2648
|
+
boolean: "boolean";
|
|
2649
|
+
select: "select";
|
|
2650
|
+
text: "text";
|
|
2651
|
+
integer: "integer";
|
|
2652
|
+
}>;
|
|
2653
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2654
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2655
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
|
|
2656
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2657
|
+
min: z.ZodOptional<z.ZodNumber>;
|
|
2658
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
2659
|
+
step: z.ZodOptional<z.ZodNumber>;
|
|
2660
|
+
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2661
|
+
}, z.core.$strip>;
|
|
2662
|
+
/**
|
|
2663
|
+
* Optional live model catalog (`TONGFLOW_MODEL_CATALOG` in the plugin source).
|
|
2664
|
+
* The canvas GETs `url` in the browser (public, CORS-enabled, no auth) — or,
|
|
2665
|
+
* when `authEnv` names the env key holding a bearer token, through the app's
|
|
2666
|
+
* `/api/plugins/model-catalog` route, which injects the stored key server-side
|
|
2667
|
+
* — reads the record array at dot-path `items`, each model id at dot-path `id`, drops
|
|
2668
|
+
* records where an `exclude` field equals its literal, and keeps a record for
|
|
2669
|
+
* a slot when every `slots[slot]` token is a substring of the named field
|
|
2670
|
+
* (arrays/objects are JSON-serialized before matching; a token prefixed with
|
|
2671
|
+
* `!` must be absent instead). Matching ids extend
|
|
2672
|
+
* that slot's dropdown after the static `models` shortlist.
|
|
2673
|
+
*/
|
|
2674
|
+
declare const PluginModelCatalogSchema: z.ZodObject<{
|
|
2675
|
+
url: z.ZodString;
|
|
2676
|
+
authEnv: z.ZodOptional<z.ZodString>;
|
|
2677
|
+
items: z.ZodDefault<z.ZodString>;
|
|
2678
|
+
id: z.ZodDefault<z.ZodString>;
|
|
2679
|
+
exclude: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
|
|
2680
|
+
slots: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
|
|
2681
|
+
}, z.core.$strip>;
|
|
2682
|
+
type PluginModelCatalog = z.infer<typeof PluginModelCatalogSchema>;
|
|
2683
|
+
type PluginParamSpec = z.infer<typeof PluginParamSpecSchema>;
|
|
2684
|
+
//#endregion
|
|
2685
|
+
//#region src/core/registry/plugin-params.d.ts
|
|
2686
|
+
/** A plugin's declared params for one slot, in declaration order. */
|
|
2687
|
+
type PluginParamEntry = {
|
|
2688
|
+
name: string;
|
|
2689
|
+
spec: PluginParamSpec;
|
|
2690
|
+
};
|
|
2691
|
+
//#endregion
|
|
2588
2692
|
//#region src/core/schema/tongflow-abi.d.ts
|
|
2589
2693
|
interface ResolvedOutputRoute {
|
|
2590
2694
|
sourceField: string;
|
|
@@ -2613,6 +2717,10 @@ interface BaseNodeData extends Record<string, unknown> {
|
|
|
2613
2717
|
/** Selected model for router-style plugins that declare per-slot model
|
|
2614
2718
|
* lists; empty/absent means the plugin's default. */
|
|
2615
2719
|
pluginModel?: string;
|
|
2720
|
+
/** Advanced parameters chosen for the active plugin (keys from its
|
|
2721
|
+
* `TONGFLOW_SLOT_PARAMS`); only values differing from the declared default
|
|
2722
|
+
* are kept, so absent means the plugin's own default. */
|
|
2723
|
+
pluginParams?: Record<string, unknown>;
|
|
2616
2724
|
/** Composition linkage (`useNodesData`) */
|
|
2617
2725
|
ids?: string[];
|
|
2618
2726
|
texts?: string[];
|
|
@@ -2678,6 +2786,7 @@ declare function useNodePluginResolver(feature: string | undefined): {
|
|
|
2678
2786
|
defaultPluginIdFromRegistry: string;
|
|
2679
2787
|
resolveActivePluginId: () => string;
|
|
2680
2788
|
resolveActiveModel: () => string | undefined;
|
|
2789
|
+
resolveActiveParams: () => Record<string, unknown> | undefined;
|
|
2681
2790
|
};
|
|
2682
2791
|
//#endregion
|
|
2683
2792
|
//#region src/canvas/hooks/use-task.d.ts
|
|
@@ -2728,6 +2837,9 @@ interface TaskCreationConfig {
|
|
|
2728
2837
|
pluginId: string;
|
|
2729
2838
|
/** Selected model for router-style plugins; omitted otherwise. */
|
|
2730
2839
|
model?: string;
|
|
2840
|
+
/** Advanced parameters (plugin's `TONGFLOW_SLOT_PARAMS` keys); omitted
|
|
2841
|
+
* when the node runs on plugin defaults. */
|
|
2842
|
+
params?: Record<string, unknown>;
|
|
2731
2843
|
prompt: Record<string, unknown>;
|
|
2732
2844
|
nodeId: string;
|
|
2733
2845
|
workflowId?: number;
|
|
@@ -2749,7 +2861,7 @@ declare const useTaskStore: import("zustand").UseBoundStore<import("zustand").St
|
|
|
2749
2861
|
* Handles connection lifecycle, reconnect, and parsing.
|
|
2750
2862
|
*/
|
|
2751
2863
|
declare function useTaskSubscription(taskId?: string, options?: TaskSubscriptionOptions): {
|
|
2752
|
-
status: "
|
|
2864
|
+
status: "connecting" | "connected" | "reconnecting" | "disconnected" | "error";
|
|
2753
2865
|
};
|
|
2754
2866
|
/**
|
|
2755
2867
|
* Create a task and automatically attach SSE streaming.
|
|
@@ -2931,7 +3043,11 @@ type PluginsRegistryPayload = {
|
|
|
2931
3043
|
methodsByNodeSlot?: Record<string, {
|
|
2932
3044
|
methodName: string;
|
|
2933
3045
|
models?: string[];
|
|
3046
|
+
/** Advanced params declared via `TONGFLOW_SLOT_PARAMS`. */
|
|
3047
|
+
params?: Record<string, PluginParamSpec>;
|
|
2934
3048
|
}>;
|
|
3049
|
+
/** Live model catalog declared via `TONGFLOW_MODEL_CATALOG`. */
|
|
3050
|
+
modelCatalog?: PluginModelCatalog;
|
|
2935
3051
|
/** Presentation metadata merged from `tongflow.plugin.json`. */
|
|
2936
3052
|
name?: string;
|
|
2937
3053
|
description?: string;
|
|
@@ -2961,11 +3077,38 @@ declare function usePluginsRegistry(): {
|
|
|
2961
3077
|
declare function refreshPluginsRegistry(): Promise<void>;
|
|
2962
3078
|
/** Plugin directory names registered for a single ABI `nodeSlot`. */
|
|
2963
3079
|
declare function useNodePluginIds(nodeSlot: string): string[];
|
|
3080
|
+
type LiveModelsEntry = {
|
|
3081
|
+
fetchedAt: number;
|
|
3082
|
+
bySlot: Record<string, string[]>;
|
|
3083
|
+
};
|
|
3084
|
+
type LiveModelsState = {
|
|
3085
|
+
byPlugin: Record<string, LiveModelsEntry>;
|
|
3086
|
+
};
|
|
3087
|
+
declare const useLiveModelsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LiveModelsState>>;
|
|
3088
|
+
/**
|
|
3089
|
+
* Fetch (or refresh, once the TTL elapsed) a plugin's live model catalog. Safe
|
|
3090
|
+
* to call eagerly — it is a no-op for plugins without a catalog and while a
|
|
3091
|
+
* fresh result is cached.
|
|
3092
|
+
*/
|
|
3093
|
+
declare function loadPluginModelCatalog(pluginId: string): Promise<void>;
|
|
2964
3094
|
/**
|
|
2965
|
-
*
|
|
2966
|
-
*
|
|
3095
|
+
* Synchronous read of a plugin's model ids for one slot: the static shortlist
|
|
3096
|
+
* (declared order, first = default) followed by any live-catalog extras.
|
|
3097
|
+
*/
|
|
3098
|
+
declare function getNodePluginModels(nodeSlot: string, pluginId: string): string[];
|
|
3099
|
+
/**
|
|
3100
|
+
* Model ids a plugin offers for one ABI `nodeSlot` (empty for single-model
|
|
3101
|
+
* plugins — the model dropdown is hidden in that case): the static shortlist
|
|
3102
|
+
* plus live-catalog extras, which this hook fetches on first use.
|
|
2967
3103
|
*/
|
|
2968
3104
|
declare function useNodePluginModels(nodeSlot: string, pluginId: string): string[];
|
|
3105
|
+
/**
|
|
3106
|
+
* Synchronous read of the params a plugin offers for one slot given the
|
|
3107
|
+
* selected model, in declaration order.
|
|
3108
|
+
*/
|
|
3109
|
+
declare function getNodePluginParams(nodeSlot: string, pluginId: string, model: string | undefined): PluginParamEntry[];
|
|
3110
|
+
/** Reactive form of {@link getNodePluginParams}. */
|
|
3111
|
+
declare function useNodePluginParams(nodeSlot: string, pluginId: string, model: string | undefined): PluginParamEntry[];
|
|
2969
3112
|
type PluginMeta = {
|
|
2970
3113
|
name?: string;
|
|
2971
3114
|
description?: string;
|
|
@@ -3286,6 +3429,9 @@ interface CreateTaskRequest {
|
|
|
3286
3429
|
pluginId: string;
|
|
3287
3430
|
/** Selected model for router-style plugins; omitted otherwise. */
|
|
3288
3431
|
model?: string;
|
|
3432
|
+
/** Advanced parameters (plugin's `TONGFLOW_SLOT_PARAMS` keys); omitted
|
|
3433
|
+
* when the node runs on plugin defaults. */
|
|
3434
|
+
params?: Record<string, unknown>;
|
|
3289
3435
|
prompt: Record<string, unknown>;
|
|
3290
3436
|
nodeId: string;
|
|
3291
3437
|
workflowId?: number;
|
|
@@ -3534,7 +3680,7 @@ type NodeType = keyof typeof NODE_TYPES;
|
|
|
3534
3680
|
declare const NODE_CATEGORIES: {
|
|
3535
3681
|
readonly DATA: readonly ["imageNode", "textNode", "videoNode", "audioNode", "fileNode", "modelNode", "linkNode"];
|
|
3536
3682
|
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"];
|
|
3683
|
+
readonly TRANSFORM: readonly ["imageGenVideoNode", "textGenVideoNode", "imageGenModelNode", "imagePoseNode", "imageBodySegNode", "imageNormalNode", "imageMattingNode", "videoGenModelNode", "speechGenVideoNode", "imageGenImageNode", "imageGenImageUpscaleNode", "genTextNode", "textGenImageNode", "textGenMusicNode", "textGenAudioNode", "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
3684
|
readonly BATCH: readonly ["dropVideoNode", "arrangeNode", "concatVideoNode"];
|
|
3539
3685
|
readonly COMPOSE: readonly ["mergeVideoAudioNode", "audioVideoLipSyncNode", "imageFusionNode", "imagesGenVideoNode", "refsGenVideoNode", "speechImageGenVideoNode", "speechTextGenVideoNode", "speechVideoGenVideoNode", "videoImageGenVideoMoveNode", "videoImageGenVideoMixNode", "imageImageGenVideoNode", "textAudioGenSpeechNode", "textGenSpeechCloneComposeNode", "imageGenVideoComposeNode", "textsGenTextNode", "concatVideoComposeNode", "musicCoverNode"];
|
|
3540
3686
|
readonly DECOMPOSE: readonly ["splitVideoNode", "splitTextNode", "musicBriefNode", "separateSoundNode"];
|
|
@@ -3954,7 +4100,7 @@ declare class ErrorBoundary extends Component<Props, State> {
|
|
|
3954
4100
|
static getDerivedStateFromError(error: Error): State;
|
|
3955
4101
|
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
3956
4102
|
handleReset: () => void;
|
|
3957
|
-
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> |
|
|
4103
|
+
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
4104
|
}
|
|
3959
4105
|
//#endregion
|
|
3960
4106
|
//#region src/canvas/ui/error-toast.d.ts
|
|
@@ -4118,4 +4264,4 @@ interface WhiteBoardProps {
|
|
|
4118
4264
|
}
|
|
4119
4265
|
declare const WhiteBoard: React$1.ForwardRefExoticComponent<WhiteBoardProps & React$1.RefAttributes<WhiteBoardRef>>;
|
|
4120
4266
|
//#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 };
|
|
4267
|
+
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, getNodePluginModels, getNodePluginParams, getPresignedUploadUrl, getPrivateFileUrl, getSharedFileUrl, getTaskStopUrl, getTaskWaitUrl, getVideoMetadata, hostFetch, isCanvasLocale, isImageFile, isVideoFile, listMaterials, listTasks, loadPluginModelCatalog, normalizeTaskPayloadData, pluginDisplayName, refreshPluginsRegistry, saveFromTask, setCanvasLocale, showErrorToast, toggleFavorite, traceMaterialWorkflow, updateTaskStatus, useAbiExecution, useAbiForm, useBatchTaskManager, useCreateTask, useDropzone, useFileAsyncLoader, useFileAsyncLoaderBatch, useFileLoaderStats, useFileUrl, useFlow, useLiveModelsStore, useMultipleUpload, useNodeAbiSpec, useNodePluginIds, useNodePluginIdsUnion, useNodePluginModels, useNodePluginParams, useNodePluginResolver, useNodeState, useNodeTaskUpdate, useNodeType, usePluginMeta, usePluginsRegistry, usePluginsRegistryStore, useResolvedPluginId, useTask, useTaskStore, useTaskSubscription, useUpload, useUpstreamNodeIds, validateFile };
|