@burdenoff/microfe-bigconsole 2026.1029.1 → 2026.1029.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.
|
@@ -153,9 +153,9 @@ var S = "focus-visible:ring-inset focus-visible:ring-offset-0", C = l(function()
|
|
|
153
153
|
className: "min-w-0 p-card-padding",
|
|
154
154
|
children: [
|
|
155
155
|
/* @__PURE__ */ b("header", {
|
|
156
|
-
className: "mb-section-gap flex flex-
|
|
156
|
+
className: "mb-section-gap flex flex-wrap items-start justify-between gap-form-gap",
|
|
157
157
|
children: [/* @__PURE__ */ b("div", {
|
|
158
|
-
className: "min-w-
|
|
158
|
+
className: "min-w-[min(100%,16rem)] flex-1",
|
|
159
159
|
children: [
|
|
160
160
|
/* @__PURE__ */ b(_, {
|
|
161
161
|
onClick: J,
|
|
@@ -168,7 +168,7 @@ var S = "focus-visible:ring-inset focus-visible:ring-offset-0", C = l(function()
|
|
|
168
168
|
className: "flex flex-wrap items-center gap-2",
|
|
169
169
|
children: [
|
|
170
170
|
/* @__PURE__ */ y("h1", {
|
|
171
|
-
className: "text-2xl font-bold text-text-primary",
|
|
171
|
+
className: "break-words text-2xl font-bold text-text-primary",
|
|
172
172
|
children: V.name || w("bigconsole.dataSinks.view.untitled", "Untitled")
|
|
173
173
|
}),
|
|
174
174
|
/* @__PURE__ */ y(a, { status: V.status }),
|
|
@@ -183,12 +183,12 @@ var S = "focus-visible:ring-inset focus-visible:ring-offset-0", C = l(function()
|
|
|
183
183
|
children: V.key
|
|
184
184
|
}),
|
|
185
185
|
V.description && /* @__PURE__ */ y("p", {
|
|
186
|
-
className: "mt-2 text-sm text-text-secondary",
|
|
186
|
+
className: "mt-2 break-words text-sm text-text-secondary",
|
|
187
187
|
children: V.description
|
|
188
188
|
})
|
|
189
189
|
]
|
|
190
190
|
}), /* @__PURE__ */ b("div", {
|
|
191
|
-
className: "flex flex-wrap items-center gap-2",
|
|
191
|
+
className: "flex max-w-full flex-wrap items-center gap-2",
|
|
192
192
|
children: [
|
|
193
193
|
/* @__PURE__ */ y(f, {
|
|
194
194
|
permission: i.DATASINK_EXECUTE,
|
|
@@ -117,7 +117,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
117
117
|
}), x = u(function() {
|
|
118
118
|
let u = e(), { t: x } = fe(), { workflowId: S } = se(), { hasPermission: C, isLoading: Se } = le(), Ce = C(s.WORKFLOW_READ), w = C(s.WORKFLOW_UPDATE), T = C(s.DATASINK_READ);
|
|
119
119
|
C(s.WORKFLOW_DELETE);
|
|
120
|
-
let we = C(s.WORKFLOW_EXECUTE), [E, D] = f(null), [Te, O] = f(!1), [, k] = f(!1), [A, j] = f(!1), [Ee, M] = f(!1), [N, P] = f(!1), [F, I] = f(null), [De, L] = f(null), { unlinkDataSink: Oe } = t({ skipFetch: !0 }), [R, z] = f(!1), { getWorkflow: ke, workflow: B, loading: Ae, error: je } = pe(), [Me, V] = f(!1), [H, U] = f(null), { loading: Ne, error:
|
|
120
|
+
let we = C(s.WORKFLOW_EXECUTE), [E, D] = f(null), [Te, O] = f(!1), [, k] = f(!1), [A, j] = f(!1), [Ee, M] = f(!1), [N, P] = f(!1), [F, I] = f(null), [De, L] = f(null), { unlinkDataSink: Oe } = t({ skipFetch: !0 }), [R, z] = f(!1), { getWorkflow: ke, workflow: B, loading: Ae, error: je } = pe(), [Me, V] = f(!1), [H, U] = f(null), { loading: Ne, error: Pe, fetchWorkflow: W, deleteWorkflow: G, executeWorkflow: K, pollWorkflowExecution: q } = t({ skipFetch: !0 });
|
|
121
121
|
oe(() => {
|
|
122
122
|
if (!S) {
|
|
123
123
|
V(!0);
|
|
@@ -125,7 +125,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
125
125
|
}
|
|
126
126
|
let e = !1, t = async (r) => {
|
|
127
127
|
try {
|
|
128
|
-
let i = await
|
|
128
|
+
let i = await W(S);
|
|
129
129
|
if (e) return;
|
|
130
130
|
i ? (D(i), V(!0)) : r === 0 ? setTimeout(() => {
|
|
131
131
|
e || t(1);
|
|
@@ -137,20 +137,20 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
137
137
|
return t(0), () => {
|
|
138
138
|
e = !0;
|
|
139
139
|
};
|
|
140
|
-
}, [S,
|
|
141
|
-
let
|
|
140
|
+
}, [S, W]);
|
|
141
|
+
let Fe = d(() => {
|
|
142
142
|
u("/workflows/feeds");
|
|
143
|
-
}, [u]),
|
|
143
|
+
}, [u]), J = d(() => {
|
|
144
144
|
E?.key && u(`/workflows/workflow/${encodeURIComponent(E.key)}/${encodeURIComponent(B?.version ?? "v1")}`);
|
|
145
145
|
}, [
|
|
146
146
|
u,
|
|
147
147
|
E,
|
|
148
148
|
B
|
|
149
|
-
]),
|
|
149
|
+
]), Ie = d(async () => {
|
|
150
150
|
if (S) {
|
|
151
151
|
k(!0);
|
|
152
152
|
try {
|
|
153
|
-
await
|
|
153
|
+
await G(S) ? (c() && l("success"), u("/workflows/feeds")) : c() && l("error");
|
|
154
154
|
} catch {
|
|
155
155
|
c() && l("error");
|
|
156
156
|
} finally {
|
|
@@ -159,14 +159,14 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
159
159
|
}
|
|
160
160
|
}, [
|
|
161
161
|
S,
|
|
162
|
-
|
|
162
|
+
G,
|
|
163
163
|
u
|
|
164
|
-
]),
|
|
164
|
+
]), Y = d(async () => {
|
|
165
165
|
if (!S) return;
|
|
166
166
|
j(!0), U(null);
|
|
167
167
|
let e = Date.now();
|
|
168
168
|
try {
|
|
169
|
-
let t = await
|
|
169
|
+
let t = await K(S);
|
|
170
170
|
if (t) {
|
|
171
171
|
let n = Date.now() - e;
|
|
172
172
|
t.externalWorkflowId ? (U({
|
|
@@ -178,7 +178,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
178
178
|
},
|
|
179
179
|
error: null,
|
|
180
180
|
executionTimeMs: n
|
|
181
|
-
}),
|
|
181
|
+
}), q(S, {
|
|
182
182
|
intervalMs: 3e3,
|
|
183
183
|
timeoutMs: 12e4,
|
|
184
184
|
onProgress: (e) => {
|
|
@@ -205,9 +205,14 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
205
205
|
error: null,
|
|
206
206
|
executionTimeMs: n
|
|
207
207
|
});
|
|
208
|
-
let r = await
|
|
208
|
+
let r = await W(S);
|
|
209
209
|
r && D(r);
|
|
210
|
-
}
|
|
210
|
+
} else U({
|
|
211
|
+
success: !1,
|
|
212
|
+
output: null,
|
|
213
|
+
error: x("bigconsole.workflows.errors.executionFailed", "Execution failed"),
|
|
214
|
+
executionTimeMs: Date.now() - e
|
|
215
|
+
});
|
|
211
216
|
} catch (t) {
|
|
212
217
|
U({
|
|
213
218
|
success: !1,
|
|
@@ -220,19 +225,19 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
220
225
|
}
|
|
221
226
|
}, [
|
|
222
227
|
S,
|
|
228
|
+
K,
|
|
229
|
+
W,
|
|
223
230
|
q,
|
|
224
|
-
G,
|
|
225
|
-
J,
|
|
226
231
|
x
|
|
227
|
-
]),
|
|
232
|
+
]), Le = d(async () => {
|
|
228
233
|
if (E?.webhookUrl) try {
|
|
229
234
|
await ee(E.webhookUrl), M(!0), c() && te(x("bigconsole.workflows.view.webhookCopiedToast", "Webhook copied")), setTimeout(() => M(!1), 2e3);
|
|
230
235
|
} catch {}
|
|
231
|
-
}, [E?.webhookUrl, x]),
|
|
236
|
+
}, [E?.webhookUrl, x]), Re = d((e) => {
|
|
232
237
|
u(`/datasinks/${e}`);
|
|
233
|
-
}, [u]),
|
|
238
|
+
}, [u]), X = /* @__PURE__ */ y("button", {
|
|
234
239
|
type: "button",
|
|
235
|
-
onClick:
|
|
240
|
+
onClick: Fe,
|
|
236
241
|
className: `inline-flex min-h-[var(--size-controlHeight-md)] items-center gap-1 rounded-button text-sm text-text-secondary motion-safe:transition-colors hover:text-text-primary ${r}`,
|
|
237
242
|
children: [/* @__PURE__ */ v(me, { className: "w-4 h-4" }), x("bigconsole.workflows.view.backToWorkflows", "Back to Workflows")]
|
|
238
243
|
});
|
|
@@ -244,9 +249,9 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
244
249
|
title: x("bigconsole.workflows.errors.accessDeniedTitle", "Access Denied"),
|
|
245
250
|
description: x("bigconsole.workflows.errors.accessDeniedViewDescription", "You don't have permission to view this workflow.")
|
|
246
251
|
});
|
|
247
|
-
if (
|
|
252
|
+
if (!E) return /* @__PURE__ */ v("div", {
|
|
248
253
|
className: "mx-auto max-w-5xl p-4 sm:p-[var(--space-pagePadding)]",
|
|
249
|
-
children: /* @__PURE__ */ y(o, { children: [/* @__PURE__ */ v("div", { children:
|
|
254
|
+
children: /* @__PURE__ */ y(o, { children: [/* @__PURE__ */ v("div", { children: X }), /* @__PURE__ */ v("section", {
|
|
250
255
|
"aria-label": "Workflow not found",
|
|
251
256
|
"data-section-emphasis": "standard",
|
|
252
257
|
"data-testid": "workflow-not-found",
|
|
@@ -254,16 +259,16 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
254
259
|
children: /* @__PURE__ */ v(h, {
|
|
255
260
|
illustration: "empty-data",
|
|
256
261
|
title: x("bigconsole.workflows.view.notFoundTitle", "Workflow not found"),
|
|
257
|
-
description:
|
|
262
|
+
description: Pe?.message || x("bigconsole.workflows.view.notFoundDescription", "The workflow you are looking for does not exist.")
|
|
258
263
|
})
|
|
259
264
|
})] })
|
|
260
265
|
});
|
|
261
|
-
let
|
|
262
|
-
...we ? [{
|
|
266
|
+
let Z = E.dataSinkLinks?.length || 0, ze = !!E.externalWorkflowId, Q = !!E.externalWorkflowId, $ = B?.id === E.externalWorkflowId ? B.definitionJson?.data : void 0, Be = [
|
|
267
|
+
...we && Q ? [{
|
|
263
268
|
id: "execute",
|
|
264
269
|
label: x("bigconsole.workflows.view.nextStepExecuteLabel", "Run the workflow"),
|
|
265
270
|
description: x("bigconsole.workflows.view.nextStepExecuteDescription", "Trigger an execution to pull fresh data now."),
|
|
266
|
-
onClick:
|
|
271
|
+
onClick: Y
|
|
267
272
|
}] : [],
|
|
268
273
|
{
|
|
269
274
|
id: "design",
|
|
@@ -275,7 +280,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
275
280
|
id: "edit",
|
|
276
281
|
label: x("bigconsole.workflows.view.nextStepEditLabel", "Edit in the builder"),
|
|
277
282
|
description: x("bigconsole.workflows.view.nextStepEditDescription", "Open the FluidGrids visual builder to change the flow."),
|
|
278
|
-
onClick:
|
|
283
|
+
onClick: J
|
|
279
284
|
}] : [],
|
|
280
285
|
{
|
|
281
286
|
id: "sinks",
|
|
@@ -292,7 +297,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
292
297
|
className: "min-w-0",
|
|
293
298
|
children: [/* @__PURE__ */ v("div", {
|
|
294
299
|
className: "mb-form-gap",
|
|
295
|
-
children:
|
|
300
|
+
children: X
|
|
296
301
|
}), /* @__PURE__ */ y("div", {
|
|
297
302
|
className: "flex flex-col gap-form-gap md:flex-row md:items-start md:justify-between",
|
|
298
303
|
children: [/* @__PURE__ */ y("div", {
|
|
@@ -319,6 +324,11 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
319
324
|
children: E.externalWorkflowId
|
|
320
325
|
})
|
|
321
326
|
]
|
|
327
|
+
}),
|
|
328
|
+
!Q && /* @__PURE__ */ v("p", {
|
|
329
|
+
className: "mt-1 text-xs text-text-secondary",
|
|
330
|
+
"data-testid": "workflow-not-linked-hint",
|
|
331
|
+
children: x("bigconsole.workflows.view.notLinkedHint", "Save this workflow in the FluidGrids builder before running it.")
|
|
322
332
|
})
|
|
323
333
|
]
|
|
324
334
|
}), /* @__PURE__ */ y("div", {
|
|
@@ -329,8 +339,9 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
329
339
|
deniedBehavior: "disable",
|
|
330
340
|
children: /* @__PURE__ */ y(m, {
|
|
331
341
|
size: "lg",
|
|
332
|
-
onClick:
|
|
333
|
-
disabled: A,
|
|
342
|
+
onClick: Y,
|
|
343
|
+
disabled: A || !Q,
|
|
344
|
+
title: Q ? void 0 : x("bigconsole.workflows.view.notLinkedHint", "Save this workflow in the FluidGrids builder before running it."),
|
|
334
345
|
children: [/* @__PURE__ */ v(_e, { className: "w-4 h-4" }), A ? x("bigconsole.workflows.actions.executing", "Executing...") : x("bigconsole.workflows.actions.execute", "Execute")]
|
|
335
346
|
})
|
|
336
347
|
}),
|
|
@@ -340,7 +351,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
340
351
|
children: /* @__PURE__ */ y(m, {
|
|
341
352
|
size: "lg",
|
|
342
353
|
variant: "outline",
|
|
343
|
-
onClick:
|
|
354
|
+
onClick: J,
|
|
344
355
|
children: [/* @__PURE__ */ v(he, { className: "w-4 h-4" }), x("bigconsole.workflows.actions.edit", "Edit")]
|
|
345
356
|
})
|
|
346
357
|
}),
|
|
@@ -362,7 +373,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
362
373
|
/* @__PURE__ */ v(de, { children: x("bigconsole.workflows.view.purpose", "A workflow is the visual ETL job that feeds this BigConsole — it fetches, transforms, and delivers data into linked data sinks. From here you can run it on demand, inspect its design and execution history, copy its webhook trigger, and edit it in the visual builder.") }),
|
|
363
374
|
/* @__PURE__ */ v(ue, {
|
|
364
375
|
storageKey: "bigconsole-workflow-view",
|
|
365
|
-
steps:
|
|
376
|
+
steps: Be
|
|
366
377
|
}),
|
|
367
378
|
H && /* @__PURE__ */ y(a, {
|
|
368
379
|
headingLevel: 2,
|
|
@@ -405,7 +416,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
405
416
|
})
|
|
406
417
|
}), /* @__PURE__ */ v(a, {
|
|
407
418
|
headingLevel: 2,
|
|
408
|
-
emphasis:
|
|
419
|
+
emphasis: ze ? "standard" : "primary",
|
|
409
420
|
title: x("bigconsole.workflows.view.executionStatsLabel", "Execution Stats"),
|
|
410
421
|
description: "How often this workflow has run, and when it last did.",
|
|
411
422
|
"data-testid": "workflow-execution-stats",
|
|
@@ -479,7 +490,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
479
490
|
actions: /* @__PURE__ */ v(m, {
|
|
480
491
|
variant: "ghost",
|
|
481
492
|
size: "sm",
|
|
482
|
-
onClick:
|
|
493
|
+
onClick: Le,
|
|
483
494
|
children: Ee ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(ye, { className: "w-4 h-4 text-status-success-text" }), x("bigconsole.workflows.actions.copied", "Copied!")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(ve, { className: "w-4 h-4" }), x("bigconsole.workflows.actions.copy", "Copy")] })
|
|
484
495
|
}),
|
|
485
496
|
children: /* @__PURE__ */ v("code", {
|
|
@@ -489,7 +500,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
489
500
|
}),
|
|
490
501
|
/* @__PURE__ */ y(a, {
|
|
491
502
|
headingLevel: 2,
|
|
492
|
-
title: x("bigconsole.workflows.view.linkedDataSinksTitle", "Linked DataSinks ({{count}})", { count:
|
|
503
|
+
title: x("bigconsole.workflows.view.linkedDataSinksTitle", "Linked DataSinks ({{count}})", { count: Z }),
|
|
493
504
|
description: "Where this workflow writes the data it produces.",
|
|
494
505
|
actions: w && T ? /* @__PURE__ */ v(m, {
|
|
495
506
|
variant: "outline",
|
|
@@ -508,11 +519,11 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
508
519
|
workflowId: E.id,
|
|
509
520
|
linkedSinkIds: E.dataSinkLinks.map((e) => e.dataSinkId),
|
|
510
521
|
onLinked: async () => {
|
|
511
|
-
let e = await
|
|
522
|
+
let e = await W(E.id);
|
|
512
523
|
e && D(e), P(!1), I(x("bigconsole.workflows.links.linked", "Data sink linked."));
|
|
513
524
|
}
|
|
514
525
|
}),
|
|
515
|
-
|
|
526
|
+
Z === 0 ? /* @__PURE__ */ v(h, {
|
|
516
527
|
illustration: "empty-generic",
|
|
517
528
|
title: x("bigconsole.workflows.view.noDataSinksTitle", "No data sinks linked"),
|
|
518
529
|
description: x("bigconsole.workflows.view.noDataSinksDescription", "This workflow has no data sinks linked yet — its output isn't being stored.")
|
|
@@ -554,7 +565,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
554
565
|
L(e.dataSinkId);
|
|
555
566
|
try {
|
|
556
567
|
if (await Oe(E.id, e.dataSinkId)) {
|
|
557
|
-
let e = await
|
|
568
|
+
let e = await W(E.id);
|
|
558
569
|
e && D(e), I(x("bigconsole.workflows.links.unlinked", "Data sink unlinked."));
|
|
559
570
|
} else I(x("bigconsole.workflows.links.unlinkError", "The data sink could not be unlinked. Try again."));
|
|
560
571
|
} finally {
|
|
@@ -565,7 +576,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
565
576
|
}),
|
|
566
577
|
e.dataSink && /* @__PURE__ */ v("button", {
|
|
567
578
|
type: "button",
|
|
568
|
-
onClick: () =>
|
|
579
|
+
onClick: () => Re(e.dataSinkId),
|
|
569
580
|
className: "inline-flex min-h-[var(--size-controlHeight-md)] items-center rounded-button px-2 text-xs font-medium text-text-link hover:underline sm:min-h-[var(--size-controlHeight-sm)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
|
|
570
581
|
children: x("bigconsole.workflows.actions.view", "View")
|
|
571
582
|
})
|
|
@@ -621,7 +632,7 @@ var me = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
|
621
632
|
workflow: E,
|
|
622
633
|
isOpen: Te,
|
|
623
634
|
onClose: () => O(!1),
|
|
624
|
-
onConfirm:
|
|
635
|
+
onConfirm: Ie
|
|
625
636
|
})]
|
|
626
637
|
});
|
|
627
638
|
});
|