@teamflojo/floimg-studio-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/App.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare function App(): import("react/jsx-runtime").JSX.Element;
2
+ export default App;
@@ -0,0 +1,63 @@
1
+ import { NodeDefinition, StudioNode, StudioEdge, ImageMetadata } from '@teamflojo/floimg-studio-shared';
2
+
3
+ export declare function getGenerators(): Promise<NodeDefinition[]>;
4
+ export declare function getTransforms(): Promise<NodeDefinition[]>;
5
+ export interface AIProviderConfig {
6
+ openai?: {
7
+ apiKey: string;
8
+ };
9
+ anthropic?: {
10
+ apiKey: string;
11
+ };
12
+ gemini?: {
13
+ apiKey: string;
14
+ };
15
+ openrouter?: {
16
+ apiKey: string;
17
+ };
18
+ ollama?: {
19
+ baseUrl: string;
20
+ };
21
+ lmstudio?: {
22
+ baseUrl: string;
23
+ };
24
+ }
25
+ export declare function executeWorkflow(nodes: StudioNode[], edges: StudioEdge[], aiProviders?: AIProviderConfig): Promise<{
26
+ status: string;
27
+ imageIds: string[];
28
+ previews?: Record<string, string>;
29
+ dataOutputs?: Record<string, {
30
+ dataType: "text" | "json";
31
+ content: string;
32
+ parsed?: Record<string, unknown>;
33
+ }>;
34
+ error?: string;
35
+ }>;
36
+ export declare function exportYaml(nodes: StudioNode[], edges: StudioEdge[]): Promise<{
37
+ yaml: string;
38
+ }>;
39
+ export interface ImageInfo {
40
+ id: string;
41
+ filename: string;
42
+ mime: string;
43
+ size: number;
44
+ createdAt: number;
45
+ }
46
+ export declare function listImages(): Promise<ImageInfo[]>;
47
+ export declare function getImageUrl(id: string): string;
48
+ export declare function getImageWorkflow(id: string): Promise<ImageMetadata | null>;
49
+ export interface UploadInfo {
50
+ id: string;
51
+ filename: string;
52
+ mime: string;
53
+ size: number;
54
+ createdAt: number;
55
+ }
56
+ export declare function uploadImage(file: File): Promise<UploadInfo>;
57
+ export declare function listUploads(): Promise<UploadInfo[]>;
58
+ export declare function getUploadThumbnail(id: string): Promise<{
59
+ dataUrl: string;
60
+ }>;
61
+ export declare function deleteUpload(id: string): Promise<void>;
62
+ export declare function getUploadBlobUrl(id: string): string;
63
+ export declare function getInputNodes(): Promise<NodeDefinition[]>;
@@ -0,0 +1 @@
1
+ export declare function AISettings(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1 @@
1
+ export declare function Gallery(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function NodeInspector(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function NodePalette(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ interface TemplateGalleryProps {
2
+ onSelect: (templateId: string) => void;
3
+ }
4
+ export declare function TemplateGallery({ onSelect }: TemplateGalleryProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1 @@
1
+ export declare function Toolbar(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { UploadInfo } from '../api/client';
2
+
3
+ interface UploadGalleryProps {
4
+ onSelect?: (upload: UploadInfo) => void;
5
+ }
6
+ export declare function UploadGallery({ onSelect }: UploadGalleryProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare function WorkflowLibrary(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,2 @@
1
+
2
+ export declare function WorkflowEditor(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { NodeProps } from 'reactflow';
2
+ import { GeneratorNodeData, TransformNodeData, SaveNodeData, InputNodeData, VisionNodeData, TextNodeData } from '@teamflojo/floimg-studio-shared';
3
+
4
+ export declare const GeneratorNode: import('react').NamedExoticComponent<NodeProps<GeneratorNodeData>>;
5
+ export declare const TransformNode: import('react').NamedExoticComponent<NodeProps<TransformNodeData>>;
6
+ export declare const SaveNode: import('react').NamedExoticComponent<NodeProps<SaveNodeData>>;
7
+ export declare const InputNode: import('react').NamedExoticComponent<NodeProps<InputNodeData>>;
8
+ export declare const VisionNode: import('react').NamedExoticComponent<NodeProps<VisionNodeData>>;
9
+ export declare const TextNode: import('react').NamedExoticComponent<NodeProps<TextNodeData>>;
10
+ export declare const nodeTypes: {
11
+ generator: import('react').NamedExoticComponent<NodeProps<GeneratorNodeData>>;
12
+ transform: import('react').NamedExoticComponent<NodeProps<TransformNodeData>>;
13
+ save: import('react').NamedExoticComponent<NodeProps<SaveNodeData>>;
14
+ input: import('react').NamedExoticComponent<NodeProps<InputNodeData>>;
15
+ vision: import('react').NamedExoticComponent<NodeProps<VisionNodeData>>;
16
+ text: import('react').NamedExoticComponent<NodeProps<TextNodeData>>;
17
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @teamflojo/floimg-studio-ui
3
+ *
4
+ * FloImg Studio React components for building visual workflow editors.
5
+ * This is the UI library used by FloImg Studio Cloud.
6
+ *
7
+ * For self-hosting, use the Docker image instead.
8
+ */
9
+ export { default as App } from './App';
10
+ export { WorkflowEditor } from './editor/WorkflowEditor';
11
+ export { NodePalette } from './components/NodePalette';
12
+ export { NodeInspector } from './components/NodeInspector';
13
+ export { Toolbar } from './components/Toolbar';
14
+ export { Gallery } from './components/Gallery';
15
+ export { TemplateGallery } from './components/TemplateGallery';
16
+ export { WorkflowLibrary } from './components/WorkflowLibrary';
17
+ export { AISettings } from './components/AISettings';
18
+ export { useWorkflowStore } from './stores/workflowStore';
19
+ export { templates, getCategories, getTemplatesByCategory, getTemplateById, searchTemplates, } from './templates';
20
+ export type * from '@teamflojo/floimg-studio-shared';