@burdenoff/fluidgrids-fe-sdk 2026.1112.6 → 2026.1112.8

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 (80) hide show
  1. package/dist/{AiStudioPage-BSLdKT0H.js → AiStudioPage-CtgPSPyc.js} +5 -5
  2. package/dist/ConfirmActionDialog-D9Pir3bc.js +30 -0
  3. package/dist/{DataSinkDashboardPage-kyzcjpzL.js → DataSinkDashboardPage-Dt3xTBb8.js} +1 -1
  4. package/dist/DataTablesPage-2xTLe_jk.js +2880 -0
  5. package/dist/{EntityTagPicker-dxfzv8aO.js → EntityTagPicker-CuZAMby_.js} +1 -1
  6. package/dist/{ExecutionDetailPage-B9eEep77.js → ExecutionDetailPage-CL-w9c3L.js} +13 -12
  7. package/dist/{ExecutionsListPage-DuuPSVEj.js → ExecutionsListPage-Bf6Cvsnz.js} +9 -8
  8. package/dist/{FailureTriagePanel-D4lJ4zqQ.js → FailureTriagePanel-BjatYyAa.js} +1 -1
  9. package/dist/{FluidGridsProvider-B1hgCbxG.js → FluidGridsProvider-TQ-aDPtn.js} +3 -3
  10. package/dist/{HistoryPage-C7NwkVNC.js → HistoryPage-s9pl5gyl.js} +2 -2
  11. package/dist/{InsightsPage-D9B_qW8e.js → InsightsPage-CtjJCky-.js} +4 -4
  12. package/dist/{MissingNodesInstallModal-BkkgeFeN.js → MissingNodesInstallModal-BCbhddk4.js} +1 -1
  13. package/dist/{NodesPage-BEeUbIts.js → NodesPage-BSNpOUMX.js} +2 -2
  14. package/dist/OpenTemplateAsCodeButton-BgvgDaVe.js +94 -0
  15. package/dist/RunActionsMenu-DmO14hEE.js +106 -0
  16. package/dist/RunnersPage-CvAPHdfU.js +673 -0
  17. package/dist/{SettingsPage-k21044-Z.js → SettingsPage-ywyjIAL8.js} +6 -6
  18. package/dist/{TagFilterSelect-CqhxcDjh.js → TagFilterSelect-DcusTt1p.js} +1 -1
  19. package/dist/{TaskQueuesPage-B86p51gH.js → TaskQueuesPage-C2dkenVF.js} +2 -2
  20. package/dist/{TemplateCard-DanOe65C.js → TemplateCard-XBc0qEA4.js} +214 -13
  21. package/dist/{TemplateConfigurationModal-CeMpPEhT.js → TemplateConfigurationModal-Dl_7RaCt.js} +20 -11
  22. package/dist/{TemplateDetailPanel-DnoA6mC3.js → TemplateDetailPanel-0Cc6jguU.js} +1 -1
  23. package/dist/{TemplatePreview-BFMsDQif.js → TemplatePreview-CRLUX5yI.js} +23 -14
  24. package/dist/{TemplatesPage-C7f2xq12.js → TemplatesPage-wClKZLO4.js} +4 -4
  25. package/dist/{VersionDiffDialog-pLpG_I1r.js → VersionDiffDialog-c27yet_-.js} +1 -1
  26. package/dist/{WorkflowBuilder-B8PtcT0Q.js → WorkflowBuilder-CK6c0eRp.js} +8 -8
  27. package/dist/{WorkflowBuilder-D9W8hQTO.js → WorkflowBuilder-qRGFtXJG.js} +3 -3
  28. package/dist/{WorkflowProposalCard-BjYAZH3q.js → WorkflowProposalCard-BvmJ5ea8.js} +1 -1
  29. package/dist/{WorkflowSearchRedirect-iPQBL6WO.js → WorkflowSearchRedirect-BGKduhfZ.js} +1 -1
  30. package/dist/{WorkflowShareDialog-DB-qJLB2.js → WorkflowShareDialog-BRwTF9QB.js} +1 -1
  31. package/dist/{WorkflowsList-rOxlI49U.js → WorkflowsList-Bocag4TX.js} +9 -8
  32. package/dist/{agentTools-DlPHMfhA.js → agentTools-BkQsycAp.js} +3 -3
  33. package/dist/{api-JpNuowX4.js → api-Dw8nfVRD.js} +1 -1
  34. package/dist/{api-Dvitj1aT.js → api-m8hX_l2k.js} +1 -1
  35. package/dist/{canvasNoteTools-CkAsMSvt.js → canvasNoteTools-U7j1z7GR.js} +2 -2
  36. package/dist/{code-editor-field-yJZEDJBi.js → code-editor-field-CWGZyNGM.js} +1 -1
  37. package/dist/executions.js +2 -2
  38. package/dist/{feature-flags-DM5myWaD.js → feature-flags-B_b8PJ6Z.js} +63 -3
  39. package/dist/flags.d.ts +1 -1
  40. package/dist/flags.js +1 -1
  41. package/dist/{flow-builder-DUkCKl-S.js → flow-builder-9jDNwkID.js} +509 -296
  42. package/dist/{graphql-operation-types-z2oXfQvM.js → graphql-operation-types-DZVhCBEi.js} +250 -1
  43. package/dist/history.js +1 -1
  44. package/dist/{index-BcdtKBM-.d.ts → index-B4g88tCa.d.ts} +15 -1
  45. package/dist/{index-u-kM0seP.d.ts → index-rj-TznII.d.ts} +30 -2
  46. package/dist/index.d.ts +3 -3
  47. package/dist/index.js +34 -34
  48. package/dist/{node-detail-view-ApMQwQRQ.js → node-detail-view-C1yupyvL.js} +9 -9
  49. package/dist/{node-editor-tab-body-DIcmar84.js → node-editor-tab-body-BtxSQPtX.js} +3 -3
  50. package/dist/{node-endpoint-configs-typvqw2c.js → node-endpoint-configs-BI7zc8eM.js} +1 -1
  51. package/dist/nodes.js +1 -1
  52. package/dist/observability.d.ts +1 -1
  53. package/dist/observability.js +2 -2
  54. package/dist/{popover-DOeSGQOG.js → popover-BaYffpTw.js} +5 -2
  55. package/dist/{quick-config-panel-Pm5nkZVr.js → quick-config-panel-BvlhLiQp.js} +3 -3
  56. package/dist/{schedule-panel-Dizqz9eA.js → schedule-panel-D5VdzW2c.js} +8 -8
  57. package/dist/settings.js +1 -1
  58. package/dist/{sidebar-node-editor-BNub2vUq.js → sidebar-node-editor-BU4rJwvm.js} +3 -3
  59. package/dist/templates.js +2 -2
  60. package/dist/{useAgentDefinitions-Uy6nhpKN.js → useAgentDefinitions-B4sw7bLw.js} +1 -1
  61. package/dist/{useDurableParity-Cb9nOdE8.js → useDurableParity-B3h8jqP0.js} +5 -103
  62. package/dist/{useEntityTags-D5C0tdLs.js → useEntityTags-BpDeLhzV.js} +1 -1
  63. package/dist/{useExecutions-DJXtbA15.js → useExecutions-BbkBSYpS.js} +2 -2
  64. package/dist/{useObservability-Dfgh4yjv.js → useObservability-BASo2sA3.js} +1 -1
  65. package/dist/{useRunHistory-BZQ3t68Q.js → useRunHistory-C3Pv_SJW.js} +2 -2
  66. package/dist/useWorkflowCodeExport-k5Emm4ZS.js +226 -0
  67. package/dist/{useWorkflows-CP-d3ygY.js → useWorkflows-CRUlQBd3.js} +2 -2
  68. package/dist/workflow-builder.js +4 -4
  69. package/dist/workflow-code-transfer-Cshsgf2H.js +375 -0
  70. package/dist/workflow-host.d.ts +1 -1
  71. package/dist/workflow-host.js +1 -1
  72. package/dist/workflow-pages.d.ts +1 -1
  73. package/dist/workflow-pages.js +17 -17
  74. package/dist/workflow-transfer-CQnQC-ke.js +104 -0
  75. package/dist/workflows-list.js +1 -1
  76. package/package.json +1 -1
  77. package/dist/DataTablesPage-Dm-dzVPD.js +0 -1698
  78. package/dist/QuotaExhaustedDialog-Bj7AG_0y.js +0 -55
  79. package/dist/RunnersPage-D9Bgod_d.js +0 -467
  80. package/dist/useWorkflowCodeExport-D0zapXXm.js +0 -643
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
3
- import { d as useUntagEntity, s as useEntityTags, u as useTagEntity } from "./useEntityTags-D5C0tdLs.js";
3
+ import { d as useUntagEntity, s as useEntityTags, u as useTagEntity } from "./useEntityTags-BpDeLhzV.js";
4
4
  import { useCallback, useEffect, useRef, useState } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { TagBadge, TagsWidget } from "@burdenoff/fe-libs/tag";
@@ -1,31 +1,32 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
- import { c as TechnicalDetails, d as errorAdvice, f as needsReconnect, i as useRunPending, m as NodeStatusBadge, n as useDurableParityRunFields, o as ConfirmStopRunDialog, p as ExecutionStatusBadge, r as useRunMetadata, s as RunActionsMenu, t as setRunVersioningOverride } from "./useDurableParity-Cb9nOdE8.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-B3h8jqP0.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 { s as isAgentNodeType } from "./agent-form-Bfvm32j1.js";
7
- import { An as runSignalTargets, Dn as durableInterfaceOf, I as describeRunError, L as describeRunStep, Tn as canSignalRun, dn as runDurationMs, ln as formatElapsedMs, un as nodeStateDurationMs } from "./FluidGridsProvider-B1hgCbxG.js";
7
+ import { An as runSignalTargets, Dn as durableInterfaceOf, I as describeRunError, L as describeRunStep, Tn as canSignalRun, dn as runDurationMs, ln as formatElapsedMs, un as nodeStateDurationMs } from "./FluidGridsProvider-TQ-aDPtn.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 { _ 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-DJXtbA15.js";
10
+ import { n as TechnicalDetails, t as RunActionsMenu } from "./RunActionsMenu-DmO14hEE.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-BbkBSYpS.js";
11
12
  import { _ as throwIfResultError, m as describeOperationError, n as getFluidGridsClient, r as getFluidGridsClientSafe, x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
12
- import { Cn as RunLogsDocument, Zr as WorkflowRunHierarchyDocument, ft as ExplainRunDocument, o as AgentStepUpdatedDocument, pn as RunAiUsageDocument, s as AgentTraceDocument, xn as RunLogAppendedDocument } from "./graphql-operation-types-z2oXfQvM.js";
13
+ import { Cn as RunLogsDocument, Qr as WorkflowRunHierarchyDocument, ft as ExplainRunDocument, o as AgentStepUpdatedDocument, pn as RunAiUsageDocument, s as AgentTraceDocument, xn as RunLogAppendedDocument } from "./graphql-operation-types-DZVhCBEi.js";
13
14
  import { i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
14
- import { t as EntityTagPicker } from "./EntityTagPicker-dxfzv8aO.js";
15
+ import { t as EntityTagPicker } from "./EntityTagPicker-CuZAMby_.js";
15
16
  import { i as useRecipientLabel, n as channelLabel, r as ApprovalApprovers } from "./HumanRequestCard-lbWDpWd7.js";
16
17
  import { r as useRunHumanRequests } from "./useHumanRequests-ZiR0sSzS.js";
17
18
  import { a as encodedPayloadBytes, f as EffectBadge, h as useRunPolicyDecisions, i as decodePayloads, l as formatBudgetUsd, n as checkCodecServerUrl, o as isEncodedPayload, r as containsEncodedPayload, t as CodecServerError } from "./codec-client-CJ95Rmqo.js";
18
- import { n as useWorkflowProposal, o as canSaveRunAsTestCase, r as saveRunAsTestCase, t as WorkflowProposalCard } from "./WorkflowProposalCard-BjYAZH3q.js";
19
+ import { n as useWorkflowProposal, o as canSaveRunAsTestCase, r as saveRunAsTestCase, t as WorkflowProposalCard } from "./WorkflowProposalCard-BvmJ5ea8.js";
19
20
  import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
20
- import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-D4lJ4zqQ.js";
21
- import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-BZQ3t68Q.js";
21
+ import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-BjatYyAa.js";
22
+ import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-C3Pv_SJW.js";
22
23
  import { $P as VersioningBehavior, FI as WorkflowUpdateWaitFor, L as AgentStepKind, _I as WorkflowQueryRejectCondition, jd as ErrorType } from "./graphql-types-v6CTGwA0.js";
23
24
  import { a as formatTokens, d as formatMicroUsd, o as modelLabel, r as aiCost } from "./ai-usage-bmUn-gJP.js";
24
- import { c as useDurableParityEnabled, f as usePhaseCFlags, m as useWorkflowTestsEnabled, s as useDurableFunctionNodesEnabled } from "./feature-flags-DM5myWaD.js";
25
- 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-Dvitj1aT.js";
26
- import { a as fetchTaskQueueStats } from "./api-JpNuowX4.js";
25
+ import { _ as useWorkflowTestsEnabled, l as useDurableFunctionNodesEnabled, m as usePhaseCFlags, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
26
+ 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-m8hX_l2k.js";
27
+ import { a as fetchTaskQueueStats } from "./api-Dw8nfVRD.js";
27
28
  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-CMfn30xT.js";
28
- import { v as useWorkflowVersions } from "./useWorkflows-CP-d3ygY.js";
29
+ import { v as useWorkflowVersions } from "./useWorkflows-CRUlQBd3.js";
29
30
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
30
31
  import { Link, useNavigate, useParams, useSearchParams } from "react-router";
31
32
  import { Icon } from "@iconify/react";
@@ -1,24 +1,25 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { M as DEFAULT_EXECUTIONS_FILTER, N as useExecutionsStore, m as describeOperationError, n as getFluidGridsClient } from "./client-C9XSzSXr.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-DJXtbA15.js";
5
- import { c as useDurableParityEnabled, f as usePhaseCFlags } from "./feature-flags-DM5myWaD.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-BbkBSYpS.js";
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
- import { t as TagFilterSelect } from "./TagFilterSelect-CqhxcDjh.js";
9
+ import { t as TagFilterSelect } from "./TagFilterSelect-DcusTt1p.js";
10
10
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
11
- import { a as useRunStatusCounts, c as TechnicalDetails, d as errorAdvice, g as RUN_STATUS_CONFIG, h as runStatusLabels, l as Disclosure, o as ConfirmStopRunDialog, p as ExecutionStatusBadge, s as RunActionsMenu, u as ADVICE_ERROR_TYPES } from "./useDurableParity-Cb9nOdE8.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-B3h8jqP0.js";
12
+ import { n as TechnicalDetails, r as Disclosure, t as RunActionsMenu } from "./RunActionsMenu-DmO14hEE.js";
12
13
  import { n as formatRunVersion } from "./run-display-BycKYSU0.js";
13
- import { dn as runDurationMs, ln as formatElapsedMs } from "./FluidGridsProvider-B1hgCbxG.js";
14
+ import { dn as runDurationMs, ln as formatElapsedMs } from "./FluidGridsProvider-TQ-aDPtn.js";
14
15
  import { r as useRunHumanRequests } from "./useHumanRequests-ZiR0sSzS.js";
15
16
  import { n as runListLinkKey, t as runListFilterFromSearch } from "./run-list-links-eUhZB1ju.js";
16
- import { h as useWorkflowDefinitions } from "./useWorkflows-CP-d3ygY.js";
17
+ import { h as useWorkflowDefinitions } from "./useWorkflows-CRUlQBd3.js";
17
18
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
18
19
  import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
19
- 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-Dvitj1aT.js";
20
+ 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-m8hX_l2k.js";
20
21
  import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, o as StatusPill, r as JsonField, t as FieldError, u as useResource } from "./shared-CMfn30xT.js";
21
- import { Cr as WorkflowBatchOperationUpdatedDocument } from "./graphql-operation-types-z2oXfQvM.js";
22
+ import { Cr as WorkflowBatchOperationUpdatedDocument } from "./graphql-operation-types-DZVhCBEi.js";
22
23
  import { $F as WorkflowBatchOperationType, vI as WorkflowResetType } from "./graphql-types-v6CTGwA0.js";
23
24
  import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from "react";
24
25
  import { useNavigate, useSearchParams } from "react-router";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
3
  import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
4
- import { An as SetRunFailureTriageEnabledDocument, _n as RunFailureClustersDocument, et as DismissRunFailureClusterDocument, gt as FgTriageFailedRunsDocument, vn as RunFailureTriageSettingsDocument } from "./graphql-operation-types-z2oXfQvM.js";
4
+ import { An as SetRunFailureTriageEnabledDocument, _n as RunFailureClustersDocument, et as DismissRunFailureClusterDocument, gt as FgTriageFailedRunsDocument, vn as RunFailureTriageSettingsDocument } from "./graphql-operation-types-DZVhCBEi.js";
5
5
  import { qD as RunFailureClusterStatus } from "./graphql-types-v6CTGwA0.js";
6
6
  import { useCallback, useEffect, useState } from "react";
7
7
  import { Icon } from "@iconify/react";
@@ -4,12 +4,12 @@ import { C as resetFluidGridsConfig, E as validateTrustedOrigin, T as setFluidGr
4
4
  import { i as getGlobalStoreClient, o as resetGlobalStoreClient, r as createGlobalStoreClient, s as setGlobalStoreClient, t as provideNodeRegistryRefresh } from "./node-registry-refresh-Dy0uRg9f.js";
5
5
  import { A as nodeAccent, C as nodeAdaptersOf, D as NodeCard, E as resolveOutputHandles, H as useFlowStore, I as partitionStickyNotes, L as resolveStickyColor, N as DEFAULT_STICKY_COLOR, O as NodeCardBody, P as STICKY_COLORS, R as stickySurfaceStyle, T as resolveInputHandles, V as STICKY_NOTE_TYPE, W as isNodeTrigger, _ as LogicNodeCard, b as alignPlainOutputEdges, i as WAIT_FOR_SIGNAL_NODE_TYPE, j as NodeTypeIcon, k as NodeCardHeader, 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 InputHandles, w as outputHandlesSpacerHeight, x as hasNodeManifest, y as OutputHandles } from "./node-operation-selection-DAbS6jSY.js";
6
6
  import { n as FluidGridsTranslationProvider, r as useTr, t as ENGLISH_FALLBACK_TRANSLATOR } from "./TranslationBridge-Da-TPgQm.js";
7
- import { s as useDurableFunctionNodesEnabled } from "./feature-flags-DM5myWaD.js";
8
- import { Dn as SaveWorkflowDraftDocument, M as CreateWorkflowDefinitionDocument, Mt as NodePaletteEntriesDocument, Or as WorkflowDefinitionDocument, Yn as TriggerWorkflowDocument, ct as ExecutionDetailDocument, h as BuilderRunStatusDocument, jt as NodeManifestsDocument, m as BuilderRunNodeDetailsDocument, ot as EventRegistrationsDocument, st as ExecuteStepDocument, yn as RunFromNodeDocument, z as CreateWorkflowVersionDocument } from "./graphql-operation-types-z2oXfQvM.js";
7
+ import { l as useDurableFunctionNodesEnabled } from "./feature-flags-B_b8PJ6Z.js";
8
+ import { Dn as SaveWorkflowDraftDocument, M as CreateWorkflowDefinitionDocument, Mt as NodePaletteEntriesDocument, Or as WorkflowDefinitionDocument, Yn as TriggerWorkflowDocument, ct as ExecutionDetailDocument, h as BuilderRunStatusDocument, jt as NodeManifestsDocument, m as BuilderRunNodeDetailsDocument, ot as EventRegistrationsDocument, st as ExecuteStepDocument, yn as RunFromNodeDocument, z as CreateWorkflowVersionDocument } from "./graphql-operation-types-DZVhCBEi.js";
9
9
  import { a as collectExtensions, n as QUOTA_EXHAUSTED_CODE, o as errorCodesOf, r as RUNS_QUOTA_NAME, s as findQuotaRefusal } from "./quota-Cdt8yz7N.js";
10
10
  import { i as emitRunStarted, n as emitRunFailed, r as emitRunLimitHit, s as emitWorkflowCreated } from "./fluidgridsEvents-Dm5CaHtr.js";
11
11
  import { n as useFgAskable } from "./askAboutBridge-BV8m95kk.js";
12
- import { t as fetchAllNodeEndpointConfigs } from "./node-endpoint-configs-typvqw2c.js";
12
+ import { t as fetchAllNodeEndpointConfigs } from "./node-endpoint-configs-BI7zc8eM.js";
13
13
  import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
14
14
  import { useNavigate, useParams } from "react-router";
15
15
  import { ApolloProvider } from "@apollo/client/react";
@@ -1,7 +1,7 @@
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-CP-d3ygY.js";
4
- import { i as versionsOfWorkflow, t as VersionDiffDialog } from "./VersionDiffDialog-pLpG_I1r.js";
3
+ import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-CRUlQBd3.js";
4
+ import { i as versionsOfWorkflow, t as VersionDiffDialog } from "./VersionDiffDialog-c27yet_-.js";
5
5
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
6
6
  import { x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
7
7
  import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
- import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-Dfgh4yjv.js";
4
+ import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-BASo2sA3.js";
5
5
  import { a as getTopFailingWorkflows, i as getTopFailingNodes, n as formatDuration, o as percentage, r as getFailureBreakdown } from "./utils-uaL5UVxb.js";
6
- import { n as FailureTriagePanel } from "./FailureTriagePanel-D4lJ4zqQ.js";
7
- import { o as useContinuousOptimisationEnabled } from "./feature-flags-DM5myWaD.js";
6
+ import { n as FailureTriagePanel } from "./FailureTriagePanel-BjatYyAa.js";
7
+ import { c as useContinuousOptimisationEnabled } from "./feature-flags-B_b8PJ6Z.js";
8
8
  import { i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
9
9
  import { Cw as OptimisationSuggestionStatus, Sw as OptimisationKind, xw as OptimisationDismissReason } from "./graphql-types-v6CTGwA0.js";
10
10
  import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
11
- import { $ as DismissOptimisationSuggestionDocument, E as ContinuousOptimisationSettingsDocument, Ei as WorkspaceAiUsageDocument, In as SnoozeOptimisationSuggestionDocument, Kr as WorkflowProposalDocument, Lt as OptimisationSuggestionsDocument, Wt as ProposeOptimisationDocument, at as ErrorAnalyticsDocument, ht as FgRunOptimisationScanDocument, kn as SetContinuousOptimisationEnabledDocument } from "./graphql-operation-types-z2oXfQvM.js";
11
+ import { $ as DismissOptimisationSuggestionDocument, Di as WorkspaceAiUsageDocument, E as ContinuousOptimisationSettingsDocument, In as SnoozeOptimisationSuggestionDocument, Lt as OptimisationSuggestionsDocument, Wt as ProposeOptimisationDocument, at as ErrorAnalyticsDocument, ht as FgRunOptimisationScanDocument, kn as SetContinuousOptimisationEnabledDocument, qr as WorkflowProposalDocument } from "./graphql-operation-types-DZVhCBEi.js";
12
12
  import { a as formatTokens, c as DISMISS_REASONS, f as monthlySavingLabel, i as aiSpendPeriod, l as evidenceFacts, p as shortRunId, r as aiCost, s as runsOfWorkflowPath, t as AI_SPEND_RANGE_DAYS, u as evidenceWindowDays } from "./ai-usage-bmUn-gJP.js";
13
13
  import { i as utcDay, r as runListPath } from "./run-list-links-eUhZB1ju.js";
14
14
  import { t as proposalCanvasPath } from "./useRequestedProposal-B7uPXfZB.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { a as DialogFooter, i as DialogDescription, l as DialogTitle, o as DialogHeader, r as DialogContent, t as Dialog } from "./dialog-Cjb4lB4D.js";
3
3
  import { t as Button } from "./button-DG7y_FVJ.js";
4
- import { r as Badge } from "./TemplateCard-DanOe65C.js";
4
+ import { r as Badge } from "./TemplateCard-XBc0qEA4.js";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  import { AlertTriangle, CheckCircle2, Download, ExternalLink, Loader2, Puzzle, ShoppingCart } from "lucide-react";
7
7
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { n as getFluidGridsClient } from "./client-C9XSzSXr.js";
4
- import { t as fetchAllNodeEndpointConfigs } from "./node-endpoint-configs-typvqw2c.js";
5
- import { At as NodeManifestDocument, Ot as NodeEndpointConfigDocument, kt as NodeEndpointConfigsDocument } from "./graphql-operation-types-z2oXfQvM.js";
4
+ import { t as fetchAllNodeEndpointConfigs } from "./node-endpoint-configs-BI7zc8eM.js";
5
+ import { At as NodeManifestDocument, Ot as NodeEndpointConfigDocument, kt as NodeEndpointConfigsDocument } from "./graphql-operation-types-DZVhCBEi.js";
6
6
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
7
7
  import { t as PublishCustomNodeAction } from "./PublishCustomNodeAction-5XXnSA3H.js";
8
8
  import { useCallback, useEffect, useMemo, useState } from "react";
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ import { h as usePhaseDFlags } from "./feature-flags-B_b8PJ6Z.js";
3
+ import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
+ import { m as describeOperationError } from "./client-C9XSzSXr.js";
5
+ import { t as downloadBlob } from "./workflow-transfer-CQnQC-ke.js";
6
+ import { d as readTemplateCode, u as buildTemplateCodeDownload } from "./TemplateCard-XBc0qEA4.js";
7
+ import { useState } from "react";
8
+ import { Icon } from "@iconify/react";
9
+ import { cn } from "@burdenoff/fe-libs/utils";
10
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
+ import { toast } from "sonner";
12
+ import { Button } from "@burdenoff/fe-libs/ui";
13
+
14
+ // src/components/OpenTemplateAsCodeButton.tsx
15
+ /**
16
+ * *Open as code* on a store template (BOFF-9907, PLAN-D D2): downloads the
17
+ * template's project files as a zip, so it can be opened in an editor and
18
+ * pushed with the FluidGrids CLI.
19
+ *
20
+ * Shown only while `fluidgrids.code-first` and `fluidgrids.code-templates`
21
+ * are on and the template carries usable code (`content.sources`); otherwise
22
+ * it renders nothing, so pages without the flags are exactly as before. The
23
+ * files come from the template itself: nothing is sent to the service.
24
+ */
25
+ function OpenTemplateAsCodeButton(props) {
26
+ const { codeTemplates } = usePhaseDFlags();
27
+ if (!codeTemplates) return null;
28
+ const code = readTemplateCode(props.content);
29
+ if (!code) return null;
30
+ return /* @__PURE__ */ jsx(OpenTemplateAsCode, {
31
+ ...props,
32
+ code
33
+ });
34
+ }
35
+ /**
36
+ * A header action row with *Open as code* beside `children` (the page's own
37
+ * action). Without the gate or usable code it renders `children` alone, with
38
+ * no wrapper element, so the page's DOM is exactly what it was before.
39
+ */
40
+ function WithOpenTemplateAsCode({ templateName, content, ...rest }) {
41
+ const { codeTemplates } = usePhaseDFlags();
42
+ const code = codeTemplates && templateName !== null ? readTemplateCode(content) : null;
43
+ return /* @__PURE__ */ jsx(TemplateActionsRow, {
44
+ templateName: templateName ?? "",
45
+ code,
46
+ ...rest
47
+ });
48
+ }
49
+ /**
50
+ * The row itself, once the gate and the code were read (exported for tests):
51
+ * `children` alone without code, else a wrapper holding both buttons.
52
+ */
53
+ function TemplateActionsRow({ templateName, code, className, wrapperClassName, children }) {
54
+ if (!code) return /* @__PURE__ */ jsx(Fragment$1, { children });
55
+ return /* @__PURE__ */ jsxs("div", {
56
+ className: wrapperClassName,
57
+ "data-testid": "fluidgrids-template-actions",
58
+ children: [/* @__PURE__ */ jsx(OpenTemplateAsCode, {
59
+ templateName,
60
+ code,
61
+ className
62
+ }), children]
63
+ });
64
+ }
65
+ /** The button itself, for a template whose code was read (exported for tests). */
66
+ function OpenTemplateAsCode({ templateName, code, className, save = downloadBlob }) {
67
+ const tr = useTr();
68
+ const [busy, setBusy] = useState(false);
69
+ const open = async () => {
70
+ setBusy(true);
71
+ try {
72
+ const { filename, blob } = await buildTemplateCodeDownload(templateName, code);
73
+ save(filename, blob);
74
+ } catch (error) {
75
+ toast.error(tr("fluidgrids.templates.openAsCode.failed", "The template code could not be downloaded"), { description: describeOperationError(error) });
76
+ } finally {
77
+ setBusy(false);
78
+ }
79
+ };
80
+ return /* @__PURE__ */ jsxs(Button, {
81
+ variant: "outline",
82
+ onClick: () => void open(),
83
+ disabled: busy,
84
+ className: cn("gap-2", className),
85
+ "data-testid": "fluidgrids-template-open-as-code",
86
+ title: tr("fluidgrids.templates.openAsCode.hint", "Download this template as a FluidGrids project ({{count}} files)", { count: String(code.files.length) }),
87
+ children: [/* @__PURE__ */ jsx(Icon, {
88
+ icon: "mynaui:code",
89
+ className: "size-4"
90
+ }), tr("fluidgrids.templates.openAsCode.button", "Open as code")]
91
+ });
92
+ }
93
+
94
+ export { WithOpenTemplateAsCode as n, OpenTemplateAsCodeButton as t };
@@ -0,0 +1,106 @@
1
+ "use client";
2
+ import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
+ import { useId, useState } from "react";
4
+ import { Icon } from "@iconify/react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "@burdenoff/fe-libs/ui";
7
+ import { Button as Button$1 } from "@burdenoff/fe-libs/button";
8
+
9
+ // src/modules/executions/components/Disclosure.tsx
10
+ /**
11
+ * A one-button disclosure for the Runs pages (BOFF-11846): "More filters",
12
+ * "Show technical details". Local stand-in for BOFF-11841's shared "More
13
+ * options" / "Show technical details" pieces; `TechnicalDetails` and the Runs
14
+ * filters build on it.
15
+ *
16
+ * The content is rendered only while open (closed inputs are not focusable).
17
+ * Whatever the content edits lives in the Runs store, so closing never loses a
18
+ * value, and callers open it from the start when a value inside is set.
19
+ */
20
+ function Disclosure({ closedLabel, openLabel, children, defaultOpen = false, className, "data-testid": testId }) {
21
+ const [open, setOpen] = useState(defaultOpen);
22
+ const panelId = useId();
23
+ return /* @__PURE__ */ jsxs("div", {
24
+ className,
25
+ "data-testid": testId,
26
+ children: [/* @__PURE__ */ jsxs("button", {
27
+ type: "button",
28
+ onClick: () => setOpen((current) => !current),
29
+ "aria-expanded": open,
30
+ "aria-controls": panelId,
31
+ className: "inline-flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary",
32
+ children: [/* @__PURE__ */ jsx(Icon, {
33
+ icon: open ? "mdi:chevron-down" : "mdi:chevron-right",
34
+ width: 16
35
+ }), open ? openLabel : closedLabel]
36
+ }), open && /* @__PURE__ */ jsx("div", {
37
+ id: panelId,
38
+ className: "mt-2",
39
+ children
40
+ })]
41
+ });
42
+ }
43
+
44
+ // src/modules/executions/components/TechnicalDetails.tsx
45
+ function TechnicalDetails({ children, defaultOpen, className, "data-testid": testId }) {
46
+ const tr = useTr();
47
+ return /* @__PURE__ */ jsx(Disclosure, {
48
+ closedLabel: tr("fluidgrids.executions.technicalDetails.show", "Show technical details"),
49
+ openLabel: tr("fluidgrids.executions.technicalDetails.hide", "Hide technical details"),
50
+ defaultOpen,
51
+ className,
52
+ "data-testid": testId,
53
+ children
54
+ });
55
+ }
56
+
57
+ // src/modules/executions/components/RunActionsMenu.tsx
58
+ /**
59
+ * The "⋯" menu of a run's or row's extra actions (BOFF-11846): Pause,
60
+ * Terminate, Test again, Open in editor, Live updates. A local stand-in for
61
+ * the shared "More" menu BOFF-11841 will provide, built on fe-libs' dropdown
62
+ * menu; the props are plain data so that component can replace it.
63
+ */
64
+ function RunActionsMenu({ items, toggles = [], label, "data-testid": testId = "run-actions-menu" }) {
65
+ const tr = useTr();
66
+ if (items.length === 0 && toggles.length === 0) return null;
67
+ const triggerLabel = label ?? tr("fluidgrids.executions.executionDetail.moreActions", "More actions");
68
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
69
+ asChild: true,
70
+ children: /* @__PURE__ */ jsx(Button$1, {
71
+ variant: "outline",
72
+ size: "sm",
73
+ "aria-label": triggerLabel,
74
+ title: triggerLabel,
75
+ "data-testid": testId,
76
+ children: /* @__PURE__ */ jsx(Icon, {
77
+ icon: "mdi:dots-horizontal",
78
+ width: 18
79
+ })
80
+ })
81
+ }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
82
+ align: "end",
83
+ children: [
84
+ items.map((item) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
85
+ disabled: item.disabled,
86
+ onSelect: item.onSelect,
87
+ "data-testid": `${testId}-${item.id}`,
88
+ className: item.destructive ? "text-[var(--color-status-error-text)]" : "",
89
+ children: [item.icon && /* @__PURE__ */ jsx(Icon, {
90
+ icon: item.icon,
91
+ width: 16,
92
+ className: "mr-2"
93
+ }), item.label]
94
+ }, item.id)),
95
+ items.length > 0 && toggles.length > 0 && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
96
+ toggles.map((toggle) => /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
97
+ checked: toggle.checked,
98
+ onCheckedChange: toggle.onCheckedChange,
99
+ "data-testid": `${testId}-${toggle.id}`,
100
+ children: toggle.label
101
+ }, toggle.id))
102
+ ]
103
+ })] });
104
+ }
105
+
106
+ export { TechnicalDetails as n, Disclosure as r, RunActionsMenu as t };