@burdenoff/fluidgrids-fe-sdk 2026.1029.2 → 2026.1029.4

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.
Files changed (37) hide show
  1. package/dist/{ExecutionDetailPage-EDS22IQG.js → ExecutionDetailPage-Y4K35GJ7.js} +7 -7
  2. package/dist/{ExecutionsListPage-5PYZX3HU.js → ExecutionsListPage-KC3KRBNS.js} +5 -5
  3. package/dist/{WorkflowBuilder-K3EQXB52.js → WorkflowBuilder-BJC6RCJ6.js} +8 -8
  4. package/dist/{WorkflowsList-MIXZRAXD.js → WorkflowsList-2OYIXGWQ.js} +6 -6
  5. package/dist/{chunk-YEKEEGZN.js → chunk-2U56452G.js} +23 -3
  6. package/dist/{chunk-WJFZBZK3.js → chunk-35SQULD5.js} +1 -1
  7. package/dist/{chunk-NA3UNXY2.js → chunk-5ITN7CKS.js} +1 -1
  8. package/dist/{chunk-TH5LA5X2.js → chunk-6Y6I2ODM.js} +6 -6
  9. package/dist/{chunk-54CEDDLL.js → chunk-DASEJQ4G.js} +3 -3
  10. package/dist/{chunk-LPBQ67DL.js → chunk-E25BCOT6.js} +8 -5
  11. package/dist/{chunk-7W3XSNF5.js → chunk-EAJB5BNF.js} +1 -1
  12. package/dist/{chunk-OJ2ELVXV.js → chunk-LGGHQ7UE.js} +1 -1
  13. package/dist/{chunk-4ATOGNE2.js → chunk-MNPZMFLF.js} +3 -3
  14. package/dist/{chunk-4SX5KNE3.js → chunk-NM5L7MBJ.js} +3 -3
  15. package/dist/{chunk-RFHATUK5.js → chunk-O24MDGZY.js} +305 -18
  16. package/dist/{chunk-HR36AXP3.js → chunk-R4SBXQ2K.js} +1 -1
  17. package/dist/{chunk-ZDCCT7BZ.js → chunk-SRE2JVSJ.js} +1 -1
  18. package/dist/{chunk-TWF7YD5G.js → chunk-TNPK2LZT.js} +4 -4
  19. package/dist/{chunk-FEGCLCVZ.js → chunk-UZMLMPFJ.js} +1 -1
  20. package/dist/{chunk-DOI6P5V7.js → chunk-VYH65RLH.js} +1 -1
  21. package/dist/{chunk-IQMHZHNZ.js → chunk-WDTO6ATM.js} +1 -1
  22. package/dist/{chunk-HLCUB3UN.js → chunk-X3LQJLV7.js} +1 -1
  23. package/dist/{chunk-S6NUWA4F.js → chunk-XRHZ3IEL.js} +4 -4
  24. package/dist/{chunk-QN7W4CFQ.js → chunk-XTXT4NHE.js} +5 -5
  25. package/dist/{chunk-HGZGKNGD.js → chunk-ZDFDC5YW.js} +1 -1
  26. package/dist/executions.js +9 -9
  27. package/dist/history.js +3 -3
  28. package/dist/index.d.ts +4 -4
  29. package/dist/index.js +30 -30
  30. package/dist/observability.js +4 -4
  31. package/dist/settings.js +5 -5
  32. package/dist/templates.js +7 -7
  33. package/dist/{workflow-builder-BxyapBo5.d.ts → workflow-builder-CZFczcE7.d.ts} +9 -0
  34. package/dist/workflow-builder.d.ts +1 -1
  35. package/dist/workflow-builder.js +9 -9
  36. package/dist/workflows-list.js +6 -6
  37. package/package.json +1 -1
@@ -2,13 +2,13 @@ import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
2
2
  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
- import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-HLCUB3UN.js';
6
- import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-HGZGKNGD.js';
5
+ import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-X3LQJLV7.js';
6
+ import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-ZDFDC5YW.js';
7
7
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
8
- import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-ZDCCT7BZ.js';
9
- import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-NA3UNXY2.js';
8
+ import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-SRE2JVSJ.js';
9
+ import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-5ITN7CKS.js';
10
10
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
11
- import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, getNodeDetail, useSaveStatusStore, isNodeTypeHiddenFromPalette, liveInternalOperations, resolveNodeOperation, readDisplayOptions, parseParameterValue, canAutosave, STICKY_NOTE_TYPE, isNodeTrigger, resolveUiSpec, RUNS_QUOTA_NAME, throwIfResultError, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, useDurableFunctionNodesEnabled, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, fieldsFromValue, filterPaletteNodes, useFluidGridsAnalytics, useSaveWorkflow, workflowFingerprint, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, readCodeWorkflowState, useCodeWorkflowInterface, clearCodeWorkflowDefinitionCache, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, useConnections, ConnectionFormDialog, useFluidGridsFlag, FLUIDGRIDS_FLAGS, SdkPermissionButton, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, diagnosticsByPath, interfaceHandlers, declaredSignals, ExpressionEditor, toCodeMirrorDiagnostics, formatParameterValue, leaveNeedsConfirmation, buildOperationSeed, snapshotForSave, editStateOf, childRunIdOf, defaultSourcePath, describeOperationError, projectLanguage, changedSourceFiles, isEditableSourcePath, sourceLanguageOf, interfaceFields, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, openRunQuotaUpgradePrompt, isTriggerOperation, canRenderOperationPanel, resolveOperationName, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS } from './chunk-YEKEEGZN.js';
11
+ import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, getNodeDetail, useSaveStatusStore, isNodeTypeHiddenFromPalette, liveInternalOperations, resolveNodeOperation, readDisplayOptions, parseParameterValue, canAutosave, STICKY_NOTE_TYPE, isNodeTrigger, resolveUiSpec, RUNS_QUOTA_NAME, throwIfResultError, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, useDurableFunctionNodesEnabled, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, fieldsFromValue, filterPaletteNodes, useFluidGridsAnalytics, useSaveWorkflow, workflowFingerprint, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, useFluidGridsPermission, readCodeWorkflowState, useCodeWorkflowInterface, clearCodeWorkflowDefinitionCache, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, useConnections, ConnectionFormDialog, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, diagnosticsByPath, interfaceHandlers, declaredSignals, ExpressionEditor, toCodeMirrorDiagnostics, formatParameterValue, leaveNeedsConfirmation, buildOperationSeed, snapshotForSave, editStateOf, childRunIdOf, defaultSourcePath, describeOperationError, projectLanguage, changedSourceFiles, isEditableSourcePath, sourceLanguageOf, interfaceFields, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, openRunQuotaUpgradePrompt, isTriggerOperation, canRenderOperationPanel, runPreparationOf, resolveOperationName, savesInPlace, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS } from './chunk-2U56452G.js';
12
12
  import { cn } from './chunk-JL7CASN5.js';
13
13
  import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
14
14
  import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
@@ -21778,16 +21778,22 @@ function departingSave(state) {
21778
21778
  function touchesSavedFields(state, previous) {
21779
21779
  return state.workflow.nodes !== previous.workflow.nodes || state.workflow.edges !== previous.workflow.edges || state.workflow.name !== previous.workflow.name || state.workflow.alias !== previous.workflow.alias || state.workflow.status !== previous.workflow.status || state.loadGeneration !== previous.loadGeneration;
21780
21780
  }
21781
- function leavingLosesChanges() {
21781
+ function unsavedState() {
21782
21782
  const flow = useFlowStore.getState();
21783
21783
  const status = useSaveStatusStore.getState();
21784
- return leaveNeedsConfirmation({
21784
+ return {
21785
21785
  // Checked fresh: the dirty flag trails the last edit by a moment.
21786
21786
  dirty: status.dirty || editStateFor(flow) === "dirty",
21787
21787
  autosaveAllowed: autosaveAllowedFor(flow.workflow),
21788
21788
  incomplete: status.incomplete || !isFlowComplete(flow.workflow.nodes, flow.workflow.edges),
21789
21789
  failed: status.failure !== null
21790
- });
21790
+ };
21791
+ }
21792
+ function leavingLosesChanges() {
21793
+ return leaveNeedsConfirmation(unsavedState());
21794
+ }
21795
+ function runPreparation() {
21796
+ return runPreparationOf(unsavedState());
21791
21797
  }
21792
21798
  function savedEverythingBeforeLeaving() {
21793
21799
  return editStateFor(useFlowStore.getState()) !== "dirty";
@@ -40948,12 +40954,13 @@ function NodeDetailView() {
40948
40954
  window.addEventListener("mouseup", cleanup);
40949
40955
  };
40950
40956
  useEffect(() => () => dragCleanupRef.current?.(), []);
40957
+ const requestedTab = ndv?.tab;
40951
40958
  useEffect(() => {
40952
40959
  if (open2) {
40953
- setTab("parameters");
40960
+ setTab(requestedTab ?? "parameters");
40954
40961
  setPane("parameters");
40955
40962
  }
40956
- }, [open2, ndv?.nodeId]);
40963
+ }, [open2, ndv?.nodeId, requestedTab]);
40957
40964
  const openClassicPanel = () => {
40958
40965
  if (!ndv) return;
40959
40966
  showNodePropertiesOf({
@@ -42463,13 +42470,24 @@ function FailedStatus({ className, compact }) {
42463
42470
  }
42464
42471
  function useUnsavedHint() {
42465
42472
  const tr = useTr();
42466
- const [dbId, status] = useFlowStore(
42467
- useShallow((s) => [s.workflow.dbId, s.workflow.status])
42473
+ const [dbId, status, codeBuildId] = useFlowStore(
42474
+ useShallow((s) => [
42475
+ s.workflow.dbId,
42476
+ s.workflow.status,
42477
+ s.workflow.codeBuildId
42478
+ ])
42468
42479
  );
42469
42480
  const [autosaveEnabled, incomplete] = useSaveStatusStore(
42470
42481
  useShallow((s) => [s.autosaveEnabled, s.incomplete])
42471
42482
  );
42472
- if (!canAutosave({ dbId, status })) {
42483
+ if (codeBuildId) {
42484
+ return tr(
42485
+ "fluidgrids.builder.saveStatus.unsavedCodeVersionHint",
42486
+ "This version runs code and never changes. Save ({{shortcut}}) to keep your changes as a new version.",
42487
+ { shortcut: SAVE_SHORTCUT }
42488
+ );
42489
+ }
42490
+ if (!canAutosave({ dbId, status, codeBuildId })) {
42473
42491
  return tr(
42474
42492
  "fluidgrids.builder.saveStatus.unsavedVersionHint",
42475
42493
  "This version is not a draft. Save ({{shortcut}}) to keep your changes as a new draft version.",
@@ -42572,6 +42590,7 @@ function SaveStatusIndicator({
42572
42590
  var SaveFlowButton = ({ className }) => {
42573
42591
  const tr = useTr();
42574
42592
  const { saveToBackend, isSaving } = useSaveWorkflow();
42593
+ const runsCode = useFlowStore((s) => !!s.workflow.codeBuildId);
42575
42594
  const [isValidating, validateFlow] = useFlowValidator(async (isValid) => {
42576
42595
  if (isValid) {
42577
42596
  await saveToBackend();
@@ -42613,7 +42632,10 @@ var SaveFlowButton = ({ className }) => {
42613
42632
  className: cn$1("flex gap-4", className),
42614
42633
  children: [
42615
42634
  /* @__PURE__ */ jsx(Icon, { icon: "fluent:save-28-filled" }),
42616
- isSaving ? tr("fluidgrids.builder.saveFlowButton.savingLabel", "Saving...") : tr("fluidgrids.builder.saveFlowButton.saveLabel", "Save")
42635
+ isSaving ? tr("fluidgrids.builder.saveFlowButton.savingLabel", "Saving...") : runsCode ? tr(
42636
+ "fluidgrids.builder.saveFlowButton.saveAsNewVersionLabel",
42637
+ "Save as new version"
42638
+ ) : tr("fluidgrids.builder.saveFlowButton.saveLabel", "Save")
42617
42639
  ]
42618
42640
  }
42619
42641
  )
@@ -42709,7 +42731,7 @@ function TriggerDataDialog({
42709
42731
  ),
42710
42732
  parseError && /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--color-status-error-text)]", children: parseError }),
42711
42733
  /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
42712
- "This data is available to nodes as trigger input. For example, a Botlit node expects",
42734
+ "This data is available to nodes as trigger input. For example, a BotManor node expects",
42713
42735
  " ",
42714
42736
  /* @__PURE__ */ jsx("code", { className: "bg-muted px-1 rounded", children: "message" }),
42715
42737
  " and",
@@ -42751,6 +42773,146 @@ function TriggerDataDialog({
42751
42773
  ] })
42752
42774
  ] }) });
42753
42775
  }
42776
+ function useRunGuard(startRun) {
42777
+ const { saveToBackend } = useSaveWorkflow();
42778
+ const [confirmOpen, setConfirmOpen] = useState(false);
42779
+ const [preparing, setPreparing] = useState(false);
42780
+ const requestRun = useCallback(async () => {
42781
+ const preparation = runPreparation();
42782
+ if (preparation === "run") {
42783
+ startRun();
42784
+ return;
42785
+ }
42786
+ if (preparation === "save-first") {
42787
+ setPreparing(true);
42788
+ let saved = false;
42789
+ try {
42790
+ saved = await saveToBackend({ silent: true }) && savedEverythingBeforeLeaving();
42791
+ } finally {
42792
+ setPreparing(false);
42793
+ }
42794
+ if (saved) {
42795
+ startRun();
42796
+ return;
42797
+ }
42798
+ }
42799
+ setConfirmOpen(true);
42800
+ }, [saveToBackend, startRun]);
42801
+ const dialog = /* @__PURE__ */ jsx(
42802
+ UnsavedRunDialog,
42803
+ {
42804
+ open: confirmOpen,
42805
+ onOpenChange: setConfirmOpen,
42806
+ onRunSaved: () => {
42807
+ setConfirmOpen(false);
42808
+ startRun();
42809
+ },
42810
+ onSavedAndRunnable: () => {
42811
+ setConfirmOpen(false);
42812
+ startRun();
42813
+ }
42814
+ }
42815
+ );
42816
+ return { requestRun, preparing, dialog };
42817
+ }
42818
+ function UnsavedRunDialog({
42819
+ open: open2,
42820
+ onOpenChange,
42821
+ onRunSaved,
42822
+ onSavedAndRunnable
42823
+ }) {
42824
+ const tr = useTr();
42825
+ const manualSave = useManualSave();
42826
+ const [version2, dbId, status, codeBuildId] = useFlowStore(
42827
+ useShallow((s) => [
42828
+ s.workflow.version,
42829
+ s.workflow.dbId,
42830
+ s.workflow.status,
42831
+ s.workflow.codeBuildId
42832
+ ])
42833
+ );
42834
+ const [saving, setSaving] = useState(false);
42835
+ const hasSavedVersion = !!dbId;
42836
+ const runsAfterSave = !hasSavedVersion || savesInPlace({ dbId, status, codeBuildId });
42837
+ const save = useCallback(async () => {
42838
+ setSaving(true);
42839
+ try {
42840
+ const saved = await manualSave();
42841
+ if (!saved) return;
42842
+ if (!runsAfterSave) {
42843
+ onOpenChange(false);
42844
+ return;
42845
+ }
42846
+ if (savedEverythingBeforeLeaving()) onSavedAndRunnable();
42847
+ } finally {
42848
+ setSaving(false);
42849
+ }
42850
+ }, [runsAfterSave, manualSave, onOpenChange, onSavedAndRunnable]);
42851
+ return /* @__PURE__ */ jsx(
42852
+ AlertDialog,
42853
+ {
42854
+ open: open2,
42855
+ onOpenChange: (next) => {
42856
+ if (!next && saving) return;
42857
+ onOpenChange(next);
42858
+ },
42859
+ children: /* @__PURE__ */ jsxs(AlertDialogContent, { "data-testid": "fluidgrids-unsaved-run-dialog", children: [
42860
+ /* @__PURE__ */ jsxs(AlertDialogHeader, { children: [
42861
+ /* @__PURE__ */ jsx(AlertDialogTitle, { children: tr(
42862
+ "fluidgrids.builder.runGuard.title",
42863
+ "Run without your unsaved changes?"
42864
+ ) }),
42865
+ /* @__PURE__ */ jsxs(AlertDialogDescription, { children: [
42866
+ hasSavedVersion ? tr(
42867
+ "fluidgrids.builder.runGuard.description",
42868
+ "This workflow has changes that are not saved. A run uses the saved version {{version}}, without them.",
42869
+ { version: version2 }
42870
+ ) : tr(
42871
+ "fluidgrids.builder.runGuard.descriptionNotSaved",
42872
+ "This workflow has not been saved yet. Save it before you run it."
42873
+ ),
42874
+ " ",
42875
+ runsAfterSave ? null : tr(
42876
+ "fluidgrids.builder.runGuard.newVersionHint",
42877
+ "Saving keeps your changes as a new version and opens it; run that version."
42878
+ )
42879
+ ] })
42880
+ ] }),
42881
+ /* @__PURE__ */ jsxs(AlertDialogFooter, { children: [
42882
+ /* @__PURE__ */ jsx(AlertDialogCancel, { disabled: saving, children: tr("fluidgrids.builder.runGuard.cancelButton", "Cancel") }),
42883
+ hasSavedVersion && /* @__PURE__ */ jsx(
42884
+ Button$2,
42885
+ {
42886
+ "data-agent": "confirm",
42887
+ variant: "outline",
42888
+ onClick: onRunSaved,
42889
+ disabled: saving,
42890
+ children: tr(
42891
+ "fluidgrids.builder.runGuard.runSavedButton",
42892
+ "Run saved version"
42893
+ )
42894
+ }
42895
+ ),
42896
+ /* @__PURE__ */ jsx(
42897
+ Button$2,
42898
+ {
42899
+ "data-agent": "confirm",
42900
+ onClick: () => void save(),
42901
+ disabled: saving,
42902
+ children: saving ? tr("fluidgrids.builder.runGuard.savingButton", "Saving\u2026") : runsAfterSave ? tr(
42903
+ "fluidgrids.builder.runGuard.saveAndRunButton",
42904
+ "Save and run"
42905
+ ) : tr(
42906
+ "fluidgrids.builder.runGuard.saveAsNewVersionButton",
42907
+ "Save as new version"
42908
+ )
42909
+ }
42910
+ )
42911
+ ] })
42912
+ ] })
42913
+ }
42914
+ );
42915
+ }
42754
42916
  var ExecuteWorkflowButton = ({
42755
42917
  className
42756
42918
  }) => {
@@ -42799,9 +42961,11 @@ var ExecuteWorkflowButton = ({
42799
42961
  },
42800
42962
  [executeFullWorkflow, tr]
42801
42963
  );
42964
+ const openTriggerDialog = useCallback(() => setDialogOpen(true), []);
42965
+ const runGuard = useRunGuard(openTriggerDialog);
42802
42966
  const [isValidating, validateFlow] = useFlowValidator(async (isValid) => {
42803
42967
  if (isValid) {
42804
- setDialogOpen(true);
42968
+ await runGuard.requestRun();
42805
42969
  } else {
42806
42970
  toast.error(
42807
42971
  tr(
@@ -42831,7 +42995,7 @@ var ExecuteWorkflowButton = ({
42831
42995
  {
42832
42996
  "data-agent": "confirm",
42833
42997
  onClick: validateFlow,
42834
- disabled: isValidating || isExecuting,
42998
+ disabled: isValidating || isExecuting || runGuard.preparing,
42835
42999
  variant: "default",
42836
43000
  size: "sm",
42837
43001
  className: cn$1(
@@ -42843,7 +43007,7 @@ var ExecuteWorkflowButton = ({
42843
43007
  isExecuting ? tr(
42844
43008
  "fluidgrids.builder.executeWorkflowButton.runningLabel",
42845
43009
  "Running..."
42846
- ) : isValidating ? tr(
43010
+ ) : isValidating || runGuard.preparing ? tr(
42847
43011
  "fluidgrids.builder.executeWorkflowButton.validatingLabel",
42848
43012
  "Validating..."
42849
43013
  ) : tr("fluidgrids.builder.executeWorkflowButton.runLabel", "Run")
@@ -42852,6 +43016,7 @@ var ExecuteWorkflowButton = ({
42852
43016
  )
42853
43017
  }
42854
43018
  ),
43019
+ runGuard.dialog,
42855
43020
  /* @__PURE__ */ jsx(
42856
43021
  TriggerDataDialog,
42857
43022
  {
@@ -46959,6 +47124,127 @@ function BuilderHeader() {
46959
47124
  }
46960
47125
  );
46961
47126
  }
47127
+ function useCodeWorkflowNodeId() {
47128
+ return useFlowStore(
47129
+ (s) => s.workflow.nodes.find((node2) => node2.type === CODE_WORKFLOW_NODE_TYPE)?.id
47130
+ );
47131
+ }
47132
+ function CodeVersionNotice() {
47133
+ const tr = useTr();
47134
+ const [codeBuildId, version2] = useFlowStore(
47135
+ useShallow((s) => [s.workflow.codeBuildId, s.workflow.version])
47136
+ );
47137
+ const openNdv = useFlowStore((s) => s.actions.ndv.open);
47138
+ const dirty = useSaveStatusStore((s) => s.dirty);
47139
+ const saving = useSaveStatusStore((s) => s.saving);
47140
+ const manualSave = useManualSave();
47141
+ const durableEnabled = useDurableFunctionNodesEnabled();
47142
+ const codeNodeId = useCodeWorkflowNodeId();
47143
+ const editSource = useCallback(() => {
47144
+ if (!codeNodeId) return;
47145
+ openNdv({
47146
+ nodeId: codeNodeId,
47147
+ type: CODE_WORKFLOW_NODE_TYPE,
47148
+ tab: "source"
47149
+ });
47150
+ }, [codeNodeId, openNdv]);
47151
+ if (!codeBuildId) return null;
47152
+ const canEditSource = durableEnabled && !!codeNodeId;
47153
+ return /* @__PURE__ */ jsxs(
47154
+ "div",
47155
+ {
47156
+ role: "note",
47157
+ "data-testid": "fluidgrids-code-version-notice",
47158
+ className: "flex flex-wrap items-start gap-x-3 gap-y-2 border-b border-[var(--color-status-info-border)] bg-[var(--color-status-info-bg-subtle)] px-4 py-2 text-sm text-[var(--color-status-info-text)]",
47159
+ children: [
47160
+ /* @__PURE__ */ jsx(Icon, { icon: "mynaui:lock", className: "mt-0.5 size-4 shrink-0", "aria-hidden": true }),
47161
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 basis-64", children: [
47162
+ /* @__PURE__ */ jsx("p", { className: "font-medium", children: tr(
47163
+ "fluidgrids.builder.codeVersionNotice.title",
47164
+ "Version {{version}} runs code and is read-only",
47165
+ { version: version2 }
47166
+ ) }),
47167
+ /* @__PURE__ */ jsxs("p", { className: "text-xs", children: [
47168
+ tr(
47169
+ "fluidgrids.builder.codeVersionNotice.reason",
47170
+ "A version that runs code never changes, so its runs always have the code they started with."
47171
+ ),
47172
+ " ",
47173
+ canEditSource ? tr(
47174
+ "fluidgrids.builder.codeVersionNotice.howToEditWithSource",
47175
+ "Change the code in the Source tab of the Code Workflow node or with fluidgrids push. Canvas changes are kept as a new version with the same code when you save."
47176
+ ) : tr(
47177
+ "fluidgrids.builder.codeVersionNotice.howToEdit",
47178
+ "Change the code with fluidgrids push. Canvas changes are kept as a new version with the same code when you save."
47179
+ )
47180
+ ] }),
47181
+ /* @__PURE__ */ jsx(
47182
+ "p",
47183
+ {
47184
+ className: "mt-0.5 truncate font-mono text-[11px]",
47185
+ title: codeBuildId,
47186
+ children: tr(
47187
+ "fluidgrids.builder.codeVersionNotice.build",
47188
+ "Build {{buildId}}",
47189
+ {
47190
+ buildId: codeBuildId
47191
+ }
47192
+ )
47193
+ }
47194
+ )
47195
+ ] }),
47196
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
47197
+ canEditSource && /* @__PURE__ */ jsxs(
47198
+ Button$1,
47199
+ {
47200
+ "data-agent": "confirm",
47201
+ variant: "outline",
47202
+ size: "sm",
47203
+ onClick: editSource,
47204
+ children: [
47205
+ /* @__PURE__ */ jsx(Icon, { icon: "mynaui:code", className: "mr-1 size-4", "aria-hidden": true }),
47206
+ tr(
47207
+ "fluidgrids.builder.codeVersionNotice.editSource",
47208
+ "Edit source"
47209
+ )
47210
+ ]
47211
+ }
47212
+ ),
47213
+ /* @__PURE__ */ jsx(
47214
+ SdkPermissionButton,
47215
+ {
47216
+ permission: [
47217
+ FLUIDGRIDS_PERMISSIONS.WORKFLOW_UPDATE,
47218
+ FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE
47219
+ ],
47220
+ deniedTooltip: tr(
47221
+ "fluidgrids.builder.saveFlowButton.permissionDeniedTooltip",
47222
+ "You don't have permission to save workflows"
47223
+ ),
47224
+ children: /* @__PURE__ */ jsx(
47225
+ Button$1,
47226
+ {
47227
+ "data-agent": "confirm",
47228
+ size: "sm",
47229
+ onClick: () => void manualSave(),
47230
+ disabled: !dirty || saving,
47231
+ title: dirty ? void 0 : tr(
47232
+ "fluidgrids.builder.codeVersionNotice.nothingToSave",
47233
+ "Change the canvas first; there is nothing to save yet."
47234
+ ),
47235
+ children: saving ? tr("fluidgrids.builder.codeVersionNotice.saving", "Saving\u2026") : tr(
47236
+ "fluidgrids.builder.codeVersionNotice.saveAsNewVersion",
47237
+ "Save as new version"
47238
+ )
47239
+ }
47240
+ )
47241
+ }
47242
+ )
47243
+ ] })
47244
+ ]
47245
+ }
47246
+ );
47247
+ }
46962
47248
  var edgeTypes2 = {
46963
47249
  deletable: CustomDeletableEdge
46964
47250
  };
@@ -47083,6 +47369,7 @@ var FlowBuilder = ({ readOnly = false }) => {
47083
47369
  );
47084
47370
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-full w-full overflow-hidden", children: [
47085
47371
  !isReadOnly && /* @__PURE__ */ jsx(BuilderHeader, {}),
47372
+ !isReadOnly && /* @__PURE__ */ jsx(CodeVersionNotice, {}),
47086
47373
  /* @__PURE__ */ jsx(BuilderSaveController, { readOnly: isReadOnly }),
47087
47374
  /* @__PURE__ */ jsxs(
47088
47375
  "div",
@@ -1,4 +1,4 @@
1
- import { throwIfResultError } from './chunk-YEKEEGZN.js';
1
+ import { throwIfResultError } from './chunk-2U56452G.js';
2
2
  import { RunFailureClustersDocument, DismissRunFailureClusterDocument, RunFailureTriageSettingsDocument, SetRunFailureTriageEnabledDocument, FgTriageFailedRunsDocument } from './chunk-7PP6CRXS.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-YEKEEGZN.js';
1
+ import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-2U56452G.js';
2
2
  import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
3
3
  import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-7PP6CRXS.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,10 +1,10 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-RFHATUK5.js';
2
- import { QuotaExhaustedDialog } from './chunk-HLCUB3UN.js';
3
- import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-ZDCCT7BZ.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-O24MDGZY.js';
2
+ import { QuotaExhaustedDialog } from './chunk-X3LQJLV7.js';
3
+ import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-SRE2JVSJ.js';
4
4
  import { templatesControls } from './chunk-D3UWK7GY.js';
5
5
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
6
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
7
- import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-YEKEEGZN.js';
7
+ import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-2U56452G.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
9
  import { useState, useEffect, useMemo, useCallback } from 'react';
10
10
  import { useParams, useNavigate } from 'react-router';
@@ -1,5 +1,5 @@
1
1
  import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
2
- import { useFluidGridsAnalytics, throwIfResultError, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-YEKEEGZN.js';
2
+ import { useFluidGridsAnalytics, throwIfResultError, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-2U56452G.js';
3
3
  import { useExecutionsStore } from './chunk-CY6KX4RG.js';
4
4
  import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-7PP6CRXS.js';
5
5
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,5 +1,5 @@
1
1
  import { LOG_STREAM_DESTINATIONS, CREATE_LOG_STREAM_DESTINATION, UPDATE_LOG_STREAM_DESTINATION, DELETE_LOG_STREAM_DESTINATION, TEST_LOG_STREAM_DESTINATION, REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS, OBSERVABILITY_DASHBOARD_SUMMARY, OBSERVABILITY_FAILED_RUNS, OBSERVABILITY_DATA_SINKS, OBSERVABILITY_DATA_SINK_DATA } from './chunk-5ERAJC2I.js';
2
- import { throwIfResultError, describeOperationError, useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-YEKEEGZN.js';
2
+ import { throwIfResultError, describeOperationError, useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-2U56452G.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
5
5
  import { useCallback, useState, useMemo, useEffect } from 'react';
@@ -1,4 +1,4 @@
1
- import { useWorkflowDefinitions } from './chunk-ZDCCT7BZ.js';
1
+ import { useWorkflowDefinitions } from './chunk-SRE2JVSJ.js';
2
2
  import { historyControls } from './chunk-D3UWK7GY.js';
3
3
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
@@ -1,4 +1,4 @@
1
- import { describeOperationError, useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME, throwIfResultError } from './chunk-YEKEEGZN.js';
1
+ import { describeOperationError, useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME, throwIfResultError } from './chunk-2U56452G.js';
2
2
  import { ExportWorkflowCodeDocument } from './chunk-7PP6CRXS.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
@@ -1,8 +1,8 @@
1
- import { ActionPoliciesTab } from './chunk-WJFZBZK3.js';
2
- import { LogStreamingTab } from './chunk-DOI6P5V7.js';
3
- import { AgentsTab } from './chunk-NA3UNXY2.js';
1
+ import { ActionPoliciesTab } from './chunk-35SQULD5.js';
2
+ import { LogStreamingTab } from './chunk-VYH65RLH.js';
3
+ import { AgentsTab } from './chunk-5ITN7CKS.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useFlowStore, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, throwIfResultError, describeOperationError, useConnections } from './chunk-YEKEEGZN.js';
5
+ import { useFlowStore, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, throwIfResultError, describeOperationError, useConnections } from './chunk-2U56452G.js';
6
6
  import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
7
7
  import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
8
8
  import { useWorkflowDefinitionQuery, useUpdateWorkflowDefinitionMutation, useWorkflowDefinitionsQuery } from './chunk-7PP6CRXS.js';
@@ -1,11 +1,11 @@
1
- import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-OJ2ELVXV.js';
2
- import { useExecutions } from './chunk-FEGCLCVZ.js';
3
- import { useExportWorkflowAs, downloadWorkflowExport, importAcceptAttribute, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-HLCUB3UN.js';
4
- import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-ZDCCT7BZ.js';
1
+ import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-LGGHQ7UE.js';
2
+ import { useExecutions } from './chunk-UZMLMPFJ.js';
3
+ import { useExportWorkflowAs, downloadWorkflowExport, importAcceptAttribute, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-X3LQJLV7.js';
4
+ import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-SRE2JVSJ.js';
5
5
  import { workflowsListControls } from './chunk-D3UWK7GY.js';
6
6
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
7
7
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
8
- import { createThenOpen, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useFluidGridsFlag, FLUIDGRIDS_FLAGS, SdkPermissionButton, BILLING_PLANS_PATH, describeOperationError, useFlowStore, SdkPermissionGate, isQuotaExhaustedFailure } from './chunk-YEKEEGZN.js';
8
+ import { createThenOpen, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useFluidGridsFlag, FLUIDGRIDS_FLAGS, SdkPermissionButton, BILLING_PLANS_PATH, describeOperationError, useFlowStore, SdkPermissionGate, isQuotaExhaustedFailure } from './chunk-2U56452G.js';
9
9
  import { useTr } from './chunk-UULVIT25.js';
10
10
  import { useState, useRef, useCallback, useMemo } from 'react';
11
11
  import { useNavigate } from 'react-router';
@@ -1,6 +1,6 @@
1
1
  import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-5GD6OXYW.js';
2
2
  import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
3
- import { throwIfResultError, describeOperationError, signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-YEKEEGZN.js';
3
+ import { throwIfResultError, describeOperationError, signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-2U56452G.js';
4
4
  import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
5
5
  import { TerminateWorkflowRunDocument, WorkflowRunHistoryDocument, RunEventAppendedDocument, WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, DurableRunFieldsDocument, WorkflowRunDeterminismStatusDocument, WorkflowRunStackTraceDocument, SignalWorkflowRunDocument } from './chunk-7PP6CRXS.js';
6
6
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,20 +1,20 @@
1
1
  import './chunk-AD3BXTJS.js';
2
- export { ExecutionsListPage } from './chunk-54CEDDLL.js';
3
- export { ExecutionDetailPage } from './chunk-TH5LA5X2.js';
4
- import './chunk-7W3XSNF5.js';
5
- import './chunk-FEGCLCVZ.js';
6
- import './chunk-HR36AXP3.js';
7
- import './chunk-WJFZBZK3.js';
2
+ export { ExecutionsListPage } from './chunk-DASEJQ4G.js';
3
+ export { ExecutionDetailPage } from './chunk-6Y6I2ODM.js';
4
+ import './chunk-EAJB5BNF.js';
5
+ import './chunk-UZMLMPFJ.js';
6
+ import './chunk-R4SBXQ2K.js';
7
+ import './chunk-35SQULD5.js';
8
8
  import './chunk-5ERAJC2I.js';
9
- import './chunk-HGZGKNGD.js';
9
+ import './chunk-ZDFDC5YW.js';
10
10
  import './chunk-5GD6OXYW.js';
11
11
  import './chunk-Y53CVZVV.js';
12
- import './chunk-ZDCCT7BZ.js';
12
+ import './chunk-SRE2JVSJ.js';
13
13
  import './chunk-D3UWK7GY.js';
14
14
  import './chunk-PJAWNFJV.js';
15
15
  import './chunk-U6KI4AKI.js';
16
16
  import './chunk-4VJ3MDOV.js';
17
- import './chunk-YEKEEGZN.js';
17
+ import './chunk-2U56452G.js';
18
18
  import './chunk-JL7CASN5.js';
19
19
  import './chunk-PXIFUMLA.js';
20
20
  import './chunk-CY6KX4RG.js';
package/dist/history.js CHANGED
@@ -1,9 +1,9 @@
1
- export { HistoryPage } from './chunk-IQMHZHNZ.js';
2
- import './chunk-ZDCCT7BZ.js';
1
+ export { HistoryPage } from './chunk-WDTO6ATM.js';
2
+ import './chunk-SRE2JVSJ.js';
3
3
  import './chunk-D3UWK7GY.js';
4
4
  import './chunk-PJAWNFJV.js';
5
5
  import './chunk-4VJ3MDOV.js';
6
- import './chunk-YEKEEGZN.js';
6
+ import './chunk-2U56452G.js';
7
7
  import './chunk-JL7CASN5.js';
8
8
  import './chunk-PXIFUMLA.js';
9
9
  import './chunk-CY6KX4RG.js';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { r as WorkflowData } from './workflow-builder-BxyapBo5.js';
3
- export { C as ConditionRule, E as EdgeCondition, a as EdgeMapping, b as ErrorType, c as ExecutionLog, d as ExecutionsFilter, e as ExecutionsPagination, f as ExtendedNodeType, F as FlowEdge, g as FlowNode, h as FlowNodeData, I as IFlowState, M as MappingValue, N as NODE_STATUS_CONFIG, i as NodeEndpointConfig, j as NodeManifest, k as NodeState, l as NodeStatus, R as RUN_STATUS_CONFIG, m as RunStatus, S as SidebarState, T as Tag, W as WorkflowBuilder, o as WorkflowBuilderCore, p as WorkflowBuilderCoreProps, n as WorkflowBuilderPage, q as WorkflowBuilderProps, s as WorkflowDefinition, t as WorkflowDefinitionJson, u as WorkflowError, v as WorkflowRun, w as WorkflowSearchRedirect, x as refetchStoreNodes, y as useFlowStore } from './workflow-builder-BxyapBo5.js';
2
+ import { r as WorkflowData } from './workflow-builder-CZFczcE7.js';
3
+ export { C as ConditionRule, E as EdgeCondition, a as EdgeMapping, b as ErrorType, c as ExecutionLog, d as ExecutionsFilter, e as ExecutionsPagination, f as ExtendedNodeType, F as FlowEdge, g as FlowNode, h as FlowNodeData, I as IFlowState, M as MappingValue, N as NODE_STATUS_CONFIG, i as NodeEndpointConfig, j as NodeManifest, k as NodeState, l as NodeStatus, R as RUN_STATUS_CONFIG, m as RunStatus, S as SidebarState, T as Tag, W as WorkflowBuilder, o as WorkflowBuilderCore, p as WorkflowBuilderCoreProps, n as WorkflowBuilderPage, q as WorkflowBuilderProps, s as WorkflowDefinition, t as WorkflowDefinitionJson, u as WorkflowError, v as WorkflowRun, w as WorkflowSearchRedirect, x as refetchStoreNodes, y as useFlowStore } from './workflow-builder-CZFczcE7.js';
4
4
  import * as React from 'react';
5
5
  import { ReactNode, HTMLAttributes, InputHTMLAttributes, ReactElement } from 'react';
6
6
  import { ApolloClient } from '@apollo/client/core';
@@ -127296,7 +127296,7 @@ interface FluidGridsConfig {
127296
127296
  * (BOFF-7753). Kept only so existing host configs still type-check.
127297
127297
  */
127298
127298
  fluidgridFrontendUrl?: string;
127299
- /** Product ID for workflow isolation (e.g., 'bigconsole', 'botlit', 'fluidgrids') */
127299
+ /** Product ID for workflow isolation (e.g., 'bigconsole', 'botmanor', 'fluidgrids') */
127300
127300
  productId?: string;
127301
127301
  /** Product name for display purposes */
127302
127302
  productName?: string;
@@ -127304,7 +127304,7 @@ interface FluidGridsConfig {
127304
127304
  trustedOrigins?: string[];
127305
127305
  /**
127306
127306
  * Callback invoked after a workflow is successfully saved to wspace-workflow-svc.
127307
- * Host apps (BigConsole, Botlit) can use this to sync metadata to their own backends.
127307
+ * Host apps (BigConsole, BotManor) can use this to sync metadata to their own backends.
127308
127308
  * Errors thrown by this callback are caught and logged — they never block the save.
127309
127309
  */
127310
127310
  onWorkflowSaved?: (result: WorkflowSavedResult) => void | Promise<void>;