@burdenoff/fluidgrids-fe-sdk 2026.1101.1 → 2026.1101.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-4LPCNWM3.js → ExecutionDetailPage-Q77U6YJO.js} +11 -8
- package/dist/{ExecutionsListPage-HNPUKYD7.js → ExecutionsListPage-X4H4FVLN.js} +6 -5
- package/dist/{WorkflowBuilder-QFSCYCUC.js → WorkflowBuilder-RJPRUMQR.js} +11 -8
- package/dist/{WorkflowsList-RV4BRJO7.js → WorkflowsList-R2JJK7BL.js} +7 -6
- package/dist/agentTools-MISTH7JI.js +349 -0
- package/dist/{chunk-77HIU3CX.js → chunk-26HGYPBC.js} +1 -1
- package/dist/{chunk-76UUEMTN.js → chunk-37VUN74D.js} +4 -4
- package/dist/{chunk-QPZCJKII.js → chunk-3ERT6FQK.js} +3 -3
- package/dist/chunk-472HJ3S3.js +3929 -0
- package/dist/{chunk-WNZV4SLU.js → chunk-4QHCXTHW.js} +4 -4
- package/dist/chunk-AASHQI77.js +126 -0
- package/dist/chunk-CGXQVZGY.js +260 -0
- package/dist/chunk-CRDG2SQQ.js +185 -0
- package/dist/chunk-DQ2ZCXYX.js +21875 -0
- package/dist/chunk-F7DD7BOB.js +1164 -0
- package/dist/chunk-GTEBQQ7J.js +24 -0
- package/dist/{chunk-ALFMJSD6.js → chunk-H7XPXONT.js} +1 -1
- package/dist/{chunk-UO5DUKYN.js → chunk-HKKSXOFO.js} +8 -7
- package/dist/chunk-IA2ZCHNQ.js +1336 -0
- package/dist/{chunk-3M36XWAH.js → chunk-IGRIN7NL.js} +8 -7
- package/dist/chunk-JDLQ6QIB.js +283 -0
- package/dist/{chunk-AD7BICOT.js → chunk-JKBCLBHY.js} +1 -1
- package/dist/{chunk-6JX5UPDW.js → chunk-JNZCXFLD.js} +1 -1
- package/dist/{chunk-SEFOT2LD.js → chunk-LWLHPVIA.js} +1 -1
- package/dist/{chunk-JWROEOG5.js → chunk-LYTR6IQO.js} +1 -38
- package/dist/chunk-MR2B67NW.js +338 -0
- package/dist/{chunk-RIHYPPMQ.js → chunk-NLYQ3XDE.js} +1 -1
- package/dist/{chunk-6ILIBJFH.js → chunk-NZJWKVER.js} +7904 -7943
- package/dist/chunk-OCJTTHTS.js +46 -0
- package/dist/chunk-OSQ3OCR3.js +1193 -0
- package/dist/{chunk-VJL3DFJT.js → chunk-REO4S5MY.js} +2 -2
- package/dist/{chunk-XKQMCPSB.js → chunk-T2UUYYVJ.js} +4 -4
- package/dist/{chunk-BXR6BWXM.js → chunk-W7MTSATB.js} +5 -5
- package/dist/{chunk-A47PSD7A.js → chunk-WF6GMBR4.js} +7 -4
- package/dist/chunk-WYCB6OQL.js +19709 -0
- package/dist/{chunk-YOLPHVOE.js → chunk-YKFR7BZJ.js} +1 -1
- package/dist/{chunk-26NENGXA.js → chunk-YSXNJGCY.js} +4 -4
- package/dist/code-editor-field-JKCUR6BI.js +3 -0
- package/dist/executions.js +12 -9
- package/dist/history.js +4 -3
- package/dist/index.js +41 -32
- package/dist/node-detail-view-PCYFQX62.js +2034 -0
- package/dist/observability.js +5 -4
- package/dist/quick-config-panel-BRZZHOSI.js +402 -0
- package/dist/settings.js +6 -5
- package/dist/templates.js +10 -7
- package/dist/workflow-builder.js +12 -9
- package/dist/workflows-list.js +7 -6
- package/package.json +4 -1
- package/dist/chunk-NMEI7TQW.js +0 -2628
- package/dist/chunk-S7XV65DB.js +0 -50350
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FailureTriagePanel } from './chunk-
|
|
2
|
-
import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-
|
|
1
|
+
import { FailureTriagePanel } from './chunk-H7XPXONT.js';
|
|
2
|
+
import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-NLYQ3XDE.js';
|
|
3
3
|
import { proposalCanvasPath } from './chunk-GLYINMOR.js';
|
|
4
|
-
import { useContinuousOptimisationEnabled, throwIfResultError } from './chunk-
|
|
4
|
+
import { useContinuousOptimisationEnabled, throwIfResultError } from './chunk-NZJWKVER.js';
|
|
5
5
|
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-ZUVFD5KV.js';
|
|
6
6
|
import { SetContinuousOptimisationEnabledDocument, FgRunOptimisationScanDocument, ProposeOptimisationDocument, WorkflowProposalDocument, DismissOptimisationSuggestionDocument, SnoozeOptimisationSuggestionDocument, OptimisationSuggestionsDocument, ContinuousOptimisationSettingsDocument } from './chunk-IHEV5HTD.js';
|
|
7
7
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -420,12 +420,13 @@ function useContinuousOptimisation(active) {
|
|
|
420
420
|
if (refetchToken === refetchRef.current) setLoading(false);
|
|
421
421
|
}
|
|
422
422
|
}, [loadSuggestions]);
|
|
423
|
+
const invalidateLoads = useCallback(() => {
|
|
424
|
+
loadRef.current += 1;
|
|
425
|
+
}, []);
|
|
423
426
|
useEffect(() => {
|
|
424
427
|
void refetch();
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
};
|
|
428
|
-
}, [active, refetch]);
|
|
428
|
+
return invalidateLoads;
|
|
429
|
+
}, [active, refetch, invalidateLoads]);
|
|
429
430
|
const setEnabled = useCallback(
|
|
430
431
|
async (enabled) => {
|
|
431
432
|
const load = ++loadRef.current;
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
// src/builder/lib/assert-rules.ts
|
|
2
|
+
var ASSERT_OPERATORS = [
|
|
3
|
+
{
|
|
4
|
+
wire: "equals",
|
|
5
|
+
value: "EQUALS" /* Equals */,
|
|
6
|
+
operand: "expected",
|
|
7
|
+
label: "equals"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
wire: "notEquals",
|
|
11
|
+
value: "NOT_EQUALS" /* NotEquals */,
|
|
12
|
+
operand: "expected",
|
|
13
|
+
label: "does not equal"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
wire: "contains",
|
|
17
|
+
value: "CONTAINS" /* Contains */,
|
|
18
|
+
operand: "expected",
|
|
19
|
+
label: "contains"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
wire: "notContains",
|
|
23
|
+
value: "NOT_CONTAINS" /* NotContains */,
|
|
24
|
+
operand: "expected",
|
|
25
|
+
label: "does not contain"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
wire: "matches",
|
|
29
|
+
value: "MATCHES" /* Matches */,
|
|
30
|
+
operand: "expected",
|
|
31
|
+
label: "matches regex"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
wire: "jsonSchema",
|
|
35
|
+
value: "JSON_SCHEMA" /* JsonSchema */,
|
|
36
|
+
operand: "expected",
|
|
37
|
+
label: "matches JSON Schema"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
wire: "between",
|
|
41
|
+
value: "BETWEEN" /* Between */,
|
|
42
|
+
operand: "range",
|
|
43
|
+
label: "is between"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
wire: "itemCount",
|
|
47
|
+
value: "ITEM_COUNT" /* ItemCount */,
|
|
48
|
+
operand: "range",
|
|
49
|
+
label: "has item count"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
wire: "exists",
|
|
53
|
+
value: "EXISTS" /* Exists */,
|
|
54
|
+
operand: "none",
|
|
55
|
+
label: "exists"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
wire: "notExists",
|
|
59
|
+
value: "NOT_EXISTS" /* NotExists */,
|
|
60
|
+
operand: "none",
|
|
61
|
+
label: "does not exist"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
var MAX_REGEX_LENGTH = 500;
|
|
65
|
+
var MAX_RULES = 50;
|
|
66
|
+
function operatorSpec(value) {
|
|
67
|
+
if (typeof value !== "string") return null;
|
|
68
|
+
return ASSERT_OPERATORS.find(
|
|
69
|
+
(spec) => spec.wire === value || spec.value === value
|
|
70
|
+
) ?? null;
|
|
71
|
+
}
|
|
72
|
+
function isRecord(value) {
|
|
73
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
74
|
+
}
|
|
75
|
+
function optionalNumber(value) {
|
|
76
|
+
if (value === void 0 || value === null) return void 0;
|
|
77
|
+
return typeof value === "number" && Number.isFinite(value) ? value : false;
|
|
78
|
+
}
|
|
79
|
+
function normaliseAssertRule(raw, index) {
|
|
80
|
+
if (!isRecord(raw)) return { problem: { code: "notObject", index } };
|
|
81
|
+
const spec = operatorSpec(raw.operator);
|
|
82
|
+
if (!spec)
|
|
83
|
+
return {
|
|
84
|
+
problem: {
|
|
85
|
+
code: "unknownOperator",
|
|
86
|
+
index,
|
|
87
|
+
operator: String(raw.operator ?? "")
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const rule = { operator: spec.wire };
|
|
91
|
+
if (raw.path !== void 0 && raw.path !== null && raw.path !== "") {
|
|
92
|
+
if (typeof raw.path !== "string")
|
|
93
|
+
return { problem: { code: "pathInvalid", index } };
|
|
94
|
+
rule.path = raw.path;
|
|
95
|
+
}
|
|
96
|
+
if (raw.message !== void 0 && raw.message !== null && raw.message !== "") {
|
|
97
|
+
if (typeof raw.message !== "string")
|
|
98
|
+
return { problem: { code: "messageInvalid", index } };
|
|
99
|
+
rule.message = raw.message;
|
|
100
|
+
}
|
|
101
|
+
if (spec.operand === "expected") {
|
|
102
|
+
if (!("expected" in raw))
|
|
103
|
+
return { problem: { code: "expectedRequired", index } };
|
|
104
|
+
if (spec.wire === "matches") {
|
|
105
|
+
if (typeof raw.expected !== "string")
|
|
106
|
+
return { problem: { code: "regexInvalid", index } };
|
|
107
|
+
if (raw.expected.length > MAX_REGEX_LENGTH)
|
|
108
|
+
return { problem: { code: "regexTooLong", index } };
|
|
109
|
+
try {
|
|
110
|
+
new RegExp(raw.expected);
|
|
111
|
+
} catch {
|
|
112
|
+
return { problem: { code: "regexInvalid", index } };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (spec.wire === "jsonSchema" && !isRecord(raw.expected))
|
|
116
|
+
return { problem: { code: "schemaInvalid", index } };
|
|
117
|
+
rule.expected = raw.expected;
|
|
118
|
+
}
|
|
119
|
+
if (spec.operand === "range") {
|
|
120
|
+
const min = optionalNumber(raw.min);
|
|
121
|
+
const max = optionalNumber(raw.max);
|
|
122
|
+
if (min === false || max === false)
|
|
123
|
+
return { problem: { code: "rangeInvalid", index } };
|
|
124
|
+
if (min === void 0 && max === void 0)
|
|
125
|
+
return { problem: { code: "rangeRequired", index } };
|
|
126
|
+
if (min !== void 0 && max !== void 0 && min > max)
|
|
127
|
+
return { problem: { code: "rangeInvalid", index } };
|
|
128
|
+
if (min !== void 0) rule.min = min;
|
|
129
|
+
if (max !== void 0) rule.max = max;
|
|
130
|
+
}
|
|
131
|
+
return { rule };
|
|
132
|
+
}
|
|
133
|
+
function normaliseAssertRules(raw) {
|
|
134
|
+
if (raw.length === 0) return { problem: { code: "empty" } };
|
|
135
|
+
if (raw.length > MAX_RULES)
|
|
136
|
+
return { problem: { code: "tooMany", count: raw.length } };
|
|
137
|
+
const rules = [];
|
|
138
|
+
for (const [index, item] of raw.entries()) {
|
|
139
|
+
const result = normaliseAssertRule(item, index);
|
|
140
|
+
if ("problem" in result) return result;
|
|
141
|
+
rules.push(result.rule);
|
|
142
|
+
}
|
|
143
|
+
return { rules };
|
|
144
|
+
}
|
|
145
|
+
function describeAssertRuleProblem(problem) {
|
|
146
|
+
const at = "index" in problem ? `Rule ${problem.index + 1}: ` : "";
|
|
147
|
+
switch (problem.code) {
|
|
148
|
+
case "notObject":
|
|
149
|
+
return {
|
|
150
|
+
key: "fluidgrids.builder.assertRules.notObject",
|
|
151
|
+
fallback: `${at}a rule must be an object.`
|
|
152
|
+
};
|
|
153
|
+
case "unknownOperator":
|
|
154
|
+
return {
|
|
155
|
+
key: "fluidgrids.builder.assertRules.unknownOperator",
|
|
156
|
+
fallback: `${at}unknown operator "${problem.operator}". Use ${ASSERT_OPERATORS.map((spec) => spec.wire).join(", ")}.`
|
|
157
|
+
};
|
|
158
|
+
case "expectedRequired":
|
|
159
|
+
return {
|
|
160
|
+
key: "fluidgrids.builder.assertRules.expectedRequired",
|
|
161
|
+
fallback: `${at}this operator needs an expected value.`
|
|
162
|
+
};
|
|
163
|
+
case "rangeRequired":
|
|
164
|
+
return {
|
|
165
|
+
key: "fluidgrids.builder.assertRules.rangeRequired",
|
|
166
|
+
fallback: `${at}set a minimum, a maximum or both.`
|
|
167
|
+
};
|
|
168
|
+
case "rangeInvalid":
|
|
169
|
+
return {
|
|
170
|
+
key: "fluidgrids.builder.assertRules.rangeInvalid",
|
|
171
|
+
fallback: `${at}minimum and maximum must be numbers, with the minimum not above the maximum.`
|
|
172
|
+
};
|
|
173
|
+
case "regexInvalid":
|
|
174
|
+
return {
|
|
175
|
+
key: "fluidgrids.builder.assertRules.regexInvalid",
|
|
176
|
+
fallback: `${at}the expected value is not a valid regular expression.`
|
|
177
|
+
};
|
|
178
|
+
case "regexTooLong":
|
|
179
|
+
return {
|
|
180
|
+
key: "fluidgrids.builder.assertRules.regexTooLong",
|
|
181
|
+
fallback: `${at}a regular expression may have at most ${MAX_REGEX_LENGTH} characters.`
|
|
182
|
+
};
|
|
183
|
+
case "schemaInvalid":
|
|
184
|
+
return {
|
|
185
|
+
key: "fluidgrids.builder.assertRules.schemaInvalid",
|
|
186
|
+
fallback: `${at}the expected value must be a JSON Schema object.`
|
|
187
|
+
};
|
|
188
|
+
case "pathInvalid":
|
|
189
|
+
return {
|
|
190
|
+
key: "fluidgrids.builder.assertRules.pathInvalid",
|
|
191
|
+
fallback: `${at}the path must be text.`
|
|
192
|
+
};
|
|
193
|
+
case "messageInvalid":
|
|
194
|
+
return {
|
|
195
|
+
key: "fluidgrids.builder.assertRules.messageInvalid",
|
|
196
|
+
fallback: `${at}the message must be text.`
|
|
197
|
+
};
|
|
198
|
+
case "tooMany":
|
|
199
|
+
return {
|
|
200
|
+
key: "fluidgrids.builder.assertRules.tooMany",
|
|
201
|
+
fallback: `At most ${MAX_RULES} rules (found ${problem.count}).`
|
|
202
|
+
};
|
|
203
|
+
case "empty":
|
|
204
|
+
return {
|
|
205
|
+
key: "fluidgrids.builder.assertRules.empty",
|
|
206
|
+
fallback: "Add at least one rule."
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function readAssertRulesSetting(value) {
|
|
211
|
+
if (value === void 0 || value === null || value === "") return [];
|
|
212
|
+
if (Array.isArray(value)) return value;
|
|
213
|
+
if (typeof value !== "string") return null;
|
|
214
|
+
try {
|
|
215
|
+
const parsed = JSON.parse(value);
|
|
216
|
+
return Array.isArray(parsed) ? parsed : null;
|
|
217
|
+
} catch {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function emptyAssertRuleRow() {
|
|
222
|
+
return {
|
|
223
|
+
path: "",
|
|
224
|
+
operator: "equals",
|
|
225
|
+
expected: "",
|
|
226
|
+
min: "",
|
|
227
|
+
max: "",
|
|
228
|
+
message: ""
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
function rowNumber(value) {
|
|
232
|
+
return typeof value === "number" && Number.isFinite(value) ? String(value) : "";
|
|
233
|
+
}
|
|
234
|
+
function rowExpected(operator, value) {
|
|
235
|
+
if (value === void 0) return "";
|
|
236
|
+
if (operator === "matches" && typeof value === "string") return value;
|
|
237
|
+
return JSON.stringify(value);
|
|
238
|
+
}
|
|
239
|
+
function rowsFromRules(rules) {
|
|
240
|
+
return rules.map((raw) => {
|
|
241
|
+
const rule = isRecord(raw) ? raw : {};
|
|
242
|
+
const operator = operatorSpec(rule.operator)?.wire ?? (typeof rule.operator === "string" ? rule.operator : "equals");
|
|
243
|
+
return {
|
|
244
|
+
path: typeof rule.path === "string" ? rule.path : "",
|
|
245
|
+
operator,
|
|
246
|
+
expected: rowExpected(operator, rule.expected),
|
|
247
|
+
min: rowNumber(rule.min),
|
|
248
|
+
max: rowNumber(rule.max),
|
|
249
|
+
message: typeof rule.message === "string" ? rule.message : ""
|
|
250
|
+
};
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
function parseExpected(operator, text) {
|
|
254
|
+
if (operator === "matches") return text;
|
|
255
|
+
try {
|
|
256
|
+
return JSON.parse(text);
|
|
257
|
+
} catch {
|
|
258
|
+
return text;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
function parseRowNumber(text) {
|
|
262
|
+
const trimmed = text.trim();
|
|
263
|
+
if (trimmed === "") return void 0;
|
|
264
|
+
const value = Number(trimmed);
|
|
265
|
+
return Number.isFinite(value) ? value : trimmed;
|
|
266
|
+
}
|
|
267
|
+
function ruleFromRow(row) {
|
|
268
|
+
const spec = operatorSpec(row.operator);
|
|
269
|
+
const rule = { operator: row.operator };
|
|
270
|
+
if (row.path.trim()) rule.path = row.path.trim();
|
|
271
|
+
if (spec?.operand === "expected" && (row.expected !== "" || spec.wire === "matches"))
|
|
272
|
+
rule.expected = parseExpected(spec.wire, row.expected);
|
|
273
|
+
if (spec?.operand === "range") {
|
|
274
|
+
const min = parseRowNumber(row.min);
|
|
275
|
+
const max = parseRowNumber(row.max);
|
|
276
|
+
if (min !== void 0) rule.min = min;
|
|
277
|
+
if (max !== void 0) rule.max = max;
|
|
278
|
+
}
|
|
279
|
+
if (row.message.trim()) rule.message = row.message.trim();
|
|
280
|
+
return rule;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export { ASSERT_OPERATORS, describeAssertRuleProblem, emptyAssertRuleRow, normaliseAssertRules, operatorSpec, readAssertRulesSetting, rowsFromRules, ruleFromRow };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { throwIfResultError, describeOperationError } from './chunk-
|
|
1
|
+
import { throwIfResultError, describeOperationError } from './chunk-NZJWKVER.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 { historyControls } from './chunk-FNZZ5JJL.js';
|
|
2
|
-
import { useWorkflowDefinitions } from './chunk-
|
|
2
|
+
import { useWorkflowDefinitions } from './chunk-LWLHPVIA.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,4 +1,4 @@
|
|
|
1
|
-
import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-
|
|
1
|
+
import { useFluidGridsAnalytics, throwIfResultError, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-NZJWKVER.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-IHEV5HTD.js';
|
|
4
4
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -1,47 +1,10 @@
|
|
|
1
1
|
import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
|
|
2
|
-
import { useFluidGridsAnalytics, throwIfResultError, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-
|
|
2
|
+
import { useFluidGridsAnalytics, throwIfResultError, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-NZJWKVER.js';
|
|
3
3
|
import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
|
|
4
4
|
import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-IHEV5HTD.js';
|
|
5
5
|
import { useTr } from './chunk-UULVIT25.js';
|
|
6
6
|
import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
|
|
7
7
|
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|
|
8
|
-
import { gql } from '@apollo/client';
|
|
9
|
-
|
|
10
|
-
gql`
|
|
11
|
-
subscription NodeStateUpdated($runId: String!) {
|
|
12
|
-
_empty
|
|
13
|
-
}
|
|
14
|
-
`;
|
|
15
|
-
gql`
|
|
16
|
-
subscription WorkflowCompleted($runId: String!) {
|
|
17
|
-
_empty
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
20
|
-
gql`
|
|
21
|
-
subscription WorkflowError($runId: String!) {
|
|
22
|
-
_empty
|
|
23
|
-
}
|
|
24
|
-
`;
|
|
25
|
-
gql`
|
|
26
|
-
subscription ExecutionUpdated($runId: String!) {
|
|
27
|
-
_empty
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
30
|
-
gql`
|
|
31
|
-
subscription ExecutionNodeStateUpdated($runId: String!) {
|
|
32
|
-
_empty
|
|
33
|
-
}
|
|
34
|
-
`;
|
|
35
|
-
gql`
|
|
36
|
-
subscription ExecutionCompleted($runId: String!) {
|
|
37
|
-
_empty
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
gql`
|
|
41
|
-
subscription ExecutionError($runId: String!) {
|
|
42
|
-
_empty
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
8
|
|
|
46
9
|
// src/modules/executions/utils/date-range.ts
|
|
47
10
|
function toDate(value) {
|