@burdenoff/fluidgrids-fe-sdk 2026.1029.8 → 2026.1030.2

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 (36) hide show
  1. package/dist/{ExecutionDetailPage-H6R3ZIXN.js → ExecutionDetailPage-OT2UGYHN.js} +9 -9
  2. package/dist/{ExecutionsListPage-TLD2E442.js → ExecutionsListPage-3D3KRCW5.js} +6 -6
  3. package/dist/{WorkflowBuilder-XVHY7XWJ.js → WorkflowBuilder-OLXEXR43.js} +9 -9
  4. package/dist/{WorkflowsList-3GXXXURR.js → WorkflowsList-7F4QXM53.js} +7 -7
  5. package/dist/{chunk-S4JYBJ4X.js → chunk-2VYFYHPE.js} +1 -1
  6. package/dist/{chunk-NUBPALBK.js → chunk-2YPXXNMV.js} +1 -1
  7. package/dist/{chunk-UWNCFMHV.js → chunk-AFUEJNWC.js} +2 -2
  8. package/dist/{chunk-TJ6RUV4R.js → chunk-AZ3HUGV5.js} +7 -7
  9. package/dist/{chunk-VEZ7G2FE.js → chunk-BBOCA2T4.js} +4 -4
  10. package/dist/{chunk-NNPXN4DI.js → chunk-DDEJOL6N.js} +25 -15
  11. package/dist/{chunk-V5PA5KGV.js → chunk-ECIDNCDI.js} +1 -1
  12. package/dist/{chunk-6CKDGT2N.js → chunk-EQEV4WZL.js} +3 -3
  13. package/dist/{chunk-G3KZOX52.js → chunk-F6Q3PMHH.js} +1 -1
  14. package/dist/{chunk-LJGC7RAL.js → chunk-FPG2RZMC.js} +4 -4
  15. package/dist/{chunk-WEXO3KAY.js → chunk-FRIV5FEI.js} +40 -30
  16. package/dist/{chunk-NAYPOEYM.js → chunk-HDAST445.js} +22 -3
  17. package/dist/{chunk-UIDJT3YK.js → chunk-IIFSIBZ3.js} +1 -1
  18. package/dist/{chunk-HWEKWYXQ.js → chunk-O3VLDA34.js} +1 -1
  19. package/dist/{chunk-X2J4ZXKD.js → chunk-OTAFPF7U.js} +5 -5
  20. package/dist/{chunk-WTP343PG.js → chunk-RXVZCP3C.js} +1 -1
  21. package/dist/{chunk-XJBCRDWZ.js → chunk-UFFNYST3.js} +3 -3
  22. package/dist/{chunk-XMKYZP6Q.js → chunk-WCSPODUI.js} +4 -4
  23. package/dist/{chunk-R7VHURPQ.js → chunk-YFK2FZ4C.js} +1 -1
  24. package/dist/{chunk-2NG5VZWI.js → chunk-YJ64DOKQ.js} +1 -1
  25. package/dist/{chunk-6TMLIQHB.js → chunk-Z3FYBDE3.js} +30 -1
  26. package/dist/{chunk-T22LICGX.js → chunk-ZWTINPHQ.js} +1 -1
  27. package/dist/executions.js +10 -10
  28. package/dist/history.js +3 -3
  29. package/dist/index.d.ts +144 -1
  30. package/dist/index.js +356 -193
  31. package/dist/observability.js +5 -5
  32. package/dist/settings.js +5 -5
  33. package/dist/templates.js +8 -8
  34. package/dist/workflow-builder.js +10 -10
  35. package/dist/workflows-list.js +7 -7
  36. package/package.json +3 -3
@@ -1,17 +1,17 @@
1
- export { ExecutionDetailPage } from './chunk-TJ6RUV4R.js';
2
- import './chunk-UWNCFMHV.js';
3
- import './chunk-HWEKWYXQ.js';
4
- import './chunk-V5PA5KGV.js';
5
- import './chunk-UIDJT3YK.js';
1
+ export { ExecutionDetailPage } from './chunk-AZ3HUGV5.js';
2
+ import './chunk-AFUEJNWC.js';
3
+ import './chunk-O3VLDA34.js';
4
+ import './chunk-ECIDNCDI.js';
5
+ import './chunk-IIFSIBZ3.js';
6
6
  import './chunk-5ERAJC2I.js';
7
- import './chunk-T22LICGX.js';
7
+ import './chunk-ZWTINPHQ.js';
8
8
  import './chunk-Z6I6A47T.js';
9
9
  import './chunk-Y53CVZVV.js';
10
10
  import './chunk-D3UWK7GY.js';
11
- import './chunk-G3KZOX52.js';
11
+ import './chunk-F6Q3PMHH.js';
12
12
  import './chunk-PJAWNFJV.js';
13
- import './chunk-6TMLIQHB.js';
14
- import './chunk-NAYPOEYM.js';
13
+ import './chunk-Z3FYBDE3.js';
14
+ import './chunk-HDAST445.js';
15
15
  import './chunk-JL7CASN5.js';
16
16
  import './chunk-PXIFUMLA.js';
17
17
  import './chunk-6AMNEX2Y.js';
@@ -1,14 +1,14 @@
1
- export { ExecutionsListPage } from './chunk-VEZ7G2FE.js';
2
- import './chunk-UWNCFMHV.js';
3
- import './chunk-HWEKWYXQ.js';
1
+ export { ExecutionsListPage } from './chunk-BBOCA2T4.js';
2
+ import './chunk-AFUEJNWC.js';
3
+ import './chunk-O3VLDA34.js';
4
4
  import './chunk-5ERAJC2I.js';
5
5
  import './chunk-Z6I6A47T.js';
6
6
  import './chunk-D3UWK7GY.js';
7
- import './chunk-G3KZOX52.js';
7
+ import './chunk-F6Q3PMHH.js';
8
8
  import './chunk-PJAWNFJV.js';
9
- import './chunk-6TMLIQHB.js';
9
+ import './chunk-Z3FYBDE3.js';
10
10
  import './chunk-4VJ3MDOV.js';
11
- import './chunk-NAYPOEYM.js';
11
+ import './chunk-HDAST445.js';
12
12
  import './chunk-JL7CASN5.js';
13
13
  import './chunk-PXIFUMLA.js';
14
14
  import './chunk-6AMNEX2Y.js';
@@ -1,20 +1,20 @@
1
- export { WorkflowBuilder } from './chunk-LJGC7RAL.js';
2
- import './chunk-2NG5VZWI.js';
1
+ export { WorkflowBuilder } from './chunk-FPG2RZMC.js';
2
+ import './chunk-YJ64DOKQ.js';
3
3
  import './chunk-PIKYQE7P.js';
4
- import './chunk-X2J4ZXKD.js';
4
+ import './chunk-OTAFPF7U.js';
5
5
  import './chunk-GEMNVFPK.js';
6
6
  import './chunk-IEVSFCFS.js';
7
7
  import './chunk-YXMFRQYV.js';
8
8
  import './chunk-BQXVT32O.js';
9
- import './chunk-S4JYBJ4X.js';
10
- import './chunk-T22LICGX.js';
9
+ import './chunk-2VYFYHPE.js';
10
+ import './chunk-ZWTINPHQ.js';
11
11
  import './chunk-Z6I6A47T.js';
12
12
  import './chunk-Y53CVZVV.js';
13
- import './chunk-G3KZOX52.js';
14
- import './chunk-6TMLIQHB.js';
15
- import './chunk-NUBPALBK.js';
13
+ import './chunk-F6Q3PMHH.js';
14
+ import './chunk-Z3FYBDE3.js';
15
+ import './chunk-2YPXXNMV.js';
16
16
  import './chunk-4VJ3MDOV.js';
17
- import './chunk-NAYPOEYM.js';
17
+ import './chunk-HDAST445.js';
18
18
  import './chunk-JL7CASN5.js';
19
19
  import './chunk-PXIFUMLA.js';
20
20
  import './chunk-6AMNEX2Y.js';
@@ -1,14 +1,14 @@
1
- export { WorkflowsList } from './chunk-NNPXN4DI.js';
2
- import './chunk-2NG5VZWI.js';
3
- import './chunk-HWEKWYXQ.js';
1
+ export { WorkflowsList } from './chunk-DDEJOL6N.js';
2
+ import './chunk-YJ64DOKQ.js';
3
+ import './chunk-O3VLDA34.js';
4
4
  import './chunk-5ERAJC2I.js';
5
- import './chunk-S4JYBJ4X.js';
5
+ import './chunk-2VYFYHPE.js';
6
6
  import './chunk-D3UWK7GY.js';
7
- import './chunk-G3KZOX52.js';
7
+ import './chunk-F6Q3PMHH.js';
8
8
  import './chunk-PJAWNFJV.js';
9
- import './chunk-6TMLIQHB.js';
9
+ import './chunk-Z3FYBDE3.js';
10
10
  import './chunk-4VJ3MDOV.js';
11
- import './chunk-NAYPOEYM.js';
11
+ import './chunk-HDAST445.js';
12
12
  import './chunk-JL7CASN5.js';
13
13
  import './chunk-PXIFUMLA.js';
14
14
  import './chunk-6AMNEX2Y.js';
@@ -1,4 +1,4 @@
1
- import { describeOperationError, useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME, throwIfResultError } from './chunk-NAYPOEYM.js';
1
+ import { describeOperationError, useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME, throwIfResultError } from './chunk-HDAST445.js';
2
2
  import { ExportWorkflowCodeDocument } from './chunk-GQTEHWWY.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
@@ -1,4 +1,4 @@
1
- import { useAgentDefinitions, useAgentDefinitionList, useConnections, describeOperationError } from './chunk-NAYPOEYM.js';
1
+ import { useAgentDefinitions, useAgentDefinitionList, useConnections, describeOperationError } from './chunk-HDAST445.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
4
  import { Icon } from '@iconify/react';
@@ -1,8 +1,8 @@
1
- import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-HWEKWYXQ.js';
1
+ import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-O3VLDA34.js';
2
2
  import { useAvailableTags } from './chunk-Z6I6A47T.js';
3
3
  import { executionsControls } from './chunk-D3UWK7GY.js';
4
4
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
5
- import { useDurableParityEnabled, throwIfResultError, describeOperationError } from './chunk-NAYPOEYM.js';
5
+ import { useDurableParityEnabled, throwIfResultError, describeOperationError } from './chunk-HDAST445.js';
6
6
  import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
7
7
  import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-GQTEHWWY.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,11 +1,11 @@
1
- import { useDurableParityRunFields, buildNodeDisplayMap, useRunMetadata, useRunPending, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-UWNCFMHV.js';
2
- import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-HWEKWYXQ.js';
3
- import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-V5PA5KGV.js';
4
- import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-UIDJT3YK.js';
5
- import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, EntityTagPicker, RunHistoryView, SignalRunDialog, terminateDurableRun, useWorkflowProposal, WorkflowProposalCard } from './chunk-T22LICGX.js';
1
+ import { useDurableParityRunFields, buildNodeDisplayMap, useRunMetadata, useRunPending, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-AFUEJNWC.js';
2
+ import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-O3VLDA34.js';
3
+ import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-ECIDNCDI.js';
4
+ import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-IIFSIBZ3.js';
5
+ import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, EntityTagPicker, RunHistoryView, SignalRunDialog, terminateDurableRun, useWorkflowProposal, WorkflowProposalCard } from './chunk-ZWTINPHQ.js';
6
6
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
7
- import { useWorkflowVersions } from './chunk-G3KZOX52.js';
8
- import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, describeOperationError } from './chunk-NAYPOEYM.js';
7
+ import { useWorkflowVersions } from './chunk-F6Q3PMHH.js';
8
+ import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, describeOperationError } from './chunk-HDAST445.js';
9
9
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
10
10
  import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-GQTEHWWY.js';
11
11
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,8 +1,8 @@
1
- import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-UWNCFMHV.js';
2
- import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-HWEKWYXQ.js';
3
- import { useWorkflowDefinitions } from './chunk-G3KZOX52.js';
1
+ import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-AFUEJNWC.js';
2
+ import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-O3VLDA34.js';
3
+ import { useWorkflowDefinitions } from './chunk-F6Q3PMHH.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useDurableParityEnabled } from './chunk-NAYPOEYM.js';
5
+ import { useDurableParityEnabled } from './chunk-HDAST445.js';
6
6
  import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
7
7
  import { useTr } from './chunk-UULVIT25.js';
8
8
  import { useRef, useCallback, useMemo, useState, useEffect } from 'react';
@@ -1,11 +1,11 @@
1
- import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-2NG5VZWI.js';
2
- import { useExecutions } from './chunk-HWEKWYXQ.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-S4JYBJ4X.js';
1
+ import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-YJ64DOKQ.js';
2
+ import { useExecutions } from './chunk-O3VLDA34.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-2VYFYHPE.js';
4
4
  import { workflowsListControls } from './chunk-D3UWK7GY.js';
5
- import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-G3KZOX52.js';
5
+ import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-F6Q3PMHH.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-NAYPOEYM.js';
8
+ import { createThenOpen, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useFluidGridsFlag, FLUIDGRIDS_FLAGS, SdkPermissionButton, BILLING_PLANS_PATH, describeOperationError, useFlowStore, SdkPermissionGate, isQuotaExhaustedFailure } from './chunk-HDAST445.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';
@@ -1020,17 +1020,27 @@ function WorkflowImportDialog({
1020
1020
  if (!nextOpen) reset();
1021
1021
  },
1022
1022
  children: [
1023
- /* @__PURE__ */ jsxs(
1024
- Button,
1023
+ /* @__PURE__ */ jsx(
1024
+ SdkPermissionButton,
1025
1025
  {
1026
- variant: "outline",
1027
- size: "default",
1028
- onClick: () => setOpen(true),
1029
- "data-tour": "fluidgrids-list-import",
1030
- children: [
1031
- /* @__PURE__ */ jsx(Icon, { icon: "mynaui:download", className: "size-4" }),
1032
- tr("fluidgrids.workflowsList.importButton", "Import")
1033
- ]
1026
+ permission: FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE,
1027
+ deniedTooltip: tr(
1028
+ "fluidgrids.workflowsList.importDeniedTooltip",
1029
+ "You don't have permission to import workflows"
1030
+ ),
1031
+ children: /* @__PURE__ */ jsxs(
1032
+ Button,
1033
+ {
1034
+ variant: "outline",
1035
+ size: "default",
1036
+ onClick: () => setOpen(true),
1037
+ "data-tour": "fluidgrids-list-import",
1038
+ children: [
1039
+ /* @__PURE__ */ jsx(Icon, { icon: "mynaui:download", className: "size-4" }),
1040
+ tr("fluidgrids.workflowsList.importButton", "Import")
1041
+ ]
1042
+ }
1043
+ )
1034
1044
  }
1035
1045
  ),
1036
1046
  /* @__PURE__ */ jsxs(DialogContent, { className: "max-h-[90vh] overflow-y-auto sm:max-w-2xl", children: [
@@ -1,4 +1,4 @@
1
- import { throwIfResultError } from './chunk-NAYPOEYM.js';
1
+ import { throwIfResultError } from './chunk-HDAST445.js';
2
2
  import { RunFailureClustersDocument, DismissRunFailureClusterDocument, RunFailureTriageSettingsDocument, SetRunFailureTriageEnabledDocument, FgTriageFailedRunsDocument } from './chunk-GQTEHWWY.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
@@ -1,6 +1,6 @@
1
- import { FailureTriagePanel } from './chunk-V5PA5KGV.js';
2
- import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-R7VHURPQ.js';
3
- import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-NAYPOEYM.js';
1
+ import { FailureTriagePanel } from './chunk-ECIDNCDI.js';
2
+ import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-YFK2FZ4C.js';
3
+ import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-HDAST445.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
5
5
  import { useState, useMemo, useEffect } from 'react';
6
6
  import { Icon } from '@iconify/react';
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-NAYPOEYM.js';
1
+ import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-HDAST445.js';
2
2
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
3
3
  import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-GQTEHWWY.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,8 +1,8 @@
1
- import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-2NG5VZWI.js';
1
+ import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-YJ64DOKQ.js';
2
2
  import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
3
- import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-X2J4ZXKD.js';
4
- import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-G3KZOX52.js';
5
- import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, mergeStickyNotes, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes, throwIfResultError } from './chunk-NAYPOEYM.js';
3
+ import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-OTAFPF7U.js';
4
+ import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-F6Q3PMHH.js';
5
+ import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, mergeStickyNotes, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes, throwIfResultError } from './chunk-HDAST445.js';
6
6
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
7
7
  import { WorkflowDefinitionDocument } from './chunk-GQTEHWWY.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,10 +1,10 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-X2J4ZXKD.js';
2
- import { QuotaExhaustedDialog } from './chunk-S4JYBJ4X.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-OTAFPF7U.js';
2
+ import { QuotaExhaustedDialog } from './chunk-2VYFYHPE.js';
3
3
  import { templatesControls } from './chunk-D3UWK7GY.js';
4
- import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-G3KZOX52.js';
4
+ import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-F6Q3PMHH.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-NAYPOEYM.js';
7
+ import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure, SdkPermissionButton, FLUIDGRIDS_PERMISSIONS } from './chunk-HDAST445.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';
@@ -417,33 +417,43 @@ function WorkspaceTemplateCard({
417
417
  workflow.version
418
418
  ] }),
419
419
  /* @__PURE__ */ jsx(
420
- Button,
420
+ SdkPermissionButton,
421
421
  {
422
- variant: "default",
423
- size: "sm",
424
- onClick: () => onUseTemplate(workflow),
425
- disabled: isLoading,
426
- className: "text-primary-foreground",
427
- children: isLoading ? /* @__PURE__ */ jsxs(Fragment, { children: [
428
- /* @__PURE__ */ jsx(
429
- Icon,
430
- {
431
- icon: "mdi:loading",
432
- width: 14,
433
- className: "mr-1.5 animate-spin"
434
- }
435
- ),
436
- tr(
437
- "fluidgrids.templates.templatesPage.cardCreating",
438
- "Creating..."
439
- )
440
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
441
- /* @__PURE__ */ jsx(Icon, { icon: "mdi:plus", width: 14, className: "mr-1.5" }),
442
- tr(
443
- "fluidgrids.templates.templatesPage.cardUseTemplate",
444
- "Use Template"
445
- )
446
- ] })
422
+ permission: FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE,
423
+ deniedTooltip: tr(
424
+ "fluidgrids.templates.useDeniedTooltip",
425
+ "You don't have permission to create workflows from templates"
426
+ ),
427
+ children: /* @__PURE__ */ jsx(
428
+ Button,
429
+ {
430
+ variant: "default",
431
+ size: "sm",
432
+ onClick: () => onUseTemplate(workflow),
433
+ disabled: isLoading,
434
+ className: "text-primary-foreground",
435
+ children: isLoading ? /* @__PURE__ */ jsxs(Fragment, { children: [
436
+ /* @__PURE__ */ jsx(
437
+ Icon,
438
+ {
439
+ icon: "mdi:loading",
440
+ width: 14,
441
+ className: "mr-1.5 animate-spin"
442
+ }
443
+ ),
444
+ tr(
445
+ "fluidgrids.templates.templatesPage.cardCreating",
446
+ "Creating..."
447
+ )
448
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
449
+ /* @__PURE__ */ jsx(Icon, { icon: "mdi:plus", width: 14, className: "mr-1.5" }),
450
+ tr(
451
+ "fluidgrids.templates.templatesPage.cardUseTemplate",
452
+ "Use Template"
453
+ )
454
+ ] })
455
+ }
456
+ )
447
457
  }
448
458
  )
449
459
  ] }) })
@@ -3180,6 +3180,9 @@ var CONNECTION_FIELDS = gql`
3180
3180
  createdBy
3181
3181
  createdAt
3182
3182
  updatedAt
3183
+ visibility
3184
+ myAccess
3185
+ canUse
3183
3186
  }
3184
3187
  `;
3185
3188
  var GET_CONNECTIONS = gql`
@@ -3578,6 +3581,7 @@ function ConnectionFormDialog({
3578
3581
  requireVault: false,
3579
3582
  defaultName,
3580
3583
  showSharingTab: true,
3584
+ defaultVisibility: "RESTRICTED",
3581
3585
  onConnectionCreated: handleCreated,
3582
3586
  onError
3583
3587
  }
@@ -3746,6 +3750,17 @@ var FLUIDGRIDS_PERMISSIONS = {
3746
3750
  // Self-hosted runners (wspace-sandbox-svc; @rbac resource "sandbox")
3747
3751
  SANDBOX_READ: "sandbox:read",
3748
3752
  SANDBOX_CREATE: "sandbox:create",
3753
+ /** Rotating a runner's registration token (rotateSandboxRunnerToken). */
3754
+ SANDBOX_UPDATE: "sandbox:update",
3755
+ SANDBOX_DELETE: "sandbox:delete",
3756
+ // Data tables (wspace-workflow-svc; @rbac resources "data-table" and
3757
+ // "data-table-row", BOFF-10105)
3758
+ DATA_TABLE_CREATE: "data-table:create",
3759
+ DATA_TABLE_UPDATE: "data-table:update",
3760
+ DATA_TABLE_DELETE: "data-table:delete",
3761
+ DATA_TABLE_ROW_CREATE: "data-table-row:create",
3762
+ DATA_TABLE_ROW_UPDATE: "data-table-row:update",
3763
+ DATA_TABLE_ROW_DELETE: "data-table-row:delete",
3749
3764
  // AI Agent tool-call approvals (pendingToolApprovals, decideToolApproval)
3750
3765
  TOOL_APPROVAL_REQUEST_READ: "tool-approval-request:read",
3751
3766
  TOOL_APPROVAL_REQUEST_EXECUTE: "tool-approval-request:execute"
@@ -4146,8 +4161,12 @@ function AdapterConnectionSelector({
4146
4161
  const availableConnections = useMemo(() => {
4147
4162
  if (!adapters || adapters.length === 0) return [];
4148
4163
  return connections.filter(
4149
- (connection) => adapters.some(
4150
- (adapter) => matchesAdapterProvider(adapter, connection.provider?.key ?? "")
4164
+ (connection) => (
4165
+ // BOFF-9726: an admin sees everyone's private connections but cannot
4166
+ // run workflows with them, so only usable ones are offered for a node.
4167
+ connection.canUse !== false && adapters.some(
4168
+ (adapter) => matchesAdapterProvider(adapter, connection.provider?.key ?? "")
4169
+ )
4151
4170
  )
4152
4171
  );
4153
4172
  }, [connections, adapters]);
@@ -4161,7 +4180,7 @@ function AdapterConnectionSelector({
4161
4180
  const fullConn = connections.find(
4162
4181
  (c) => c.id === selected.connectionId
4163
4182
  );
4164
- if (fullConn) {
4183
+ if (fullConn && fullConn.canUse !== false) {
4165
4184
  allConnections.push(fullConn);
4166
4185
  }
4167
4186
  }
@@ -1,4 +1,4 @@
1
- import { throwIfResultError, describeOperationError } from './chunk-NAYPOEYM.js';
1
+ import { throwIfResultError, describeOperationError } from './chunk-HDAST445.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
4
4
  import { useState, useCallback, useEffect, useMemo } from 'react';
@@ -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-NAYPOEYM.js';
2
+ import { useFluidGridsAnalytics, throwIfResultError, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-HDAST445.js';
3
3
  import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
4
4
  import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-GQTEHWWY.js';
5
5
  import { useTr } from './chunk-UULVIT25.js';
@@ -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-S4JYBJ4X.js';
6
- import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-T22LICGX.js';
5
+ import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-2VYFYHPE.js';
6
+ import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-ZWTINPHQ.js';
7
7
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
8
- import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-G3KZOX52.js';
9
- import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-NUBPALBK.js';
8
+ import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-F6Q3PMHH.js';
9
+ import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-2YPXXNMV.js';
10
10
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
11
- import { leaseCallQueue, 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, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, useDurableFunctionNodesEnabled, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, BuilderReadOnlyProvider, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, SdkPermissionButton, bannerOf, useSaveWorkflow, useBuilderReadOnly, fieldsFromValue, filterPaletteNodes, useFluidGridsAnalytics, sessionBeforeReload, forgetSessionForReload, releasesOnClose, editStateOf, workflowFingerprint, isLocked, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, readCodeWorkflowState, useCodeWorkflowInterface, clearCodeWorkflowDefinitionCache, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, useDurableParityEnabled, useConnections, ConnectionFormDialog, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, diagnosticsByPath, interfaceHandlers, declaredSignals, ExpressionEditor, toCodeMirrorDiagnostics, formatParameterValue, leaveNeedsConfirmation, phaseAfterAcquire, buildOperationSeed, describeOperationError, rememberOwnStatusChange, snapshotForSave, childRunIdOf, defaultSourcePath, projectLanguage, changedSourceFiles, isEditableSourcePath, sourceLanguageOf, interfaceFields, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, loadDefinitionJson, openRunQuotaUpgradePrompt, isTriggerOperation, canRenderOperationPanel, runPreparationOf, resolveOperationName, savesInPlace, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, rememberRevision, phaseAfterTakeOver } from './chunk-NAYPOEYM.js';
11
+ import { leaseCallQueue, 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, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, useDurableFunctionNodesEnabled, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, BuilderReadOnlyProvider, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, SdkPermissionButton, bannerOf, useSaveWorkflow, useBuilderReadOnly, fieldsFromValue, filterPaletteNodes, useFluidGridsAnalytics, sessionBeforeReload, forgetSessionForReload, releasesOnClose, editStateOf, workflowFingerprint, isLocked, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, readCodeWorkflowState, useCodeWorkflowInterface, clearCodeWorkflowDefinitionCache, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, useDurableParityEnabled, useConnections, ConnectionFormDialog, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, diagnosticsByPath, interfaceHandlers, declaredSignals, ExpressionEditor, toCodeMirrorDiagnostics, formatParameterValue, leaveNeedsConfirmation, phaseAfterAcquire, buildOperationSeed, describeOperationError, rememberOwnStatusChange, snapshotForSave, childRunIdOf, defaultSourcePath, projectLanguage, changedSourceFiles, isEditableSourcePath, sourceLanguageOf, interfaceFields, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, loadDefinitionJson, openRunQuotaUpgradePrompt, isTriggerOperation, canRenderOperationPanel, runPreparationOf, resolveOperationName, savesInPlace, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, rememberRevision, phaseAfterTakeOver } from './chunk-HDAST445.js';
12
12
  import { cn } from './chunk-JL7CASN5.js';
13
13
  import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
14
14
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
@@ -1,5 +1,5 @@
1
1
  import { historyControls } from './chunk-D3UWK7GY.js';
2
- import { useWorkflowDefinitions } from './chunk-G3KZOX52.js';
2
+ import { useWorkflowDefinitions } from './chunk-F6Q3PMHH.js';
3
3
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
5
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
@@ -1,8 +1,8 @@
1
- import { Card, FluidGridsMark } from './chunk-X2J4ZXKD.js';
1
+ import { Card, FluidGridsMark } from './chunk-OTAFPF7U.js';
2
2
  import { Input } from './chunk-IEVSFCFS.js';
3
3
  import { Button } from './chunk-BQXVT32O.js';
4
- import { useWorkflowDefinition } from './chunk-G3KZOX52.js';
5
- import { FluidGridsProvider, useFlowStore } from './chunk-NAYPOEYM.js';
4
+ import { useWorkflowDefinition } from './chunk-F6Q3PMHH.js';
5
+ import { FluidGridsProvider, useFlowStore } from './chunk-HDAST445.js';
6
6
  import { cn } from './chunk-JL7CASN5.js';
7
7
  import { useTr } from './chunk-UULVIT25.js';
8
8
  import { useState, useRef, useEffect, useCallback } from 'react';
@@ -1,8 +1,8 @@
1
- import { ActionPoliciesTab } from './chunk-UIDJT3YK.js';
2
- import { LogStreamingTab } from './chunk-R7VHURPQ.js';
3
- import { AgentsTab } from './chunk-NUBPALBK.js';
1
+ import { ActionPoliciesTab } from './chunk-IIFSIBZ3.js';
2
+ import { LogStreamingTab } from './chunk-YFK2FZ4C.js';
3
+ import { AgentsTab } from './chunk-2YPXXNMV.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useFlowStore, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, findSaveConflict, useDurableParityEnabled, throwIfResultError, describeOperationError, useConnections } from './chunk-NAYPOEYM.js';
5
+ import { useFlowStore, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, findSaveConflict, useDurableParityEnabled, throwIfResultError, describeOperationError, useConnections } from './chunk-HDAST445.js';
6
6
  import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
7
7
  import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
8
8
  import { useWorkflowDefinitionQuery, useUpdateWorkflowDefinitionMutation, useWorkflowDefinitionsQuery, DurableHistoryCapsDocument, UpdateDurableHistoryCapsDocument } from './chunk-GQTEHWWY.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-NAYPOEYM.js';
2
+ import { throwIfResultError, describeOperationError, useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-HDAST445.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 { QuotaExhaustedDialog } from './chunk-S4JYBJ4X.js';
1
+ import { QuotaExhaustedDialog } from './chunk-2VYFYHPE.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4