@burdenoff/fluidgrids-fe-sdk 2026.1113.5 → 2026.1113.7

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 (58) hide show
  1. package/dist/{AiStudioPage-DzvEkuoS.js → AiStudioPage-DZ0YBcTL.js} +4 -4
  2. package/dist/{ApprovalInboxPage-BIDGY0Qm.js → ApprovalInboxPage-CbkmOXaq.js} +1 -1
  3. package/dist/{DataSinkDashboardPage-DYuBqD2Y.js → DataSinkDashboardPage-231cS9dt.js} +1 -1
  4. package/dist/{DataTablesPage-CA4CGEcM.js → DataTablesPage-DR6BesNp.js} +3 -3
  5. package/dist/{Disclosure-DQiUKrqd.js → Disclosure-CsxDspR7.js} +7 -3
  6. package/dist/{ExecutionDetailPage-CXiHGMVH.js → ExecutionDetailPage-CoRLOiiZ.js} +7 -7
  7. package/dist/{ExecutionsListPage-DGHmXNTR.js → ExecutionsListPage-Dr0Ychbr.js} +69 -35
  8. package/dist/{FluidGridsProvider-gB2POEu6.js → FluidGridsProvider-DQP7gPxN.js} +2 -1
  9. package/dist/{HistoryPage-8lQ6xf5Q.js → HistoryPage-C99YGv7V.js} +1 -1
  10. package/dist/{InsightsPage-q5agPRFA.js → InsightsPage-ySywDcp_.js} +2 -2
  11. package/dist/{NodesPage-DeBc3zix.js → NodesPage-B8fqXtey.js} +5 -4
  12. package/dist/{PaidTemplateConfirm-BadoJJPx.js → PaidTemplateConfirm-CI6TDivO.js} +1 -1
  13. package/dist/{QuotaExhaustedDialog-BBK3aX_0.js → QuotaExhaustedDialog-nlnRlQ2i.js} +1 -1
  14. package/dist/{RunActionsMenu-BE_1r3bF.js → RunActionsMenu-BZY4NreS.js} +8 -6
  15. package/dist/{RunnersPage-DHeuUDil.js → RunnersPage-BXODCbq0.js} +2 -2
  16. package/dist/{SettingsPage-BfBa-qSk.js → SettingsPage-tKzJkG-L.js} +8 -8
  17. package/dist/{TechnicalDetails-D4xGy201.js → TechnicalDetails-r5JXr1jZ.js} +1 -1
  18. package/dist/{TemplateCard-lKGodHU8.js → TemplateCard-UnjAFsS4.js} +2 -2
  19. package/dist/{TemplatePreview-YGddO09g.js → TemplatePreview-WiRz3SCv.js} +5 -5
  20. package/dist/{TemplatesPage-DZQDzv7d.js → TemplatesPage-Z2LDGg3g.js} +7 -7
  21. package/dist/{VariablesPage-2Q7gYE2N.js → VariablesPage-_RKdfiw5.js} +2 -2
  22. package/dist/{WorkflowBuilder-DtSOvYST.js → WorkflowBuilder-BdnCh2hB.js} +6 -6
  23. package/dist/{WorkflowBuilder-DKqz8W6n.js → WorkflowBuilder-CQWz7dXc.js} +4 -4
  24. package/dist/{WorkflowSearchRedirect-mX-YNhkj.js → WorkflowSearchRedirect-DoiDmeyL.js} +1 -1
  25. package/dist/{WorkflowsList-DBKQLEUU.js → WorkflowsList-C86YEuZZ.js} +6 -6
  26. package/dist/{agentTools-Dle04WMj.js → agentTools-BQbgd_wK.js} +3 -3
  27. package/dist/{attach-node-helpers-CNsYtLOR.js → attach-node-helpers-CtV1mej0.js} +1 -1
  28. package/dist/{canvasNoteTools-Bror30X8.js → canvasNoteTools-Cp3UPIM8.js} +2 -2
  29. package/dist/executions.js +2 -2
  30. package/dist/{flow-builder-CErj7Fgi.js → flow-builder-CJ00qt1Z.js} +15 -14
  31. package/dist/history.js +1 -1
  32. package/dist/index.js +33 -33
  33. package/dist/{logs-panel-2L4TLGcG.js → logs-panel-Cn4gGng9.js} +1 -1
  34. package/dist/{node-detail-view-BqGpYHEE.js → node-detail-view-DtZe2ggI.js} +6 -6
  35. package/dist/{node-editor-tab-body-f2EIl5lh.js → node-editor-tab-body-CFprr94T.js} +3 -3
  36. package/dist/{node-operation-selection-Czeeb2D4.js → node-operation-selection-BGj5YwAS.js} +2 -30
  37. package/dist/node-type-icon-D28t8I64.js +35 -0
  38. package/dist/nodes.js +1 -1
  39. package/dist/observability.js +2 -2
  40. package/dist/{popover-3Vs4f1Uy.js → popover-DuaVzhfH.js} +2 -2
  41. package/dist/{quick-config-panel-Aja-lh3W.js → quick-config-panel-CmL27iO-.js} +5 -4
  42. package/dist/{schedule-panel-DCzLeJvi.js → schedule-panel-DIUNqU9B.js} +5 -5
  43. package/dist/settings.js +1 -1
  44. package/dist/{sidebar-node-editor-CWdejdLi.js → sidebar-node-editor-C_mhVSxd.js} +5 -4
  45. package/dist/templates.js +2 -2
  46. package/dist/{useAgentDefinitions-DoMEv0kS.js → useAgentDefinitions-CKZ7oDZD.js} +1 -1
  47. package/dist/{useDurableParity-9mQYNpiP.js → useDurableParity-BUSM-z_7.js} +1 -1
  48. package/dist/{useExecutions-BvldyVgF.js → useExecutions-DSZisQHk.js} +1 -1
  49. package/dist/{useGlobalStoreClient-CpTRykJx.js → useGlobalStoreClient-CXPqlK1M.js} +1 -1
  50. package/dist/{useObservability-Cps9Y9a3.js → useObservability-n7Qdc8Xg.js} +1 -1
  51. package/dist/{useRunHistory-DoxQsQIm.js → useRunHistory-Bxs6LrME.js} +1 -1
  52. package/dist/{useWorkflowCodeExport-BLl0hv2J.js → useWorkflowCodeExport-Bj4QY-xY.js} +1 -1
  53. package/dist/{useWorkflows-Z4M64JlD.js → useWorkflows-BY5b8r9n.js} +1 -1
  54. package/dist/workflow-builder.js +5 -5
  55. package/dist/workflow-pages.js +18 -18
  56. package/dist/workflow-preview.js +1 -1
  57. package/dist/workflows-list.js +1 -1
  58. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
4
- import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-CErj7Fgi.js";
5
- import { T as buildOperationSeed, ht as classifyCreateRefusal, mt as builderPathOf, u as ensureNodeTypesLoaded } from "./FluidGridsProvider-gB2POEu6.js";
4
+ import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-CJ00qt1Z.js";
5
+ import { T as buildOperationSeed, ht as classifyCreateRefusal, mt as builderPathOf, u as ensureNodeTypesLoaded } from "./FluidGridsProvider-DQP7gPxN.js";
6
6
  import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
7
7
  import { o as throwIfResultError } from "./errors-xPZ-IbQd.js";
8
8
  import { a as notifyFluidGridsAiCreditsUpdated, t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
9
- import { n as useCreateWorkflow } from "./useWorkflows-Z4M64JlD.js";
9
+ import { n as useCreateWorkflow } from "./useWorkflows-BY5b8r9n.js";
10
10
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
11
11
  import { t as BILLING_PLANS_PATH } from "./quota-Cdt8yz7N.js";
12
- import { c as CreateWorkflowRefusalDialog } from "./useWorkflowCodeExport-BLl0hv2J.js";
12
+ import { c as CreateWorkflowRefusalDialog } from "./useWorkflowCodeExport-Bj4QY-xY.js";
13
13
  import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
14
14
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
15
15
  import { useNavigate } from "react-router";
@@ -5,7 +5,7 @@ import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
5
5
  import { o as throwIfResultError, r as isForbiddenError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
6
6
  import { a as useRecipientLabel, i as notAnswerableText, n as ApprovalApprovers, r as answeredToastText, t as channelLabel } from "./channel-DtF1n_ab.js";
7
7
  import { n as useRespondToHumanRequest, t as usePendingHumanRequests } from "./useHumanRequests-DwG2tQ3f.js";
8
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
8
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
9
9
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
10
10
  import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
11
11
  import { r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-BycKYSU0.js";
@@ -2,7 +2,7 @@
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
4
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
5
- import { n as useDataSinks, t as useDataSinkData } from "./useObservability-Cps9Y9a3.js";
5
+ import { n as useDataSinks, t as useDataSinkData } from "./useObservability-n7Qdc8Xg.js";
6
6
  import { c as prettyJson, r as formatTimestamp, t as formatBytes } from "./utils-C0dtnN4R.js";
7
7
  import { useEffect, useMemo, useState } from "react";
8
8
  import { Icon } from "@iconify/react";
@@ -11,9 +11,9 @@ import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
11
11
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
12
12
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
13
13
  import { t as ConfirmActionDialog } from "./ConfirmActionDialog-D9Pir3bc.js";
14
- import { t as Disclosure } from "./Disclosure-DQiUKrqd.js";
15
- import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
16
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
14
+ import { t as Disclosure } from "./Disclosure-CsxDspR7.js";
15
+ import { t as RunActionsMenu } from "./RunActionsMenu-BZY4NreS.js";
16
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
17
17
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
18
18
  import { useNavigate } from "react-router";
19
19
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -13,8 +13,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
13
13
  * The content is rendered only while open (closed inputs are not focusable).
14
14
  * Whatever the content edits lives in the Runs store, so closing never loses a
15
15
  * value, and callers open it from the start when a value inside is set.
16
+ * Content that keeps unsaved state of its own (a half-built condition, a value
17
+ * still being typed) goes in `keptContent` instead: it stays mounted, hidden,
18
+ * while the disclosure is closed.
16
19
  */
17
- function Disclosure({ closedLabel, openLabel, children, defaultOpen = false, className, "data-testid": testId }) {
20
+ function Disclosure({ closedLabel, openLabel, children, keptContent, defaultOpen = false, className, "data-testid": testId }) {
18
21
  const [open, setOpen] = useState(defaultOpen);
19
22
  const panelId = useId();
20
23
  return /* @__PURE__ */ jsxs("div", {
@@ -30,10 +33,11 @@ function Disclosure({ closedLabel, openLabel, children, defaultOpen = false, cla
30
33
  icon: open ? "mdi:chevron-down" : "mdi:chevron-right",
31
34
  width: 16
32
35
  }), open ? openLabel : closedLabel]
33
- }), open && /* @__PURE__ */ jsx("div", {
36
+ }), (open || keptContent !== void 0) && /* @__PURE__ */ jsxs("div", {
34
37
  id: panelId,
35
38
  className: "mt-2",
36
- children
39
+ hidden: !open,
40
+ children: [open && children, keptContent]
37
41
  })]
38
42
  });
39
43
  }
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
- import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-9mQYNpiP.js";
3
+ import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-BUSM-z_7.js";
4
4
  import { n as formatRunVersion, r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-BycKYSU0.js";
5
5
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
6
6
  import { c as RunLogAppendedDocument, l as RunLogsDocument, s as isAgentNodeType } from "./agent-form-D0uLvzx4.js";
7
- import { C as describeRunStep, S as describeRunError, Xt as nodeStateDurationMs, Yt as formatElapsedMs, Zt as runDurationMs, dn as canSignalRun, gn as runSignalTargets, pn as durableInterfaceOf } from "./FluidGridsProvider-gB2POEu6.js";
7
+ import { C as describeRunStep, S as describeRunError, Xt as nodeStateDurationMs, Yt as formatElapsedMs, Zt as runDurationMs, dn as canSignalRun, gn as runSignalTargets, pn as durableInterfaceOf } from "./FluidGridsProvider-DQP7gPxN.js";
8
8
  import { n as useFgAskable, r as useFgAskableSelection } from "./askAboutBridge-BV8m95kk.js";
9
9
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
10
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
11
- import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-BvldyVgF.js";
12
- import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
10
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
11
+ import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-DSZisQHk.js";
12
+ import { t as RunActionsMenu } from "./RunActionsMenu-BZY4NreS.js";
13
13
  import { n as getFluidGridsClient, r as getFluidGridsClientSafe } from "./client-Ctl4jmY3.js";
14
14
  import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
15
15
  import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
@@ -22,14 +22,14 @@ import { _ as agentLiveReplyState, a as canSaveRunAsTestCase, g as useAgentToken
22
22
  import { t as WorkflowProposalCard } from "./WorkflowProposalCard-SmRv_Egf.js";
23
23
  import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
24
24
  import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-DA91XKVj.js";
25
- import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-DoxQsQIm.js";
25
+ import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-Bxs6LrME.js";
26
26
  import { $P as VersioningBehavior, L as AgentStepKind, LI as WorkflowUpdateWaitFor, jd as ErrorType, yI as WorkflowQueryRejectCondition } from "./graphql-types-C5Tr6508.js";
27
27
  import { a as formatTokens, d as formatMicroUsd, o as modelLabel, r as aiCost } from "./ai-usage-D7SjIkUZ.js";
28
28
  import { _ as useWorkflowTestsEnabled, l as useDurableFunctionNodesEnabled, m as usePhaseCFlags, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
29
29
  import { A as revokeSignalToken, B as updateActivityOptions, D as resetActivities, E as queryRun, N as sendRunUpdate, O as resetRun, R as unpauseActivities, S as fetchSignalTokens, V as upsertRunSearchAttributes, _ as fetchPauseRules, b as fetchRunUpdate, d as failActivityById, g as fetchCodecServerSettings, i as completeActivityById, k as resetRunToLastCleanTask, s as createSignalToken, v as fetchRunControlFields, w as pauseActivities, y as fetchRunHistoryArchive } from "./api-CEnNq15C.js";
30
30
  import { a as fetchTaskQueueStats } from "./api-DKfMt0IX.js";
31
31
  import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, l as parseJsonObjectInput, n as JsonBlock, o as StatusPill, r as JsonField, s as newRunControlId, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
32
- import { v as useWorkflowVersions } from "./useWorkflows-Z4M64JlD.js";
32
+ import { v as useWorkflowVersions } from "./useWorkflows-BY5b8r9n.js";
33
33
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
34
34
  import { Link, useNavigate, useParams, useSearchParams } from "react-router";
35
35
  import { Icon } from "@iconify/react";
@@ -1,22 +1,22 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { g as useExecutionsStore, h as DEFAULT_EXECUTIONS_FILTER } from "./config-X97zrIvn.js";
4
- import { b as validateDateRange, c as EMPTY_SEARCH_FILTER, d as searchFilterConflicts, i as useExecutionStats, l as OPERATORS_BY_TYPE, o as useExecutionsWithStore, r as useExecutionActions, t as useAutoRefresh, u as buildSearchAttributeFilter } from "./useExecutions-BvldyVgF.js";
4
+ import { b as validateDateRange, c as EMPTY_SEARCH_FILTER, d as searchFilterConflicts, i as useExecutionStats, l as OPERATORS_BY_TYPE, o as useExecutionsWithStore, r as useExecutionActions, t as useAutoRefresh, u as buildSearchAttributeFilter } from "./useExecutions-DSZisQHk.js";
5
5
  import { m as usePhaseCFlags, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
6
6
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
7
7
  import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
8
8
  import { t as executionsControls } from "./pageControlSpecs-DZJ9K37m.js";
9
9
  import { t as TagFilterSelect } from "./TagFilterSelect-CAShgvbS.js";
10
10
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
11
- import { a as useRunStatusCounts, c as errorAdvice, f as runStatusLabels, o as ConfirmStopRunDialog, p as RUN_STATUS_CONFIG, s as ADVICE_ERROR_TYPES, u as ExecutionStatusBadge } from "./useDurableParity-9mQYNpiP.js";
12
- import { t as Disclosure } from "./Disclosure-DQiUKrqd.js";
11
+ import { a as useRunStatusCounts, c as errorAdvice, f as runStatusLabels, o as ConfirmStopRunDialog, p as RUN_STATUS_CONFIG, s as ADVICE_ERROR_TYPES, u as ExecutionStatusBadge } from "./useDurableParity-BUSM-z_7.js";
12
+ import { t as Disclosure } from "./Disclosure-CsxDspR7.js";
13
13
  import { n as formatRunVersion } from "./run-display-BycKYSU0.js";
14
- import { Yt as formatElapsedMs, Zt as runDurationMs } from "./FluidGridsProvider-gB2POEu6.js";
14
+ import { Yt as formatElapsedMs, Zt as runDurationMs } from "./FluidGridsProvider-DQP7gPxN.js";
15
15
  import { r as useRunHumanRequests } from "./useHumanRequests-DwG2tQ3f.js";
16
16
  import { n as runListLinkKey, t as runListFilterFromSearch } from "./run-list-links-DZ8Q5l35.js";
17
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
18
- import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
19
- import { h as useWorkflowDefinitions } from "./useWorkflows-Z4M64JlD.js";
17
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
18
+ import { t as RunActionsMenu } from "./RunActionsMenu-BZY4NreS.js";
19
+ import { h as useWorkflowDefinitions } from "./useWorkflows-BY5b8r9n.js";
20
20
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
21
21
  import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
22
22
  import { C as jsonArg, F as startBatchOperation, I as startBatchTerminate, P as startBatchExport, m as fetchBatchOperations, n as cancelBatchOperation, p as fetchBatchOperation, x as fetchSearchAttributes } from "./api-CEnNq15C.js";
@@ -355,7 +355,7 @@ function FailedNodeTypeChip({ nodeType, onClear }) {
355
355
  })]
356
356
  });
357
357
  }
358
- function ExecutionFilters({ workflows = [], onRefresh }) {
358
+ function ExecutionFilters({ workflows = [], onRefresh, moreFilters, moreFiltersActive = 0, onClearMoreFilters }) {
359
359
  const tr = useTr();
360
360
  const v2 = useNavigationV2();
361
361
  const statusOptions = useMemo(() => [
@@ -502,8 +502,13 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
502
502
  });
503
503
  }, [setDateRange]);
504
504
  const parityEnabled = useDurableParityEnabled();
505
- const activeFiltersCount = countActiveFilters(filter, parityEnabled);
506
- const hasMoreFiltersSet = filter.tagId !== "" || filter.triggerType !== "all" || filter.errorType !== "all" || filter.nodeId !== "" || filter.failedNodeType !== "" || filter.durationMinSeconds !== null || filter.durationMaxSeconds !== null || filter.dateRange.preset === "custom";
505
+ const pageFiltersActive = v2 ? moreFiltersActive : 0;
506
+ const activeFiltersCount = countActiveFilters(filter, parityEnabled) + pageFiltersActive;
507
+ const hasMoreFiltersSet = filter.tagId !== "" || filter.triggerType !== "all" || filter.errorType !== "all" || filter.nodeId !== "" || filter.failedNodeType !== "" || filter.durationMinSeconds !== null || filter.durationMaxSeconds !== null || filter.dateRange.preset === "custom" || parityEnabled && filter.workflowId.trim() !== "" || pageFiltersActive > 0;
508
+ const clearFilters = () => {
509
+ resetFilters();
510
+ if (v2) onClearMoreFilters?.();
511
+ };
507
512
  const assistantControls = useMemo(() => executionsControls({
508
513
  page: tr("fluidgrids.executions.executionsList.title", "Executions"),
509
514
  search: setSearchQuery,
@@ -617,6 +622,11 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
617
622
  closedLabel: tr("fluidgrids.executions.executionFilters.moreFilters", "More filters"),
618
623
  openLabel: tr("fluidgrids.executions.executionFilters.fewerFilters", "Fewer filters"),
619
624
  defaultOpen: hasMoreFiltersSet,
625
+ keptContent: moreFilters === void 0 ? void 0 : /* @__PURE__ */ jsx("div", {
626
+ className: "mt-3 flex flex-col gap-3",
627
+ "data-testid": "runs-more-filters-page-rows",
628
+ children: moreFilters
629
+ }),
620
630
  "data-testid": "runs-more-filters",
621
631
  children: /* @__PURE__ */ jsxs("div", {
622
632
  className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-5",
@@ -895,7 +905,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
895
905
  }), activeFiltersCount > 0 && /* @__PURE__ */ jsxs(Button$1, {
896
906
  variant: "ghost",
897
907
  size: "sm",
898
- onClick: resetFilters,
908
+ onClick: clearFilters,
899
909
  className: "gap-1.5",
900
910
  children: [/* @__PURE__ */ jsx(Icon, {
901
911
  icon: "mdi:filter-remove",
@@ -2332,7 +2342,7 @@ const OPERATOR_LABELS = {
2332
2342
  STARTS_WITH: "starts with",
2333
2343
  CONTAINS: "contains"
2334
2344
  };
2335
- function SearchAttributeFilterBar({ applied, onApply, conflicts }) {
2345
+ function SearchAttributeFilterBar({ applied, onApply, conflicts, className }) {
2336
2346
  const tr = useTr();
2337
2347
  const definitions = useResource("search-attributes", true, fetchSearchAttributes);
2338
2348
  const [state, setState] = useState(EMPTY_SEARCH_FILTER);
@@ -2366,7 +2376,7 @@ function SearchAttributeFilterBar({ applied, onApply, conflicts }) {
2366
2376
  }));
2367
2377
  };
2368
2378
  return /* @__PURE__ */ jsxs("section", {
2369
- className: "mb-4 space-y-3 rounded-lg border border-border-default bg-surface p-3",
2379
+ className: cn("mb-4 space-y-3 rounded-lg border border-border-default bg-surface p-3", className),
2370
2380
  "data-testid": "search-attribute-filter",
2371
2381
  children: [
2372
2382
  /* @__PURE__ */ jsxs("div", {
@@ -3057,7 +3067,7 @@ const RUN_STATUSES = [
3057
3067
  function isRunStatus(value) {
3058
3068
  return RUN_STATUSES.includes(value);
3059
3069
  }
3060
- function RunsParityBar({ workflowId, onWorkflowIdChange, total, counts, countsError, selectedStatus, onSelectStatus }) {
3070
+ function RunsParityBar({ workflowId, onWorkflowIdChange, total, counts, countsError, selectedStatus, onSelectStatus, className }) {
3061
3071
  const tr = useTr();
3062
3072
  const statusLabels = runStatusLabels(tr);
3063
3073
  const [draft, setDraft] = useState(workflowId);
@@ -3075,7 +3085,7 @@ function RunsParityBar({ workflowId, onWorkflowIdChange, total, counts, countsEr
3075
3085
  ]);
3076
3086
  return /* @__PURE__ */ jsxs("div", {
3077
3087
  "data-testid": "runs-parity-bar",
3078
- className: "mb-6 flex flex-col gap-3 lg:flex-row lg:items-center",
3088
+ className: cn("mb-6 flex flex-col gap-3 lg:flex-row lg:items-center", className),
3079
3089
  children: [/* @__PURE__ */ jsxs("label", {
3080
3090
  className: "flex min-w-0 items-center gap-2 text-sm text-text-secondary lg:w-80",
3081
3091
  children: [
@@ -3158,6 +3168,11 @@ function ExecutionsListPage() {
3158
3168
  const parityEnabled = useDurableParityEnabled();
3159
3169
  const phaseC = usePhaseCFlags();
3160
3170
  const [searchFilter, setSearchFilter] = useState(null);
3171
+ const [searchFilterBuilderKey, setSearchFilterBuilderKey] = useState(0);
3172
+ const clearSearchFilter = () => {
3173
+ setSearchFilter(null);
3174
+ setSearchFilterBuilderKey((key) => key + 1);
3175
+ };
3161
3176
  const [allMatching, setAllMatching] = useState(false);
3162
3177
  const [batchType, setBatchType] = useState(null);
3163
3178
  const [batchDrawer, setBatchDrawer] = useState(null);
@@ -3354,6 +3369,17 @@ function ExecutionsListPage() {
3354
3369
  label: viewLabel(mode),
3355
3370
  onSelect: () => setViewMode(mode)
3356
3371
  }));
3372
+ const showBatchJobs = phaseC.runControl && selection.runIds.length === 0;
3373
+ const batchJobsLabel = tr("fluidgrids.runControl.batch.jobs", "Batch jobs");
3374
+ const openBatchJobs = () => setBatchDrawer({ job: null });
3375
+ const headerMenuItems = showBatchJobs ? [...viewMenuItems, {
3376
+ id: "batch-jobs",
3377
+ icon: "mdi:layers-triple-outline",
3378
+ label: batchJobsLabel,
3379
+ onSelect: openBatchJobs,
3380
+ separatorBefore: true,
3381
+ testId: "batch-jobs-button"
3382
+ }] : viewMenuItems;
3357
3383
  const viewMenuToggles = [{
3358
3384
  id: "details",
3359
3385
  label: tr("fluidgrids.executions.executionsList.showRunDetails", "Show run details and bulk actions"),
@@ -3361,6 +3387,23 @@ function ExecutionsListPage() {
3361
3387
  onCheckedChange: setShowDetails
3362
3388
  }];
3363
3389
  const filtersActive = countActiveFilters(filter, parityEnabled) > 0 || searchFilter !== null;
3390
+ const parityBar = parityEnabled ? /* @__PURE__ */ jsx(RunsParityBar, {
3391
+ workflowId: filter.workflowId,
3392
+ onWorkflowIdChange: setWorkflowIdFilter,
3393
+ total: statusCounts.total,
3394
+ counts: statusCounts.counts,
3395
+ countsError: statusCounts.error,
3396
+ selectedStatus: filter.status,
3397
+ onSelectStatus: handleFilterByStatus,
3398
+ className: v2 ? "mb-0" : void 0
3399
+ }) : null;
3400
+ const searchAttributeBar = phaseC.searchAttributes ? /* @__PURE__ */ jsx(SearchAttributeFilterBar, {
3401
+ applied: searchFilter,
3402
+ onApply: setSearchFilter,
3403
+ conflicts: searchFilter ? searchFilterConflicts(input) : [],
3404
+ className: v2 ? "mb-0" : void 0
3405
+ }, searchFilterBuilderKey) : null;
3406
+ const moreFilterRows = v2 && (parityBar || searchAttributeBar) ? /* @__PURE__ */ jsxs(Fragment$1, { children: [parityBar, searchAttributeBar] }) : void 0;
3364
3407
  const showEmptyState = v2 && !loading && !error && executions.length === 0;
3365
3408
  const scopedWorkflowName = workflowKeyParam ? workflowNames[workflowKeyParam] ?? workflowKeyParam : null;
3366
3409
  const showAllWorkflows = () => {
@@ -3393,7 +3436,7 @@ function ExecutionsListPage() {
3393
3436
  ] }), /* @__PURE__ */ jsxs("div", {
3394
3437
  className: "flex flex-wrap items-center gap-3",
3395
3438
  children: [v2 ? /* @__PURE__ */ jsx(RunActionsMenu, {
3396
- items: viewMenuItems,
3439
+ items: headerMenuItems,
3397
3440
  toggles: viewMenuToggles,
3398
3441
  label: tr("fluidgrids.executions.executionsList.moreOptions", "More options"),
3399
3442
  "data-testid": "runs-view-menu"
@@ -3474,35 +3517,26 @@ function ExecutionsListPage() {
3474
3517
  "data-tour": "fluidgrids-runs-filters",
3475
3518
  children: /* @__PURE__ */ jsx(ExecutionFilters, {
3476
3519
  workflows: workflowOptions,
3477
- onRefresh: refetch
3520
+ onRefresh: refetch,
3521
+ moreFilters: moreFilterRows,
3522
+ moreFiltersActive: phaseC.searchAttributes && searchFilter !== null ? 1 : 0,
3523
+ onClearMoreFilters: clearSearchFilter
3478
3524
  })
3479
3525
  }),
3480
- parityEnabled && /* @__PURE__ */ jsx(RunsParityBar, {
3481
- workflowId: filter.workflowId,
3482
- onWorkflowIdChange: setWorkflowIdFilter,
3483
- total: statusCounts.total,
3484
- counts: statusCounts.counts,
3485
- countsError: statusCounts.error,
3486
- selectedStatus: filter.status,
3487
- onSelectStatus: handleFilterByStatus
3488
- }),
3489
- phaseC.searchAttributes && /* @__PURE__ */ jsx(SearchAttributeFilterBar, {
3490
- applied: searchFilter,
3491
- onApply: setSearchFilter,
3492
- conflicts: searchFilter ? searchFilterConflicts(input) : []
3493
- }),
3494
- phaseC.runControl && selection.runIds.length === 0 && /* @__PURE__ */ jsx("div", {
3526
+ !v2 && parityBar,
3527
+ !v2 && searchAttributeBar,
3528
+ !v2 && showBatchJobs && /* @__PURE__ */ jsx("div", {
3495
3529
  className: "mb-4 flex justify-end",
3496
3530
  children: /* @__PURE__ */ jsxs(Button$1, {
3497
3531
  variant: "ghost",
3498
3532
  size: "sm",
3499
- onClick: () => setBatchDrawer({ job: null }),
3533
+ onClick: openBatchJobs,
3500
3534
  "data-testid": "batch-jobs-button",
3501
3535
  children: [/* @__PURE__ */ jsx(Icon, {
3502
3536
  icon: "mdi:layers-triple-outline",
3503
3537
  className: "mr-1",
3504
3538
  width: 14
3505
- }), tr("fluidgrids.runControl.batch.jobs", "Batch jobs")]
3539
+ }), batchJobsLabel]
3506
3540
  })
3507
3541
  }),
3508
3542
  selection.runIds.length > 0 && (!v2 || canExecuteRuns) && /* @__PURE__ */ jsxs("div", {
@@ -3623,7 +3657,7 @@ function ExecutionsListPage() {
3623
3657
  showEmptyState && /* @__PURE__ */ jsx(RunsEmptyState, {
3624
3658
  filtered: filtersActive,
3625
3659
  onClearFilters: () => {
3626
- setSearchFilter(null);
3660
+ clearSearchFilter();
3627
3661
  resetFilters();
3628
3662
  },
3629
3663
  onOpenWorkflows: () => navigate("../list"),
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  import { a as resetFluidGridsClient, n as getFluidGridsClient, o as setFluidGridsClient, r as getFluidGridsClientSafe, s as waitForFluidGridsClient, t as createFluidGridsClient } from "./client-Ctl4jmY3.js";
3
3
  import { a as setGlobalStoreClient, i as resetGlobalStoreClient, n as getGlobalStoreClient, t as createGlobalStoreClient } from "./global-client-DP_Wxe5t.js";
4
- import { A as NodeTypeIcon, C as outputHandlesSpacerHeight, D as NodeCardBody, E as NodeCard, M as useFlowStore, O as NodeCardHeader, P as isNodeTrigger, S as nodeAdaptersOf, T as resolveOutputHandles, _ as InputHandles, b as hasNodeManifest, g as LogicNodeCard, i as WAIT_FOR_SIGNAL_NODE_TYPE, k as nodeAccent, l as interfaceFields, m as readSignalName, n as synchronizeOperationUpdate, p as readCodeWorkflowState, r as CODE_WORKFLOW_NODE_TYPE, t as resolveOperationName, u as interfaceHandlers, v as OutputHandles, w as resolveInputHandles, y as alignPlainOutputEdges } from "./node-operation-selection-Czeeb2D4.js";
4
+ import { A as useFlowStore, C as outputHandlesSpacerHeight, D as NodeCardBody, E as NodeCard, M as isNodeTrigger, O as NodeCardHeader, S as nodeAdaptersOf, T as resolveOutputHandles, _ as InputHandles, b as hasNodeManifest, g as LogicNodeCard, i as WAIT_FOR_SIGNAL_NODE_TYPE, k as nodeAccent, l as interfaceFields, m as readSignalName, n as synchronizeOperationUpdate, p as readCodeWorkflowState, r as CODE_WORKFLOW_NODE_TYPE, t as resolveOperationName, u as interfaceHandlers, v as OutputHandles, w as resolveInputHandles, y as alignPlainOutputEdges } from "./node-operation-selection-BGj5YwAS.js";
5
5
  import { n as useBuilderReadOnly } from "./read-only-context-Dt9N9SIG.js";
6
6
  import { a as resolveStickyColor, i as partitionStickyNotes, l as STICKY_NOTE_TYPE, n as STICKY_COLORS, o as stickySurfaceStyle, t as DEFAULT_STICKY_COLOR } from "./sticky-notes-23j-wL6Q.js";
7
7
  import { n as FluidGridsTranslationProvider, r as useTr, t as ENGLISH_FALLBACK_TRANSLATOR } from "./TranslationBridge-Da-TPgQm.js";
8
+ import { t as NodeTypeIcon } from "./node-type-icon-D28t8I64.js";
8
9
  import { l as useDurableFunctionNodesEnabled } from "./feature-flags-B_b8PJ6Z.js";
9
10
  import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
10
11
  import { t as WorkflowDefinitionDocument } from "./WorkflowDefinitionDocument-DZLbTPUZ.js";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
- import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-Z4M64JlD.js";
3
+ import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-BY5b8r9n.js";
4
4
  import { t as VersionDiffDialog } from "./VersionDiffDialog-D9W5Fm56.js";
5
5
  import { c as versionsOfWorkflow } from "./VersionLifecycleBar-DuphLOT0.js";
6
6
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
@@ -2,8 +2,8 @@
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
4
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
5
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
6
- import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-Cps9Y9a3.js";
5
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
6
+ import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-n7Qdc8Xg.js";
7
7
  import { a as getTopFailingNodes, i as getFailureBreakdown, l as rankedFailingWorkflows, n as formatDuration, o as getTopFailingWorkflows, s as percentage, u as summarySuccessRate } from "./utils-C0dtnN4R.js";
8
8
  import { n as FailureTriagePanel } from "./FailureTriagePanel-DA91XKVj.js";
9
9
  import { c as useContinuousOptimisationEnabled } from "./feature-flags-B_b8PJ6Z.js";
@@ -5,6 +5,7 @@ import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
5
5
  import { t as PublishCustomNodeAction } from "./PublishCustomNodeAction-OOY35dUv.js";
6
6
  import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
7
7
  import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
8
+ import { t as NodeTypeIcon } from "./node-type-icon-D28t8I64.js";
8
9
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
9
10
  import { useNavigate } from "react-router";
10
11
  import { Icon } from "@iconify/react";
@@ -340,10 +341,10 @@ function NodeCard({ node, category, v2 }) {
340
341
  className: "flex items-start justify-between gap-2 mb-3",
341
342
  children: [/* @__PURE__ */ jsx("div", {
342
343
  className: "rounded-lg bg-surface-sunken p-2",
343
- children: /* @__PURE__ */ jsx(Icon, {
344
- icon: node.icon ?? node.favicon ?? "mdi:puzzle",
345
- width: 22,
346
- className: "text-text-primary"
344
+ children: /* @__PURE__ */ jsx(NodeTypeIcon, {
345
+ icon: node.icon ?? node.favicon,
346
+ fallbackIcon: "mdi:puzzle",
347
+ className: "size-[22px] text-text-primary"
347
348
  })
348
349
  }), /* @__PURE__ */ jsxs(Badge, {
349
350
  variant: "outline",
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
- import { n as formatTemplatePrice } from "./TemplateCard-lKGodHU8.js";
3
+ import { n as formatTemplatePrice } from "./TemplateCard-UnjAFsS4.js";
4
4
  import { t as ConfirmActionDialog } from "./ConfirmActionDialog-D9Pir3bc.js";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
- import { in as useFluidGridsAnalytics } from "./FluidGridsProvider-gB2POEu6.js";
3
+ import { in as useFluidGridsAnalytics } from "./FluidGridsProvider-DQP7gPxN.js";
4
4
  import { c as emitWorkflowLimitHit, o as emitUpgradeClicked } from "./fluidgridsEvents-Dm5CaHtr.js";
5
5
  import { i as WORKFLOWS_QUOTA_NAME } from "./quota-Cdt8yz7N.js";
6
6
  import { useEffect, useRef } from "react";
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
+ import { Fragment } from "react";
3
4
  import { Icon } from "@iconify/react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "@burdenoff/fe-libs/ui";
@@ -8,9 +9,10 @@ import { Button as Button$1 } from "@burdenoff/fe-libs/button";
8
9
  // src/modules/executions/components/RunActionsMenu.tsx
9
10
  /**
10
11
  * The "⋯" menu of a run's or row's extra actions (BOFF-11846): Pause,
11
- * Terminate, Test again, Open in editor, Live updates. A local stand-in for
12
- * the shared "More" menu BOFF-11841 will provide, built on fe-libs' dropdown
13
- * menu; the props are plain data so that component can replace it.
12
+ * Terminate, Test again, Open in editor, Live updates; on the Runs list, the
13
+ * views and Batch jobs. A local stand-in for the shared "More" menu
14
+ * BOFF-11841 will provide, built on fe-libs' dropdown menu; the props are
15
+ * plain data so that component can replace it.
14
16
  */
15
17
  function RunActionsMenu({ items, toggles = [], label, "data-testid": testId = "run-actions-menu" }) {
16
18
  const tr = useTr();
@@ -32,17 +34,17 @@ function RunActionsMenu({ items, toggles = [], label, "data-testid": testId = "r
32
34
  }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
33
35
  align: "end",
34
36
  children: [
35
- items.map((item) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
37
+ items.map((item) => /* @__PURE__ */ jsxs(Fragment, { children: [item.separatorBefore && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), /* @__PURE__ */ jsxs(DropdownMenuItem, {
36
38
  disabled: item.disabled,
37
39
  onSelect: item.onSelect,
38
- "data-testid": `${testId}-${item.id}`,
40
+ "data-testid": item.testId ?? `${testId}-${item.id}`,
39
41
  className: item.destructive ? "text-[var(--color-status-error-text)]" : "",
40
42
  children: [item.icon && /* @__PURE__ */ jsx(Icon, {
41
43
  icon: item.icon,
42
44
  width: 16,
43
45
  className: "mr-2"
44
46
  }), item.label]
45
- }, item.id)),
47
+ })] }, item.id)),
46
48
  items.length > 0 && toggles.length > 0 && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
47
49
  toggles.map((toggle) => /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
48
50
  checked: toggle.checked,
@@ -7,8 +7,8 @@ import { a as useRunners, i as useRunnerActions, r as runnerInstallCommand, t as
7
7
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
8
8
  import { t as ConfirmActionDialog } from "./ConfirmActionDialog-D9Pir3bc.js";
9
9
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
10
- import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
11
- import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
10
+ import { t as RunActionsMenu } from "./RunActionsMenu-BZY4NreS.js";
11
+ import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
12
12
  import { useCallback, useRef, useState } from "react";
13
13
  import { Icon } from "@iconify/react";
14
14
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -11,11 +11,11 @@ import { d as useFluidGridsFlag, m as usePhaseCFlags, t as FLUIDGRIDS_FLAGS, u a
11
11
  import { M as saveCodecServerSettings, _ as fetchPauseRules, a as createPauseRule, c as deletePauseRule, f as fetchArchiveSettings, g as fetchCodecServerSettings, j as saveArchiveSettings, l as deleteSearchAttribute, o as createSearchAttribute, r as clearArchiveSettings, x as fetchSearchAttributes } from "./api-CEnNq15C.js";
12
12
  import { i as NativeSelect, o as StatusPill, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
13
13
  import { OI as WorkflowSearchAttributeType } from "./graphql-types-C5Tr6508.js";
14
- import { M as useFlowStore } from "./node-operation-selection-Czeeb2D4.js";
15
- import { Ut as findSaveConflict, yt as useSaveStatusStore } from "./FluidGridsProvider-gB2POEu6.js";
16
- import { a as useLogStreamDestinations, i as useLogStreamDestinationActions } from "./useObservability-Cps9Y9a3.js";
14
+ import { A as useFlowStore } from "./node-operation-selection-BGj5YwAS.js";
15
+ import { Ut as findSaveConflict, yt as useSaveStatusStore } from "./FluidGridsProvider-DQP7gPxN.js";
16
+ import { a as useLogStreamDestinations, i as useLogStreamDestinationActions } from "./useObservability-n7Qdc8Xg.js";
17
17
  import { n as useConnections } from "./useConnections-BlB0gbOB.js";
18
- import { Nt as useUpdateWorkflowDefinitionMutation, Rt as useWorkflowDefinitionQuery, Vt as useWorkflowDefinitionsQuery, n as useAgentDefinitions } from "./useAgentDefinitions-DoMEv0kS.js";
18
+ import { Nt as useUpdateWorkflowDefinitionMutation, Rt as useWorkflowDefinitionQuery, Vt as useWorkflowDefinitionsQuery, n as useAgentDefinitions } from "./useAgentDefinitions-CKZ7oDZD.js";
19
19
  import { a as formToInput$2, i as emptyAgentForm, n as agentToForm, o as grantDays, r as describeRule, t as AgentFormError } from "./agent-form-D0uLvzx4.js";
20
20
  import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
21
21
  import { n as getGlobalStoreClient } from "./global-client-DP_Wxe5t.js";
@@ -6061,7 +6061,7 @@ function GeneralTab() {
6061
6061
  children: /* @__PURE__ */ jsx(Input, {
6062
6062
  value: settings.workspaceName,
6063
6063
  readOnly: true,
6064
- className: "w-[250px] bg-surface border-border-default text-text-primary cursor-default"
6064
+ className: "w-[250px] bg-surface-sunken border-border-default text-text-secondary cursor-default"
6065
6065
  })
6066
6066
  }),
6067
6067
  /* @__PURE__ */ jsx(SettingRow, {
@@ -6070,7 +6070,7 @@ function GeneralTab() {
6070
6070
  children: /* @__PURE__ */ jsx(Input, {
6071
6071
  value: settings.defaultWorkflowPrefix,
6072
6072
  readOnly: true,
6073
- className: "w-[120px] bg-surface border-border-default text-text-primary cursor-default"
6073
+ className: "w-[120px] bg-surface-sunken border-border-default text-text-secondary cursor-default"
6074
6074
  })
6075
6075
  }),
6076
6076
  /* @__PURE__ */ jsx(SettingRow, {
@@ -6185,7 +6185,7 @@ function ExecutionTab({ workflowKey }) {
6185
6185
  children: [/* @__PURE__ */ jsx(Input, {
6186
6186
  value: settings.defaultTimeoutSeconds,
6187
6187
  readOnly: true,
6188
- className: "w-[100px] bg-surface border-border-default text-text-primary text-right cursor-default"
6188
+ className: "w-[100px] bg-surface-sunken border-border-default text-text-secondary text-right cursor-default"
6189
6189
  }), /* @__PURE__ */ jsx("span", {
6190
6190
  className: "text-xs text-text-secondary",
6191
6191
  children: tr("fluidgrids.settings.execution.defaultTimeoutUnit", "seconds")
@@ -6634,7 +6634,7 @@ function SettingsPage({ workflowKey: workflowKeyProp } = {}) {
6634
6634
  className: "w-full",
6635
6635
  children: [
6636
6636
  /* @__PURE__ */ jsxs(TabsList, {
6637
- className: "mb-6 h-auto max-w-full flex-wrap justify-start border border-border-default bg-surface",
6637
+ className: "mb-6 h-auto max-w-full flex-wrap justify-start border border-border-default bg-surface-sunken",
6638
6638
  "data-tour": "fluidgrids-settings-tabs",
6639
6639
  children: [
6640
6640
  /* @__PURE__ */ jsxs(TabsTrigger, {
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
- import { t as Disclosure } from "./Disclosure-DQiUKrqd.js";
3
+ import { t as Disclosure } from "./Disclosure-CsxDspR7.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
6
6
  // src/modules/executions/components/TechnicalDetails.tsx
@@ -3,7 +3,7 @@ import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
3
3
  import { o as throwIfResultError } from "./errors-xPZ-IbQd.js";
4
4
  import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
5
5
  import { n as getGlobalStoreClient } from "./global-client-DP_Wxe5t.js";
6
- import { c as ensureInstalledNodeTypesLoaded, d as ensureRegistryNodeTypesLoaded, i as AVAILABLE_NODES, in as useFluidGridsAnalytics, o as NODE_CONFIGS, t as FluidGridsContext, y as GetMyNodeInstallationsDocument } from "./FluidGridsProvider-gB2POEu6.js";
6
+ import { c as ensureInstalledNodeTypesLoaded, d as ensureRegistryNodeTypesLoaded, i as AVAILABLE_NODES, in as useFluidGridsAnalytics, o as NODE_CONFIGS, t as FluidGridsContext, y as GetMyNodeInstallationsDocument } from "./FluidGridsProvider-DQP7gPxN.js";
7
7
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
8
8
  import { o as isNodeTypeHiddenFromPalette } from "./durable-nodes-DXCCQYWD.js";
9
9
  import { h as usePhaseDFlags } from "./feature-flags-B_b8PJ6Z.js";
@@ -13,7 +13,7 @@ import { n as InstallWorkflowNodeDocument } from "./global-operations-7pvXw_j9.j
13
13
  import { t as cn } from "./cn-QqidFIgr.js";
14
14
  import { t as Button } from "./button-DG7y_FVJ.js";
15
15
  import { i as SdkPermissionButton, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
16
- import { t as useGlobalStoreClient } from "./useGlobalStoreClient-CpTRykJx.js";
16
+ import { t as useGlobalStoreClient } from "./useGlobalStoreClient-CXPqlK1M.js";
17
17
  import { r as templateInstallSource } from "./template-code-CobAYaeH.js";
18
18
  import { t as Badge } from "./badge-CXfPhoMH.js";
19
19
  import { t as templatePreview } from "./template-preview-C01KV277.js";
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
4
- import { t as FlowBuilderPage } from "./flow-builder-CErj7Fgi.js";
5
- import { _ as useInstalledNodes, a as buildNodeCheck, c as useImportWorkflowTemplate, i as useTemplateImportFlow, n as formatTemplatePrice, o as buildRequiredNodeTypes, r as isPaidTemplate } from "./TemplateCard-lKGodHU8.js";
6
- import { t as QuotaExhaustedDialog } from "./QuotaExhaustedDialog-BBK3aX_0.js";
4
+ import { t as FlowBuilderPage } from "./flow-builder-CJ00qt1Z.js";
5
+ import { _ as useInstalledNodes, a as buildNodeCheck, c as useImportWorkflowTemplate, i as useTemplateImportFlow, n as formatTemplatePrice, o as buildRequiredNodeTypes, r as isPaidTemplate } from "./TemplateCard-UnjAFsS4.js";
6
+ import { t as QuotaExhaustedDialog } from "./QuotaExhaustedDialog-nlnRlQ2i.js";
7
7
  import { n as WithOpenTemplateAsCode } from "./OpenTemplateAsCodeButton-BdcTxemq.js";
8
8
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
9
9
  import { i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
10
10
  import { t as BILLING_PLANS_PATH } from "./quota-Cdt8yz7N.js";
11
11
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
12
12
  import { t as describeOperationError } from "./errors-xPZ-IbQd.js";
13
- import { t as Disclosure } from "./Disclosure-DQiUKrqd.js";
13
+ import { t as Disclosure } from "./Disclosure-CsxDspR7.js";
14
14
  import { c as useVariables, t as useCreateVariable } from "./useVariables-DFdZofLQ.js";
15
- import { t as PaidTemplateConfirm } from "./PaidTemplateConfirm-BadoJJPx.js";
15
+ import { t as PaidTemplateConfirm } from "./PaidTemplateConfirm-CI6TDivO.js";
16
16
  import { useEffect, useMemo, useState } from "react";
17
17
  import { useLocation, useNavigate, useParams } from "react-router";
18
18
  import { Icon } from "@iconify/react";