@burdenoff/fluidgrids-fe-sdk 2026.1113.2 → 2026.1113.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiStudioPage-5KYZ8r8-.js → AiStudioPage-kQnqKTLK.js} +3 -3
- package/dist/{ExecutionDetailPage-BXDF2eoT.js → ExecutionDetailPage-2zr-EHVq.js} +8 -8
- package/dist/{ExecutionsListPage--4BthM8L.js → ExecutionsListPage-ASTpHWjv.js} +5 -5
- package/dist/{FailureTriagePanel-B5WCSRFo.js → FailureTriagePanel-CM-vmvbA.js} +1 -1
- package/dist/{HistoryPage-BvFk2m1m.js → HistoryPage-D2QBZ6Oc.js} +1 -1
- package/dist/{InsightsPage-Dwmb02F6.js → InsightsPage-BqbRbyc4.js} +4 -4
- package/dist/{OpenTemplateAsCodeButton-8MZHih6I.js → OpenTemplateAsCodeButton-BdcTxemq.js} +1 -1
- package/dist/{PaidTemplateConfirm-0G-gv29n.js → PaidTemplateConfirm-CSf_Wl1x.js} +1 -1
- package/dist/{SettingsPage-CfjXiGpb.js → SettingsPage-JwcsjXkM.js} +106 -2
- package/dist/{TaskQueuesPage--Mmn36b-.js → TaskQueuesPage-BwnNad_J.js} +1 -1
- package/dist/{TemplateCard-BA_9em22.js → TemplateCard-HSRLZw7S.js} +2 -2
- package/dist/{TemplateConfigurationModal-BT3PaR0O.js → TemplateConfigurationModal-CxUEsjbr.js} +1 -1
- package/dist/{TemplatePreview-Bagja6WN.js → TemplatePreview-xCpg2M_J.js} +4 -4
- package/dist/{TemplatesPage-CAajpJ5w.js → TemplatesPage-AAAJ2T7C.js} +4 -4
- package/dist/{WorkflowBuilder-v8h8skwG.js → WorkflowBuilder-DAeOmBhD.js} +2 -2
- package/dist/{WorkflowBuilder-DMpSPElu.js → WorkflowBuilder-rndStRRC.js} +4 -4
- package/dist/{WorkflowSearchRedirect-G78lINAE.js → WorkflowSearchRedirect-CVFby4w5.js} +1 -1
- package/dist/{WorkflowShareDialog-B7VOgr4-.js → WorkflowShareDialog-BcfzZDOj.js} +1 -1
- package/dist/{WorkflowVersionsDocument-CfPMloRW.js → WorkflowVersionsDocument-DRVOp8Uj.js} +18 -0
- package/dist/{WorkflowsList-CPYzfE4K.js → WorkflowsList-DuMF4-P0.js} +127 -14
- package/dist/{ai-usage-bmUn-gJP.js → ai-usage-D7SjIkUZ.js} +1 -1
- package/dist/{assert-rules-CPNrO44K.js → assert-rules-C5739QR0.js} +1 -1
- package/dist/executions.js +2 -2
- package/dist/{flow-builder-Dv5fWJ6F.js → flow-builder-Cf3mxhiN.js} +11 -11
- package/dist/{graphql-types-v6CTGwA0.js → graphql-types-C5Tr6508.js} +35 -1
- package/dist/history.js +1 -1
- package/dist/{index-DtMUtXNq.d.ts → index-BC0bLtnH.d.ts} +18 -2
- package/dist/{index-f_Nl7Ons.d.ts → index-CJGq3QbH.d.ts} +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +31 -31
- package/dist/{node-detail-view-BKI_2kM6.js → node-detail-view-LaFhKUoA.js} +4 -4
- package/dist/{node-editor-tab-body-Cc1MWEFR.js → node-editor-tab-body-BL6QrLVL.js} +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +1 -1
- package/dist/{popover-DDv7J1Kl.js → popover-PFfxvM9g.js} +1 -1
- package/dist/{quick-config-panel-BPCRfqWI.js → quick-config-panel-hrOn1WJp.js} +2 -2
- package/dist/{run-list-links-eUhZB1ju.js → run-list-links-DZ8Q5l35.js} +1 -1
- package/dist/run-mode-BMxym0mD.js +82 -0
- package/dist/{schedule-panel-C1KwfLCE.js → schedule-panel-BBI5V5AX.js} +4 -4
- package/dist/settings.js +1 -1
- package/dist/{sidebar-node-editor-d9Rlq5pU.js → sidebar-node-editor-CZ2hHqwr.js} +2 -2
- package/dist/{template-code-dqRunGOv.js → template-code-CobAYaeH.js} +1 -1
- package/dist/templates.js +2 -2
- package/dist/{useAgentDefinitions-ZKX2N9aP.js → useAgentDefinitions-B4EL7HU3.js} +1 -1
- package/dist/{useDurableParity-BgLH_SCF.js → useDurableParity-CoX24dE8.js} +1 -1
- package/dist/{useExecutions-Bm7q_UwN.js → useExecutions-CB1Rva2V.js} +1 -1
- package/dist/{useRunHistory-CGfjCsJ3.js → useRunHistory-dFVv-1Tn.js} +1 -1
- package/dist/{useWorkflowCodeExport-D_mCuhKP.js → useWorkflowCodeExport-Dej_LUk7.js} +2 -2
- package/dist/{useWorkflowProposal-Bh2_qjmM.js → useWorkflowProposal-UtJYycLv.js} +2 -2
- package/dist/{useWorkflows-aqVD7kGa.js → useWorkflows-DEWdntS_.js} +1 -1
- package/dist/workflow-builder.d.ts +1 -1
- package/dist/workflow-builder.js +3 -3
- package/dist/{workflow-code-transfer-5C0HUzae.js → workflow-code-transfer-Dbnvw5fc.js} +1 -1
- package/dist/workflow-pages.d.ts +2 -2
- package/dist/workflow-pages.js +13 -13
- package/dist/workflows-list.js +1 -1
- package/package.json +1 -1
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
|
-
import { c as useImportWorkflow, h as useWorkflowDefinitions, l as useLazyWorkflowDefinition, n as useCreateWorkflow, o as useDeleteWorkflow, s as useDuplicateWorkflow, u as usePreviewN8nImport } from "./useWorkflows-
|
|
3
|
+
import { c as useImportWorkflow, h as useWorkflowDefinitions, l as useLazyWorkflowDefinition, n as useCreateWorkflow, o as useDeleteWorkflow, s as useDuplicateWorkflow, u as usePreviewN8nImport } from "./useWorkflows-DEWdntS_.js";
|
|
4
4
|
import { gt as createThenOpen, t as FluidGridsContext } from "./FluidGridsProvider-Dc_Jhtch.js";
|
|
5
|
-
import { a as saveWorkflowDescription, c as CreateWorkflowRefusalDialog, o as visibleWorkflowDescription, r as commitWorkflowDescription, s as workflowDescriptionCharactersLeft, t as useExportWorkflowAs } from "./useWorkflowCodeExport-
|
|
5
|
+
import { a as saveWorkflowDescription, c as CreateWorkflowRefusalDialog, o as visibleWorkflowDescription, r as commitWorkflowDescription, s as workflowDescriptionCharactersLeft, t as useExportWorkflowAs } from "./useWorkflowCodeExport-Dej_LUk7.js";
|
|
6
6
|
import { c as isQuotaExhaustedFailure, t as BILLING_PLANS_PATH } from "./quota-Cdt8yz7N.js";
|
|
7
7
|
import { M as useFlowStore } from "./node-operation-selection-Czeeb2D4.js";
|
|
8
8
|
import { a as SdkPermissionGate, i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
|
9
9
|
import { t as QuotaExhaustedDialog } from "./QuotaExhaustedDialog-wvu_-WJ-.js";
|
|
10
10
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { i as
|
|
11
|
+
import { a as isExecutionMode, i as isAutonomyLevel, n as EXECUTION_MODES, o as useAutonomyLevelCopy, r as EXECUTION_MODE_ICONS, s as useExecutionModeCopy } from "./run-mode-BMxym0mD.js";
|
|
12
|
+
import { YF as WorkflowAccessFilter, aI as WorkflowExportFormat } from "./graphql-types-C5Tr6508.js";
|
|
13
|
+
import { a as assertImportByteSize, g as readProjectArchive, h as primaryImportModule, i as MAX_IMPORT_SOURCE_BYTES, l as importAcceptAttribute, n as ImportSourceError, r as MAX_IMPORT_ARCHIVE_BYTES, s as checkTypeScriptImport, t as CODE_EXPORT_FORMATS, u as importFileKind, v as typeScriptImportSource, x as workflowNameFromFile, y as typeScriptModuleFile } from "./workflow-code-transfer-Dbnvw5fc.js";
|
|
14
|
+
import { i as canShareWorkflow, r as canEditWorkflow, t as WorkflowShareDialog } from "./WorkflowShareDialog-BcfzZDOj.js";
|
|
14
15
|
import { i as useOpenRequest, n as ACTION_PARAM_VALUES, r as useActionParam } from "./useActionParam-B0ebTZmg.js";
|
|
15
16
|
import { d as useFluidGridsFlag, t as FLUIDGRIDS_FLAGS } from "./feature-flags-B_b8PJ6Z.js";
|
|
16
17
|
import { n as downloadWorkflowExport, r as parseWorkflowImport } from "./workflow-transfer-CQnQC-ke.js";
|
|
17
18
|
import { a as useWorkflowProjects, i as useWorkflowProjectActions, n as useWorkflowFolderActions, r as useWorkflowFolders, t as useBulkWorkflowActions } from "./useWorkflowOrganization-r5FWNBs6.js";
|
|
18
19
|
import { t as describeOperationError } from "./errors-xPZ-IbQd.js";
|
|
19
|
-
import { a as useExecutions } from "./useExecutions-
|
|
20
|
+
import { a as useExecutions } from "./useExecutions-CB1Rva2V.js";
|
|
20
21
|
import { a as firstWorkflowProgress, i as builderPathFor, r as GUIDED_TOUR_STATE } from "./firstWorkflow-C_h0KMB2.js";
|
|
21
22
|
import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
|
|
22
23
|
import { i as workflowsListControls } from "./pageControlSpecs-DZJ9K37m.js";
|
|
@@ -110,6 +111,69 @@ function WorkflowStatusPill({ status }) {
|
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
|
|
114
|
+
// src/components/run-mode/WorkflowRunModeBadges.tsx
|
|
115
|
+
const BADGE_CLASS = "inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-0.5 text-[11px] font-medium text-muted-foreground";
|
|
116
|
+
/**
|
|
117
|
+
* A workflow's run mode and, when the author chose one, its autonomy level (BOFF-9955), as two
|
|
118
|
+
* small badges with their explanation in a tooltip. Renders nothing for values it does not know
|
|
119
|
+
* (an older service that does not send them yet). Needs a TooltipProvider above it.
|
|
120
|
+
*/
|
|
121
|
+
function WorkflowRunModeBadges({ executionMode, autonomyLevel, className }) {
|
|
122
|
+
const tr = useTr();
|
|
123
|
+
const modes = useExecutionModeCopy();
|
|
124
|
+
const levels = useAutonomyLevelCopy();
|
|
125
|
+
const mode = isExecutionMode(executionMode) ? executionMode : null;
|
|
126
|
+
const level = isAutonomyLevel(autonomyLevel) ? autonomyLevel : null;
|
|
127
|
+
if (!mode && !level) return null;
|
|
128
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
129
|
+
className: cn("flex flex-wrap items-center gap-1", className),
|
|
130
|
+
children: [mode && /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
131
|
+
asChild: true,
|
|
132
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
133
|
+
className: BADGE_CLASS,
|
|
134
|
+
"data-testid": "workflow-run-mode-badge",
|
|
135
|
+
"data-mode": mode,
|
|
136
|
+
"aria-label": tr("fluidgrids.runMode.badgeAriaLabel", "Run mode: {{mode}}", { mode: modes[mode].label }),
|
|
137
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
138
|
+
icon: EXECUTION_MODE_ICONS[mode],
|
|
139
|
+
className: "size-3",
|
|
140
|
+
"aria-hidden": "true"
|
|
141
|
+
}), modes[mode].label]
|
|
142
|
+
})
|
|
143
|
+
}), /* @__PURE__ */ jsx(TooltipContent, {
|
|
144
|
+
side: "top",
|
|
145
|
+
children: /* @__PURE__ */ jsx("p", { children: modes[mode].hint })
|
|
146
|
+
})] }), level && /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
147
|
+
asChild: true,
|
|
148
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
149
|
+
className: BADGE_CLASS,
|
|
150
|
+
"data-testid": "workflow-autonomy-badge",
|
|
151
|
+
"data-level": level,
|
|
152
|
+
"aria-label": tr("fluidgrids.autonomy.badgeAriaLabel", "Autonomy level: {{level}}", { level: levels[level].label }),
|
|
153
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
154
|
+
icon: "mdi:shield-account-outline",
|
|
155
|
+
className: "size-3",
|
|
156
|
+
"aria-hidden": "true"
|
|
157
|
+
}), level]
|
|
158
|
+
})
|
|
159
|
+
}), /* @__PURE__ */ jsxs(TooltipContent, {
|
|
160
|
+
side: "top",
|
|
161
|
+
className: "max-w-xs",
|
|
162
|
+
children: [
|
|
163
|
+
/* @__PURE__ */ jsx("p", {
|
|
164
|
+
className: "font-medium",
|
|
165
|
+
children: levels[level].label
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ jsx("p", { children: levels[level].hint }),
|
|
168
|
+
/* @__PURE__ */ jsx("p", {
|
|
169
|
+
className: "mt-1 text-[11px] opacity-80",
|
|
170
|
+
children: tr("fluidgrids.autonomy.notEnforcedYet", "Recorded only for now: agent approvals do not follow this level yet.")
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
})] })]
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
|
|
113
177
|
// src/builder/components/ui/workflow-export-menu.tsx
|
|
114
178
|
/**
|
|
115
179
|
* The workflow card's Export menu with code-first on (BOFF-9904, spec 07 §8):
|
|
@@ -301,6 +365,11 @@ const CardWorkflow = ({ workflow, onUpdateSuccess, onExport, onExportAs, exporti
|
|
|
301
365
|
title: description || void 0,
|
|
302
366
|
children: description || tr("fluidgrids.builder.cardWorkflow.noDescription", "No description")
|
|
303
367
|
}),
|
|
368
|
+
/* @__PURE__ */ jsx(WorkflowRunModeBadges, {
|
|
369
|
+
executionMode: workflow.execution_mode,
|
|
370
|
+
autonomyLevel: workflow.autonomy_level,
|
|
371
|
+
className: "mt-2"
|
|
372
|
+
}),
|
|
304
373
|
workflow.tags && workflow.tags.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
305
374
|
className: "mt-2 flex flex-wrap items-center gap-1",
|
|
306
375
|
children: [workflow.tags.slice(0, 3).map((tag) => /* @__PURE__ */ jsx(TagBadge, {
|
|
@@ -1836,6 +1905,7 @@ function DescriptionForm({ workflow, onClose, onSaved }) {
|
|
|
1836
1905
|
* ?access=mine | shared (absent or "all" = every visible workflow)
|
|
1837
1906
|
* ?status=active | draft | archived | deprecated (absent = any status)
|
|
1838
1907
|
* ?folder=<folder id> (absent = all folders)
|
|
1908
|
+
* ?mode=deterministic | agentic | hybrid (absent = any run mode, BOFF-9955)
|
|
1839
1909
|
*
|
|
1840
1910
|
* Unknown values fall back to the default rather than erroring. Writes use
|
|
1841
1911
|
* history replace, so toggling chips does not flood the back stack, and a
|
|
@@ -1844,7 +1914,8 @@ function DescriptionForm({ workflow, onClose, onSaved }) {
|
|
|
1844
1914
|
const WORKFLOWS_LIST_PARAMS = {
|
|
1845
1915
|
access: "access",
|
|
1846
1916
|
status: "status",
|
|
1847
|
-
folder: "folder"
|
|
1917
|
+
folder: "folder",
|
|
1918
|
+
mode: "mode"
|
|
1848
1919
|
};
|
|
1849
1920
|
/** The workflow statuses the list's status chips offer. */
|
|
1850
1921
|
const WORKFLOW_LIST_STATUSES = [
|
|
@@ -1888,6 +1959,15 @@ function folderFromParam(value) {
|
|
|
1888
1959
|
const trimmed = value?.trim();
|
|
1889
1960
|
return trimmed ? trimmed : null;
|
|
1890
1961
|
}
|
|
1962
|
+
/** `agentic` / `AGENTIC` → AGENTIC (BOFF-9955); anything unknown → no filter. */
|
|
1963
|
+
function modeFromParam(value) {
|
|
1964
|
+
if (!value) return null;
|
|
1965
|
+
const upper = value.trim().toUpperCase();
|
|
1966
|
+
return isExecutionMode(upper) ? upper : null;
|
|
1967
|
+
}
|
|
1968
|
+
function modeToParam(mode) {
|
|
1969
|
+
return mode ? mode.toLowerCase() : null;
|
|
1970
|
+
}
|
|
1891
1971
|
/**
|
|
1892
1972
|
* Applies a filter patch to a copy of `params`. Keys missing from the patch
|
|
1893
1973
|
* are left untouched; default values delete their parameter. Unrelated
|
|
@@ -1902,6 +1982,7 @@ function applyFilterPatch(params, patch) {
|
|
|
1902
1982
|
if (patch.access !== void 0) write(WORKFLOWS_LIST_PARAMS.access, accessToParam(patch.access));
|
|
1903
1983
|
if (patch.status !== void 0) write(WORKFLOWS_LIST_PARAMS.status, statusToParam(patch.status));
|
|
1904
1984
|
if (patch.folder !== void 0) write(WORKFLOWS_LIST_PARAMS.folder, folderFromParam(patch.folder));
|
|
1985
|
+
if (patch.mode !== void 0) write(WORKFLOWS_LIST_PARAMS.mode, modeToParam(patch.mode));
|
|
1905
1986
|
return next;
|
|
1906
1987
|
}
|
|
1907
1988
|
function useWorkflowsListUrlState() {
|
|
@@ -1909,6 +1990,7 @@ function useWorkflowsListUrlState() {
|
|
|
1909
1990
|
const access = accessFromParam(searchParams.get(WORKFLOWS_LIST_PARAMS.access));
|
|
1910
1991
|
const status = statusFromParam(searchParams.get(WORKFLOWS_LIST_PARAMS.status));
|
|
1911
1992
|
const folder = folderFromParam(searchParams.get(WORKFLOWS_LIST_PARAMS.folder));
|
|
1993
|
+
const mode = modeFromParam(searchParams.get(WORKFLOWS_LIST_PARAMS.mode));
|
|
1912
1994
|
const update = useCallback((patch) => {
|
|
1913
1995
|
setSearchParams((prev) => applyFilterPatch(prev, patch), { replace: true });
|
|
1914
1996
|
}, [setSearchParams]);
|
|
@@ -1916,14 +1998,17 @@ function useWorkflowsListUrlState() {
|
|
|
1916
1998
|
access,
|
|
1917
1999
|
status,
|
|
1918
2000
|
folder,
|
|
2001
|
+
mode,
|
|
1919
2002
|
update,
|
|
1920
2003
|
setAccess: (next) => update({ access: next }),
|
|
1921
2004
|
setStatus: (next) => update({ status: next }),
|
|
1922
|
-
setFolder: (next) => update({ folder: next })
|
|
2005
|
+
setFolder: (next) => update({ folder: next }),
|
|
2006
|
+
setMode: (next) => update({ mode: next })
|
|
1923
2007
|
}), [
|
|
1924
2008
|
access,
|
|
1925
2009
|
status,
|
|
1926
2010
|
folder,
|
|
2011
|
+
mode,
|
|
1927
2012
|
update
|
|
1928
2013
|
]);
|
|
1929
2014
|
}
|
|
@@ -1991,16 +2076,18 @@ function WorkflowsList() {
|
|
|
1991
2076
|
const ACCESS_FILTERS = useAccessFilters();
|
|
1992
2077
|
const workspaceId = useContext(FluidGridsContext)?.workspaceId ?? "";
|
|
1993
2078
|
const urlFilters = useWorkflowsListUrlState();
|
|
1994
|
-
const { access: accessFilter, status: statusFilter, folder: folderFilter, setAccess: setAccessFilter, setStatus: setStatusFilter, setFolder: setFolderFilter } = urlFilters;
|
|
2079
|
+
const { access: accessFilter, status: statusFilter, folder: folderFilter, mode: modeFilter, setAccess: setAccessFilter, setStatus: setStatusFilter, setFolder: setFolderFilter, setMode: setModeFilter } = urlFilters;
|
|
2080
|
+
const modeCopy = useExecutionModeCopy();
|
|
1995
2081
|
const { workflows, loading, error, tagsByKey, refetch } = useWorkflowDefinitions({
|
|
1996
2082
|
limit: 100,
|
|
1997
2083
|
latestOnly: true,
|
|
1998
|
-
...accessFilter === "ALL" ? {} : { access: accessFilter }
|
|
2084
|
+
...accessFilter === "ALL" ? {} : { access: accessFilter },
|
|
2085
|
+
...modeFilter ? { executionMode: modeFilter } : {}
|
|
1999
2086
|
});
|
|
2000
2087
|
const [sharing, setSharing] = useState(null);
|
|
2001
2088
|
const [moving, setMoving] = useState(null);
|
|
2002
2089
|
const [describing, setDescribing] = useState(null);
|
|
2003
|
-
const
|
|
2090
|
+
const filteredOnServer = accessFilter !== "ALL" || modeFilter !== null;
|
|
2004
2091
|
const { getWorkflow } = useLazyWorkflowDefinition();
|
|
2005
2092
|
const createPermission = useFluidGridsPermission(FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE);
|
|
2006
2093
|
const canCreate = createPermission.allowed;
|
|
@@ -2197,7 +2284,7 @@ function WorkflowsList() {
|
|
|
2197
2284
|
workflows,
|
|
2198
2285
|
canCreate
|
|
2199
2286
|
}),
|
|
2200
|
-
!loading && !error && (workflows.length > 0 ||
|
|
2287
|
+
!loading && !error && (workflows.length > 0 || filteredOnServer) && /* @__PURE__ */ jsxs("div", {
|
|
2201
2288
|
className: "flex flex-wrap items-center gap-3",
|
|
2202
2289
|
"data-tour": "fluidgrids-list-toolbar",
|
|
2203
2290
|
children: [
|
|
@@ -2231,6 +2318,30 @@ function WorkflowsList() {
|
|
|
2231
2318
|
children: option.label
|
|
2232
2319
|
}, option.value))
|
|
2233
2320
|
}),
|
|
2321
|
+
/* @__PURE__ */ jsxs("div", {
|
|
2322
|
+
className: "flex flex-wrap items-center gap-1.5",
|
|
2323
|
+
role: "group",
|
|
2324
|
+
"aria-label": tr("fluidgrids.workflowsList.mode.label", "Run mode"),
|
|
2325
|
+
"data-testid": "workflow-mode-filter",
|
|
2326
|
+
children: [/* @__PURE__ */ jsx("button", {
|
|
2327
|
+
type: "button",
|
|
2328
|
+
"aria-pressed": modeFilter === null,
|
|
2329
|
+
onClick: () => setModeFilter(null),
|
|
2330
|
+
className: cn("rounded-full border px-3 py-1 text-xs font-medium transition-colors", modeFilter === null ? "border-transparent bg-primary text-primary-foreground" : "border-border bg-card text-muted-foreground hover:text-foreground"),
|
|
2331
|
+
children: tr("fluidgrids.workflowsList.mode.all", "Any mode")
|
|
2332
|
+
}), EXECUTION_MODES.map((mode) => /* @__PURE__ */ jsxs("button", {
|
|
2333
|
+
type: "button",
|
|
2334
|
+
"aria-pressed": modeFilter === mode,
|
|
2335
|
+
title: modeCopy[mode].hint,
|
|
2336
|
+
onClick: () => setModeFilter(modeFilter === mode ? null : mode),
|
|
2337
|
+
className: cn("inline-flex items-center gap-1 rounded-full border px-3 py-1 text-xs font-medium transition-colors", modeFilter === mode ? "border-transparent bg-primary text-primary-foreground" : "border-border bg-card text-muted-foreground hover:text-foreground"),
|
|
2338
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
2339
|
+
icon: EXECUTION_MODE_ICONS[mode],
|
|
2340
|
+
className: "size-3.5",
|
|
2341
|
+
"aria-hidden": "true"
|
|
2342
|
+
}), modeCopy[mode].label]
|
|
2343
|
+
}, mode))]
|
|
2344
|
+
}),
|
|
2234
2345
|
/* @__PURE__ */ jsxs(Button, {
|
|
2235
2346
|
variant: selectMode ? "secondary" : "outline",
|
|
2236
2347
|
size: "sm",
|
|
@@ -2306,7 +2417,7 @@ function WorkflowsList() {
|
|
|
2306
2417
|
})
|
|
2307
2418
|
]
|
|
2308
2419
|
})
|
|
2309
|
-
}) : workflows.length === 0 && !
|
|
2420
|
+
}) : workflows.length === 0 && !filteredOnServer ? /* @__PURE__ */ jsx("div", {
|
|
2310
2421
|
className: "grid flex-1 place-items-center",
|
|
2311
2422
|
children: /* @__PURE__ */ jsx(IllustratedEmptyState, {
|
|
2312
2423
|
illustration: "onboarding",
|
|
@@ -2370,7 +2481,9 @@ function WorkflowsList() {
|
|
|
2370
2481
|
color: a.tagInfo?.color ?? void 0
|
|
2371
2482
|
})),
|
|
2372
2483
|
visibility: workflow.visibility ?? void 0,
|
|
2373
|
-
my_access: workflow.myAccess ?? null
|
|
2484
|
+
my_access: workflow.myAccess ?? null,
|
|
2485
|
+
execution_mode: workflow.executionMode ?? null,
|
|
2486
|
+
autonomy_level: workflow.autonomyLevel ?? null
|
|
2374
2487
|
},
|
|
2375
2488
|
onUpdateSuccess: () => refetch(),
|
|
2376
2489
|
onShare: () => setSharing({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Sw as OptimisationKind, xw as OptimisationDismissReason } from "./graphql-types-
|
|
2
|
+
import { Sw as OptimisationKind, xw as OptimisationDismissReason } from "./graphql-types-C5Tr6508.js";
|
|
3
3
|
|
|
4
4
|
// src/modules/observability/optimisation.ts
|
|
5
5
|
/** The look-back window the detectors use when the evidence does not say. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { NI as WorkflowTestAssertionOperator } from "./graphql-types-C5Tr6508.js";
|
|
3
3
|
|
|
4
4
|
// src/builder/lib/assert-rules.ts
|
|
5
5
|
/** Every operator, in the order the editors offer them. */
|
package/dist/executions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as ExecutionsListPage } from "./ExecutionsListPage
|
|
3
|
-
import { t as ExecutionDetailPage } from "./ExecutionDetailPage-
|
|
2
|
+
import { t as ExecutionsListPage } from "./ExecutionsListPage-ASTpHWjv.js";
|
|
3
|
+
import { t as ExecutionDetailPage } from "./ExecutionDetailPage-2zr-EHVq.js";
|
|
4
4
|
|
|
5
5
|
export { ExecutionDetailPage, ExecutionsListPage };
|
|
@@ -6,7 +6,7 @@ import { n as preloadableLazy } from "./preloadable-lazy-Pp47mqQ9.js";
|
|
|
6
6
|
import { t as Input$1 } from "./input-ChT6Q-Pr.js";
|
|
7
7
|
import { t as useGlobalStoreClient } from "./useGlobalStoreClient-DMTrywdX.js";
|
|
8
8
|
import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
|
|
9
|
-
import { _ as useInstalledNodes, d as getStoreNodeAvailability, f as getStoreNodeIcon, g as storeNodeInstallVersion, h as storeNodeDisplayVersion, i as useTemplateImportFlow, l as useWorkflowTemplates, m as isStoreNodeUpdateAvailable, p as getStoreNodeType, t as TemplateCard, u as filterStoreNodesForPalette } from "./TemplateCard-
|
|
9
|
+
import { _ as useInstalledNodes, d as getStoreNodeAvailability, f as getStoreNodeIcon, g as storeNodeInstallVersion, h as storeNodeDisplayVersion, i as useTemplateImportFlow, l as useWorkflowTemplates, m as isStoreNodeUpdateAvailable, p as getStoreNodeType, t as TemplateCard, u as filterStoreNodesForPalette } from "./TemplateCard-HSRLZw7S.js";
|
|
10
10
|
import { _ as useWorkflowTestsEnabled, d as useFluidGridsFlag, h as usePhaseDFlags, l as useDurableFunctionNodesEnabled, p as usePaletteGates, t as FLUIDGRIDS_FLAGS, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
|
|
11
11
|
import { i as filterPaletteNodes } from "./durable-nodes-DXCCQYWD.js";
|
|
12
12
|
import { c as NODE_TYPE_DRAG_DATA_FORMAT, l as STICKY_NOTE_TYPE, s as NODE_OPERATION_DRAG_DATA_FORMAT } from "./sticky-notes-23j-wL6Q.js";
|
|
@@ -24,25 +24,25 @@ import { i as emitFluidGridsEvent } from "./token-refresh-link-BjN7H4qA.js";
|
|
|
24
24
|
import { n as useBuilderReadOnly, t as BuilderReadOnlyProvider } from "./read-only-context-Dt9N9SIG.js";
|
|
25
25
|
import { r as MAPPING_TYPE_COLORS, t as MAPPING_COMPATIBILITY_COLORS } from "./mapping-colors-BIX_YeCQ.js";
|
|
26
26
|
import { n as LogsPanel } from "./logs-panel-DtG93ocy.js";
|
|
27
|
-
import { c as emptyTestCaseDraft, d as nextSortOrder, f as pinnedOutputsFromCanvas, g as useAgentTokenStream, h as testStatusTone, i as TEST_STATUS_TONE_CLASS, l as enabledCaseIds, m as testStatusLabel, o as draftFromTestCase, p as testRunSummaryText, r as useWorkflowTests, s as draftToInput, t as useWorkflowProposal, u as isTestRunOpen, y as latestAgentTokenStream } from "./useWorkflowProposal-
|
|
28
|
-
import { r as useExecutionActions } from "./useExecutions-
|
|
27
|
+
import { c as emptyTestCaseDraft, d as nextSortOrder, f as pinnedOutputsFromCanvas, g as useAgentTokenStream, h as testStatusTone, i as TEST_STATUS_TONE_CLASS, l as enabledCaseIds, m as testStatusLabel, o as draftFromTestCase, p as testRunSummaryText, r as useWorkflowTests, s as draftToInput, t as useWorkflowProposal, u as isTestRunOpen, y as latestAgentTokenStream } from "./useWorkflowProposal-UtJYycLv.js";
|
|
28
|
+
import { r as useExecutionActions } from "./useExecutions-CB1Rva2V.js";
|
|
29
29
|
import { n as useAgentMarksStore } from "./marksStore-DGCXjTmZ.js";
|
|
30
30
|
import { t as notesKeyOf } from "./notesKey-5EaREBGA.js";
|
|
31
|
-
import { a as saveWorkflowDescription, c as CreateWorkflowRefusalDialog, i as normalizeWorkflowDescription, n as useWorkflowCodeExport, o as visibleWorkflowDescription, r as commitWorkflowDescription, s as workflowDescriptionCharactersLeft } from "./useWorkflowCodeExport-
|
|
31
|
+
import { a as saveWorkflowDescription, c as CreateWorkflowRefusalDialog, i as normalizeWorkflowDescription, n as useWorkflowCodeExport, o as visibleWorkflowDescription, r as commitWorkflowDescription, s as workflowDescriptionCharactersLeft } from "./useWorkflowCodeExport-Dej_LUk7.js";
|
|
32
32
|
import { r as RUNS_QUOTA_NAME, t as BILLING_PLANS_PATH } from "./quota-Cdt8yz7N.js";
|
|
33
33
|
import { t as EntityTagPicker } from "./EntityTagPicker-BppBSEJk.js";
|
|
34
34
|
import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
|
|
35
35
|
import { n as runsQuotaLevel, t as readRunsQuota } from "./runsQuota-DvXR6mRN.js";
|
|
36
36
|
import { a as SdkPermissionGate, i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
|
37
|
-
import { a as useDeactivateWorkflow, d as useRestoreWorkflowVersion, o as useDeleteWorkflow, t as useActivateWorkflow, v as useWorkflowVersions } from "./useWorkflows-
|
|
37
|
+
import { a as useDeactivateWorkflow, d as useRestoreWorkflowVersion, o as useDeleteWorkflow, t as useActivateWorkflow, v as useWorkflowVersions } from "./useWorkflows-DEWdntS_.js";
|
|
38
38
|
import { t as WorkflowDefinitionDocument } from "./WorkflowDefinitionDocument-DZLbTPUZ.js";
|
|
39
39
|
import { o as countLifecycle, t as VersionLifecycleBar } from "./VersionLifecycleBar-DuphLOT0.js";
|
|
40
|
-
import { $P as VersioningBehavior, Eu as DrainageStatus,
|
|
40
|
+
import { $P as VersioningBehavior, Eu as DrainageStatus, PI as WorkflowTestExpectedStatus, aI as WorkflowExportFormat, jo as CodeReplaceStatus, rI as WorkflowEnvironment } from "./graphql-types-C5Tr6508.js";
|
|
41
41
|
import { t as buildNodeDisplayMap } from "./run-display-BycKYSU0.js";
|
|
42
42
|
import { n as useRequestedProposal } from "./useRequestedProposal-B7uPXfZB.js";
|
|
43
43
|
import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
44
44
|
import { t as downloadBlob } from "./workflow-transfer-CQnQC-ke.js";
|
|
45
|
-
import { _ as sortFidelityItems, c as fileBaseName, d as isLosslessReport, f as isLossyFidelityItem, m as orderedExportFiles, o as buildExportDownload, p as lineOfNode } from "./workflow-code-transfer-
|
|
45
|
+
import { _ as sortFidelityItems, c as fileBaseName, d as isLosslessReport, f as isLossyFidelityItem, m as orderedExportFiles, o as buildExportDownload, p as lineOfNode } from "./workflow-code-transfer-Dbnvw5fc.js";
|
|
46
46
|
import { Suspense, lazy, useCallback, useContext, useDeferredValue, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
47
47
|
import { Link, useNavigate, useParams } from "react-router";
|
|
48
48
|
import { useMutation, useQuery } from "@apollo/client/react";
|
|
@@ -6683,10 +6683,10 @@ function IntroductionPropertyPanel() {
|
|
|
6683
6683
|
* waiting for its chunk and React's Suspense throttle (about 0.5 s on first
|
|
6684
6684
|
* open even with the chunk cached).
|
|
6685
6685
|
*/
|
|
6686
|
-
const NodeDetailViewOverlay = preloadableLazy(() => import("./node-detail-view-
|
|
6687
|
-
const QuickConfigPanelOverlay = preloadableLazy(() => import("./quick-config-panel-
|
|
6688
|
-
const SidebarNodeEditorOverlay = preloadableLazy(() => import("./sidebar-node-editor-
|
|
6689
|
-
const WorkflowShareDialogOverlay = preloadableLazy(() => import("./WorkflowShareDialog-
|
|
6686
|
+
const NodeDetailViewOverlay = preloadableLazy(() => import("./node-detail-view-LaFhKUoA.js").then((m) => m.NodeDetailView), "NodeDetailView");
|
|
6687
|
+
const QuickConfigPanelOverlay = preloadableLazy(() => import("./quick-config-panel-hrOn1WJp.js").then((m) => m.QuickConfigPanel), "QuickConfigPanel");
|
|
6688
|
+
const SidebarNodeEditorOverlay = preloadableLazy(() => import("./sidebar-node-editor-CZ2hHqwr.js").then((m) => m.SidebarNodeEditor), "SidebarNodeEditor");
|
|
6689
|
+
const WorkflowShareDialogOverlay = preloadableLazy(() => import("./WorkflowShareDialog-BcfzZDOj.js").then((n) => n.n).then((m) => m.WorkflowShareDialog), "WorkflowShareDialog");
|
|
6690
6690
|
const ConnectionFormDialogOverlay = preloadableLazy(() => import("./ConnectionFormDialog-Dr1-CTan.js").then((n) => n.n).then((m) => m.ConnectionFormDialog), "ConnectionFormDialog");
|
|
6691
6691
|
const EdgeMapperOverlay = preloadableLazy(() => import("./app-BJUvugPM.js").then((m) => m.default), "EdgeMapper");
|
|
6692
6692
|
const EdgeConditionBuilderOverlay = preloadableLazy(() => import("./conditionBuilder-D8aLGL1w.js").then((m) => m.default), "EdgeConditionBuilder");
|