@burdenoff/fluidgrids-fe-sdk 2026.825.2 → 2026.829.1
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/ExecutionDetailPage-OWNO2BEW.js +11 -0
- package/dist/{ExecutionDetailPage-FF2DYKAZ.js.map → ExecutionDetailPage-OWNO2BEW.js.map} +1 -1
- package/dist/ExecutionsListPage-6O4AS3CM.js +10 -0
- package/dist/{ExecutionsListPage-NKISRFMA.js.map → ExecutionsListPage-6O4AS3CM.js.map} +1 -1
- package/dist/{MissingNodesInstallModal-HA5L3FK2.js → MissingNodesInstallModal-PZYTCNCV.js} +4 -4
- package/dist/{MissingNodesInstallModal-HA5L3FK2.js.map → MissingNodesInstallModal-PZYTCNCV.js.map} +1 -1
- package/dist/{TemplateConfigurationModal-MXNGZQIC.js → TemplateConfigurationModal-TB7DJBTR.js} +11 -8
- package/dist/TemplateConfigurationModal-TB7DJBTR.js.map +1 -0
- package/dist/{TemplateDetailPanel-CJ3NPVTP.js → TemplateDetailPanel-KS3LQIBD.js} +3 -4
- package/dist/TemplateDetailPanel-KS3LQIBD.js.map +1 -0
- package/dist/WorkflowBuilder-426LYWCE.js +19 -0
- package/dist/{WorkflowBuilder-URMQZLQU.js.map → WorkflowBuilder-426LYWCE.js.map} +1 -1
- package/dist/WorkflowsList-XQW7YPZX.js +12 -0
- package/dist/{WorkflowsList-TZAN3YBA.js.map → WorkflowsList-XQW7YPZX.js.map} +1 -1
- package/dist/{chunk-7VNIEIR6.js → chunk-7YWBH2A5.js} +9 -3
- package/dist/chunk-7YWBH2A5.js.map +1 -0
- package/dist/chunk-ACRXNUU2.js +504 -0
- package/dist/chunk-ACRXNUU2.js.map +1 -0
- package/dist/{chunk-6PNRM3KQ.js → chunk-AE7FZRTH.js} +5 -4
- package/dist/chunk-AE7FZRTH.js.map +1 -0
- package/dist/{chunk-YJKZSUNC.js → chunk-BF4YC7XN.js} +32 -15
- package/dist/chunk-BF4YC7XN.js.map +1 -0
- package/dist/chunk-CLPFGB5Y.js +453 -0
- package/dist/chunk-CLPFGB5Y.js.map +1 -0
- package/dist/{chunk-MH4AHYK3.js → chunk-ELB3LXRJ.js} +17 -5
- package/dist/chunk-ELB3LXRJ.js.map +1 -0
- package/dist/{chunk-IWKLEFC7.js → chunk-GBDXBJPH.js} +7 -6
- package/dist/chunk-GBDXBJPH.js.map +1 -0
- package/dist/{chunk-Y36DJHU3.js → chunk-KT72XMAB.js} +4 -176
- package/dist/chunk-KT72XMAB.js.map +1 -0
- package/dist/chunk-LMO5ASOE.js +43 -0
- package/dist/chunk-LMO5ASOE.js.map +1 -0
- package/dist/{chunk-OHGXRM6Z.js → chunk-NH5YCY37.js} +3 -3
- package/dist/{chunk-OHGXRM6Z.js.map → chunk-NH5YCY37.js.map} +1 -1
- package/dist/chunk-NHPGJMJX.js +395 -0
- package/dist/chunk-NHPGJMJX.js.map +1 -0
- package/dist/{chunk-DVPXNC2S.js → chunk-NZ67MDME.js} +7871 -8046
- package/dist/chunk-NZ67MDME.js.map +1 -0
- package/dist/chunk-PYD2V4U6.js +541 -0
- package/dist/chunk-PYD2V4U6.js.map +1 -0
- package/dist/chunk-RXMBIJ5Z.js +3 -0
- package/dist/chunk-RXMBIJ5Z.js.map +1 -0
- package/dist/{chunk-SG7Z2IRQ.js → chunk-UPN73SK4.js} +5 -5
- package/dist/{chunk-SG7Z2IRQ.js.map → chunk-UPN73SK4.js.map} +1 -1
- package/dist/chunk-VJ2NTNDZ.js +4901 -0
- package/dist/chunk-VJ2NTNDZ.js.map +1 -0
- package/dist/chunk-VJDLWE5S.js +505 -0
- package/dist/chunk-VJDLWE5S.js.map +1 -0
- package/dist/{chunk-V5UEEB74.js → chunk-WO3AHQVD.js} +17 -41
- package/dist/chunk-WO3AHQVD.js.map +1 -0
- package/dist/executions.d.ts +7 -0
- package/dist/executions.js +14 -0
- package/dist/executions.js.map +1 -0
- package/dist/history.d.ts +5 -0
- package/dist/history.js +9 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +147 -616
- package/dist/index.js +61 -6870
- package/dist/index.js.map +1 -1
- package/dist/nodes.d.ts +5 -0
- package/dist/nodes.js +6 -0
- package/dist/nodes.js.map +1 -0
- package/dist/settings.d.ts +5 -0
- package/dist/settings.js +4 -0
- package/dist/settings.js.map +1 -0
- package/dist/templates.d.ts +17 -0
- package/dist/templates.js +19 -0
- package/dist/templates.js.map +1 -0
- package/dist/workflow-builder-JKkdIJoP.d.ts +473 -0
- package/dist/workflow-builder.d.ts +5 -0
- package/dist/workflow-builder.js +20 -0
- package/dist/workflow-builder.js.map +1 -0
- package/dist/workflows-list.d.ts +5 -0
- package/dist/workflows-list.js +12 -0
- package/dist/workflows-list.js.map +1 -0
- package/package.json +29 -1
- package/dist/ExecutionDetailPage-FF2DYKAZ.js +0 -10
- package/dist/ExecutionsListPage-NKISRFMA.js +0 -9
- package/dist/TemplateConfigurationModal-MXNGZQIC.js.map +0 -1
- package/dist/TemplateDetailPanel-CJ3NPVTP.js.map +0 -1
- package/dist/WorkflowBuilder-URMQZLQU.js +0 -17
- package/dist/WorkflowsList-TZAN3YBA.js +0 -11
- package/dist/chunk-6PNRM3KQ.js.map +0 -1
- package/dist/chunk-7VNIEIR6.js.map +0 -1
- package/dist/chunk-DVPXNC2S.js.map +0 -1
- package/dist/chunk-IWKLEFC7.js.map +0 -1
- package/dist/chunk-MH4AHYK3.js.map +0 -1
- package/dist/chunk-V5UEEB74.js.map +0 -1
- package/dist/chunk-Y36DJHU3.js.map +0 -1
- package/dist/chunk-YJKZSUNC.js.map +0 -1
package/dist/nodes.d.ts
ADDED
package/dist/nodes.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"nodes.js"}
|
package/dist/settings.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"settings.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TemplatePreview — a read-only, n8n-style preview of a store workflow template.
|
|
5
|
+
*
|
|
6
|
+
* It loads the template's `content.definitionJson`, seeds the builder's flow
|
|
7
|
+
* store with the graph, and renders the *real* builder canvas in read-only mode
|
|
8
|
+
* (no dragging/connecting/editing — pan + zoom only). A header shows the
|
|
9
|
+
* template name/description and a "Use this template" CTA that imports the
|
|
10
|
+
* template and opens the editable builder. Nothing is created until the user
|
|
11
|
+
* clicks "Use this template".
|
|
12
|
+
*/
|
|
13
|
+
declare function TemplatePreview(): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
declare function TemplatesPage(): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { TemplatePreview, TemplatesPage };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { TemplatePreview, TemplatesPage } from './chunk-VJ2NTNDZ.js';
|
|
2
|
+
import './chunk-NZ67MDME.js';
|
|
3
|
+
import './chunk-P5PKRQAO.js';
|
|
4
|
+
import './chunk-NH5YCY37.js';
|
|
5
|
+
import './chunk-DBOMRIP5.js';
|
|
6
|
+
import './chunk-BQXHJIER.js';
|
|
7
|
+
import './chunk-6LXMUIR3.js';
|
|
8
|
+
import './chunk-XQP33UJR.js';
|
|
9
|
+
import './chunk-KT72XMAB.js';
|
|
10
|
+
import './chunk-UIY2HBWA.js';
|
|
11
|
+
import './chunk-3ZYUGTIT.js';
|
|
12
|
+
import './chunk-ELB3LXRJ.js';
|
|
13
|
+
import './chunk-LMO5ASOE.js';
|
|
14
|
+
import './chunk-WWU2O2SR.js';
|
|
15
|
+
import './chunk-WO3AHQVD.js';
|
|
16
|
+
import './chunk-5BDQNSP3.js';
|
|
17
|
+
import './chunk-7YWBH2A5.js';
|
|
18
|
+
//# sourceMappingURL=templates.js.map
|
|
19
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"templates.js"}
|
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ApolloClient } from '@apollo/client/core';
|
|
3
|
+
import { Edge, Node, NodeChange, EdgeChange, Connection } from '@xyflow/react';
|
|
4
|
+
import * as zustand from 'zustand';
|
|
5
|
+
|
|
6
|
+
type ExtendedNodeType = "trigger:api" | "end" | "internal:if" | "internal:switch" | "internal:loop" | "internal:merge" | "internal:set" | "internal:filter" | "internal:aggregate" | "internal:wait" | "internal:noop" | "internal:subworkflow" | string;
|
|
7
|
+
interface FlowNodeData {
|
|
8
|
+
label: string;
|
|
9
|
+
deletable?: boolean;
|
|
10
|
+
nodeType?: string;
|
|
11
|
+
config?: Record<string, unknown>;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
interface FlowNode extends Node {
|
|
15
|
+
type: ExtendedNodeType;
|
|
16
|
+
data: FlowNodeData;
|
|
17
|
+
deletable?: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface FlowEdge extends Edge {
|
|
20
|
+
type?: "deletable" | "smoothstep" | "default" | string;
|
|
21
|
+
condition?: EdgeCondition;
|
|
22
|
+
mapping?: EdgeMapping;
|
|
23
|
+
}
|
|
24
|
+
interface EdgeCondition {
|
|
25
|
+
rules: ConditionRule[];
|
|
26
|
+
logic: "and" | "or";
|
|
27
|
+
}
|
|
28
|
+
interface ConditionRule {
|
|
29
|
+
field: string;
|
|
30
|
+
operator: string;
|
|
31
|
+
value: string;
|
|
32
|
+
}
|
|
33
|
+
interface EdgeMapping {
|
|
34
|
+
definition: Record<string, string>;
|
|
35
|
+
comment?: string;
|
|
36
|
+
}
|
|
37
|
+
interface NodeAdapterManifest {
|
|
38
|
+
name: string;
|
|
39
|
+
required?: boolean;
|
|
40
|
+
type?: string;
|
|
41
|
+
maxConnections?: number | null;
|
|
42
|
+
filter?: {
|
|
43
|
+
kind?: string[];
|
|
44
|
+
excludeNodes?: string[];
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
interface NodeManifest {
|
|
48
|
+
nodeType: string;
|
|
49
|
+
name: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
kind?: string[];
|
|
52
|
+
version: string;
|
|
53
|
+
operations?: {
|
|
54
|
+
operations?: unknown[];
|
|
55
|
+
};
|
|
56
|
+
icon?: string;
|
|
57
|
+
category?: string;
|
|
58
|
+
/** Adapter ports for this node (e.g., Chat Model, Memory, Tool slots on AI Agent) */
|
|
59
|
+
nodeAdapters?: NodeAdapterManifest[];
|
|
60
|
+
/** When true, this node can connect to adapter ports on other nodes */
|
|
61
|
+
supportsAdapterMode?: boolean;
|
|
62
|
+
/** The adapter type this node satisfies when used as a sub-node */
|
|
63
|
+
adapterOutputType?: string;
|
|
64
|
+
}
|
|
65
|
+
interface NodeEndpointConfig {
|
|
66
|
+
id: string;
|
|
67
|
+
nodeType: string;
|
|
68
|
+
name: string;
|
|
69
|
+
description?: string;
|
|
70
|
+
icon?: string;
|
|
71
|
+
category?: string;
|
|
72
|
+
manifest?: NodeManifest;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
interface WorkflowDefinition {
|
|
76
|
+
id: string;
|
|
77
|
+
workflowKey: string;
|
|
78
|
+
version: string;
|
|
79
|
+
name: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
alias?: string;
|
|
82
|
+
status?: "draft" | "active" | "archived";
|
|
83
|
+
definitionJson?: WorkflowDefinitionJson;
|
|
84
|
+
createdAt?: string;
|
|
85
|
+
updatedAt?: string;
|
|
86
|
+
createdBy?: string;
|
|
87
|
+
}
|
|
88
|
+
interface WorkflowDefinitionJson {
|
|
89
|
+
key: string;
|
|
90
|
+
name: string;
|
|
91
|
+
description?: string;
|
|
92
|
+
workflow_type?: string;
|
|
93
|
+
data: WorkflowData;
|
|
94
|
+
meta?: Record<string, unknown>;
|
|
95
|
+
tags?: string[];
|
|
96
|
+
}
|
|
97
|
+
interface WorkflowData {
|
|
98
|
+
id: string;
|
|
99
|
+
workflowKey: string;
|
|
100
|
+
name: string;
|
|
101
|
+
version: string;
|
|
102
|
+
alias?: string;
|
|
103
|
+
nodes: FlowNode[];
|
|
104
|
+
edges: FlowEdge[];
|
|
105
|
+
sidebar: SidebarState;
|
|
106
|
+
}
|
|
107
|
+
interface SidebarState {
|
|
108
|
+
active: "node-properties" | "store-browse" | "none";
|
|
109
|
+
panels: {
|
|
110
|
+
nodeProperties: {
|
|
111
|
+
selectedNode: {
|
|
112
|
+
id: string;
|
|
113
|
+
type: string;
|
|
114
|
+
} | null;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
interface Tag {
|
|
119
|
+
value: string;
|
|
120
|
+
label: string;
|
|
121
|
+
color: string;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
type RunStatus = "pending" | "running" | "completed" | "failed" | "cancelled" | "timeout";
|
|
125
|
+
type NodeStatus = "idle" | "pending" | "running" | "success" | "error" | "skipped";
|
|
126
|
+
type ErrorType = "validation" | "execution" | "timeout" | "cancelled" | "unknown";
|
|
127
|
+
interface WorkflowRun {
|
|
128
|
+
id: string;
|
|
129
|
+
workflowKey: string;
|
|
130
|
+
workflowVersion: string;
|
|
131
|
+
workflowName?: string;
|
|
132
|
+
status: RunStatus;
|
|
133
|
+
startedAt: string;
|
|
134
|
+
completedAt?: string;
|
|
135
|
+
duration?: number;
|
|
136
|
+
triggeredBy?: string;
|
|
137
|
+
triggerType?: string;
|
|
138
|
+
error?: WorkflowError;
|
|
139
|
+
nodeStates?: NodeState[];
|
|
140
|
+
inputData?: Record<string, unknown>;
|
|
141
|
+
outputData?: Record<string, unknown>;
|
|
142
|
+
parentRunId?: string;
|
|
143
|
+
isSubWorkflowRun?: boolean;
|
|
144
|
+
subworkflowDepth?: number;
|
|
145
|
+
rootRunId?: string;
|
|
146
|
+
childRuns?: WorkflowRun[];
|
|
147
|
+
}
|
|
148
|
+
interface NodeState {
|
|
149
|
+
id: string;
|
|
150
|
+
nodeId: string;
|
|
151
|
+
nodeType: string;
|
|
152
|
+
nodeName?: string;
|
|
153
|
+
status: NodeStatus;
|
|
154
|
+
startedAt?: string;
|
|
155
|
+
completedAt?: string;
|
|
156
|
+
duration?: number;
|
|
157
|
+
inputData?: Record<string, unknown>;
|
|
158
|
+
outputData?: Record<string, unknown>;
|
|
159
|
+
error?: string;
|
|
160
|
+
itemCount?: number;
|
|
161
|
+
childRunId?: string;
|
|
162
|
+
}
|
|
163
|
+
interface WorkflowError {
|
|
164
|
+
type: ErrorType;
|
|
165
|
+
message: string;
|
|
166
|
+
nodeId?: string;
|
|
167
|
+
stack?: string;
|
|
168
|
+
}
|
|
169
|
+
interface ExecutionLog {
|
|
170
|
+
id: string;
|
|
171
|
+
runId: string;
|
|
172
|
+
nodeId: string;
|
|
173
|
+
nodeType: string;
|
|
174
|
+
nodeName: string;
|
|
175
|
+
status: "pending" | "running" | "completed" | "failed";
|
|
176
|
+
inputArgs: Record<string, unknown> | null;
|
|
177
|
+
output: Record<string, unknown> | null;
|
|
178
|
+
error: string | null;
|
|
179
|
+
duration: number | null;
|
|
180
|
+
startTime: string;
|
|
181
|
+
endTime: string | null;
|
|
182
|
+
}
|
|
183
|
+
interface ExecutionsFilter {
|
|
184
|
+
status?: RunStatus[];
|
|
185
|
+
workflowKey?: string;
|
|
186
|
+
dateRange?: {
|
|
187
|
+
start: string;
|
|
188
|
+
end: string;
|
|
189
|
+
};
|
|
190
|
+
triggeredBy?: string;
|
|
191
|
+
}
|
|
192
|
+
interface ExecutionsPagination {
|
|
193
|
+
page: number;
|
|
194
|
+
pageSize: number;
|
|
195
|
+
total: number;
|
|
196
|
+
}
|
|
197
|
+
declare const RUN_STATUS_CONFIG: Record<RunStatus, {
|
|
198
|
+
label: string;
|
|
199
|
+
color: string;
|
|
200
|
+
bgColor: string;
|
|
201
|
+
}>;
|
|
202
|
+
declare const NODE_STATUS_CONFIG: Record<NodeStatus, {
|
|
203
|
+
label: string;
|
|
204
|
+
color: string;
|
|
205
|
+
bgColor: string;
|
|
206
|
+
}>;
|
|
207
|
+
|
|
208
|
+
interface WorkflowBuilderCoreProps {
|
|
209
|
+
/** Initial workflow data to render */
|
|
210
|
+
workflow?: WorkflowData;
|
|
211
|
+
/** Readonly mode - disables editing */
|
|
212
|
+
readonly?: boolean;
|
|
213
|
+
/** Hide the header toolbar */
|
|
214
|
+
hideHeader?: boolean;
|
|
215
|
+
/** Hide the sidebar */
|
|
216
|
+
hideSidebar?: boolean;
|
|
217
|
+
/** Hide the logs panel */
|
|
218
|
+
hideLogsPanel?: boolean;
|
|
219
|
+
/** Callback when workflow is saved */
|
|
220
|
+
onSave?: (workflow: WorkflowData) => void;
|
|
221
|
+
/** Callback when workflow execution starts */
|
|
222
|
+
onExecute?: (runId: string) => void;
|
|
223
|
+
/** Callback when a node is clicked */
|
|
224
|
+
onNodeClick?: (node: FlowNode) => void;
|
|
225
|
+
/** Callback when back button is clicked */
|
|
226
|
+
onBack?: () => void;
|
|
227
|
+
/** Custom className */
|
|
228
|
+
className?: string;
|
|
229
|
+
}
|
|
230
|
+
declare function WorkflowBuilderCore(props: WorkflowBuilderCoreProps): react_jsx_runtime.JSX.Element;
|
|
231
|
+
|
|
232
|
+
interface WorkflowBuilderProps extends Omit<WorkflowBuilderCoreProps, "workflow"> {
|
|
233
|
+
/** Workflow ID to load */
|
|
234
|
+
workflowId?: string;
|
|
235
|
+
/** Workflow version to load */
|
|
236
|
+
workflowVersion?: string;
|
|
237
|
+
/** Initial workflow data (bypasses API fetch) */
|
|
238
|
+
initialWorkflow?: WorkflowData;
|
|
239
|
+
/** Workspace API Gateway URL */
|
|
240
|
+
apiGatewayUrl?: string;
|
|
241
|
+
/** Global API Gateway URL (for store operations) */
|
|
242
|
+
globalApiUrl?: string;
|
|
243
|
+
/** Authentication token */
|
|
244
|
+
authToken?: string;
|
|
245
|
+
/** Current workspace ID */
|
|
246
|
+
workspaceId: string;
|
|
247
|
+
/** Current tenant ID */
|
|
248
|
+
tenantId?: string;
|
|
249
|
+
/** Organization ID */
|
|
250
|
+
organizationId?: string;
|
|
251
|
+
/** Optional: Provide your own workspace Apollo client */
|
|
252
|
+
workspaceClient?: ApolloClient;
|
|
253
|
+
/** Optional: Provide your own global Apollo client */
|
|
254
|
+
globalClient?: ApolloClient;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* WorkflowBuilder - Standalone workflow builder component with Apollo client support
|
|
258
|
+
*
|
|
259
|
+
* Use this component when you want to embed the workflow builder in any React app.
|
|
260
|
+
* You can either:
|
|
261
|
+
* 1. Provide pre-configured Apollo clients (workspaceClient + globalClient) - Recommended
|
|
262
|
+
* 2. Provide URLs and let the component create clients internally
|
|
263
|
+
*
|
|
264
|
+
* @example Dual Client Injection (Recommended)
|
|
265
|
+
* ```tsx
|
|
266
|
+
* import { createFluidGridsClients } from '@fluidgrids/fe-sdk';
|
|
267
|
+
*
|
|
268
|
+
* const { workspaceClient, globalClient } = createFluidGridsClients({
|
|
269
|
+
* workspaceApiUrl: 'http://localhost:4000/workspaces/graphql',
|
|
270
|
+
* globalApiUrl: 'http://localhost:4000/global/graphql',
|
|
271
|
+
* authToken: token,
|
|
272
|
+
* workspaceId: 'ws-123',
|
|
273
|
+
* });
|
|
274
|
+
*
|
|
275
|
+
* <WorkflowBuilder
|
|
276
|
+
* workspaceClient={workspaceClient}
|
|
277
|
+
* globalClient={globalClient}
|
|
278
|
+
* workspaceId="ws-123"
|
|
279
|
+
* onSave={(workflow) => console.log(workflow)}
|
|
280
|
+
* />
|
|
281
|
+
* ```
|
|
282
|
+
*
|
|
283
|
+
* @example URL-based (Simpler, less flexible)
|
|
284
|
+
* ```tsx
|
|
285
|
+
* <WorkflowBuilder
|
|
286
|
+
* apiGatewayUrl="http://localhost:4000/workspaces/graphql"
|
|
287
|
+
* globalApiUrl="http://localhost:4000/global/graphql"
|
|
288
|
+
* authToken={token}
|
|
289
|
+
* workspaceId="ws-123"
|
|
290
|
+
* onSave={(workflow) => console.log(workflow)}
|
|
291
|
+
* />
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
declare function WorkflowBuilder$1({ workflowId, workflowVersion, initialWorkflow, apiGatewayUrl, globalApiUrl, authToken, workspaceId, tenantId, organizationId, workspaceClient, globalClient, ...coreProps }: WorkflowBuilderProps): react_jsx_runtime.JSX.Element;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* WorkflowBuilder page with ErrorBoundary for graceful crash recovery.
|
|
298
|
+
* If the builder throws (React Flow error, node rendering crash, etc.),
|
|
299
|
+
* the user sees a recovery UI instead of a blank screen.
|
|
300
|
+
*/
|
|
301
|
+
declare function WorkflowBuilder(): react_jsx_runtime.JSX.Element;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Global search indexes WorkflowDefinition by its database id, but the
|
|
305
|
+
* builder route (`workflow/:workflowKey/:version`) is keyed by workflowKey +
|
|
306
|
+
* version. This page bridges the two: it resolves the id to its current
|
|
307
|
+
* workflowKey/version and redirects there.
|
|
308
|
+
*/
|
|
309
|
+
declare function WorkflowSearchRedirect(): react_jsx_runtime.JSX.Element;
|
|
310
|
+
|
|
311
|
+
interface ExecutionState {
|
|
312
|
+
isExecuting: boolean;
|
|
313
|
+
executingNodeId: string | null;
|
|
314
|
+
currentRunId: string | null;
|
|
315
|
+
logs: ExecutionLog[];
|
|
316
|
+
selectedLogId: string | null;
|
|
317
|
+
panelExpanded: boolean;
|
|
318
|
+
nodeStatuses: Record<string, "idle" | "running" | "success" | "error">;
|
|
319
|
+
nodeItemCounts: Record<string, number>;
|
|
320
|
+
}
|
|
321
|
+
interface CustomEdgeProps extends Edge {
|
|
322
|
+
condition?: EdgeCondition;
|
|
323
|
+
mapping?: EdgeMapping;
|
|
324
|
+
}
|
|
325
|
+
interface State {
|
|
326
|
+
nodes: Node[];
|
|
327
|
+
edges: CustomEdgeProps[];
|
|
328
|
+
/** Node currently open in the n8n-style 3-pane Node Detail View modal. */
|
|
329
|
+
ndv?: {
|
|
330
|
+
nodeId: string;
|
|
331
|
+
type: ExtendedNodeType;
|
|
332
|
+
} | null;
|
|
333
|
+
/**
|
|
334
|
+
* Node currently open in the single-click floating quick-config panel
|
|
335
|
+
* (Make-style, attached beside the node). The panel derives its own screen
|
|
336
|
+
* position from the node's live rect, so no anchor is stored here.
|
|
337
|
+
*/
|
|
338
|
+
quickConfig?: {
|
|
339
|
+
nodeId: string;
|
|
340
|
+
type: ExtendedNodeType;
|
|
341
|
+
} | null;
|
|
342
|
+
/**
|
|
343
|
+
* Source handle awaiting attachment via the Node Store (the n8n-style "+"
|
|
344
|
+
* button on an output handle). While set, clicking an operation in the
|
|
345
|
+
* store panel creates the node and wires it to this handle.
|
|
346
|
+
*/
|
|
347
|
+
pendingConnection?: {
|
|
348
|
+
nodeId: string;
|
|
349
|
+
handleId: string;
|
|
350
|
+
} | null;
|
|
351
|
+
sidebar: {
|
|
352
|
+
active: "node-properties" | "store-browse" | "none";
|
|
353
|
+
panels: {
|
|
354
|
+
nodeProperties: {
|
|
355
|
+
selectedNode: {
|
|
356
|
+
id: string;
|
|
357
|
+
type: ExtendedNodeType;
|
|
358
|
+
} | null | undefined;
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
interface Actions {
|
|
364
|
+
actions: {
|
|
365
|
+
saveWorkflow: () => {
|
|
366
|
+
id: string;
|
|
367
|
+
name: string;
|
|
368
|
+
version: string;
|
|
369
|
+
alias?: string;
|
|
370
|
+
dbId?: string;
|
|
371
|
+
status?: string;
|
|
372
|
+
nodes: Node[];
|
|
373
|
+
edges: Edge[];
|
|
374
|
+
};
|
|
375
|
+
setWorkflow: (workflow: Partial<IFlowState["workflow"]>) => void;
|
|
376
|
+
resetWorkflow: () => void;
|
|
377
|
+
nodes: {
|
|
378
|
+
onNodesChange: (changes: NodeChange[]) => void;
|
|
379
|
+
setNodes: (nodes: Node[]) => void;
|
|
380
|
+
deleteNode: (node: Node) => void;
|
|
381
|
+
};
|
|
382
|
+
edges: {
|
|
383
|
+
onEdgesChange: (changes: EdgeChange[]) => void;
|
|
384
|
+
onConnect: (connection: Connection) => void;
|
|
385
|
+
setEdges: (edges: Edge[]) => void;
|
|
386
|
+
deleteEdge: (edge: Edge) => void;
|
|
387
|
+
};
|
|
388
|
+
ndv: {
|
|
389
|
+
open: (node: {
|
|
390
|
+
nodeId: string;
|
|
391
|
+
type: ExtendedNodeType;
|
|
392
|
+
}) => void;
|
|
393
|
+
close: () => void;
|
|
394
|
+
};
|
|
395
|
+
quickConfig: {
|
|
396
|
+
open: (node: {
|
|
397
|
+
nodeId: string;
|
|
398
|
+
type: ExtendedNodeType;
|
|
399
|
+
}) => void;
|
|
400
|
+
close: () => void;
|
|
401
|
+
};
|
|
402
|
+
pendingConnection: {
|
|
403
|
+
/** Arm attach mode for a source handle and open the Node Store panel. */
|
|
404
|
+
start: (connection: {
|
|
405
|
+
nodeId: string;
|
|
406
|
+
handleId: string;
|
|
407
|
+
}) => void;
|
|
408
|
+
clear: () => void;
|
|
409
|
+
};
|
|
410
|
+
sidebar: {
|
|
411
|
+
setActivePanel: (panel: "node-properties" | "store-browse" | "none") => void;
|
|
412
|
+
showNodePropertiesOf: (node: {
|
|
413
|
+
id: string;
|
|
414
|
+
type: ExtendedNodeType;
|
|
415
|
+
block?: string;
|
|
416
|
+
}) => void;
|
|
417
|
+
panels: {
|
|
418
|
+
nodeProperties: {
|
|
419
|
+
setSelectedNode: (node: {
|
|
420
|
+
id: string;
|
|
421
|
+
type: ExtendedNodeType;
|
|
422
|
+
} | undefined | null) => void;
|
|
423
|
+
};
|
|
424
|
+
tags: {
|
|
425
|
+
setTags: (tags: Tag[]) => void;
|
|
426
|
+
createTag: (tag: Tag) => void;
|
|
427
|
+
deleteTag: (tag: Tag) => void;
|
|
428
|
+
updateTag: (tag: Tag, newTag: Tag) => void;
|
|
429
|
+
};
|
|
430
|
+
};
|
|
431
|
+
};
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
interface IFlowState {
|
|
435
|
+
tags: Tag[];
|
|
436
|
+
workflow: {
|
|
437
|
+
id: string;
|
|
438
|
+
workflowKey: string;
|
|
439
|
+
name: string;
|
|
440
|
+
version: string;
|
|
441
|
+
alias?: string;
|
|
442
|
+
/** Database row ID (used for updateWorkflowDefinition) */
|
|
443
|
+
dbId?: string;
|
|
444
|
+
/** Current workflow status: DRAFT | ACTIVE | ARCHIVED | DEPRECATED */
|
|
445
|
+
status?: string;
|
|
446
|
+
} & State;
|
|
447
|
+
execution: ExecutionState;
|
|
448
|
+
actions: Actions["actions"] & {
|
|
449
|
+
execution: {
|
|
450
|
+
startExecution: (nodeId: string, runId: string) => void;
|
|
451
|
+
addLog: (log: ExecutionLog) => void;
|
|
452
|
+
updateLog: (logId: string, updates: Partial<ExecutionLog>) => void;
|
|
453
|
+
setNodeStatus: (nodeId: string, status: "idle" | "running" | "success" | "error") => void;
|
|
454
|
+
setNodeItemCount: (nodeId: string, count: number) => void;
|
|
455
|
+
selectLog: (logId: string | null) => void;
|
|
456
|
+
togglePanel: () => void;
|
|
457
|
+
clearLogs: () => void;
|
|
458
|
+
completeExecution: () => void;
|
|
459
|
+
};
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
declare const useFlowStore: zustand.UseBoundStore<zustand.StoreApi<IFlowState>>;
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Refetch all nodes by re-running initializeNodeConfigs.
|
|
466
|
+
* Called after installing/uninstalling a store node.
|
|
467
|
+
*
|
|
468
|
+
* Resets the initialization guard and all derived arrays so
|
|
469
|
+
* initializeNodeConfigs() runs a fresh fetch instead of returning early.
|
|
470
|
+
*/
|
|
471
|
+
declare function refetchStoreNodes(): Promise<void>;
|
|
472
|
+
|
|
473
|
+
export { type ConditionRule as C, type EdgeCondition as E, type FlowEdge as F, type IFlowState as I, NODE_STATUS_CONFIG as N, RUN_STATUS_CONFIG as R, type SidebarState as S, type Tag as T, WorkflowBuilder$1 as W, type EdgeMapping as a, type ErrorType as b, type ExecutionLog as c, type ExecutionsFilter as d, type ExecutionsPagination as e, type ExtendedNodeType as f, type FlowNode as g, type FlowNodeData as h, type NodeEndpointConfig as i, type NodeManifest as j, type NodeState as k, type NodeStatus as l, type RunStatus as m, WorkflowBuilder as n, WorkflowBuilderCore as o, type WorkflowBuilderCoreProps as p, type WorkflowBuilderProps as q, type WorkflowData as r, type WorkflowDefinition as s, type WorkflowDefinitionJson as t, type WorkflowError as u, type WorkflowRun as v, WorkflowSearchRedirect as w, refetchStoreNodes as x, useFlowStore as y };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { I as IFlowState, W as WorkflowBuilder, o as WorkflowBuilderCore, p as WorkflowBuilderCoreProps, n as WorkflowBuilderPage, q as WorkflowBuilderProps, w as WorkflowSearchRedirect, x as refetchStoreNodes, y as useFlowStore } from './workflow-builder-JKkdIJoP.js';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import '@apollo/client/core';
|
|
4
|
+
import '@xyflow/react';
|
|
5
|
+
import 'zustand';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-PYD2V4U6.js';
|
|
2
|
+
export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-NHPGJMJX.js';
|
|
3
|
+
export { refetchStoreNodes } from './chunk-NZ67MDME.js';
|
|
4
|
+
import './chunk-P5PKRQAO.js';
|
|
5
|
+
import './chunk-NH5YCY37.js';
|
|
6
|
+
import './chunk-DBOMRIP5.js';
|
|
7
|
+
import './chunk-BQXHJIER.js';
|
|
8
|
+
import './chunk-6LXMUIR3.js';
|
|
9
|
+
import './chunk-XQP33UJR.js';
|
|
10
|
+
export { useFlowStore } from './chunk-KT72XMAB.js';
|
|
11
|
+
import './chunk-UIY2HBWA.js';
|
|
12
|
+
import './chunk-3ZYUGTIT.js';
|
|
13
|
+
import './chunk-ELB3LXRJ.js';
|
|
14
|
+
import './chunk-LMO5ASOE.js';
|
|
15
|
+
import './chunk-WWU2O2SR.js';
|
|
16
|
+
import './chunk-WO3AHQVD.js';
|
|
17
|
+
import './chunk-5BDQNSP3.js';
|
|
18
|
+
import './chunk-7YWBH2A5.js';
|
|
19
|
+
//# sourceMappingURL=workflow-builder.js.map
|
|
20
|
+
//# sourceMappingURL=workflow-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"workflow-builder.js"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { WorkflowsList } from './chunk-BF4YC7XN.js';
|
|
2
|
+
import './chunk-KT72XMAB.js';
|
|
3
|
+
import './chunk-UIY2HBWA.js';
|
|
4
|
+
import './chunk-3ZYUGTIT.js';
|
|
5
|
+
import './chunk-ELB3LXRJ.js';
|
|
6
|
+
import './chunk-LMO5ASOE.js';
|
|
7
|
+
import './chunk-WWU2O2SR.js';
|
|
8
|
+
import './chunk-WO3AHQVD.js';
|
|
9
|
+
import './chunk-5BDQNSP3.js';
|
|
10
|
+
import './chunk-7YWBH2A5.js';
|
|
11
|
+
//# sourceMappingURL=workflows-list.js.map
|
|
12
|
+
//# sourceMappingURL=workflows-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"workflows-list.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/fluidgrids-fe-sdk",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.829.1",
|
|
4
4
|
"description": "FluidGrids Workflow Builder SDK - Embeddable visual workflow automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"imports": {
|
|
@@ -14,6 +14,34 @@
|
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"import": "./dist/index.js"
|
|
16
16
|
},
|
|
17
|
+
"./workflow-builder": {
|
|
18
|
+
"types": "./dist/workflow-builder.d.ts",
|
|
19
|
+
"import": "./dist/workflow-builder.js"
|
|
20
|
+
},
|
|
21
|
+
"./workflows-list": {
|
|
22
|
+
"types": "./dist/workflows-list.d.ts",
|
|
23
|
+
"import": "./dist/workflows-list.js"
|
|
24
|
+
},
|
|
25
|
+
"./executions": {
|
|
26
|
+
"types": "./dist/executions.d.ts",
|
|
27
|
+
"import": "./dist/executions.js"
|
|
28
|
+
},
|
|
29
|
+
"./history": {
|
|
30
|
+
"types": "./dist/history.d.ts",
|
|
31
|
+
"import": "./dist/history.js"
|
|
32
|
+
},
|
|
33
|
+
"./templates": {
|
|
34
|
+
"types": "./dist/templates.d.ts",
|
|
35
|
+
"import": "./dist/templates.js"
|
|
36
|
+
},
|
|
37
|
+
"./nodes": {
|
|
38
|
+
"types": "./dist/nodes.d.ts",
|
|
39
|
+
"import": "./dist/nodes.js"
|
|
40
|
+
},
|
|
41
|
+
"./settings": {
|
|
42
|
+
"types": "./dist/settings.d.ts",
|
|
43
|
+
"import": "./dist/settings.js"
|
|
44
|
+
},
|
|
17
45
|
"./styles.css": "./dist/styles.css"
|
|
18
46
|
},
|
|
19
47
|
"files": [
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { ExecutionDetailPage } from './chunk-IWKLEFC7.js';
|
|
2
|
-
import './chunk-6PNRM3KQ.js';
|
|
3
|
-
import './chunk-UIY2HBWA.js';
|
|
4
|
-
import './chunk-V5UEEB74.js';
|
|
5
|
-
import './chunk-5BDQNSP3.js';
|
|
6
|
-
import './chunk-WWU2O2SR.js';
|
|
7
|
-
import './chunk-3ZYUGTIT.js';
|
|
8
|
-
import './chunk-7VNIEIR6.js';
|
|
9
|
-
//# sourceMappingURL=ExecutionDetailPage-FF2DYKAZ.js.map
|
|
10
|
-
//# sourceMappingURL=ExecutionDetailPage-FF2DYKAZ.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { ExecutionsListPage } from './chunk-SG7Z2IRQ.js';
|
|
2
|
-
import './chunk-6PNRM3KQ.js';
|
|
3
|
-
import './chunk-MH4AHYK3.js';
|
|
4
|
-
import './chunk-V5UEEB74.js';
|
|
5
|
-
import './chunk-5BDQNSP3.js';
|
|
6
|
-
import './chunk-WWU2O2SR.js';
|
|
7
|
-
import './chunk-7VNIEIR6.js';
|
|
8
|
-
//# sourceMappingURL=ExecutionsListPage-NKISRFMA.js.map
|
|
9
|
-
//# sourceMappingURL=ExecutionsListPage-NKISRFMA.js.map
|