@burdenoff/fluidgrids-fe-sdk 2026.1104.3 → 2026.1105.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/README.md +38 -0
- package/dist/ExecutionDetailPage-YBAMVPMB.js +26 -0
- package/dist/{WorkflowsList-YFD2RKKQ.js → ExecutionsListPage-NQIQXMTY.js} +10 -9
- package/dist/{WorkflowBuilder-4I44FWII.js → WorkflowBuilder-CRR5WP4V.js} +15 -14
- package/dist/{ExecutionsListPage-EZ65FXER.js → WorkflowsList-EV725VG5.js} +10 -9
- package/dist/{agentTools-SZZN6TP3.js → agentTools-PN4W7QZH.js} +7 -6
- package/dist/{chunk-4YCMMBSK.js → chunk-2QOAJF7V.js} +2 -2
- package/dist/{chunk-NTWG3CJX.js → chunk-3IXU7WUC.js} +32 -21
- package/dist/{chunk-KHXRYQYP.js → chunk-4QB6S7YW.js} +3 -2
- package/dist/{chunk-NJRCAE6K.js → chunk-6EZJ5J3B.js} +5 -5
- package/dist/{chunk-BIB7IH26.js → chunk-6P7DOBVN.js} +4 -4
- package/dist/{chunk-5D4XS3WJ.js → chunk-AG3VC7Y2.js} +17 -3
- package/dist/{chunk-NGXJHYV5.js → chunk-AMXJLVZN.js} +2 -2
- package/dist/{chunk-PXIFUMLA.js → chunk-AU7LACOY.js} +16 -11
- package/dist/{chunk-NIY6R42C.js → chunk-AZKVI4YN.js} +5 -4
- package/dist/{chunk-Q72EOY4T.js → chunk-BHAKNT5M.js} +9 -3
- package/dist/{chunk-AAIZ6S6E.js → chunk-C26QAWCT.js} +69 -87
- package/dist/{chunk-SS7Y66P5.js → chunk-CGR3AEZU.js} +2 -2
- package/dist/{chunk-NYBL5WHP.js → chunk-D7G5VWSH.js} +3 -3
- package/dist/{chunk-XCSCD3IU.js → chunk-DANOMJ5I.js} +7 -6
- package/dist/{chunk-F7LQL43U.js → chunk-EC2AN74G.js} +1 -1
- package/dist/{chunk-MF7JLSJX.js → chunk-FCT6POFX.js} +11 -2
- package/dist/{chunk-YYVRBROH.js → chunk-FJSXXO5W.js} +1 -1
- package/dist/{chunk-5UHAB75U.js → chunk-GVIYGJQG.js} +1 -1
- package/dist/{chunk-TBHAZK52.js → chunk-HLAUK5GM.js} +1 -1
- package/dist/{chunk-AFX3EKFN.js → chunk-HOTVUVZG.js} +15 -3
- package/dist/{chunk-DFIX6YWP.js → chunk-I3QPAEL6.js} +39 -20
- package/dist/{chunk-IK7IGG6T.js → chunk-JC4D7RQ6.js} +8 -7
- package/dist/{chunk-GEY7RXRZ.js → chunk-JDQYGH4Q.js} +4 -4
- package/dist/{chunk-4EUEKSEQ.js → chunk-L2N6DDOI.js} +2 -2
- package/dist/{chunk-WTV6SQYK.js → chunk-L44BRLW5.js} +12 -11
- package/dist/{chunk-OMB3WMDQ.js → chunk-MQN6YDX4.js} +10 -9
- package/dist/{chunk-XNU2PLJ2.js → chunk-MSQAULLG.js} +6 -5
- package/dist/{chunk-ZDCJPQ5M.js → chunk-MZFJL4X3.js} +1 -1
- package/dist/{chunk-X6PIU7FE.js → chunk-O2EB7UT2.js} +3 -2
- package/dist/{chunk-ON7LK6QH.js → chunk-R3Z7W4EX.js} +5 -4
- package/dist/chunk-UEG2WC3G.js +502 -0
- package/dist/chunk-US5QSLPV.js +316 -0
- package/dist/{chunk-VDJFTZ2H.js → chunk-VFVN7D3A.js} +2 -1
- package/dist/{chunk-D4WA2M2N.js → chunk-XLI75E3D.js} +3 -2
- package/dist/client-YVZMLEQX.js +3 -0
- package/dist/config-66FUPSG5.js +1 -0
- package/dist/executions.js +15 -14
- package/dist/global-client-N5EIFW6T.js +3 -0
- package/dist/history.js +8 -7
- package/dist/index.d.ts +96 -133
- package/dist/index.js +91 -72
- package/dist/{node-detail-view-GAGSLHAO.js → node-detail-view-3VG7XFIZ.js} +11 -10
- package/dist/nodes.js +4 -2
- package/dist/observability.js +8 -7
- package/dist/{quick-config-panel-44RBX6YR.js → quick-config-panel-GB7SDWHD.js} +8 -7
- package/dist/settings.js +9 -8
- package/dist/templates.js +14 -13
- package/dist/{workflow-builder-BMGVSwpy.d.ts → workflow-builder-7vv9dCdp.d.ts} +413 -2
- package/dist/workflow-builder.d.ts +2 -1
- package/dist/workflow-builder.js +16 -15
- package/dist/workflows-list.js +10 -9
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-ND2VMU45.js +0 -25
- package/dist/chunk-6AMNEX2Y.js +0 -214
- package/dist/client-EYQDMR4O.js +0 -1
- package/dist/config-3DBXLCK3.js +0 -1
- package/dist/global-client-O2HCG5CJ.js +0 -1
package/README.md
CHANGED
|
@@ -237,6 +237,44 @@ The SDK uses Tailwind CSS for styling. Make sure you have Tailwind configured in
|
|
|
237
237
|
import '@burdenoff/fluidgrids-fe-sdk/styles.css';
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
+
## Embedding: theme, token refresh and events (BOFF-9961)
|
|
241
|
+
|
|
242
|
+
`FluidGridsProvider`, `FluidGridsRoot` and `WorkflowBuilder` take three
|
|
243
|
+
embedding props (also settable with `setFluidGridsConfig`):
|
|
244
|
+
|
|
245
|
+
```tsx
|
|
246
|
+
<FluidGridsProvider
|
|
247
|
+
workspaceId={workspaceId}
|
|
248
|
+
apiGatewayUrl={workspaceGraphqlUrl}
|
|
249
|
+
authToken={token}
|
|
250
|
+
theme={{ mode: 'light', colors: { primary: '#2563eb' }, radius: { base: '10px' } }}
|
|
251
|
+
auth={{ onTokenExpired: () => session.refresh() }}
|
|
252
|
+
onEvent={(name, payload) => {
|
|
253
|
+
if (name === 'run:completed') console.log(payload.runId, payload.status);
|
|
254
|
+
}}
|
|
255
|
+
>
|
|
256
|
+
{children}
|
|
257
|
+
</FluidGridsProvider>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
- **`theme`** — `"light"`, `"dark"` or `{ mode?, colors?, radius?, font? }`.
|
|
261
|
+
Each token maps to fe-libs semantic CSS variables (`FLUIDGRIDS_THEME_TOKEN_MAP`);
|
|
262
|
+
values are validated (`themeToCssVariables`) and applied document-wide as
|
|
263
|
+
inline properties on `<html>`, restored on unmount (`applyFluidGridsTheme`,
|
|
264
|
+
`useFluidGridsTheme`). The public embed viewer also reads `accent`, `radius`
|
|
265
|
+
and `font` query parameters next to `theme`.
|
|
266
|
+
- **`auth.onTokenExpired`** — called once per expired-session failure (401,
|
|
267
|
+
`UNAUTHENTICATED`, expired/revoked credential); concurrent failures share one
|
|
268
|
+
call; the request is retried once with the new token; on rejection the SDK
|
|
269
|
+
emits `auth:failed` and surfaces the original error. Host-injected Apollo
|
|
270
|
+
clients add `createFluidGridsTokenRefreshLink()` before their auth link.
|
|
271
|
+
- **`onEvent`** — typed `FluidGridsEventMap`: `workflow:saved`,
|
|
272
|
+
`workflow:activated`, `run:started`, `run:completed`, `node:selected`,
|
|
273
|
+
`error`, `auth:failed`. Contract version `FLUIDGRIDS_EVENTS_VERSION` (semver:
|
|
274
|
+
additive = minor, payload break = major).
|
|
275
|
+
|
|
276
|
+
Full guide: [docs.fluidgrids.ai/developers/embedding](https://docs.fluidgrids.ai/developers/embedding).
|
|
277
|
+
|
|
240
278
|
## Branding
|
|
241
279
|
|
|
242
280
|
Every workflow canvas the SDK renders — `WorkflowBuilder`, `WorkflowBuilderCore`,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { ExecutionDetailPage } from './chunk-L44BRLW5.js';
|
|
2
|
+
import './chunk-XLI75E3D.js';
|
|
3
|
+
import './chunk-MSQAULLG.js';
|
|
4
|
+
import './chunk-AG3VC7Y2.js';
|
|
5
|
+
import './chunk-CGR3AEZU.js';
|
|
6
|
+
import './chunk-AMXJLVZN.js';
|
|
7
|
+
import './chunk-5ERAJC2I.js';
|
|
8
|
+
import './chunk-6P7DOBVN.js';
|
|
9
|
+
import './chunk-JDLQ6QIB.js';
|
|
10
|
+
import './chunk-EC2AN74G.js';
|
|
11
|
+
import './chunk-Y53CVZVV.js';
|
|
12
|
+
import './chunk-FNZZ5JJL.js';
|
|
13
|
+
import './chunk-HOTVUVZG.js';
|
|
14
|
+
import './chunk-PJAWNFJV.js';
|
|
15
|
+
import './chunk-H4ERTSMX.js';
|
|
16
|
+
import './chunk-C26QAWCT.js';
|
|
17
|
+
import './chunk-5375NUIO.js';
|
|
18
|
+
import './chunk-JL7CASN5.js';
|
|
19
|
+
import './chunk-OCJTTHTS.js';
|
|
20
|
+
import './chunk-AU7LACOY.js';
|
|
21
|
+
import './chunk-G77IGC3Y.js';
|
|
22
|
+
import './chunk-AVHBWJRY.js';
|
|
23
|
+
import './chunk-UULVIT25.js';
|
|
24
|
+
import './chunk-3IXU7WUC.js';
|
|
25
|
+
import './chunk-US5QSLPV.js';
|
|
26
|
+
import './chunk-UEG2WC3G.js';
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { ExecutionsListPage } from './chunk-6EZJ5J3B.js';
|
|
2
|
+
import './chunk-MSQAULLG.js';
|
|
3
|
+
import './chunk-AG3VC7Y2.js';
|
|
4
4
|
import './chunk-5ERAJC2I.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-EC2AN74G.js';
|
|
6
6
|
import './chunk-FNZZ5JJL.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-HOTVUVZG.js';
|
|
8
8
|
import './chunk-PJAWNFJV.js';
|
|
9
9
|
import './chunk-H4ERTSMX.js';
|
|
10
10
|
import './chunk-4VJ3MDOV.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-C26QAWCT.js';
|
|
12
12
|
import './chunk-5375NUIO.js';
|
|
13
13
|
import './chunk-JL7CASN5.js';
|
|
14
14
|
import './chunk-OCJTTHTS.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-6AMNEX2Y.js';
|
|
15
|
+
import './chunk-AU7LACOY.js';
|
|
17
16
|
import './chunk-G77IGC3Y.js';
|
|
18
17
|
import './chunk-AVHBWJRY.js';
|
|
19
18
|
import './chunk-UULVIT25.js';
|
|
20
|
-
import './chunk-
|
|
19
|
+
import './chunk-3IXU7WUC.js';
|
|
20
|
+
import './chunk-US5QSLPV.js';
|
|
21
|
+
import './chunk-UEG2WC3G.js';
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-MQN6YDX4.js';
|
|
2
|
+
import './chunk-HLAUK5GM.js';
|
|
3
3
|
import './chunk-PIKYQE7P.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-I3QPAEL6.js';
|
|
5
5
|
import './chunk-GEMNVFPK.js';
|
|
6
6
|
import './chunk-B6CCE2RW.js';
|
|
7
7
|
import './chunk-IEVSFCFS.js';
|
|
8
8
|
import './chunk-YXMFRQYV.js';
|
|
9
9
|
import './chunk-BQXVT32O.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
10
|
+
import './chunk-FJSXXO5W.js';
|
|
11
|
+
import './chunk-GVIYGJQG.js';
|
|
12
|
+
import './chunk-O2EB7UT2.js';
|
|
13
|
+
import './chunk-6P7DOBVN.js';
|
|
14
14
|
import './chunk-JDLQ6QIB.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-EC2AN74G.js';
|
|
16
16
|
import './chunk-Y53CVZVV.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
17
|
+
import './chunk-4QB6S7YW.js';
|
|
18
|
+
import './chunk-HOTVUVZG.js';
|
|
19
19
|
import './chunk-GLYINMOR.js';
|
|
20
20
|
import './chunk-H4ERTSMX.js';
|
|
21
21
|
import './chunk-4VJ3MDOV.js';
|
|
22
|
-
import './chunk-
|
|
22
|
+
import './chunk-C26QAWCT.js';
|
|
23
23
|
import './chunk-5375NUIO.js';
|
|
24
24
|
import './chunk-JL7CASN5.js';
|
|
25
25
|
import './chunk-OCJTTHTS.js';
|
|
26
|
-
import './chunk-
|
|
27
|
-
import './chunk-6AMNEX2Y.js';
|
|
26
|
+
import './chunk-AU7LACOY.js';
|
|
28
27
|
import './chunk-G77IGC3Y.js';
|
|
29
28
|
import './chunk-AVHBWJRY.js';
|
|
30
29
|
import './chunk-UULVIT25.js';
|
|
31
|
-
import './chunk-
|
|
30
|
+
import './chunk-3IXU7WUC.js';
|
|
31
|
+
import './chunk-US5QSLPV.js';
|
|
32
|
+
import './chunk-UEG2WC3G.js';
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { WorkflowsList } from './chunk-DANOMJ5I.js';
|
|
2
|
+
import './chunk-HLAUK5GM.js';
|
|
3
|
+
import './chunk-AG3VC7Y2.js';
|
|
4
4
|
import './chunk-5ERAJC2I.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-O2EB7UT2.js';
|
|
6
6
|
import './chunk-FNZZ5JJL.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-HOTVUVZG.js';
|
|
8
8
|
import './chunk-PJAWNFJV.js';
|
|
9
9
|
import './chunk-H4ERTSMX.js';
|
|
10
10
|
import './chunk-4VJ3MDOV.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-C26QAWCT.js';
|
|
12
12
|
import './chunk-5375NUIO.js';
|
|
13
13
|
import './chunk-JL7CASN5.js';
|
|
14
14
|
import './chunk-OCJTTHTS.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-6AMNEX2Y.js';
|
|
15
|
+
import './chunk-AU7LACOY.js';
|
|
17
16
|
import './chunk-G77IGC3Y.js';
|
|
18
17
|
import './chunk-AVHBWJRY.js';
|
|
19
18
|
import './chunk-UULVIT25.js';
|
|
20
|
-
import './chunk-
|
|
19
|
+
import './chunk-3IXU7WUC.js';
|
|
20
|
+
import './chunk-US5QSLPV.js';
|
|
21
|
+
import './chunk-UEG2WC3G.js';
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { nodeTitle, selectedOperationOf, paramsFromOperation, fixedParameterState } from './chunk-
|
|
2
|
-
import { computeAttachPosition } from './chunk-
|
|
3
|
-
import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-
|
|
1
|
+
import { nodeTitle, selectedOperationOf, paramsFromOperation, fixedParameterState } from './chunk-2QOAJF7V.js';
|
|
2
|
+
import { computeAttachPosition } from './chunk-GVIYGJQG.js';
|
|
3
|
+
import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-C26QAWCT.js';
|
|
4
4
|
import './chunk-5375NUIO.js';
|
|
5
5
|
import './chunk-JL7CASN5.js';
|
|
6
6
|
import './chunk-OCJTTHTS.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-6AMNEX2Y.js';
|
|
7
|
+
import './chunk-AU7LACOY.js';
|
|
9
8
|
import './chunk-G77IGC3Y.js';
|
|
10
9
|
import './chunk-AVHBWJRY.js';
|
|
11
10
|
import './chunk-UULVIT25.js';
|
|
12
|
-
import './chunk-
|
|
11
|
+
import './chunk-3IXU7WUC.js';
|
|
12
|
+
import './chunk-US5QSLPV.js';
|
|
13
|
+
import './chunk-UEG2WC3G.js';
|
|
13
14
|
import { defineAgentTool, AgentToolError } from '@burdenoff/fe-libs/shared/agent-tools';
|
|
14
15
|
import { z } from 'zod';
|
|
15
16
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useFlowStore, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-
|
|
1
|
+
import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useFlowStore, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-C26QAWCT.js';
|
|
2
2
|
import { useBuilderReadOnly } from './chunk-OCJTTHTS.js';
|
|
3
3
|
import { EventRegistrationsDocument } from './chunk-AVHBWJRY.js';
|
|
4
4
|
import { useTr } from './chunk-UULVIT25.js';
|
|
5
|
-
import { getFluidGridsClientSafe } from './chunk-
|
|
5
|
+
import { getFluidGridsClientSafe } from './chunk-3IXU7WUC.js';
|
|
6
6
|
import { useMemo, useState, useEffect, useRef, useCallback } from 'react';
|
|
7
7
|
import { Icon } from '@iconify/react';
|
|
8
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLiveTokenReader, createFluidGridsTokenRefreshLink } from './chunk-US5QSLPV.js';
|
|
1
2
|
import { createHttpLink, split, ApolloClient, InMemoryCache } from '@apollo/client/core';
|
|
2
3
|
import { setContext } from '@apollo/client/link/context';
|
|
3
4
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -8,33 +9,43 @@ var clientInstance = null;
|
|
|
8
9
|
function createFluidGridsClient(config) {
|
|
9
10
|
const graphqlUrl = getGraphQLUrl(config.apiGatewayUrl);
|
|
10
11
|
const wsUrl = graphqlUrl.replace(/^http/, "ws");
|
|
12
|
+
const readTokens = createLiveTokenReader({
|
|
13
|
+
authToken: config.authToken,
|
|
14
|
+
workspaceToken: config.workspaceToken
|
|
15
|
+
});
|
|
11
16
|
const httpLink = createHttpLink({
|
|
12
17
|
uri: graphqlUrl
|
|
13
18
|
});
|
|
14
|
-
const authLink = setContext((_, { headers }) =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
...config.tenantId && { "x-tenant-id": config.tenantId },
|
|
23
|
-
...config.productId && { "x-product-id": config.productId }
|
|
24
|
-
}
|
|
25
|
-
}));
|
|
26
|
-
const wsLink = new GraphQLWsLink(
|
|
27
|
-
createClient({
|
|
28
|
-
url: wsUrl,
|
|
29
|
-
connectionParams: () => ({
|
|
30
|
-
authorization: config.authToken ? `Bearer ${config.authToken}` : "",
|
|
31
|
-
...config.workspaceToken && {
|
|
32
|
-
"x-workspace-authorization": `Bearer ${config.workspaceToken}`
|
|
19
|
+
const authLink = setContext((_, { headers }) => {
|
|
20
|
+
const { authToken, workspaceToken } = readTokens();
|
|
21
|
+
return {
|
|
22
|
+
headers: {
|
|
23
|
+
...headers,
|
|
24
|
+
...authToken && { authorization: `Bearer ${authToken}` },
|
|
25
|
+
...workspaceToken && {
|
|
26
|
+
"x-workspace-authorization": `Bearer ${workspaceToken}`
|
|
33
27
|
},
|
|
34
28
|
"x-workspace-id": config.workspaceId,
|
|
35
29
|
...config.tenantId && { "x-tenant-id": config.tenantId },
|
|
36
30
|
...config.productId && { "x-product-id": config.productId }
|
|
37
|
-
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
const wsLink = new GraphQLWsLink(
|
|
35
|
+
createClient({
|
|
36
|
+
url: wsUrl,
|
|
37
|
+
connectionParams: () => {
|
|
38
|
+
const { authToken, workspaceToken } = readTokens();
|
|
39
|
+
return {
|
|
40
|
+
authorization: authToken ? `Bearer ${authToken}` : "",
|
|
41
|
+
...workspaceToken && {
|
|
42
|
+
"x-workspace-authorization": `Bearer ${workspaceToken}`
|
|
43
|
+
},
|
|
44
|
+
"x-workspace-id": config.workspaceId,
|
|
45
|
+
...config.tenantId && { "x-tenant-id": config.tenantId },
|
|
46
|
+
...config.productId && { "x-product-id": config.productId }
|
|
47
|
+
};
|
|
48
|
+
}
|
|
38
49
|
})
|
|
39
50
|
);
|
|
40
51
|
const splitLink = split(
|
|
@@ -43,7 +54,7 @@ function createFluidGridsClient(config) {
|
|
|
43
54
|
return definition.kind === "OperationDefinition" && definition.operation === "subscription";
|
|
44
55
|
},
|
|
45
56
|
wsLink,
|
|
46
|
-
authLink.concat(httpLink)
|
|
57
|
+
createFluidGridsTokenRefreshLink().concat(authLink).concat(httpLink)
|
|
47
58
|
);
|
|
48
59
|
return new ApolloClient({
|
|
49
60
|
link: splitLink,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { mergeStickyNotes
|
|
1
|
+
import { mergeStickyNotes } from './chunk-C26QAWCT.js';
|
|
2
2
|
import { WorkflowDefinitionDocument, WorkflowVersionDiffDocument } from './chunk-AVHBWJRY.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
|
-
import { getFluidGridsClient } from './chunk-
|
|
4
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
5
|
+
import { describeOperationError, throwIfResultError } from './chunk-US5QSLPV.js';
|
|
5
6
|
import { memo, useState, useEffect, useMemo, useRef, useCallback } from 'react';
|
|
6
7
|
import { ArrowLeftRight, Eye, RotateCcw, Loader2 } from 'lucide-react';
|
|
7
8
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Button, Badge, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Tabs, TabsList, TabsTrigger, TabsContent } from '@burdenoff/fe-libs/ui';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-
|
|
2
|
-
import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-
|
|
3
|
-
import { useWorkflowDefinitions } from './chunk-
|
|
1
|
+
import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-MSQAULLG.js';
|
|
2
|
+
import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-AG3VC7Y2.js';
|
|
3
|
+
import { useWorkflowDefinitions } from './chunk-HOTVUVZG.js';
|
|
4
4
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
5
|
-
import { useDurableParityEnabled } from './chunk-
|
|
6
|
-
import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
|
|
5
|
+
import { useDurableParityEnabled } from './chunk-C26QAWCT.js';
|
|
7
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
7
|
+
import { useExecutionsStore } from './chunk-UEG2WC3G.js';
|
|
8
8
|
import { useRef, useCallback, useMemo, useState, useEffect } from 'react';
|
|
9
9
|
import { useNavigate, useSearchParams } from 'react-router';
|
|
10
10
|
import { Icon } from '@iconify/react';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { operatorSpec, normaliseAssertRules, describeAssertRuleProblem } from './chunk-JDLQ6QIB.js';
|
|
2
|
-
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-
|
|
2
|
+
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-EC2AN74G.js';
|
|
3
3
|
import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
4
4
|
import { ErrorType } from './chunk-H4ERTSMX.js';
|
|
5
|
-
import { throwIfResultError, isForbiddenError } from './chunk-AAIZ6S6E.js';
|
|
6
|
-
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
7
5
|
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, WorkflowTestCasesDocument, WorkflowTestRunsDocument, WorkflowTestRunDocument, CreateWorkflowTestCaseDocument, UpdateWorkflowTestCaseDocument, DeleteWorkflowTestCaseDocument, RunWorkflowTestsDocument, CreateWorkflowTestCaseFromRunDocument } from './chunk-AVHBWJRY.js';
|
|
8
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
|
-
import { getFluidGridsClient } from './chunk-
|
|
7
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
8
|
+
import { throwIfResultError, isForbiddenError } from './chunk-US5QSLPV.js';
|
|
9
|
+
import { getFluidGridsConfig } from './chunk-UEG2WC3G.js';
|
|
10
10
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
11
11
|
import { TagBadge, TagsWidget } from '@burdenoff/fe-libs/tag';
|
|
12
12
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
|
|
2
|
-
import { useFluidGridsAnalytics,
|
|
3
|
-
import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
|
|
2
|
+
import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-C26QAWCT.js';
|
|
4
3
|
import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-AVHBWJRY.js';
|
|
5
4
|
import { useTr } from './chunk-UULVIT25.js';
|
|
6
|
-
import { getFluidGridsClient } from './chunk-
|
|
5
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
6
|
+
import { throwIfResultError, emitFluidGridsEvent, emitOperationErrorEvent } from './chunk-US5QSLPV.js';
|
|
7
|
+
import { useExecutionsStore } from './chunk-UEG2WC3G.js';
|
|
7
8
|
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|
|
8
9
|
|
|
9
10
|
// src/modules/executions/utils/date-range.ts
|
|
@@ -385,10 +386,15 @@ function useExecutionActions() {
|
|
|
385
386
|
executionId: run.runId,
|
|
386
387
|
trigger: "manual"
|
|
387
388
|
});
|
|
389
|
+
emitFluidGridsEvent("run:started", {
|
|
390
|
+
runId: run.runId,
|
|
391
|
+
workflowKey: run.workflowKey
|
|
392
|
+
});
|
|
388
393
|
return { ok: true, run };
|
|
389
394
|
} catch (err) {
|
|
390
395
|
const error2 = err;
|
|
391
396
|
setError(error2);
|
|
397
|
+
emitOperationErrorEvent("run:start", err);
|
|
392
398
|
openRunQuotaUpgradePrompt(err, tr, {
|
|
393
399
|
bus,
|
|
394
400
|
workspaceId,
|
|
@@ -420,6 +426,10 @@ function useExecutionActions() {
|
|
|
420
426
|
executionId: replayed.runId,
|
|
421
427
|
trigger: "manual"
|
|
422
428
|
});
|
|
429
|
+
emitFluidGridsEvent("run:started", {
|
|
430
|
+
runId: replayed.runId,
|
|
431
|
+
workflowKey: replayed.workflowKey
|
|
432
|
+
});
|
|
423
433
|
}
|
|
424
434
|
return replayed;
|
|
425
435
|
} catch (err) {
|
|
@@ -455,6 +465,10 @@ function useExecutionActions() {
|
|
|
455
465
|
executionId: run.runId,
|
|
456
466
|
trigger: "manual"
|
|
457
467
|
});
|
|
468
|
+
emitFluidGridsEvent("run:started", {
|
|
469
|
+
runId: run.runId,
|
|
470
|
+
workflowKey: run.workflowKey
|
|
471
|
+
});
|
|
458
472
|
}
|
|
459
473
|
return retried;
|
|
460
474
|
} catch (err) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { throwIfResultError, describeOperationError } from './chunk-AAIZ6S6E.js';
|
|
2
1
|
import { useTr } from './chunk-UULVIT25.js';
|
|
3
|
-
import { getFluidGridsClient } from './chunk-
|
|
2
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
3
|
+
import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
|
|
4
4
|
import { useState, useCallback, useEffect, useMemo } from 'react';
|
|
5
5
|
import { gql } from '@apollo/client';
|
|
6
6
|
import { Button } from '@burdenoff/fe-libs/button';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLiveTokenReader, createFluidGridsTokenRefreshLink } from './chunk-US5QSLPV.js';
|
|
1
2
|
import { createHttpLink, ApolloClient, InMemoryCache } from '@apollo/client/core';
|
|
2
3
|
import { setContext } from '@apollo/client/link/context';
|
|
3
4
|
|
|
@@ -15,19 +16,23 @@ function createGlobalStoreClient(config) {
|
|
|
15
16
|
const httpLink = createHttpLink({
|
|
16
17
|
uri: config.globalApiUrl
|
|
17
18
|
});
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"x-
|
|
19
|
+
const readTokens = createLiveTokenReader({ authToken: config.authToken });
|
|
20
|
+
const authLink = setContext((_, { headers }) => {
|
|
21
|
+
const { authToken } = readTokens();
|
|
22
|
+
return {
|
|
23
|
+
headers: {
|
|
24
|
+
...headers,
|
|
25
|
+
...authToken && { authorization: `Bearer ${authToken}` },
|
|
26
|
+
"x-workspace-id": config.workspaceId,
|
|
27
|
+
...config.tenantId && { "x-tenant-id": config.tenantId },
|
|
28
|
+
...config.organizationId && {
|
|
29
|
+
"x-organization-id": config.organizationId
|
|
30
|
+
}
|
|
26
31
|
}
|
|
27
|
-
}
|
|
28
|
-
})
|
|
32
|
+
};
|
|
33
|
+
});
|
|
29
34
|
return new ApolloClient({
|
|
30
|
-
link: authLink.concat(httpLink),
|
|
35
|
+
link: createFluidGridsTokenRefreshLink().concat(authLink).concat(httpLink),
|
|
31
36
|
cache: new InMemoryCache(),
|
|
32
37
|
defaultOptions: {
|
|
33
38
|
watchQuery: {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { CodeEditorField, normalizeCodeLanguage } from './chunk-AASHQI77.js';
|
|
2
|
-
import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-
|
|
2
|
+
import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-2QOAJF7V.js';
|
|
3
3
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-GTEBQQ7J.js';
|
|
4
|
-
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-
|
|
4
|
+
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-VFVN7D3A.js';
|
|
5
5
|
import { readAssertRulesSetting, rowsFromRules, normaliseAssertRules, ruleFromRow, describeAssertRuleProblem, operatorSpec, ASSERT_OPERATORS, emptyAssertRuleRow } from './chunk-JDLQ6QIB.js';
|
|
6
|
-
import { useFlowStore, isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics,
|
|
6
|
+
import { useFlowStore, isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-C26QAWCT.js';
|
|
7
7
|
import { useBuilderReadOnly } from './chunk-OCJTTHTS.js';
|
|
8
8
|
import { useRunFromNodeEligibilityQuery, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument } from './chunk-AVHBWJRY.js';
|
|
9
9
|
import { useTr } from './chunk-UULVIT25.js';
|
|
10
|
-
import { getFluidGridsClientSafe, getFluidGridsClient } from './chunk-
|
|
10
|
+
import { getFluidGridsClientSafe, getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
11
|
+
import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
|
|
11
12
|
import { useId, useState, useMemo, useRef, useEffect, useContext, useCallback } from 'react';
|
|
12
13
|
import { Icon } from '@iconify/react';
|
|
13
14
|
import { cn } from '@burdenoff/fe-libs/utils';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Card, FluidGridsMark } from './chunk-
|
|
1
|
+
import { Card, FluidGridsMark } from './chunk-I3QPAEL6.js';
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
3
|
import { Button } from './chunk-BQXVT32O.js';
|
|
4
|
-
import { useWorkflowDefinition } from './chunk-
|
|
5
|
-
import { FluidGridsProvider, useFlowStore } from './chunk-
|
|
4
|
+
import { useWorkflowDefinition } from './chunk-HOTVUVZG.js';
|
|
5
|
+
import { FluidGridsProvider, useFlowStore } from './chunk-C26QAWCT.js';
|
|
6
6
|
import { cn } from './chunk-JL7CASN5.js';
|
|
7
7
|
import { useTr } from './chunk-UULVIT25.js';
|
|
8
8
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
@@ -494,6 +494,9 @@ function WorkflowBuilder({
|
|
|
494
494
|
organizationId,
|
|
495
495
|
workspaceClient,
|
|
496
496
|
globalClient,
|
|
497
|
+
theme,
|
|
498
|
+
auth,
|
|
499
|
+
onEvent,
|
|
497
500
|
...coreProps
|
|
498
501
|
}) {
|
|
499
502
|
const workflow = initialWorkflow || createDefaultWorkflow(workflowId, workflowVersion);
|
|
@@ -511,6 +514,9 @@ function WorkflowBuilder({
|
|
|
511
514
|
organizationId,
|
|
512
515
|
workspaceClient,
|
|
513
516
|
globalClient,
|
|
517
|
+
theme,
|
|
518
|
+
auth,
|
|
519
|
+
onEvent,
|
|
514
520
|
children: /* @__PURE__ */ jsx(WorkflowBuilderCore, { workflow, ...coreProps })
|
|
515
521
|
}
|
|
516
522
|
);
|