@burdenoff/fluidgrids-fe-sdk 2026.1028.13 → 2026.1028.14
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-7MGOMYP6.js → ExecutionDetailPage-DBUUJRDA.js} +3 -2
- package/dist/{WorkflowBuilder-TZ2Y3SYJ.js → WorkflowBuilder-SY4UJ6C2.js} +4 -3
- package/dist/assistant.d.ts +37 -74
- package/dist/assistant.js +1 -0
- package/dist/{chunk-REDNZ462.js → chunk-5GTYHWI5.js} +5 -1
- package/dist/{chunk-7SZLEQ5G.js → chunk-5KUVIH7Y.js} +1 -1
- package/dist/{chunk-CCMDFFBC.js → chunk-6EOFGYLJ.js} +1 -1
- package/dist/{chunk-KLAS43OH.js → chunk-7UHXZOZ3.js} +1 -1
- package/dist/{chunk-EA4EIU6Y.js → chunk-MXIFE266.js} +3 -1
- package/dist/{chunk-7SPZBRP2.js → chunk-S3GSHZAT.js} +3 -0
- package/dist/chunk-Y53CVZVV.js +20 -0
- package/dist/executions.js +3 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -12
- package/dist/pageControlsBridge-D6y36qi5.d.ts +87 -0
- package/dist/templates.js +4 -3
- package/dist/workflow-builder.js +5 -4
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { ExecutionDetailPage } from './chunk-
|
|
1
|
+
export { ExecutionDetailPage } from './chunk-5GTYHWI5.js';
|
|
2
2
|
import './chunk-BMX4T263.js';
|
|
3
3
|
import './chunk-5PSRTFKK.js';
|
|
4
4
|
import './chunk-37HLOFQ3.js';
|
|
5
5
|
import './chunk-2PC6JUR6.js';
|
|
6
6
|
import './chunk-5ERAJC2I.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-S3GSHZAT.js';
|
|
8
8
|
import './chunk-6T5EBO7G.js';
|
|
9
|
+
import './chunk-Y53CVZVV.js';
|
|
9
10
|
import './chunk-D3UWK7GY.js';
|
|
10
11
|
import './chunk-PJAWNFJV.js';
|
|
11
12
|
import './chunk-DOPSPCO3.js';
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-6EOFGYLJ.js';
|
|
2
2
|
import './chunk-TWRWHIMY.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-MXIFE266.js';
|
|
4
4
|
import './chunk-GEMNVFPK.js';
|
|
5
5
|
import './chunk-IEVSFCFS.js';
|
|
6
6
|
import './chunk-YXMFRQYV.js';
|
|
7
7
|
import './chunk-BQXVT32O.js';
|
|
8
8
|
import './chunk-QLBQDRQZ.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-S3GSHZAT.js';
|
|
10
10
|
import './chunk-6T5EBO7G.js';
|
|
11
|
+
import './chunk-Y53CVZVV.js';
|
|
11
12
|
import './chunk-U5BSQBUC.js';
|
|
12
13
|
import './chunk-DOPSPCO3.js';
|
|
13
14
|
import './chunk-HKNZ7MVM.js';
|
package/dist/assistant.d.ts
CHANGED
|
@@ -1,87 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
export { F as FgEnumFilterSpec, a as FgFilterOption, b as FgPageControlsSpec, c as FgRegisterPageControls, d as FgTabsSpec, e as FluidGridsAssistantBridge, f as FluidGridsAssistantBridgeProps, u as useFluidGridsPageControls } from './pageControlsBridge-D6y36qi5.js';
|
|
2
|
+
import { FC, ComponentType, ReactNode } from 'react';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* AI-credit balance bridge (BOFF-3732).
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* AI Studio surfaces (the builder's "Generate with AI" panel and the run
|
|
8
|
+
* detail's AI assistant) show the workspace's remaining FluidGrids AI credits
|
|
9
|
+
* before an action, and tell the host when an action may have spent some.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
-
* many consumers pin an older fe-libs,
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
11
|
+
* Like the page-controls bridge, the SDK does NOT import
|
|
12
|
+
* `@burdenoff/fe-libs/shared/assistant`: many consumers pin an older fe-libs,
|
|
13
|
+
* and embedders have no shell to read a balance from. Instead:
|
|
14
|
+
* - the host mounts {@link FluidGridsAiCreditsBridge} with a `Balance`
|
|
15
|
+
* component (the fluidgrids-app passes the shared fe-libs `AiCreditBalance`
|
|
16
|
+
* bound to `fluidgrids`), and the SDK renders it where an AI action starts;
|
|
17
|
+
* - after an AI action settles the SDK dispatches the shared
|
|
18
|
+
* `fluidgrids:ai-credits-updated` window event (the same name fe-libs'
|
|
19
|
+
* `notifyAiCreditsUpdated("fluidgrids")` uses), so every balance on screen,
|
|
20
|
+
* the assistant panel's included, reads again.
|
|
17
21
|
*
|
|
18
|
-
*
|
|
19
|
-
* - No provider mounted: every hook call is a no-op (the SDK works unchanged).
|
|
20
|
-
* - A spec describes ONLY what the page shows on screen at this moment; a page
|
|
21
|
-
* passes `null` while it shows no toolbar.
|
|
22
|
-
* - Every `set` is the page's own state setter (the one its dropdown calls).
|
|
23
|
-
* There is no submit, save, create, delete, run or retry in a spec.
|
|
24
|
-
* - Pass a memoised spec; a new object every render re-registers every render.
|
|
22
|
+
* No provider mounted: the slot renders nothing and the SDK works unchanged.
|
|
25
23
|
*/
|
|
26
24
|
|
|
27
|
-
/**
|
|
28
|
-
interface
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
/** Props the SDK passes to the host's balance component. */
|
|
26
|
+
interface FgAiCreditBalanceProps {
|
|
27
|
+
/** Layout classes from the mount point. */
|
|
28
|
+
className?: string;
|
|
29
|
+
/** Distinguishes the mounts in tests and in Playwright checks. */
|
|
30
|
+
testId?: string;
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
* the host can clear the filter; the host does not list it as a choice.
|
|
40
|
-
*/
|
|
41
|
-
options: readonly FgFilterOption[];
|
|
42
|
-
/** The value that means "no filter". */
|
|
43
|
-
neutral: string;
|
|
44
|
-
/** The value applied now. */
|
|
45
|
-
value: string;
|
|
46
|
-
/** The page's own setter. */
|
|
47
|
-
set(value: string): void;
|
|
48
|
-
}
|
|
49
|
-
interface FgTabsSpec {
|
|
50
|
-
items: readonly {
|
|
51
|
-
id: string;
|
|
52
|
-
label: string;
|
|
53
|
-
}[];
|
|
54
|
-
/** The tab shown now. */
|
|
55
|
-
value: string;
|
|
56
|
-
/** The page's own setter. */
|
|
57
|
-
set(id: string): void;
|
|
58
|
-
}
|
|
59
|
-
interface FgPageControlsSpec {
|
|
60
|
-
/** The page's title in the product's words ("Workflows"). */
|
|
61
|
-
page: string;
|
|
62
|
-
tabs?: FgTabsSpec;
|
|
63
|
-
filters?: readonly FgEnumFilterSpec[];
|
|
64
|
-
/** The page's own search setter; `""` clears the search. */
|
|
65
|
-
search?(query: string): void;
|
|
66
|
-
}
|
|
67
|
-
/** Registers a page's controls; the returned function removes exactly that registration. */
|
|
68
|
-
type FgRegisterPageControls = (spec: FgPageControlsSpec) => () => void;
|
|
69
|
-
interface FluidGridsAssistantBridgeProps {
|
|
70
|
-
/**
|
|
71
|
-
* The host's registration function. Give it a STABLE identity (a module
|
|
72
|
-
* constant or `useCallback`): a new function every render re-registers the
|
|
73
|
-
* mounted page every render.
|
|
74
|
-
*/
|
|
75
|
-
register: FgRegisterPageControls;
|
|
32
|
+
/** The product key FluidGrids AI credits are charged under. */
|
|
33
|
+
declare const FLUIDGRIDS_AI_PRODUCT_KEY = "fluidgrids";
|
|
34
|
+
/** Window event a balance listens to; mirrors fe-libs `aiCreditsUpdatedEventName`. */
|
|
35
|
+
declare const FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT = "fluidgrids:ai-credits-updated";
|
|
36
|
+
interface FluidGridsAiCreditsBridgeProps {
|
|
37
|
+
/** Renders the remaining balance; renders nothing when it is unknown. */
|
|
38
|
+
Balance: ComponentType<FgAiCreditBalanceProps>;
|
|
76
39
|
children: ReactNode;
|
|
77
40
|
}
|
|
78
|
-
|
|
79
|
-
|
|
41
|
+
declare const FluidGridsAiCreditsBridge: FC<FluidGridsAiCreditsBridgeProps>;
|
|
42
|
+
/** Where an AI action starts: the host's balance, or nothing without a bridge. */
|
|
43
|
+
declare const AiCreditBalanceSlot: FC<FgAiCreditBalanceProps>;
|
|
80
44
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* this does nothing.
|
|
45
|
+
* Tell every balance on screen that an AI action settled and may have spent
|
|
46
|
+
* credits. Safe outside a browser and without a bridge (nothing listens).
|
|
84
47
|
*/
|
|
85
|
-
declare function
|
|
48
|
+
declare function notifyFluidGridsAiCreditsUpdated(): void;
|
|
86
49
|
|
|
87
|
-
export {
|
|
50
|
+
export { AiCreditBalanceSlot, FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT, FLUIDGRIDS_AI_PRODUCT_KEY, type FgAiCreditBalanceProps, FluidGridsAiCreditsBridge, type FluidGridsAiCreditsBridgeProps, notifyFluidGridsAiCreditsUpdated };
|
package/dist/assistant.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export { AiCreditBalanceSlot, FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT, FLUIDGRIDS_AI_PRODUCT_KEY, FluidGridsAiCreditsBridge, notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
1
2
|
export { FluidGridsAssistantBridge, useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
2
3
|
import './chunk-62GWEYJ5.js';
|
|
@@ -2,7 +2,8 @@ import { buildNodeDisplayMap, ExecutionStatusBadge, formatRunVersion, NodeTimeli
|
|
|
2
2
|
import { useExecution, useExecutionActions, useAutoRefresh } from './chunk-5PSRTFKK.js';
|
|
3
3
|
import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-37HLOFQ3.js';
|
|
4
4
|
import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-2PC6JUR6.js';
|
|
5
|
-
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-
|
|
5
|
+
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-S3GSHZAT.js';
|
|
6
|
+
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
6
7
|
import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-DV7N3UXU.js';
|
|
7
8
|
import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
|
|
8
9
|
import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-7PBOU7JC.js';
|
|
@@ -898,6 +899,9 @@ function RunAiAssistPanel({
|
|
|
898
899
|
)
|
|
899
900
|
] })
|
|
900
901
|
] }),
|
|
902
|
+
canPropose && // BOFF-3732: the AI-credit balance before "Propose a fix" (the
|
|
903
|
+
// explanation is a read with no model call, so it spends nothing).
|
|
904
|
+
/* @__PURE__ */ jsx(AiCreditBalanceSlot, { className: "mt-2", testId: "run-ai-credit-balance" }),
|
|
901
905
|
explainError && /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm text-[var(--color-status-error-text)]", children: explainError }),
|
|
902
906
|
explanation && /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-2", "data-testid": "run-ai-explanation", children: [
|
|
903
907
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-text-primary", children: explanation.cause }),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Card, FluidGridsMark } from './chunk-
|
|
1
|
+
import { Card, FluidGridsMark } from './chunk-MXIFE266.js';
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
3
|
import { Button } from './chunk-BQXVT32O.js';
|
|
4
4
|
import { useWorkflowDefinition } from './chunk-U5BSQBUC.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-TWRWHIMY.js';
|
|
2
|
-
import { useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-
|
|
2
|
+
import { useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-MXIFE266.js';
|
|
3
3
|
import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-U5BSQBUC.js';
|
|
4
4
|
import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, mergeStickyNotes, blankWorkflowCreateInput, classifyCreateRefusal } from './chunk-DV7N3UXU.js';
|
|
5
5
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-
|
|
1
|
+
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-MXIFE266.js';
|
|
2
2
|
import { QuotaExhaustedDialog } from './chunk-QLBQDRQZ.js';
|
|
3
3
|
import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-U5BSQBUC.js';
|
|
4
4
|
import { templatesControls } from './chunk-D3UWK7GY.js';
|
|
@@ -3,7 +3,8 @@ import { Input } from './chunk-IEVSFCFS.js';
|
|
|
3
3
|
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, DialogFooter } from './chunk-YXMFRQYV.js';
|
|
4
4
|
import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
|
|
5
5
|
import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-QLBQDRQZ.js';
|
|
6
|
-
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-
|
|
6
|
+
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-S3GSHZAT.js';
|
|
7
|
+
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
7
8
|
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-U5BSQBUC.js';
|
|
8
9
|
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-HKNZ7MVM.js';
|
|
9
10
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
@@ -45021,6 +45022,7 @@ function AiDraftPanel({
|
|
|
45021
45022
|
)
|
|
45022
45023
|
}
|
|
45023
45024
|
),
|
|
45025
|
+
/* @__PURE__ */ jsx(AiCreditBalanceSlot, { testId: "ai-draft-credit-balance" }),
|
|
45024
45026
|
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
45025
45027
|
/* @__PURE__ */ jsxs(
|
|
45026
45028
|
Button$1,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-6T5EBO7G.js';
|
|
2
|
+
import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
2
3
|
import { throwIfResultError } from './chunk-DV7N3UXU.js';
|
|
3
4
|
import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
|
|
4
5
|
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument } from './chunk-7PBOU7JC.js';
|
|
@@ -191,6 +192,8 @@ function useWorkflowProposal() {
|
|
|
191
192
|
return;
|
|
192
193
|
}
|
|
193
194
|
setTimedOut(true);
|
|
195
|
+
} else {
|
|
196
|
+
notifyFluidGridsAiCreditsUpdated();
|
|
194
197
|
}
|
|
195
198
|
setIsWorking(false);
|
|
196
199
|
} catch (pollError) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
var FLUIDGRIDS_AI_PRODUCT_KEY = "fluidgrids";
|
|
5
|
+
var FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT = `${FLUIDGRIDS_AI_PRODUCT_KEY}:ai-credits-updated`;
|
|
6
|
+
var BalanceContext = createContext(null);
|
|
7
|
+
var FluidGridsAiCreditsBridge = ({
|
|
8
|
+
Balance,
|
|
9
|
+
children
|
|
10
|
+
}) => /* @__PURE__ */ jsx(BalanceContext.Provider, { value: Balance, children });
|
|
11
|
+
var AiCreditBalanceSlot = (props) => {
|
|
12
|
+
const Balance = useContext(BalanceContext);
|
|
13
|
+
return Balance ? /* @__PURE__ */ jsx(Balance, { ...props }) : null;
|
|
14
|
+
};
|
|
15
|
+
function notifyFluidGridsAiCreditsUpdated() {
|
|
16
|
+
if (typeof window === "undefined") return;
|
|
17
|
+
window.dispatchEvent(new CustomEvent(FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { AiCreditBalanceSlot, FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT, FLUIDGRIDS_AI_PRODUCT_KEY, FluidGridsAiCreditsBridge, notifyFluidGridsAiCreditsUpdated };
|
package/dist/executions.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import './chunk-AD3BXTJS.js';
|
|
2
2
|
export { ExecutionsListPage } from './chunk-H2YOX3DI.js';
|
|
3
|
-
export { ExecutionDetailPage } from './chunk-
|
|
3
|
+
export { ExecutionDetailPage } from './chunk-5GTYHWI5.js';
|
|
4
4
|
import './chunk-BMX4T263.js';
|
|
5
5
|
import './chunk-5PSRTFKK.js';
|
|
6
6
|
import './chunk-37HLOFQ3.js';
|
|
7
7
|
import './chunk-2PC6JUR6.js';
|
|
8
8
|
import './chunk-5ERAJC2I.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-S3GSHZAT.js';
|
|
10
10
|
import './chunk-6T5EBO7G.js';
|
|
11
|
+
import './chunk-Y53CVZVV.js';
|
|
11
12
|
import './chunk-U5BSQBUC.js';
|
|
12
13
|
import './chunk-D3UWK7GY.js';
|
|
13
14
|
import './chunk-PJAWNFJV.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
|
32
32
|
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
33
33
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
34
34
|
import { ClassValue } from 'clsx';
|
|
35
|
-
export { FgEnumFilterSpec, FgFilterOption, FgPageControlsSpec, FgRegisterPageControls, FgTabsSpec, FluidGridsAssistantBridge, FluidGridsAssistantBridgeProps, useFluidGridsPageControls } from './
|
|
35
|
+
export { F as FgEnumFilterSpec, a as FgFilterOption, b as FgPageControlsSpec, c as FgRegisterPageControls, d as FgTabsSpec, e as FluidGridsAssistantBridge, f as FluidGridsAssistantBridgeProps, u as useFluidGridsPageControls } from './pageControlsBridge-D6y36qi5.js';
|
|
36
36
|
import { AnyDefinedAgentTool } from '@burdenoff/fe-libs/shared/agent-tools';
|
|
37
37
|
import 'zustand';
|
|
38
38
|
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { Label } from './chunk-VTQVPNUQ.js';
|
|
2
|
-
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-
|
|
3
|
-
export { GuidedTourStarter, WorkflowBuilder as WorkflowBuilderPage } from './chunk-
|
|
2
|
+
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-5KUVIH7Y.js';
|
|
3
|
+
export { GuidedTourStarter, WorkflowBuilder as WorkflowBuilderPage } from './chunk-6EOFGYLJ.js';
|
|
4
4
|
export { FirstWorkflowChecklist, FirstWorkflowChecklistView, WorkflowsList, useCreateWorkflowFirst } from './chunk-7UTDL7HD.js';
|
|
5
5
|
export { CreateWorkflowRefusalDialog, GUIDED_FIRST_WORKFLOW_NAV, GUIDED_FIRST_WORKFLOW_STATE, GUIDED_TOUR_STATE, firstWorkflowProgress, isGuidedTourIntent, pickGuidedTour } from './chunk-TWRWHIMY.js';
|
|
6
6
|
import './chunk-AD3BXTJS.js';
|
|
7
7
|
export { ExecutionsListPage } from './chunk-H2YOX3DI.js';
|
|
8
|
-
import { usePendingHumanRequests, HumanRequestCard } from './chunk-
|
|
9
|
-
export { ExecutionDetailPage, HumanRequestCard, RunHumanRequests, usePendingHumanRequests, useRespondToHumanRequest, useRunHumanRequests } from './chunk-
|
|
8
|
+
import { usePendingHumanRequests, HumanRequestCard } from './chunk-5GTYHWI5.js';
|
|
9
|
+
export { ExecutionDetailPage, HumanRequestCard, RunHumanRequests, usePendingHumanRequests, useRespondToHumanRequest, useRunHumanRequests } from './chunk-5GTYHWI5.js';
|
|
10
10
|
import { TagFilterSelect } from './chunk-BMX4T263.js';
|
|
11
11
|
import './chunk-5PSRTFKK.js';
|
|
12
12
|
export { HistoryPage } from './chunk-5BY2LZH3.js';
|
|
@@ -17,19 +17,20 @@ export { SettingsPage } from './chunk-KWWVBB43.js';
|
|
|
17
17
|
import './chunk-2PC6JUR6.js';
|
|
18
18
|
export { useDataSinkData, useDataSinks, useInsightsData, useLogStreamDestinationActions, useLogStreamDestinations, useRunReplayActions } from './chunk-TEMQVTTJ.js';
|
|
19
19
|
import './chunk-5ERAJC2I.js';
|
|
20
|
-
import { ThemeProvider, extractTemplateGraph } from './chunk-
|
|
21
|
-
export { TemplatePreview, TemplatesPage } from './chunk-
|
|
22
|
-
import { external_exports, FlowBuilderPage, FluidGridsMark, useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-
|
|
23
|
-
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runnerInstallCommand, runsQuotaLevel, summarizeRunsQuota, useRunnerActions, useRunners, useRunsQuota } from './chunk-
|
|
20
|
+
import { ThemeProvider, extractTemplateGraph } from './chunk-7UHXZOZ3.js';
|
|
21
|
+
export { TemplatePreview, TemplatesPage } from './chunk-7UHXZOZ3.js';
|
|
22
|
+
import { external_exports, FlowBuilderPage, FluidGridsMark, useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-MXIFE266.js';
|
|
23
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runnerInstallCommand, runsQuotaLevel, summarizeRunsQuota, useRunnerActions, useRunners, useRunsQuota } from './chunk-MXIFE266.js';
|
|
24
24
|
import './chunk-GEMNVFPK.js';
|
|
25
25
|
export { Input } from './chunk-IEVSFCFS.js';
|
|
26
26
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-YXMFRQYV.js';
|
|
27
27
|
export { Badge, Button, badgeVariants, buttonVariants } from './chunk-BQXVT32O.js';
|
|
28
28
|
import './chunk-QLBQDRQZ.js';
|
|
29
|
-
import { EntityTagPicker } from './chunk-
|
|
30
|
-
export { EntityTagPicker } from './chunk-
|
|
29
|
+
import { EntityTagPicker } from './chunk-S3GSHZAT.js';
|
|
30
|
+
export { EntityTagPicker } from './chunk-S3GSHZAT.js';
|
|
31
31
|
import { useDataTableTagOverlay, tagLabel } from './chunk-6T5EBO7G.js';
|
|
32
32
|
export { FLUIDGRIDS_ENTITY_TYPES, tagLabel, useAvailableTags, useCreateTag, useDraftEntityTags, useEntityTags, useReplaceEntityTags, useSearchTags, useTagEntity, useUntagEntity } from './chunk-6T5EBO7G.js';
|
|
33
|
+
import './chunk-Y53CVZVV.js';
|
|
33
34
|
export { useActivateWorkflow, useCreateWorkflow, useCreateWorkflowVersion, useDashboardSummary, useDeactivateWorkflow, useDeleteWorkflow, useDuplicateWorkflow, useImportWorkflow, useLazyWorkflowDefinition, useRestoreWorkflowVersion, useTriggerWorkflow, useUpdateWorkflow, useWorkflowDefinition, useWorkflowDefinitions, useWorkflowRun, useWorkflowRuns, useWorkflowVersions } from './chunk-U5BSQBUC.js';
|
|
34
35
|
import './chunk-D3UWK7GY.js';
|
|
35
36
|
export { FluidGridsAssistantBridge, useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
@@ -77,7 +78,7 @@ var WorkflowsList2 = lazy(
|
|
|
77
78
|
() => import('./WorkflowsList-GJF2HTSA.js').then((m) => ({ default: m.WorkflowsList }))
|
|
78
79
|
);
|
|
79
80
|
var WorkflowBuilder3 = lazy(
|
|
80
|
-
() => import('./WorkflowBuilder-
|
|
81
|
+
() => import('./WorkflowBuilder-SY4UJ6C2.js').then((m) => ({
|
|
81
82
|
default: m.WorkflowBuilder
|
|
82
83
|
}))
|
|
83
84
|
);
|
|
@@ -87,7 +88,7 @@ var ExecutionsListPage2 = lazy(
|
|
|
87
88
|
}))
|
|
88
89
|
);
|
|
89
90
|
var ExecutionDetailPage2 = lazy(
|
|
90
|
-
() => import('./ExecutionDetailPage-
|
|
91
|
+
() => import('./ExecutionDetailPage-DBUUJRDA.js').then((m) => ({
|
|
91
92
|
default: m.ExecutionDetailPage
|
|
92
93
|
}))
|
|
93
94
|
);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Assistant page-controls bridge (BOFF-8679 / BOFF-8988, P3).
|
|
5
|
+
*
|
|
6
|
+
* The pages in this SDK can tell a host's assistant which controls they show
|
|
7
|
+
* right now (tabs, filters, search), so a typed or spoken "show failed runs"
|
|
8
|
+
* does exactly what a click on the page's own Status dropdown does.
|
|
9
|
+
*
|
|
10
|
+
* The SDK deliberately does NOT import `@burdenoff/fe-libs/shared/assistant/*`:
|
|
11
|
+
* many consumers pin an older fe-libs, and a runtime import would raise their
|
|
12
|
+
* floor. Instead the host mounts {@link FluidGridsAssistantBridge} with a
|
|
13
|
+
* `register` function (the host maps a spec onto its own assistant), and the
|
|
14
|
+
* pages call {@link useFluidGridsPageControls}. The types below are structural
|
|
15
|
+
* mirrors of the fe-libs `TabsSpec` / `EnumFilterSpec`, so a host can pass a
|
|
16
|
+
* spec straight into `tabsOf` / `enumFilter` with no conversion.
|
|
17
|
+
*
|
|
18
|
+
* Contract:
|
|
19
|
+
* - No provider mounted: every hook call is a no-op (the SDK works unchanged).
|
|
20
|
+
* - A spec describes ONLY what the page shows on screen at this moment; a page
|
|
21
|
+
* passes `null` while it shows no toolbar.
|
|
22
|
+
* - Every `set` is the page's own state setter (the one its dropdown calls).
|
|
23
|
+
* There is no submit, save, create, delete, run or retry in a spec.
|
|
24
|
+
* - Pass a memoised spec; a new object every render re-registers every render.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/** One option of an enum filter, in the page's own words. */
|
|
28
|
+
interface FgFilterOption {
|
|
29
|
+
value: string;
|
|
30
|
+
label: string;
|
|
31
|
+
}
|
|
32
|
+
/** A single-choice filter (a dropdown or a chip group). */
|
|
33
|
+
interface FgEnumFilterSpec {
|
|
34
|
+
id: string;
|
|
35
|
+
/** The filter's own name on the page ("Status"). */
|
|
36
|
+
label: string;
|
|
37
|
+
/**
|
|
38
|
+
* The options the page offers. The NEUTRAL one ("All") must be included so
|
|
39
|
+
* the host can clear the filter; the host does not list it as a choice.
|
|
40
|
+
*/
|
|
41
|
+
options: readonly FgFilterOption[];
|
|
42
|
+
/** The value that means "no filter". */
|
|
43
|
+
neutral: string;
|
|
44
|
+
/** The value applied now. */
|
|
45
|
+
value: string;
|
|
46
|
+
/** The page's own setter. */
|
|
47
|
+
set(value: string): void;
|
|
48
|
+
}
|
|
49
|
+
interface FgTabsSpec {
|
|
50
|
+
items: readonly {
|
|
51
|
+
id: string;
|
|
52
|
+
label: string;
|
|
53
|
+
}[];
|
|
54
|
+
/** The tab shown now. */
|
|
55
|
+
value: string;
|
|
56
|
+
/** The page's own setter. */
|
|
57
|
+
set(id: string): void;
|
|
58
|
+
}
|
|
59
|
+
interface FgPageControlsSpec {
|
|
60
|
+
/** The page's title in the product's words ("Workflows"). */
|
|
61
|
+
page: string;
|
|
62
|
+
tabs?: FgTabsSpec;
|
|
63
|
+
filters?: readonly FgEnumFilterSpec[];
|
|
64
|
+
/** The page's own search setter; `""` clears the search. */
|
|
65
|
+
search?(query: string): void;
|
|
66
|
+
}
|
|
67
|
+
/** Registers a page's controls; the returned function removes exactly that registration. */
|
|
68
|
+
type FgRegisterPageControls = (spec: FgPageControlsSpec) => () => void;
|
|
69
|
+
interface FluidGridsAssistantBridgeProps {
|
|
70
|
+
/**
|
|
71
|
+
* The host's registration function. Give it a STABLE identity (a module
|
|
72
|
+
* constant or `useCallback`): a new function every render re-registers the
|
|
73
|
+
* mounted page every render.
|
|
74
|
+
*/
|
|
75
|
+
register: FgRegisterPageControls;
|
|
76
|
+
children: ReactNode;
|
|
77
|
+
}
|
|
78
|
+
/** Context provider a host mounts around the FluidGrids routes. */
|
|
79
|
+
declare const FluidGridsAssistantBridge: FC<FluidGridsAssistantBridgeProps>;
|
|
80
|
+
/**
|
|
81
|
+
* Register a page's controls for as long as the calling component is mounted
|
|
82
|
+
* (and `spec` is non-null). With no {@link FluidGridsAssistantBridge} above,
|
|
83
|
+
* this does nothing.
|
|
84
|
+
*/
|
|
85
|
+
declare function useFluidGridsPageControls(spec: FgPageControlsSpec | null): void;
|
|
86
|
+
|
|
87
|
+
export { type FgEnumFilterSpec as F, type FgFilterOption as a, type FgPageControlsSpec as b, type FgRegisterPageControls as c, type FgTabsSpec as d, FluidGridsAssistantBridge as e, type FluidGridsAssistantBridgeProps as f, useFluidGridsPageControls as u };
|
package/dist/templates.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export { TemplatePreview, TemplatesPage } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { TemplatePreview, TemplatesPage } from './chunk-7UHXZOZ3.js';
|
|
2
|
+
import './chunk-MXIFE266.js';
|
|
3
3
|
import './chunk-GEMNVFPK.js';
|
|
4
4
|
import './chunk-IEVSFCFS.js';
|
|
5
5
|
import './chunk-YXMFRQYV.js';
|
|
6
6
|
import './chunk-BQXVT32O.js';
|
|
7
7
|
import './chunk-QLBQDRQZ.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-S3GSHZAT.js';
|
|
9
9
|
import './chunk-6T5EBO7G.js';
|
|
10
|
+
import './chunk-Y53CVZVV.js';
|
|
10
11
|
import './chunk-U5BSQBUC.js';
|
|
11
12
|
import './chunk-D3UWK7GY.js';
|
|
12
13
|
import './chunk-PJAWNFJV.js';
|
package/dist/workflow-builder.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-
|
|
2
|
-
export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-
|
|
1
|
+
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-5KUVIH7Y.js';
|
|
2
|
+
export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-6EOFGYLJ.js';
|
|
3
3
|
import './chunk-TWRWHIMY.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-MXIFE266.js';
|
|
5
5
|
import './chunk-GEMNVFPK.js';
|
|
6
6
|
import './chunk-IEVSFCFS.js';
|
|
7
7
|
import './chunk-YXMFRQYV.js';
|
|
8
8
|
import './chunk-BQXVT32O.js';
|
|
9
9
|
import './chunk-QLBQDRQZ.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-S3GSHZAT.js';
|
|
11
11
|
import './chunk-6T5EBO7G.js';
|
|
12
|
+
import './chunk-Y53CVZVV.js';
|
|
12
13
|
import './chunk-U5BSQBUC.js';
|
|
13
14
|
import './chunk-DOPSPCO3.js';
|
|
14
15
|
import './chunk-HKNZ7MVM.js';
|