@burdenoff/fluidgrids-fe-sdk 2026.1031.1 → 2026.1031.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/{ExecutionDetailPage-3OBQI7US.js → ExecutionDetailPage-WOOORXXU.js} +8 -8
- package/dist/{ExecutionsListPage-IWCFZN3M.js → ExecutionsListPage-AYDGFU6W.js} +5 -5
- package/dist/{TemplateDetailPanel-F5SL7LZ5.js → TemplateDetailPanel-MTKW3SPM.js} +15 -4
- package/dist/{WorkflowBuilder-QUFOAGGI.js → WorkflowBuilder-N3ZUYFRK.js} +9 -8
- package/dist/{WorkflowsList-FUPJBOZF.js → WorkflowsList-BZXBTGNL.js} +6 -6
- package/dist/{chunk-DNXI4MRX.js → chunk-44KAAKFK.js} +4 -4
- package/dist/{chunk-WYRMFOAE.js → chunk-475XP5J7.js} +5 -5
- package/dist/{chunk-G5UND5NE.js → chunk-6PGLJWIC.js} +118 -9
- package/dist/{chunk-KWI3VUDC.js → chunk-ADTEMSJI.js} +1 -1
- package/dist/chunk-B6CCE2RW.js +16 -0
- package/dist/{chunk-MKHVPALQ.js → chunk-BHD4CDLL.js} +1 -1
- package/dist/{chunk-WXZYFZAQ.js → chunk-CIR7WF4W.js} +1 -1
- package/dist/{chunk-GORW52XL.js → chunk-DHR2YURL.js} +7 -7
- package/dist/{chunk-V5YQDSOR.js → chunk-DJAGZUHW.js} +41 -34
- package/dist/{chunk-35XBZMUY.js → chunk-GV5RJ6BU.js} +4 -4
- package/dist/{chunk-EPPDUVRT.js → chunk-IGROOI7E.js} +1 -1
- package/dist/{chunk-HQZR7PRN.js → chunk-JFQGODKK.js} +1 -1
- package/dist/{chunk-RCC6MWJ7.js → chunk-P2VAHDGO.js} +1 -1
- package/dist/{chunk-ASNNQIBJ.js → chunk-P3TGCUXP.js} +2 -2
- package/dist/{chunk-37GZQV4P.js → chunk-PKG6BCHB.js} +1 -1
- package/dist/{chunk-6PLOOE6D.js → chunk-PTROESUB.js} +4 -4
- package/dist/{chunk-YHYBZCC5.js → chunk-Q3HKE627.js} +3 -3
- package/dist/{chunk-56VJFVOR.js → chunk-QKQOTEAB.js} +1 -1
- package/dist/{chunk-BYTREFEU.js → chunk-R4Q37Q4X.js} +3 -3
- package/dist/{chunk-XZPZE4S7.js → chunk-VJWJGSRS.js} +1 -1
- package/dist/{chunk-TKMGUAQZ.js → chunk-WHPQRYZD.js} +4 -4
- package/dist/{chunk-ZWXX6NA3.js → chunk-XX6D7IND.js} +1 -1
- package/dist/executions.js +9 -9
- package/dist/history.js +3 -3
- package/dist/index.d.ts +96 -4
- package/dist/index.js +33 -32
- package/dist/observability.js +4 -4
- package/dist/settings.js +5 -5
- package/dist/templates.js +8 -7
- package/dist/workflow-builder.js +10 -9
- package/dist/workflows-list.js +6 -6
- package/package.json +1 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { ExecutionDetailPage } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
1
|
+
export { ExecutionDetailPage } from './chunk-DHR2YURL.js';
|
|
2
|
+
import './chunk-P3TGCUXP.js';
|
|
3
|
+
import './chunk-XX6D7IND.js';
|
|
4
|
+
import './chunk-P2VAHDGO.js';
|
|
5
|
+
import './chunk-VJWJGSRS.js';
|
|
6
6
|
import './chunk-5ERAJC2I.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-ADTEMSJI.js';
|
|
8
8
|
import './chunk-INMYNHJL.js';
|
|
9
9
|
import './chunk-Y53CVZVV.js';
|
|
10
10
|
import './chunk-FNZZ5JJL.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-PKG6BCHB.js';
|
|
12
12
|
import './chunk-PJAWNFJV.js';
|
|
13
13
|
import './chunk-Z3FYBDE3.js';
|
|
14
|
-
import './chunk-
|
|
14
|
+
import './chunk-6PGLJWIC.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-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { ExecutionsListPage } from './chunk-PTROESUB.js';
|
|
2
|
+
import './chunk-P3TGCUXP.js';
|
|
3
|
+
import './chunk-XX6D7IND.js';
|
|
4
4
|
import './chunk-5ERAJC2I.js';
|
|
5
5
|
import './chunk-INMYNHJL.js';
|
|
6
6
|
import './chunk-FNZZ5JJL.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-PKG6BCHB.js';
|
|
8
8
|
import './chunk-PJAWNFJV.js';
|
|
9
9
|
import './chunk-Z3FYBDE3.js';
|
|
10
10
|
import './chunk-4VJ3MDOV.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-6PGLJWIC.js';
|
|
12
12
|
import './chunk-JL7CASN5.js';
|
|
13
13
|
import './chunk-PXIFUMLA.js';
|
|
14
14
|
import './chunk-6AMNEX2Y.js';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { templatePreview } from './chunk-B6CCE2RW.js';
|
|
1
2
|
import { Button, Badge } from './chunk-BQXVT32O.js';
|
|
2
3
|
import './chunk-JL7CASN5.js';
|
|
3
4
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
5
|
import './chunk-62GWEYJ5.js';
|
|
5
6
|
import { X, Sparkles, Star, Download, Eye, User, Calendar, Tag, ExternalLink } from 'lucide-react';
|
|
7
|
+
import { Icon } from '@iconify/react';
|
|
6
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
9
|
|
|
8
10
|
function formatNumber(count) {
|
|
@@ -32,7 +34,7 @@ function TemplateDetailPanel({
|
|
|
32
34
|
onUseTemplate
|
|
33
35
|
}) {
|
|
34
36
|
const tr = useTr();
|
|
35
|
-
const
|
|
37
|
+
const preview = templatePreview(template);
|
|
36
38
|
return /* @__PURE__ */ jsxs("div", { className: "w-full md:w-1/2 lg:w-2/5 border-l bg-background overflow-y-auto", children: [
|
|
37
39
|
/* @__PURE__ */ jsxs("div", { className: "sticky top-0 z-10 flex items-center justify-between px-4 py-3 bg-background border-b", children: [
|
|
38
40
|
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold truncate pr-4", children: tr(
|
|
@@ -52,14 +54,23 @@ function TemplateDetailPanel({
|
|
|
52
54
|
] }),
|
|
53
55
|
/* @__PURE__ */ jsxs("div", { className: "p-4 space-y-5", children: [
|
|
54
56
|
/* @__PURE__ */ jsxs("div", { className: "relative aspect-video w-full rounded-lg overflow-hidden bg-gradient-to-br from-primary/5 to-primary/10", children: [
|
|
55
|
-
|
|
57
|
+
preview.kind === "image" ? /* @__PURE__ */ jsx(
|
|
56
58
|
"img",
|
|
57
59
|
{
|
|
58
|
-
src:
|
|
60
|
+
src: preview.src,
|
|
59
61
|
alt: template.name,
|
|
60
62
|
className: "w-full h-full object-cover"
|
|
61
63
|
}
|
|
62
|
-
) : /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
64
|
+
) : /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center", children: preview.kind === "icon" ? /* @__PURE__ */ jsx(
|
|
65
|
+
Icon,
|
|
66
|
+
{
|
|
67
|
+
icon: preview.name,
|
|
68
|
+
width: 64,
|
|
69
|
+
height: 64,
|
|
70
|
+
className: "text-primary/60",
|
|
71
|
+
"aria-hidden": "true"
|
|
72
|
+
}
|
|
73
|
+
) : /* @__PURE__ */ jsx(Sparkles, { className: "size-16 text-primary/30" }) }),
|
|
63
74
|
/* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2", children: template.pricingModel === "FREE" ? /* @__PURE__ */ jsx(
|
|
64
75
|
Badge,
|
|
65
76
|
{
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-44KAAKFK.js';
|
|
2
|
+
import './chunk-BHD4CDLL.js';
|
|
3
3
|
import './chunk-PIKYQE7P.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-DJAGZUHW.js';
|
|
5
5
|
import './chunk-GEMNVFPK.js';
|
|
6
|
+
import './chunk-B6CCE2RW.js';
|
|
6
7
|
import './chunk-IEVSFCFS.js';
|
|
7
8
|
import './chunk-YXMFRQYV.js';
|
|
8
9
|
import './chunk-BQXVT32O.js';
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-IGROOI7E.js';
|
|
11
|
+
import './chunk-ADTEMSJI.js';
|
|
11
12
|
import './chunk-INMYNHJL.js';
|
|
12
13
|
import './chunk-Y53CVZVV.js';
|
|
13
|
-
import './chunk-
|
|
14
|
+
import './chunk-PKG6BCHB.js';
|
|
14
15
|
import './chunk-Z3FYBDE3.js';
|
|
15
|
-
import './chunk-
|
|
16
|
+
import './chunk-JFQGODKK.js';
|
|
16
17
|
import './chunk-4VJ3MDOV.js';
|
|
17
|
-
import './chunk-
|
|
18
|
+
import './chunk-6PGLJWIC.js';
|
|
18
19
|
import './chunk-JL7CASN5.js';
|
|
19
20
|
import './chunk-PXIFUMLA.js';
|
|
20
21
|
import './chunk-6AMNEX2Y.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { WorkflowsList } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { WorkflowsList } from './chunk-475XP5J7.js';
|
|
2
|
+
import './chunk-BHD4CDLL.js';
|
|
3
|
+
import './chunk-XX6D7IND.js';
|
|
4
4
|
import './chunk-5ERAJC2I.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-IGROOI7E.js';
|
|
6
6
|
import './chunk-FNZZ5JJL.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-PKG6BCHB.js';
|
|
8
8
|
import './chunk-PJAWNFJV.js';
|
|
9
9
|
import './chunk-Z3FYBDE3.js';
|
|
10
10
|
import './chunk-4VJ3MDOV.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-6PGLJWIC.js';
|
|
12
12
|
import './chunk-JL7CASN5.js';
|
|
13
13
|
import './chunk-PXIFUMLA.js';
|
|
14
14
|
import './chunk-6AMNEX2Y.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-
|
|
1
|
+
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-BHD4CDLL.js';
|
|
2
2
|
import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
|
|
3
|
-
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-
|
|
4
|
-
import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-
|
|
5
|
-
import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, mergeStickyNotes, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes, throwIfResultError } from './chunk-
|
|
3
|
+
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-DJAGZUHW.js';
|
|
4
|
+
import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-PKG6BCHB.js';
|
|
5
|
+
import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, mergeStickyNotes, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes, throwIfResultError } from './chunk-6PGLJWIC.js';
|
|
6
6
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
7
7
|
import { WorkflowDefinitionDocument } from './chunk-AW3UXMNI.js';
|
|
8
8
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-
|
|
2
|
-
import { useExecutions } from './chunk-
|
|
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-
|
|
1
|
+
import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-BHD4CDLL.js';
|
|
2
|
+
import { useExecutions } from './chunk-XX6D7IND.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-IGROOI7E.js';
|
|
4
4
|
import { workflowsListControls } from './chunk-FNZZ5JJL.js';
|
|
5
|
-
import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-
|
|
5
|
+
import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-PKG6BCHB.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-
|
|
8
|
+
import { createThenOpen, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useFluidGridsFlag, FLUIDGRIDS_FLAGS, SdkPermissionButton, BILLING_PLANS_PATH, describeOperationError, useFlowStore, SdkPermissionGate, isQuotaExhaustedFailure } from './chunk-6PGLJWIC.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';
|
|
@@ -39,16 +39,43 @@ var DURABLE_FUNCTION_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
|
39
39
|
"internal:code-workflow",
|
|
40
40
|
"internal:wait-for-signal"
|
|
41
41
|
]);
|
|
42
|
+
var RUN_CONTROL_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
43
|
+
"internal:signal-run",
|
|
44
|
+
"internal:set-search-attributes"
|
|
45
|
+
]);
|
|
46
|
+
function isRunControlNodeType(nodeType) {
|
|
47
|
+
return !!nodeType && RUN_CONTROL_NODE_TYPES.has(nodeType);
|
|
48
|
+
}
|
|
49
|
+
function paletteGatesOf(gates) {
|
|
50
|
+
if (typeof gates === "boolean")
|
|
51
|
+
return {
|
|
52
|
+
durableFunctions: gates,
|
|
53
|
+
runControl: false,
|
|
54
|
+
searchAttributes: false
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
durableFunctions: gates?.durableFunctions === true,
|
|
58
|
+
runControl: gates?.runControl === true,
|
|
59
|
+
searchAttributes: gates?.searchAttributes === true
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function hiddenBy(nodeType, gates) {
|
|
63
|
+
if (DURABLE_FUNCTION_NODE_TYPES.has(nodeType)) return !gates.durableFunctions;
|
|
64
|
+
if (nodeType === "internal:signal-run") return !gates.runControl;
|
|
65
|
+
if (nodeType === "internal:set-search-attributes")
|
|
66
|
+
return !gates.searchAttributes;
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
42
69
|
function isDurableFunctionNodeType(nodeType) {
|
|
43
70
|
return !!nodeType && DURABLE_FUNCTION_NODE_TYPES.has(nodeType);
|
|
44
71
|
}
|
|
45
|
-
function isNodeTypeHiddenFromPalette(nodeType,
|
|
46
|
-
return
|
|
72
|
+
function isNodeTypeHiddenFromPalette(nodeType, gates = false) {
|
|
73
|
+
return !!nodeType && hiddenBy(nodeType, paletteGatesOf(gates));
|
|
47
74
|
}
|
|
48
|
-
function filterPaletteNodes(nodes,
|
|
49
|
-
|
|
50
|
-
if (!nodes.some((node) =>
|
|
51
|
-
return nodes.filter((node) => !
|
|
75
|
+
function filterPaletteNodes(nodes, gates = false) {
|
|
76
|
+
const resolved = paletteGatesOf(gates);
|
|
77
|
+
if (!nodes.some((node) => hiddenBy(node.type, resolved))) return nodes;
|
|
78
|
+
return nodes.filter((node) => !hiddenBy(node.type, resolved));
|
|
52
79
|
}
|
|
53
80
|
var FLUIDGRIDS_FLAGS = {
|
|
54
81
|
/**
|
|
@@ -80,13 +107,51 @@ var FLUIDGRIDS_FLAGS = {
|
|
|
80
107
|
* defaults OFF and fails closed; the parity surfaces show only while this
|
|
81
108
|
* flag, `durableFunctions` and `codeFirst` are all on.
|
|
82
109
|
*/
|
|
83
|
-
durableParity: "fluidgrids.durable-parity"
|
|
110
|
+
durableParity: "fluidgrids.durable-parity",
|
|
111
|
+
/**
|
|
112
|
+
* Phase C (BOFF-9906, PLAN-C §2.1): self-hosted task queues, worker tokens,
|
|
113
|
+
* the task-queue pages and the codec settings. A rollout gate that also
|
|
114
|
+
* needs `codeFirst` and `durableFunctions`, so it defaults OFF and fails
|
|
115
|
+
* closed (see {@link resolvePhaseCFlags}).
|
|
116
|
+
*/
|
|
117
|
+
selfHostedWorkers: "fluidgrids.self-hosted-workers",
|
|
118
|
+
/**
|
|
119
|
+
* Phase C run control: updates and queries, reset, activity pause and
|
|
120
|
+
* options, pause rules, signal tokens, batch operations and the Signal Run
|
|
121
|
+
* node. Needs `codeFirst`, plus `durableFunctions` for anything acting on a
|
|
122
|
+
* durable-function run. Defaults OFF, fails closed.
|
|
123
|
+
*/
|
|
124
|
+
runControl: "fluidgrids.run-control",
|
|
125
|
+
/**
|
|
126
|
+
* Phase C search attributes: definitions, the runs-list filter, the Set
|
|
127
|
+
* Search Attributes node. Needs `codeFirst`. Defaults OFF, fails closed.
|
|
128
|
+
*/
|
|
129
|
+
searchAttributes: "fluidgrids.search-attributes",
|
|
130
|
+
/** Phase C run archival: the archive destination settings. Needs `codeFirst`. */
|
|
131
|
+
runArchival: "fluidgrids.run-archival",
|
|
132
|
+
/**
|
|
133
|
+
* Phase C schedule policies: the schedule panel of a Schedule Trigger
|
|
134
|
+
* (overlap policy, trigger now, backfill, pause with a note). Needs
|
|
135
|
+
* `codeFirst`. Defaults OFF, fails closed.
|
|
136
|
+
*/
|
|
137
|
+
schedulePolicies: "fluidgrids.schedule-policies",
|
|
138
|
+
/**
|
|
139
|
+
* Phase C Python durable functions: editing Python sources in the browser
|
|
140
|
+
* editor. Needs `codeFirst` and `durableFunctions`. Defaults OFF.
|
|
141
|
+
*/
|
|
142
|
+
pythonDurableFunctions: "fluidgrids.python-durable-functions"
|
|
84
143
|
};
|
|
85
144
|
var FLUIDGRIDS_FLAG_DEFAULTS = {
|
|
86
145
|
[FLUIDGRIDS_FLAGS.logStreams]: true,
|
|
87
146
|
[FLUIDGRIDS_FLAGS.codeFirst]: false,
|
|
88
147
|
[FLUIDGRIDS_FLAGS.durableFunctions]: false,
|
|
89
|
-
[FLUIDGRIDS_FLAGS.durableParity]: false
|
|
148
|
+
[FLUIDGRIDS_FLAGS.durableParity]: false,
|
|
149
|
+
[FLUIDGRIDS_FLAGS.selfHostedWorkers]: false,
|
|
150
|
+
[FLUIDGRIDS_FLAGS.runControl]: false,
|
|
151
|
+
[FLUIDGRIDS_FLAGS.searchAttributes]: false,
|
|
152
|
+
[FLUIDGRIDS_FLAGS.runArchival]: false,
|
|
153
|
+
[FLUIDGRIDS_FLAGS.schedulePolicies]: false,
|
|
154
|
+
[FLUIDGRIDS_FLAGS.pythonDurableFunctions]: false
|
|
90
155
|
};
|
|
91
156
|
var settledEvaluations = /* @__PURE__ */ new WeakMap();
|
|
92
157
|
function evaluationsUsable(context) {
|
|
@@ -132,6 +197,50 @@ function useDurableParityEnabled() {
|
|
|
132
197
|
const context = useOptionalFeatureFlags();
|
|
133
198
|
return useMemo(() => resolveDurableParity(context), [context]);
|
|
134
199
|
}
|
|
200
|
+
var PHASE_C_FLAGS_OFF = Object.freeze({
|
|
201
|
+
runControl: false,
|
|
202
|
+
runControlDurable: false,
|
|
203
|
+
selfHostedWorkers: false,
|
|
204
|
+
searchAttributes: false,
|
|
205
|
+
runArchival: false,
|
|
206
|
+
schedulePolicies: false,
|
|
207
|
+
pythonDurableFunctions: false
|
|
208
|
+
});
|
|
209
|
+
function resolvePhaseCFlags(context) {
|
|
210
|
+
const flag = (key) => resolveFluidGridsFlag(context, key);
|
|
211
|
+
const codeFirst = flag(FLUIDGRIDS_FLAGS.codeFirst);
|
|
212
|
+
if (!codeFirst) return { ...PHASE_C_FLAGS_OFF };
|
|
213
|
+
const durable = flag(FLUIDGRIDS_FLAGS.durableFunctions);
|
|
214
|
+
const runControl = flag(FLUIDGRIDS_FLAGS.runControl);
|
|
215
|
+
return {
|
|
216
|
+
runControl,
|
|
217
|
+
runControlDurable: runControl && durable,
|
|
218
|
+
selfHostedWorkers: durable && flag(FLUIDGRIDS_FLAGS.selfHostedWorkers),
|
|
219
|
+
searchAttributes: flag(FLUIDGRIDS_FLAGS.searchAttributes),
|
|
220
|
+
runArchival: flag(FLUIDGRIDS_FLAGS.runArchival),
|
|
221
|
+
schedulePolicies: flag(FLUIDGRIDS_FLAGS.schedulePolicies),
|
|
222
|
+
pythonDurableFunctions: durable && flag(FLUIDGRIDS_FLAGS.pythonDurableFunctions)
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function usePhaseCFlags() {
|
|
226
|
+
const context = useOptionalFeatureFlags();
|
|
227
|
+
return useMemo(() => resolvePhaseCFlags(context), [context]);
|
|
228
|
+
}
|
|
229
|
+
function useSelfHostedWorkersEnabled() {
|
|
230
|
+
return usePhaseCFlags().selfHostedWorkers;
|
|
231
|
+
}
|
|
232
|
+
function resolvePaletteGates(context) {
|
|
233
|
+
const phaseC = resolvePhaseCFlags(context);
|
|
234
|
+
return {
|
|
235
|
+
durableFunctions: resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions),
|
|
236
|
+
runControl: phaseC.runControl,
|
|
237
|
+
searchAttributes: phaseC.searchAttributes
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function usePaletteGates() {
|
|
241
|
+
const context = useOptionalFeatureFlags();
|
|
242
|
+
return useMemo(() => resolvePaletteGates(context), [context]);
|
|
243
|
+
}
|
|
135
244
|
function describeGraphQLError(error) {
|
|
136
245
|
const code = typeof error.extensions?.code === "string" ? error.extensions.code : void 0;
|
|
137
246
|
switch (code) {
|
|
@@ -9867,4 +9976,4 @@ function useNodeExecution() {
|
|
|
9867
9976
|
};
|
|
9868
9977
|
}
|
|
9869
9978
|
|
|
9870
|
-
export { ALLOW_ALL_PERMISSIONS, AUTOSAVE_DEBOUNCE_MS, AUTOSAVE_RETRY_DELAYS_MS, AVAILABLE_NODES, BILLING_PLANS_PATH, BuilderReadOnlyProvider, CODE_WORKFLOW_NODE_TYPE, ConnectionFormDialog, ConnectionSelector, DURABLE_FUNCTION_NODE_TYPES, EDIT_SESSION_ID, ExpressionEditor, FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, FLUIDGRIDS_PERMISSIONS, FluidGridsContext, FluidGridsPermissionsProvider, FluidGridsProvider, NODES, NODES_METADATA, NODE_CONFIGS, NODE_OPERATION_DRAG_DATA_FORMAT, NODE_TYPES, NODE_TYPE_DRAG_DATA_FORMAT, NodePropertyPanel, NodeTypeIcon, RUNS_QUOTA_NAME, STICKY_NOTE_TYPE, SdkPermissionButton, SdkPermissionGate, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, WORKFLOWS_QUOTA_NAME, bannerOf, blankWorkflowCreateInput, buildOperationSeed, buildStickyNode, builderPathOf, canAutosave, canRenderOperationPanel, canSignalRun, changedSourceFiles, childRunIdOf, classifyCreateRefusal, clearCodeWorkflowDefinitionCache, codeBuildIdOf, components_default, createConfiguredNode, createThenOpen, declaredOutputFields, declaredSignals, defaultSourcePath, describeOperationError, diagnosticsByPath, editStateOf, emitNodeInstalled, emitRunFailed, emitRunLimitHit, emitRunStarted, emitTemplateUsed, emitUpgradeClicked, emitWorkflowCreated, emitWorkflowLimitHit, emitWorkflowPublished, ensureNodeConfigsLoaded, evaluatePermissionCheck, fieldsFromIO, fieldsFromValue, filterPaletteNodes, findQuotaRefusal, findSaveConflict, forgetSessionForReload, formatParameterValue, getNodeDetail, getNodeMetadata, inAppLeaveTarget, interfaceFields, interfaceHandlers, isDurableFunctionNodeType, isEditableSourcePath, isForbiddenError, isImageIcon, isLocked, isNodeConfigsInitialized, isNodeTrigger, isNodeTypeHiddenFromPalette, isParamVisible, isQuotaExhaustedFailure, isTriggerOperation, leaseCallQueue, leaveNeedsConfirmation, listCustomBlocks, liveInternalOperations, loadDefinitionJson, mergeStickyNotes, nodeAccent, nodesOf, onNodeTypesUpdate, openRunQuotaUpgradePrompt, parseParameterValue, parseRawSignalPayload, pathToExpression, payloadFromCardValues, phaseAfterAcquire, phaseAfterTakeOver, projectLanguage, readCodeWorkflowState, readDisplayOptions, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, releasesOnClose, rememberOwnStatusChange, rememberRevision, rememberSessionForReload, resolveInputHandles, resolveNodeOperation, resolveOperationName, resolveOutputHandles, resolveUiSpec, runPreparationOf, runSignalTargets, runTriggerFromMode, saveIndicatorOf, savesInPlace, sessionBeforeReload, shouldReleaseForIdle, signalPayloadCard, snapshotForSave, sourceLanguageOf, stripSubmitActions, structuredParameterType, subscribeWorkflowSaved, synchronizeOperationUpdate, throwIfResultError, tickAction, toCodeMirrorDiagnostics, useAgentDefinitionList, useAgentDefinitions, useBuilderReadOnly, useCodeWorkflowInterface, useConnection, useConnections, useConnectionsByProvider, useCreateConnection, useDurableFunctionNodesEnabled, useDurableParityEnabled, useEditLeaseLocked, useEditLeaseStore, useFlowStore, useFluidGridsAnalytics, useFluidGridsContext, useFluidGridsFlag, useFluidGridsPermission, useInitiateOAuth, useInsertNode, useIsValidConnection, useNodeExecution, useNodeRegistryRevision, useProviders, useSaveStatusStore, useSaveWorkflow, workflowFingerprint };
|
|
9979
|
+
export { ALLOW_ALL_PERMISSIONS, AUTOSAVE_DEBOUNCE_MS, AUTOSAVE_RETRY_DELAYS_MS, AVAILABLE_NODES, BILLING_PLANS_PATH, BuilderReadOnlyProvider, CODE_WORKFLOW_NODE_TYPE, ConnectionFormDialog, ConnectionSelector, DURABLE_FUNCTION_NODE_TYPES, EDIT_SESSION_ID, ExpressionEditor, FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, FLUIDGRIDS_PERMISSIONS, FluidGridsContext, FluidGridsPermissionsProvider, FluidGridsProvider, NODES, NODES_METADATA, NODE_CONFIGS, NODE_OPERATION_DRAG_DATA_FORMAT, NODE_TYPES, NODE_TYPE_DRAG_DATA_FORMAT, NodePropertyPanel, NodeTypeIcon, PHASE_C_FLAGS_OFF, RUNS_QUOTA_NAME, RUN_CONTROL_NODE_TYPES, STICKY_NOTE_TYPE, SdkPermissionButton, SdkPermissionGate, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, WORKFLOWS_QUOTA_NAME, bannerOf, blankWorkflowCreateInput, buildOperationSeed, buildStickyNode, builderPathOf, canAutosave, canRenderOperationPanel, canSignalRun, changedSourceFiles, childRunIdOf, classifyCreateRefusal, clearCodeWorkflowDefinitionCache, codeBuildIdOf, components_default, createConfiguredNode, createThenOpen, declaredOutputFields, declaredSignals, defaultSourcePath, describeOperationError, diagnosticsByPath, editStateOf, emitNodeInstalled, emitRunFailed, emitRunLimitHit, emitRunStarted, emitTemplateUsed, emitUpgradeClicked, emitWorkflowCreated, emitWorkflowLimitHit, emitWorkflowPublished, ensureNodeConfigsLoaded, evaluatePermissionCheck, fieldsFromIO, fieldsFromValue, filterPaletteNodes, findQuotaRefusal, findSaveConflict, forgetSessionForReload, formatParameterValue, getNodeDetail, getNodeMetadata, inAppLeaveTarget, interfaceFields, interfaceHandlers, isDurableFunctionNodeType, isEditableSourcePath, isForbiddenError, isImageIcon, isLocked, isNodeConfigsInitialized, isNodeTrigger, isNodeTypeHiddenFromPalette, isParamVisible, isQuotaExhaustedFailure, isRunControlNodeType, isTriggerOperation, leaseCallQueue, leaveNeedsConfirmation, listCustomBlocks, liveInternalOperations, loadDefinitionJson, mergeStickyNotes, nodeAccent, nodesOf, onNodeTypesUpdate, openRunQuotaUpgradePrompt, parseParameterValue, parseRawSignalPayload, pathToExpression, payloadFromCardValues, phaseAfterAcquire, phaseAfterTakeOver, projectLanguage, readCodeWorkflowState, readDisplayOptions, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, releasesOnClose, rememberOwnStatusChange, rememberRevision, rememberSessionForReload, resolveInputHandles, resolveNodeOperation, resolveOperationName, resolveOutputHandles, resolvePhaseCFlags, resolveUiSpec, runPreparationOf, runSignalTargets, runTriggerFromMode, saveIndicatorOf, savesInPlace, sessionBeforeReload, shouldReleaseForIdle, signalPayloadCard, snapshotForSave, sourceLanguageOf, stripSubmitActions, structuredParameterType, subscribeWorkflowSaved, synchronizeOperationUpdate, throwIfResultError, tickAction, toCodeMirrorDiagnostics, useAgentDefinitionList, useAgentDefinitions, useBuilderReadOnly, useCodeWorkflowInterface, useConnection, useConnections, useConnectionsByProvider, useCreateConnection, useDurableFunctionNodesEnabled, useDurableParityEnabled, useEditLeaseLocked, useEditLeaseStore, useFlowStore, useFluidGridsAnalytics, useFluidGridsContext, useFluidGridsFlag, useFluidGridsPermission, useInitiateOAuth, useInsertNode, useIsValidConnection, useNodeExecution, useNodeRegistryRevision, usePaletteGates, usePhaseCFlags, useProviders, useSaveStatusStore, useSaveWorkflow, useSelfHostedWorkersEnabled, workflowFingerprint };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-INMYNHJL.js';
|
|
2
2
|
import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
3
|
-
import { throwIfResultError, describeOperationError, signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-
|
|
3
|
+
import { throwIfResultError, describeOperationError, signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-6PGLJWIC.js';
|
|
4
4
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
5
5
|
import { TerminateWorkflowRunDocument, WorkflowRunHistoryDocument, RunEventAppendedDocument, WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, DurableRunFieldsDocument, WorkflowRunDeterminismStatusDocument, WorkflowRunStackTraceDocument, SignalWorkflowRunDocument } from './chunk-AW3UXMNI.js';
|
|
6
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/utils/template-preview.ts
|
|
2
|
+
var ICONIFY_NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9]+(?:[-_][a-z0-9]+)*$/i;
|
|
3
|
+
function isIconifyName(value) {
|
|
4
|
+
return ICONIFY_NAME.test(value) && !/^(https?|data|blob):/i.test(value);
|
|
5
|
+
}
|
|
6
|
+
function templatePreview(template) {
|
|
7
|
+
const screenshot = template.screenshots?.find(
|
|
8
|
+
(shot) => typeof shot === "string" && shot.trim() !== ""
|
|
9
|
+
);
|
|
10
|
+
if (screenshot) return { kind: "image", src: screenshot };
|
|
11
|
+
const icon = template.icon?.trim();
|
|
12
|
+
if (!icon) return { kind: "none" };
|
|
13
|
+
return isIconifyName(icon) ? { kind: "icon", name: icon } : { kind: "image", src: icon };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { templatePreview };
|
|
@@ -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-
|
|
2
|
+
import { throwIfResultError, describeOperationError, useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-6PGLJWIC.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,11 +1,11 @@
|
|
|
1
|
-
import { useDurableParityRunFields, buildNodeDisplayMap, useRunMetadata, useRunPending, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-
|
|
2
|
-
import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-
|
|
3
|
-
import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-
|
|
4
|
-
import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-
|
|
5
|
-
import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, EntityTagPicker, RunHistoryView, SignalRunDialog, terminateDurableRun, useWorkflowProposal, WorkflowProposalCard } from './chunk-
|
|
1
|
+
import { useDurableParityRunFields, buildNodeDisplayMap, useRunMetadata, useRunPending, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-P3TGCUXP.js';
|
|
2
|
+
import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-XX6D7IND.js';
|
|
3
|
+
import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-P2VAHDGO.js';
|
|
4
|
+
import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-VJWJGSRS.js';
|
|
5
|
+
import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, EntityTagPicker, RunHistoryView, SignalRunDialog, terminateDurableRun, useWorkflowProposal, WorkflowProposalCard } from './chunk-ADTEMSJI.js';
|
|
6
6
|
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
7
|
-
import { useWorkflowVersions } from './chunk-
|
|
8
|
-
import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, describeOperationError } from './chunk-
|
|
7
|
+
import { useWorkflowVersions } from './chunk-PKG6BCHB.js';
|
|
8
|
+
import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, describeOperationError } from './chunk-6PGLJWIC.js';
|
|
9
9
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
10
10
|
import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-AW3UXMNI.js';
|
|
11
11
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
|
|
2
|
+
import { templatePreview } from './chunk-B6CCE2RW.js';
|
|
2
3
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
4
|
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
5
|
import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
|
|
5
|
-
import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-
|
|
6
|
-
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-
|
|
6
|
+
import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-IGROOI7E.js';
|
|
7
|
+
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-ADTEMSJI.js';
|
|
7
8
|
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
8
|
-
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-
|
|
9
|
-
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-
|
|
9
|
+
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-PKG6BCHB.js';
|
|
10
|
+
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-JFQGODKK.js';
|
|
10
11
|
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, describeOperationError, ensureNodeConfigsLoaded, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution,
|
|
12
|
+
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, describeOperationError, ensureNodeConfigsLoaded, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, 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, useDurableFunctionNodesEnabled, 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, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, diagnosticsByPath, interfaceHandlers, declaredSignals, ExpressionEditor, toCodeMirrorDiagnostics, formatParameterValue, leaveNeedsConfirmation, phaseAfterAcquire, 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-6PGLJWIC.js';
|
|
12
13
|
import { cn } from './chunk-JL7CASN5.js';
|
|
13
14
|
import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
|
|
14
15
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
@@ -30,8 +31,8 @@ import { useQuery, useMutation } from '@apollo/client/react';
|
|
|
30
31
|
import { gql as gql$1 } from '@apollo/client/core';
|
|
31
32
|
import 'jszip';
|
|
32
33
|
import { Sparkles, Star, Download, Eye, Maximize2, Undo2, Redo2, LayoutGrid, Keyboard, Plus, Trash2, GitBranch, Loader2, AlertCircle, Search, RefreshCw, History, GitCompareArrows, Play, RotateCcw, Layers, Upload, Rocket, ArrowRight, Check, X, Link2, Unlink, GitCompare, ExternalLink, GitCommitHorizontal, CircleHelp, CheckCircle2, Package, SlidersHorizontal, Info, Copy, BadgeCheck, DollarSign, Type, Code, Hash, List, Braces, Workflow, PlusCircle, ChevronDown, ChevronRight, AlertTriangle } from 'lucide-react';
|
|
33
|
-
import { create } from 'zustand';
|
|
34
34
|
import { Icon } from '@iconify/react';
|
|
35
|
+
import { create } from 'zustand';
|
|
35
36
|
import { toast } from 'sonner';
|
|
36
37
|
import { useShallow, shallow } from 'zustand/shallow';
|
|
37
38
|
import { Handle, Position, getBezierPath, MarkerType, getConnectedEdges, ReactFlowProvider, useReactFlow, ReactFlow, Background, useOnSelectionChange, useStore, MiniMap, EdgeLabelRenderer, useNodes, useNodesState, useEdgesState, addEdge, Controls, Panel } from '@xyflow/react';
|
|
@@ -1813,7 +1814,8 @@ function TemplateCard({
|
|
|
1813
1814
|
}) {
|
|
1814
1815
|
const tr = useTr();
|
|
1815
1816
|
const [imageError, setImageError] = React4__default.useState(false);
|
|
1816
|
-
const
|
|
1817
|
+
const preview = templatePreview(template);
|
|
1818
|
+
const previewImage = preview.kind === "image" ? preview.src : void 0;
|
|
1817
1819
|
const hasPreview = Boolean(previewImage) && !imageError;
|
|
1818
1820
|
const handleUseTemplate = (e) => {
|
|
1819
1821
|
e.stopPropagation();
|
|
@@ -1840,7 +1842,16 @@ function TemplateCard({
|
|
|
1840
1842
|
onError: handleImageError,
|
|
1841
1843
|
className: "w-full h-full object-cover group-hover:scale-110 transition-transform duration-300"
|
|
1842
1844
|
}
|
|
1843
|
-
) : /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
1845
|
+
) : /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center", children: preview.kind === "icon" ? /* @__PURE__ */ jsx(
|
|
1846
|
+
Icon,
|
|
1847
|
+
{
|
|
1848
|
+
icon: preview.name,
|
|
1849
|
+
width: 64,
|
|
1850
|
+
height: 64,
|
|
1851
|
+
className: "text-primary/60",
|
|
1852
|
+
"aria-hidden": "true"
|
|
1853
|
+
}
|
|
1854
|
+
) : /* @__PURE__ */ jsx(Sparkles, { className: "size-16 text-primary/30" }) }),
|
|
1844
1855
|
template.featured && /* @__PURE__ */ jsx("div", { className: "absolute top-2 right-2", children: /* @__PURE__ */ jsxs(
|
|
1845
1856
|
Badge$1,
|
|
1846
1857
|
{
|
|
@@ -23577,9 +23588,9 @@ function isStoreNodeHiddenFromPalette(node2, durableFunctionsEnabled = false) {
|
|
|
23577
23588
|
);
|
|
23578
23589
|
}
|
|
23579
23590
|
function filterStoreNodesForPalette(nodes, durableFunctionsEnabled = false) {
|
|
23580
|
-
|
|
23581
|
-
if (!nodes.some(
|
|
23582
|
-
return nodes.filter((node2) => !
|
|
23591
|
+
const hidden = (node2) => isStoreNodeHiddenFromPalette(node2, durableFunctionsEnabled);
|
|
23592
|
+
if (!nodes.some(hidden)) return nodes;
|
|
23593
|
+
return nodes.filter((node2) => !hidden(node2));
|
|
23583
23594
|
}
|
|
23584
23595
|
function StoreNodeListItem({
|
|
23585
23596
|
name,
|
|
@@ -23961,7 +23972,7 @@ function StoreCategoryList({
|
|
|
23961
23972
|
useEffect(() => {
|
|
23962
23973
|
if (autoFocusSearch) searchRef.current?.focus();
|
|
23963
23974
|
}, [autoFocusSearch]);
|
|
23964
|
-
const
|
|
23975
|
+
const paletteGates = usePaletteGates();
|
|
23965
23976
|
const {
|
|
23966
23977
|
products: storeProducts,
|
|
23967
23978
|
loading,
|
|
@@ -23975,8 +23986,8 @@ function StoreCategoryList({
|
|
|
23975
23986
|
}
|
|
23976
23987
|
});
|
|
23977
23988
|
const products = useMemo(
|
|
23978
|
-
() => filterStoreNodesForPalette(storeProducts,
|
|
23979
|
-
[storeProducts,
|
|
23989
|
+
() => filterStoreNodesForPalette(storeProducts, paletteGates),
|
|
23990
|
+
[storeProducts, paletteGates]
|
|
23980
23991
|
);
|
|
23981
23992
|
const { installedAppIds, installationsMap, deprecatedInstallations } = useInstalledNodes();
|
|
23982
23993
|
const filteredDeprecated = isSearching ? deprecatedInstallations.filter(
|
|
@@ -24040,7 +24051,7 @@ function StoreCategoryList({
|
|
|
24040
24051
|
const isInstalled = installedAppIds.has(node2.id);
|
|
24041
24052
|
const hasUpdate = isInstalled && !!installation?.installedVersion && !!node2.manifestVersion && installation.installedVersion !== node2.manifestVersion;
|
|
24042
24053
|
const { nodeType, isPrebuilt, isDraggable } = getStoreNodeAvailability(node2, isInstalled, {
|
|
24043
|
-
durableFunctionsEnabled
|
|
24054
|
+
durableFunctionsEnabled: paletteGates
|
|
24044
24055
|
});
|
|
24045
24056
|
return /* @__PURE__ */ jsx(
|
|
24046
24057
|
StoreNodeListItem,
|
|
@@ -24233,7 +24244,7 @@ function StoreCategoryNodes({
|
|
|
24233
24244
|
onSelectNode
|
|
24234
24245
|
}) {
|
|
24235
24246
|
const [searchTerm, setSearchTerm] = useState("");
|
|
24236
|
-
const
|
|
24247
|
+
const paletteGates = usePaletteGates();
|
|
24237
24248
|
const {
|
|
24238
24249
|
products: storeProducts,
|
|
24239
24250
|
loading,
|
|
@@ -24248,8 +24259,8 @@ function StoreCategoryNodes({
|
|
|
24248
24259
|
}
|
|
24249
24260
|
});
|
|
24250
24261
|
const products = useMemo(
|
|
24251
|
-
() => filterStoreNodesForPalette(storeProducts,
|
|
24252
|
-
[storeProducts,
|
|
24262
|
+
() => filterStoreNodesForPalette(storeProducts, paletteGates),
|
|
24263
|
+
[storeProducts, paletteGates]
|
|
24253
24264
|
);
|
|
24254
24265
|
const { installedAppIds, installationsMap } = useInstalledNodes();
|
|
24255
24266
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-full overflow-hidden", children: [
|
|
@@ -24317,7 +24328,7 @@ function StoreCategoryNodes({
|
|
|
24317
24328
|
const isInstalled = installedAppIds.has(node2.id);
|
|
24318
24329
|
const hasUpdate = isInstalled && !!installation?.installedVersion && !!node2.manifestVersion && installation.installedVersion !== node2.manifestVersion;
|
|
24319
24330
|
const { nodeType, isPrebuilt, isDraggable } = getStoreNodeAvailability(node2, isInstalled, {
|
|
24320
|
-
durableFunctionsEnabled
|
|
24331
|
+
durableFunctionsEnabled: paletteGates
|
|
24321
24332
|
});
|
|
24322
24333
|
return /* @__PURE__ */ jsx(
|
|
24323
24334
|
StoreNodeListItem,
|
|
@@ -24732,9 +24743,9 @@ function StoreNodeDetail({ node: node2, onBack }) {
|
|
|
24732
24743
|
const context = useContext(FluidGridsContext);
|
|
24733
24744
|
const workspaceId = context?.workspaceId ?? getFluidGridsConfig().workspaceId;
|
|
24734
24745
|
const isInstalled = installedAppIds.has(node2.id);
|
|
24735
|
-
const
|
|
24746
|
+
const paletteGates = usePaletteGates();
|
|
24736
24747
|
const { nodeType, isPrebuilt } = getStoreNodeAvailability(node2, isInstalled, {
|
|
24737
|
-
durableFunctionsEnabled
|
|
24748
|
+
durableFunctionsEnabled: paletteGates
|
|
24738
24749
|
});
|
|
24739
24750
|
const installation = installationsMap.get(node2.id);
|
|
24740
24751
|
const installedVersion = installation?.installedVersion;
|
|
@@ -25492,7 +25503,7 @@ function TemplatesGrid({
|
|
|
25492
25503
|
] });
|
|
25493
25504
|
}
|
|
25494
25505
|
var LazyTemplateDetailPanel = lazy$1(
|
|
25495
|
-
() => import('./TemplateDetailPanel-
|
|
25506
|
+
() => import('./TemplateDetailPanel-MTKW3SPM.js').then((m) => ({
|
|
25496
25507
|
default: m.TemplateDetailPanel
|
|
25497
25508
|
}))
|
|
25498
25509
|
);
|
|
@@ -33992,7 +34003,7 @@ function AddNodeFloatingMenu({
|
|
|
33992
34003
|
},
|
|
33993
34004
|
[onNodeAdd, setShowMenu]
|
|
33994
34005
|
);
|
|
33995
|
-
const
|
|
34006
|
+
const paletteGates = usePaletteGates();
|
|
33996
34007
|
const incomingNodeMetadetails = useMemo(
|
|
33997
34008
|
() => _incomingNodeMetadetails,
|
|
33998
34009
|
[_incomingNodeMetadetails]
|
|
@@ -34017,7 +34028,7 @@ function AddNodeFloatingMenu({
|
|
|
34017
34028
|
const fromHandleId = _incomingNodeMetadetails?.fromHandle?.id;
|
|
34018
34029
|
const connectableNodes = filterPaletteNodes(
|
|
34019
34030
|
AVAILABLE_NODES,
|
|
34020
|
-
|
|
34031
|
+
paletteGates
|
|
34021
34032
|
).filter((node2) => node2.publishType !== "STORE");
|
|
34022
34033
|
return {
|
|
34023
34034
|
availableNodes: mapNodesWithMetadata(
|
|
@@ -34027,11 +34038,7 @@ function AddNodeFloatingMenu({
|
|
|
34027
34038
|
),
|
|
34028
34039
|
additionalNodes: mapNodesWithMetadata(["end" /* END */])
|
|
34029
34040
|
};
|
|
34030
|
-
}, [
|
|
34031
|
-
_incomingNodeMetadetails,
|
|
34032
|
-
incomingNodeMetadetails,
|
|
34033
|
-
durableFunctionsEnabled
|
|
34034
|
-
]);
|
|
34041
|
+
}, [_incomingNodeMetadetails, incomingNodeMetadetails, paletteGates]);
|
|
34035
34042
|
return /* @__PURE__ */ jsxs(Popover$1, { open: showMenu, children: [
|
|
34036
34043
|
/* @__PURE__ */ jsx(PopoverTrigger$1, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
34037
34044
|
"div",
|
|
@@ -48775,14 +48782,14 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
48775
48782
|
const searchParams = new URLSearchParams(window.location.search);
|
|
48776
48783
|
const isReadOnly = readOnly || searchParams.get("readonly") === "true";
|
|
48777
48784
|
const { leaseLocked, editingBlocked } = useEditingBlocked(isReadOnly);
|
|
48778
|
-
const
|
|
48779
|
-
const
|
|
48785
|
+
const paletteGates = usePaletteGates();
|
|
48786
|
+
const paletteGatesRef = useRef(paletteGates);
|
|
48780
48787
|
useEffect(() => {
|
|
48781
|
-
|
|
48782
|
-
}, [
|
|
48788
|
+
paletteGatesRef.current = paletteGates;
|
|
48789
|
+
}, [paletteGates]);
|
|
48783
48790
|
const agentTools = useMemo(
|
|
48784
48791
|
() => createBuilderAgentTools({
|
|
48785
|
-
durableFunctionsEnabled: () =>
|
|
48792
|
+
durableFunctionsEnabled: () => paletteGatesRef.current
|
|
48786
48793
|
}),
|
|
48787
48794
|
[]
|
|
48788
48795
|
);
|