@oomol-lab/open-flow 0.1.0-beta.50 → 0.1.0-beta.51
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/browser/{createResourceDialog-CSltk-qY.js → createResourceDialog-BDtXpRSt.js} +1 -1
- package/dist/browser/flow-authoring-node.d.ts +3 -1
- package/dist/browser/flow-authoring.js +39 -3
- package/dist/browser/flow-change-schema.d.ts +1 -1
- package/dist/browser/flow-change.d.ts +9 -1
- package/dist/browser/flow-change.js +38 -3
- package/dist/browser/{flowChanges-DbYrpHnS.js → flowChanges-BWSXSnMX.js} +431 -27
- package/dist/browser/{flowWorkspace-CjwpbVBR.js → flowWorkspace-DBaq2Eks.js} +459 -190
- package/dist/browser/preview.css +20 -0
- package/dist/browser/preview.js +556 -21
- package/dist/browser/ui.css +20 -0
- package/dist/browser/ui.js +4 -3
- package/dist/browser/workbench-contract.d.ts +1 -0
- package/dist/browser/workbench.css +20 -0
- package/dist/browser/workbench.js +133 -22
- package/dist/browser/{workbenchSelect-oVujN2z6.js → workbenchSelect-C9kwcUmN.js} +47 -6
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/control-api-conformance.js +82 -10
- package/dist/common/control-api.d.ts +34 -5
- package/dist/common/control-api.js +147 -10
- package/dist/common/control-requests.js +23 -1
- package/dist/common/flow-encoding.js +30 -5
- package/dist/common/flow-semantics.js +87 -2
- package/dist/common/integration-trigger.js +16 -1
- package/dist/common/mcp.js +82 -10
- package/dist/common/poll-trigger.js +16 -1
- package/dist/common/provider-triggers.js +16 -1
- package/dist/common/run-events.js +25 -1
- package/dist/common/scheduler.d.ts +3 -0
- package/dist/common/scheduler.js +91 -5
- package/dist/common/trigger-contract.d.ts +2 -0
- package/dist/common/webhook-trigger.js +16 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, r as __exportAll, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
|
|
2
|
-
import { $ as useIconifyCollectionLoader, $t as EmptyTitle, A as calendarDate, B as mapSource, Bn as
|
|
2
|
+
import { $ as useIconifyCollectionLoader, $t as EmptyTitle, A as calendarDate, B as mapSource, Bn as Checkbox, Bt as NativeScrollArea, C as schemaForEditor, Cn as sourceOutputLabel, D as isUnconstrainedSchema, Dn as triggerConfigValue, E as getDefaultValue, En as isJsonObject, Ft as PopoverContent, G as resourceValue, Gt as InputGroup$1, Ht as VirtualScrollArea, I as indexAddNodeOptions, It as PopoverDescription, J as triggerNodeIcon, Jt as Empty, K as designerGraph, Kt as InputGroupAddon, L as feishuResourceKind, Lt as PopoverPanelContent, M as datePickerValue, Mn as inputValue, Mt as followWorkbenchLink, N as isDateFormat, Nt as Switch, O as typeOfSchema, On as triggerConfigValues, Pt as Popover, Q as IconifyProvider, Qt as EmptyMedia, R as supportsFeishuChatFilter, Rt as PopoverTitle, S as editorGroups, Sn as resolutionOutputPorts, T as valueForEditor, Tn as triggerOutputDefinitions, U as observeResource, Ut as Z$2, Vn as IconThemeContext, Vt as ScrollArea, W as resourceData, Wt as useTriggerFocusGuards, X as providerIcon, Xt as EmptyDescription, Y as actionSummary, Yt as EmptyContent, Z as ContentIcon, Zt as EmptyHeader, an as waitBranchDescription, bn as decodeResultList, cn as ru_default$1, ct as diagnosticMessage, dn as fr_default$1, et as useIconifyData, fn as en_default$1, ft as connectionCatalog, gn as errorNotice, hn as EventSourceSetup, in as uiLocales, it as revisionView, j as datePickerChange, jt as IdTooltip, k as calendarChange, kn as variableInputCompatible, ln as ko_default$1, lt as diagnosticNodeId, mn as FeishuEventPicker, n as agentTool, nn as SourceSelect, nt as canCancelRun, on as zh_TW_default$1, pn as I18n, q as semanticNodeIcon, qt as InputGroupInput, rn as createI18n$1, rt as hasRunFilter, sn as zh_CN_default$1, tn as SourceForm, un as ja_default$1, ut as schemaMismatchMessage, w as valueForDataType, x as editorComponent, zn as controlErrorCode, zt as PopoverTrigger } from "./flowChanges-BWSXSnMX.js";
|
|
3
3
|
import { a as derive, c as strictEqual, i as compute, l as val, n as attachSetter, r as combine, s as readonlyVal } from "./dist-bO8nvHFH.js";
|
|
4
4
|
import { a as useVal, i as useTranslate, n as useI18n, r as useLang, t as I18nProvider } from "./main-BPABKzwN.js";
|
|
5
|
-
import { $n as ownerDocument, $r as useStableCallback, $t as useHoverFloatingInteraction, An as useOnFirstRender, Ar as useId$1, At as isNativeInput, B as operatorsForType, Bn as findNonDisabledListIndex, Br as useRenderElement, Bt as CompositeList, C as FieldDescription, Cn as addEventListener, Ct as COMPOSITE_KEYS, Dn as require_with_selector, Dt as MODIFIER_KEYS, E as FieldLabel, En as fastComponentRef, Et as HORIZONTAL_KEYS_WITH_EXTRA_KEYS, F as comparisonIssue, Fr as Button$1, Ft as getDisabledMountTransitionStyles, G as webhookMethods, Gn as getMinListIndex, Gr as useMergedRefs, Gt as triggerOpenStateMapping, H as unaryOperator, Hn as getGridCellIndices, Hr as EMPTY_OBJECT, Ht as getPseudoElementBounds, Ir as buttonVariants, It as InternalBackdrop, Jn as stopEvent$1, Jr as useCompositeRootContext, Jt as useTypeahead, K as webhookSupportsBody, Kn as isIndexOutOfListBounds, Kr as useButton, Kt as useOpenInteractionType, Lr as cn$1, Lt as useAnchorPositioning, Mn as Input$1, Mt as useToolbarRootContext, Nt as useAnchoredPopupScrollLock, On as require_builtin_esm_external_require_react, Ot as VERTICAL_KEYS, Pn as useTimeout, Pr as useControlled, Pt as usePositioner, Qn as isMac$1, Qr as SafeReact, Qt as useHoverReferenceInteraction, R as nodeInputMappings, Rr as cva, Rt as adaptiveOrigin, S as Field, Sn as FocusGuard, St as ARROW_UP, T as FieldGroup, Tn as fastComponent, Tt as HORIZONTAL_KEYS, U as valueType, Un as getGridNavigatedIndex, Ut as popupStateMapping, Vn as getGridCellIndexOfCorner, Vr as EMPTY_ARRAY$1, Vt as inertValue, W as decodeRevisionContent, Wn as getMaxListIndex, Wr as warn, Wt as pressableTriggerOpenStateMapping, Xn as contains, Xr as mergeProps, Xt as useListNavigation, Yn as activeElement, Yr as formatErrorMessage, Yt as useRole, Zn as getTarget, Zr as useIsoLayoutEffect, Zt as useInteractions, _ as TooltipPositioner, _n as FloatingTreeStore, _r as itemPress, _t as ALL_KEYS, a as DialogContent, an as useImplicitActiveTrigger, ar as useOpenChangeComplete, at as string, b as TooltipRoot, bn as DROPDOWN_COLLISION_AVOIDANCE, bt as ARROW_LEFT, cn as useTriggerRegistration, cr as transitionStatusMapping, ct as SelectChevron, d as Tooltip, dn as FloatingFocusManager, dr as createChangeEventDetails, dt as SelectItem, ei as useRefWithInit, en as useFocus$1, f as TooltipContent, fn as FloatingNode, fr as cancelOpen, ft as SelectSeparator, g as TooltipPopup, gn as useFloatingTree, gr as imperativeAction, gt as useCompositeListItem, h as TooltipArrow, hn as useFloatingParentNodeId, ht as Separator, in as PopupTriggerMap, ir as useTransitionStatus, j as nodeNameIssue, jn as Label, jt as scrollIntoViewIfNeeded, kn as createSelector, kr as useBaseUiId, kt as VERTICAL_KEYS_WITH_EXTRA_KEYS, l as DialogTitle, ln as useDismiss, lt as SelectContent, m as TooltipTrigger, mn as useFloatingNodeId, mt as SelectValue, n as Icon, ni as isHTMLElement, nn as createInitialPopupStoreState, nr as Check, o as DialogDescription, on as useOpenStateTransitions, or as useAnimationsFinished, p as TooltipProvider, pn as FloatingTree, pt as SelectTrigger, q as dequal, qn as isListIndexDisabled, qr as CompositeRootContext, qt as safePolygon, r as Dialog, ri as isLastTraversableNode, rn as popupStoreSelectors, rr as createLucideIcon, sn as useTriggerDataForwarding, sr as TransitionStatusDataAttributes, st as Select$1, t as WorkbenchSelect, ti as getParentNode, tn as useSyncedFloatingRootContext, tr as ChevronDown, u as DialogTrigger, un as useClick, ut as SelectGroup, v as TooltipPortal, vn as FloatingPortal, vt as ARROW_DOWN, w as FieldError, wn as ReactStore, wr as triggerPress, x as Spinner, xn as POPUP_COLLISION_AVOIDANCE, xr as siblingOpen, xt as ARROW_RIGHT, y as TooltipTrigger$1, yr as none$1, yt as ARROW_KEYS, z as operandHandle, zn as createGridCellMap, zr as clsx, zt as useDirection } from "./workbenchSelect-
|
|
5
|
+
import { $n as ownerDocument, $r as useStableCallback, $t as useHoverFloatingInteraction, An as useOnFirstRender, Ar as useId$1, At as isNativeInput, B as operatorsForType, Bn as findNonDisabledListIndex, Br as useRenderElement, Bt as CompositeList, C as FieldDescription, Cn as addEventListener, Ct as COMPOSITE_KEYS, Dn as require_with_selector, Dt as MODIFIER_KEYS, E as FieldLabel, En as fastComponentRef, Et as HORIZONTAL_KEYS_WITH_EXTRA_KEYS, F as comparisonIssue, Fr as Button$1, Ft as getDisabledMountTransitionStyles, G as webhookMethods, Gn as getMinListIndex, Gr as useMergedRefs, Gt as triggerOpenStateMapping, H as unaryOperator, Hn as getGridCellIndices, Hr as EMPTY_OBJECT, Ht as getPseudoElementBounds, Ir as buttonVariants, It as InternalBackdrop, Jn as stopEvent$1, Jr as useCompositeRootContext, Jt as useTypeahead, K as webhookSupportsBody, Kn as isIndexOutOfListBounds, Kr as useButton, Kt as useOpenInteractionType, Lr as cn$1, Lt as useAnchorPositioning, Mn as Input$1, Mt as useToolbarRootContext, Nt as useAnchoredPopupScrollLock, On as require_builtin_esm_external_require_react, Ot as VERTICAL_KEYS, Pn as useTimeout, Pr as useControlled, Pt as usePositioner, Qn as isMac$1, Qr as SafeReact, Qt as useHoverReferenceInteraction, R as nodeInputMappings, Rr as cva, Rt as adaptiveOrigin, S as Field, Sn as FocusGuard, St as ARROW_UP, T as FieldGroup, Tn as fastComponent, Tt as HORIZONTAL_KEYS, U as valueType, Un as getGridNavigatedIndex, Ut as popupStateMapping, Vn as getGridCellIndexOfCorner, Vr as EMPTY_ARRAY$1, Vt as inertValue, W as decodeRevisionContent, Wn as getMaxListIndex, Wr as warn, Wt as pressableTriggerOpenStateMapping, Xn as contains, Xr as mergeProps, Xt as useListNavigation, Yn as activeElement, Yr as formatErrorMessage, Yt as useRole, Zn as getTarget, Zr as useIsoLayoutEffect, Zt as useInteractions, _ as TooltipPositioner, _n as FloatingTreeStore, _r as itemPress, _t as ALL_KEYS, a as DialogContent, an as useImplicitActiveTrigger, ar as useOpenChangeComplete, at as string, b as TooltipRoot, bn as DROPDOWN_COLLISION_AVOIDANCE, bt as ARROW_LEFT, cn as useTriggerRegistration, cr as transitionStatusMapping, ct as SelectChevron, d as Tooltip, dn as FloatingFocusManager, dr as createChangeEventDetails, dt as SelectItem, ei as useRefWithInit, en as useFocus$1, f as TooltipContent, fn as FloatingNode, fr as cancelOpen, ft as SelectSeparator, g as TooltipPopup, gn as useFloatingTree, gr as imperativeAction, gt as useCompositeListItem, h as TooltipArrow, hn as useFloatingParentNodeId, ht as Separator, in as PopupTriggerMap, ir as useTransitionStatus, j as nodeNameIssue, jn as Label, jt as scrollIntoViewIfNeeded, kn as createSelector, kr as useBaseUiId, kt as VERTICAL_KEYS_WITH_EXTRA_KEYS, l as DialogTitle, ln as useDismiss, lt as SelectContent, m as TooltipTrigger, mn as useFloatingNodeId, mt as SelectValue, n as Icon, ni as isHTMLElement, nn as createInitialPopupStoreState, nr as Check, o as DialogDescription, on as useOpenStateTransitions, or as useAnimationsFinished, p as TooltipProvider, pn as FloatingTree, pt as SelectTrigger, q as dequal, qn as isListIndexDisabled, qr as CompositeRootContext, qt as safePolygon, r as Dialog, ri as isLastTraversableNode, rn as popupStoreSelectors, rr as createLucideIcon, sn as useTriggerDataForwarding, sr as TransitionStatusDataAttributes, st as Select$1, t as WorkbenchSelect, ti as getParentNode, tn as useSyncedFloatingRootContext, tr as ChevronDown, u as DialogTrigger, un as useClick, ut as SelectGroup, v as TooltipPortal, vn as FloatingPortal, vt as ARROW_DOWN, w as FieldError, wn as ReactStore, wr as triggerPress, x as Spinner, xn as POPUP_COLLISION_AVOIDANCE, xr as siblingOpen, xt as ARROW_RIGHT, y as TooltipTrigger$1, yr as none$1, yt as ARROW_KEYS, z as operandHandle, zn as createGridCellMap, zr as clsx, zt as useDirection } from "./workbenchSelect-C9kwcUmN.js";
|
|
6
6
|
import { i as isString, n as isBoolean, r as isPlainObject, t as isArray$1 } from "./dist-BDBTOgS5.js";
|
|
7
7
|
import { a as renameObjectField, i as objectValue, l as resolveUiLanguage, n as isJsonValue, o as setObjectField, r as jsonDataTypes, s as valueType$1, t as initialValue } from "./value-DL_poNiC.js";
|
|
8
8
|
import { n as compile, r as validate } from "./flowRunInputEditorStore-Dsxyfwae.js";
|
|
@@ -22821,7 +22821,7 @@ function EditableAgentSettingsProvider({ children, task, nodeId, store, connecto
|
|
|
22821
22821
|
const definition = current?.kind == "task" ? current.definition : void 0;
|
|
22822
22822
|
if (definition == null || !("executor" in definition) || !dequal(definition.executor, before)) return false;
|
|
22823
22823
|
const decoded = decodeRevisionContent({
|
|
22824
|
-
modelVersion:
|
|
22824
|
+
modelVersion: 5,
|
|
22825
22825
|
modules: {},
|
|
22826
22826
|
document: {
|
|
22827
22827
|
bindings: {},
|
|
@@ -23058,6 +23058,7 @@ function withDescriptions$1(ports, descriptionFor) {
|
|
|
23058
23058
|
function presentBuiltInTriggerOutputs(trigger, t) {
|
|
23059
23059
|
const ports = triggerOutputDefinitions(trigger);
|
|
23060
23060
|
switch (trigger.kind) {
|
|
23061
|
+
case "error": return withDescriptions$1(ports, (handle) => t(`errorWorkflow.${handle}`));
|
|
23061
23062
|
case "cron": return withDescriptions$1(ports, (handle) => handle === "scheduledAt" ? t("inspector.ports.builtIn.cron.scheduledAt") : void 0);
|
|
23062
23063
|
case "webhook": return withDescriptions$1(ports, (handle) => {
|
|
23063
23064
|
switch (handle) {
|
|
@@ -23079,6 +23080,7 @@ function presentedBuiltInOutputs(node, t) {
|
|
|
23079
23080
|
switch (node.kind) {
|
|
23080
23081
|
case "approval":
|
|
23081
23082
|
case "wait": return presentResolutionOutputs(node, t);
|
|
23083
|
+
case "error":
|
|
23082
23084
|
case "cron":
|
|
23083
23085
|
case "webhook": return presentBuiltInTriggerOutputs(node, t);
|
|
23084
23086
|
default: return;
|
|
@@ -25951,6 +25953,200 @@ function ConditionBranchesEditor({ value: configuration, disabled, readOnly, onC
|
|
|
25951
25953
|
});
|
|
25952
25954
|
}
|
|
25953
25955
|
//#endregion
|
|
25956
|
+
//#region src/workbench/browser/runtime/editor/errorTriggerSources.tsx
|
|
25957
|
+
function ErrorTriggerSources({ flows, flowId, value, disabled = false, complete = true, footer, onChange }) {
|
|
25958
|
+
const t = useTranslate();
|
|
25959
|
+
const id = useId();
|
|
25960
|
+
const [query, setQuery] = useState("");
|
|
25961
|
+
const [open, setOpen] = useState(false);
|
|
25962
|
+
const [container, setContainer] = useState(null);
|
|
25963
|
+
const search = useRef(null);
|
|
25964
|
+
const eligible = flows.filter((flow) => flow.flowId != flowId && flow.status == "active" && flow.live != null);
|
|
25965
|
+
const candidates = [.../* @__PURE__ */ new Set([...eligible.map((flow) => flow.flowId), ...value])].map((sourceId) => {
|
|
25966
|
+
const flow = flows.find((item) => item.flowId == sourceId);
|
|
25967
|
+
const issue = sourceId == flowId ? "self" : flow?.status == "retiring" ? "retiring" : flow == null ? complete ? "deleted" : void 0 : flow.live == null ? "unpublished" : void 0;
|
|
25968
|
+
return {
|
|
25969
|
+
id: sourceId,
|
|
25970
|
+
name: flow?.name ?? (issue == "deleted" ? t("errorWorkflow.deletedName") : sourceId),
|
|
25971
|
+
issue
|
|
25972
|
+
};
|
|
25973
|
+
});
|
|
25974
|
+
const visible = candidates.filter((flow) => `${flow.name} ${flow.id}`.toLocaleLowerCase().includes(query.toLocaleLowerCase()));
|
|
25975
|
+
const selected = candidates.filter((flow) => value.includes(flow.id));
|
|
25976
|
+
const summary = selected.map((flow) => flow.name).join(", ");
|
|
25977
|
+
const unavailable = selected.filter((flow) => flow.issue);
|
|
25978
|
+
return /* @__PURE__ */ jsxs(Field, {
|
|
25979
|
+
className: "inspector-field-section",
|
|
25980
|
+
children: [/* @__PURE__ */ jsx(FieldLabel, {
|
|
25981
|
+
className: "inspector-section-title",
|
|
25982
|
+
htmlFor: id,
|
|
25983
|
+
children: t("errorWorkflow.sources")
|
|
25984
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25985
|
+
className: "flex flex-col gap-3",
|
|
25986
|
+
children: [
|
|
25987
|
+
/* @__PURE__ */ jsx("div", {
|
|
25988
|
+
ref: setContainer,
|
|
25989
|
+
className: "min-w-0",
|
|
25990
|
+
children: /* @__PURE__ */ jsxs(Popover, {
|
|
25991
|
+
open,
|
|
25992
|
+
onOpenChange: (next) => {
|
|
25993
|
+
setOpen(next);
|
|
25994
|
+
if (!next) setQuery("");
|
|
25995
|
+
},
|
|
25996
|
+
children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
|
|
25997
|
+
render: /* @__PURE__ */ jsx(Button$1, {
|
|
25998
|
+
id,
|
|
25999
|
+
type: "button",
|
|
26000
|
+
variant: "field",
|
|
26001
|
+
size: "field",
|
|
26002
|
+
disabled,
|
|
26003
|
+
"aria-label": `${t("errorWorkflow.sources")}: ${summary || t("errorWorkflow.choose")}`,
|
|
26004
|
+
"aria-describedby": `${id}-hint${unavailable.length > 0 ? ` ${id}-error` : ""}`,
|
|
26005
|
+
"aria-invalid": unavailable.length > 0 || void 0,
|
|
26006
|
+
className: "w-full min-w-0 justify-between"
|
|
26007
|
+
}),
|
|
26008
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
26009
|
+
className: `min-w-0 flex-1 truncate text-left ${value.length == 0 ? "text-muted-foreground" : ""}`,
|
|
26010
|
+
title: summary || void 0,
|
|
26011
|
+
children: summary || t("errorWorkflow.choose")
|
|
26012
|
+
}), /* @__PURE__ */ jsx(SelectChevron, {})]
|
|
26013
|
+
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
26014
|
+
container,
|
|
26015
|
+
align: "start",
|
|
26016
|
+
initialFocus: search,
|
|
26017
|
+
"aria-label": t("errorWorkflow.sources"),
|
|
26018
|
+
className: `w-(--anchor-width) min-w-56 max-w-[calc(100vw-24px)] gap-1 ${selectionMenuContentClass}`,
|
|
26019
|
+
children: [
|
|
26020
|
+
/* @__PURE__ */ jsx("div", {
|
|
26021
|
+
className: "p-1",
|
|
26022
|
+
children: /* @__PURE__ */ jsx(Input$1, {
|
|
26023
|
+
ref: search,
|
|
26024
|
+
"aria-label": t("errorWorkflow.search"),
|
|
26025
|
+
placeholder: t("errorWorkflow.search"),
|
|
26026
|
+
value: query,
|
|
26027
|
+
onChange: (event) => setQuery(event.target.value)
|
|
26028
|
+
})
|
|
26029
|
+
}),
|
|
26030
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26031
|
+
role: "group",
|
|
26032
|
+
"aria-label": t("errorWorkflow.sources"),
|
|
26033
|
+
className: "max-h-[min(40vh,280px)] overflow-y-auto overscroll-contain",
|
|
26034
|
+
children: [visible.map((flow) => /* @__PURE__ */ jsxs(Label, {
|
|
26035
|
+
className: `flex cursor-default items-center gap-2 px-2 hover:bg-accent focus-within:bg-accent ${selectionMenuItemClass}`,
|
|
26036
|
+
children: [/* @__PURE__ */ jsx(Checkbox, {
|
|
26037
|
+
checked: value.includes(flow.id),
|
|
26038
|
+
disabled,
|
|
26039
|
+
onCheckedChange: (checked) => onChange(checked ? [...value, flow.id] : value.filter((item) => item != flow.id))
|
|
26040
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
26041
|
+
className: "min-w-0 flex-1 break-words",
|
|
26042
|
+
children: [
|
|
26043
|
+
flow.name,
|
|
26044
|
+
flow.issue == "deleted" && /* @__PURE__ */ jsx("span", {
|
|
26045
|
+
className: "block break-all text-muted-foreground",
|
|
26046
|
+
children: flow.id
|
|
26047
|
+
}),
|
|
26048
|
+
flow.issue && /* @__PURE__ */ jsx("span", {
|
|
26049
|
+
className: "block text-destructive",
|
|
26050
|
+
children: t(`errorWorkflow.${flow.issue}`)
|
|
26051
|
+
})
|
|
26052
|
+
]
|
|
26053
|
+
})]
|
|
26054
|
+
}, flow.id)), visible.length == 0 && /* @__PURE__ */ jsx("p", {
|
|
26055
|
+
className: "px-2 py-3 text-xs text-muted-foreground",
|
|
26056
|
+
children: t(query ? "errorWorkflow.noMatches" : "errorWorkflow.empty")
|
|
26057
|
+
})]
|
|
26058
|
+
}),
|
|
26059
|
+
footer,
|
|
26060
|
+
/* @__PURE__ */ jsx("div", {
|
|
26061
|
+
role: "separator",
|
|
26062
|
+
className: "mx-2 my-1 h-px bg-border/50"
|
|
26063
|
+
}),
|
|
26064
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26065
|
+
className: "flex items-center justify-between gap-2 px-1 pb-1",
|
|
26066
|
+
children: [/* @__PURE__ */ jsx(Button$1, {
|
|
26067
|
+
variant: "ghost",
|
|
26068
|
+
size: "sm",
|
|
26069
|
+
disabled: disabled || value.length == 0,
|
|
26070
|
+
onClick: () => onChange([]),
|
|
26071
|
+
children: t("errorWorkflow.clear")
|
|
26072
|
+
}), /* @__PURE__ */ jsx(Button$1, {
|
|
26073
|
+
variant: "ghost",
|
|
26074
|
+
size: "sm",
|
|
26075
|
+
onClick: () => {
|
|
26076
|
+
setOpen(false);
|
|
26077
|
+
setQuery("");
|
|
26078
|
+
},
|
|
26079
|
+
children: t("errorWorkflow.done")
|
|
26080
|
+
})]
|
|
26081
|
+
})
|
|
26082
|
+
]
|
|
26083
|
+
})]
|
|
26084
|
+
})
|
|
26085
|
+
}),
|
|
26086
|
+
/* @__PURE__ */ jsx(FieldDescription, {
|
|
26087
|
+
id: `${id}-hint`,
|
|
26088
|
+
children: t("errorWorkflow.setupHint")
|
|
26089
|
+
}),
|
|
26090
|
+
unavailable.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
26091
|
+
className: "flex flex-col items-start gap-2",
|
|
26092
|
+
children: [/* @__PURE__ */ jsxs(FieldError, {
|
|
26093
|
+
id: `${id}-error`,
|
|
26094
|
+
children: [/* @__PURE__ */ jsx("ul", { children: unavailable.map((flow) => /* @__PURE__ */ jsxs("li", { children: [
|
|
26095
|
+
flow.name,
|
|
26096
|
+
" · ",
|
|
26097
|
+
t(`errorWorkflow.${flow.issue}`)
|
|
26098
|
+
] }, flow.id)) }), /* @__PURE__ */ jsx("p", { children: t("errorWorkflow.removeHint") })]
|
|
26099
|
+
}), !disabled && /* @__PURE__ */ jsx(Button$1, {
|
|
26100
|
+
variant: "outline",
|
|
26101
|
+
size: "sm",
|
|
26102
|
+
onClick: () => onChange(value.filter((sourceId) => !unavailable.some((flow) => flow.id == sourceId))),
|
|
26103
|
+
children: t("errorWorkflow.removeUnavailable")
|
|
26104
|
+
})]
|
|
26105
|
+
})
|
|
26106
|
+
]
|
|
26107
|
+
})]
|
|
26108
|
+
});
|
|
26109
|
+
}
|
|
26110
|
+
function ErrorTriggerSourcesEditor({ store, nodeId, value, disabled }) {
|
|
26111
|
+
const t = useTranslate();
|
|
26112
|
+
const draft = useVal(store.$.draft);
|
|
26113
|
+
const flows = useVal(store.$.flows);
|
|
26114
|
+
const loading = useVal(store.$.flowLoading);
|
|
26115
|
+
const failed = useVal(store.$.flowLoadFailed);
|
|
26116
|
+
const more = useVal(store.$.flowNextCursor);
|
|
26117
|
+
const loadingMore = useVal(store.$.flowLoadingMore);
|
|
26118
|
+
const moreFailed = useVal(store.$.flowLoadMoreFailed);
|
|
26119
|
+
useEffect(() => {
|
|
26120
|
+
store.reloadFlows();
|
|
26121
|
+
}, [store]);
|
|
26122
|
+
return /* @__PURE__ */ jsx("div", {
|
|
26123
|
+
className: "flex flex-col gap-3",
|
|
26124
|
+
"aria-busy": loading || loadingMore,
|
|
26125
|
+
children: /* @__PURE__ */ jsx(ErrorTriggerSources, {
|
|
26126
|
+
flows,
|
|
26127
|
+
flowId: draft?.flowId ?? "",
|
|
26128
|
+
value,
|
|
26129
|
+
disabled: disabled || loading,
|
|
26130
|
+
complete: !loading && !failed && more == null,
|
|
26131
|
+
footer: /* @__PURE__ */ jsxs(Fragment$1, { children: [failed && /* @__PURE__ */ jsx(Button$1, {
|
|
26132
|
+
variant: "outline",
|
|
26133
|
+
size: "sm",
|
|
26134
|
+
onClick: () => void store.reloadFlows(),
|
|
26135
|
+
children: t("errorWorkflow.retry")
|
|
26136
|
+
}), more != null && /* @__PURE__ */ jsx(Button$1, {
|
|
26137
|
+
variant: "outline",
|
|
26138
|
+
size: "sm",
|
|
26139
|
+
disabled: loadingMore,
|
|
26140
|
+
onClick: () => void store.loadMoreFlows(),
|
|
26141
|
+
children: t(moreFailed ? "errorWorkflow.retry" : "errorWorkflow.more")
|
|
26142
|
+
})] }),
|
|
26143
|
+
onChange: (next) => {
|
|
26144
|
+
store.saveErrorSources(nodeId, next);
|
|
26145
|
+
}
|
|
26146
|
+
})
|
|
26147
|
+
});
|
|
26148
|
+
}
|
|
26149
|
+
//#endregion
|
|
25954
26150
|
//#region src/workbench/browser/runtime/createEventSourceDialog.tsx
|
|
25955
26151
|
function CreateEventSourceDialog({ client, teamId, existingNames, disabled, defaultOpen = false, className, trigger, onSelect, onCreated }) {
|
|
25956
26152
|
const t = useTranslate();
|
|
@@ -32628,6 +32824,19 @@ function NodeInspector({ variables = {
|
|
|
32628
32824
|
store?.saveTriggerConfig(selection.id, name, value);
|
|
32629
32825
|
}
|
|
32630
32826
|
}, `config:${selection.id}`)),
|
|
32827
|
+
selection?.kind === "trigger" && selection.trigger.kind === "error" && /* @__PURE__ */ jsx(Fragment$1, { children: store == null ? /* @__PURE__ */ jsx(ErrorTriggerSources, {
|
|
32828
|
+
flows: [],
|
|
32829
|
+
flowId: revision.revision.flowId,
|
|
32830
|
+
value: selection.trigger.sourceFlowIds ?? [],
|
|
32831
|
+
disabled: true,
|
|
32832
|
+
complete: false,
|
|
32833
|
+
onChange: () => {}
|
|
32834
|
+
}) : /* @__PURE__ */ jsx(ErrorTriggerSourcesEditor, {
|
|
32835
|
+
store,
|
|
32836
|
+
nodeId: selection.id,
|
|
32837
|
+
value: selection.trigger.sourceFlowIds ?? [],
|
|
32838
|
+
disabled
|
|
32839
|
+
}) }),
|
|
32631
32840
|
selection?.kind === "trigger" && selection.trigger.kind !== "webhook" && /* @__PURE__ */ jsx(TriggerSummary, {
|
|
32632
32841
|
trigger: selection.trigger,
|
|
32633
32842
|
display: selection.trigger.kind == "integration" || selection.trigger.kind == "poll" ? triggerDisplays?.[selection.trigger.definition.key] : void 0
|
|
@@ -48469,7 +48678,7 @@ function CanvasNode({ nodeStore, problem, branches, compact = false, compactCont
|
|
|
48469
48678
|
const title = node.title;
|
|
48470
48679
|
const { values, summary, schedules, images, inline, hidden } = nodeCardContent(node);
|
|
48471
48680
|
const kind = node?.kind ?? "task";
|
|
48472
|
-
const triggerSource = node.kind == "trigger" ? node.presentation?.kind == "manual" || node.presentation?.kind == "cron" || node.presentation?.kind == "webhook" ? t(`canvasCard.triggerSource.${node.presentation.kind}`) : node.presentation?.source : void 0;
|
|
48681
|
+
const triggerSource = node.kind == "trigger" ? node.presentation?.kind == "error" || node.presentation?.kind == "manual" || node.presentation?.kind == "cron" || node.presentation?.kind == "webhook" ? t(`canvasCard.triggerSource.${node.presentation.kind}`) : node.presentation?.source : void 0;
|
|
48473
48682
|
const subtitle = inline ? summary : node.kind == "task" ? node.executorName || t("canvasCard.kind.task") : node.kind == "trigger" && triggerSource ? `${t("canvasCard.kind.trigger")} · ${triggerSource}` : t(`canvasCard.kind.${kind}`);
|
|
48474
48683
|
const runContent = node?.run == null || node.run.status == "idle" ? void 0 : /* @__PURE__ */ jsx(RunChips, { run: node.run });
|
|
48475
48684
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -52640,6 +52849,52 @@ function PublicationsView({ store, onClose, theme = "light" }) {
|
|
|
52640
52849
|
});
|
|
52641
52850
|
}
|
|
52642
52851
|
//#endregion
|
|
52852
|
+
//#region src/workbench/browser/runtime/runs/errorHandling.tsx
|
|
52853
|
+
var RunLinkContext = createContext(void 0);
|
|
52854
|
+
function ErrorHandling({ run }) {
|
|
52855
|
+
const t = useTranslate();
|
|
52856
|
+
const hrefFor = useContext(RunLinkContext);
|
|
52857
|
+
if (run == null || !("waits" in run) || run.errorSource == null && run.errorDispatches == null) return null;
|
|
52858
|
+
const link = (flowId, runId, label) => hrefFor == null ? /* @__PURE__ */ jsxs("span", { children: [
|
|
52859
|
+
label,
|
|
52860
|
+
": ",
|
|
52861
|
+
runId
|
|
52862
|
+
] }) : /* @__PURE__ */ jsx("a", {
|
|
52863
|
+
className: "text-foreground underline underline-offset-2 hover:text-muted-foreground",
|
|
52864
|
+
href: hrefFor({
|
|
52865
|
+
flowId,
|
|
52866
|
+
runId,
|
|
52867
|
+
view: "runs"
|
|
52868
|
+
}),
|
|
52869
|
+
children: label
|
|
52870
|
+
});
|
|
52871
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
52872
|
+
className: "flex flex-col gap-1 px-4 py-2 text-sm",
|
|
52873
|
+
role: "status",
|
|
52874
|
+
children: [run.errorSource != null && link(run.errorSource.flowId, run.errorSource.runId, t("errorWorkflow.source")), run.errorDispatches?.map((dispatch) => /* @__PURE__ */ jsxs("div", { children: [
|
|
52875
|
+
dispatch.status == "pending" && /* @__PURE__ */ jsxs("span", {
|
|
52876
|
+
className: "text-muted-foreground",
|
|
52877
|
+
children: [
|
|
52878
|
+
t("errorWorkflow.pending"),
|
|
52879
|
+
": ",
|
|
52880
|
+
dispatch.flowId
|
|
52881
|
+
]
|
|
52882
|
+
}),
|
|
52883
|
+
dispatch.status == "dispatched" && link(dispatch.flowId, dispatch.runId, `${t("errorWorkflow.dispatched")}: ${dispatch.flowId}`),
|
|
52884
|
+
dispatch.status == "failed" && /* @__PURE__ */ jsxs("span", {
|
|
52885
|
+
className: "text-destructive",
|
|
52886
|
+
children: [
|
|
52887
|
+
t("errorWorkflow.failed"),
|
|
52888
|
+
" (",
|
|
52889
|
+
dispatch.flowId,
|
|
52890
|
+
"): ",
|
|
52891
|
+
dispatch.message
|
|
52892
|
+
]
|
|
52893
|
+
})
|
|
52894
|
+
] }, dispatch.flowId))]
|
|
52895
|
+
});
|
|
52896
|
+
}
|
|
52897
|
+
//#endregion
|
|
52643
52898
|
//#region src/workbench/browser/runtime/runs/runControl.tsx
|
|
52644
52899
|
function RunControl({ disabled, inputContent, inputOpen, inputStatus, onInputOpenChange, onRun, onSelectTrigger, selectedTriggerId, starting, title, triggers }) {
|
|
52645
52900
|
const t = useTranslate();
|
|
@@ -54273,26 +54528,30 @@ function RunDrawer({ resultClient, cancelDisabled, canceling, events, eventsExpi
|
|
|
54273
54528
|
}),
|
|
54274
54529
|
/* @__PURE__ */ jsxs("div", {
|
|
54275
54530
|
className: "run-content",
|
|
54276
|
-
children: [
|
|
54277
|
-
|
|
54278
|
-
|
|
54279
|
-
|
|
54280
|
-
|
|
54281
|
-
|
|
54282
|
-
|
|
54283
|
-
|
|
54284
|
-
|
|
54285
|
-
|
|
54286
|
-
|
|
54287
|
-
|
|
54288
|
-
|
|
54289
|
-
|
|
54290
|
-
|
|
54291
|
-
|
|
54292
|
-
|
|
54293
|
-
|
|
54294
|
-
|
|
54295
|
-
|
|
54531
|
+
children: [
|
|
54532
|
+
/* @__PURE__ */ jsx(ErrorHandling, { run }),
|
|
54533
|
+
run != null && /* @__PURE__ */ jsx(ActiveWait, {
|
|
54534
|
+
onLocate: onLocateWait,
|
|
54535
|
+
onResolve,
|
|
54536
|
+
resolvingActions,
|
|
54537
|
+
run
|
|
54538
|
+
}),
|
|
54539
|
+
/* @__PURE__ */ jsx(RunLog, {
|
|
54540
|
+
presentation,
|
|
54541
|
+
resultClient,
|
|
54542
|
+
events,
|
|
54543
|
+
eventsExpiresAt,
|
|
54544
|
+
eventNodes,
|
|
54545
|
+
historyComplete,
|
|
54546
|
+
observationFailed,
|
|
54547
|
+
onConfigureConnector,
|
|
54548
|
+
onLocateEvent,
|
|
54549
|
+
onRetryObservation,
|
|
54550
|
+
result,
|
|
54551
|
+
run,
|
|
54552
|
+
submitting
|
|
54553
|
+
})
|
|
54554
|
+
]
|
|
54296
54555
|
})
|
|
54297
54556
|
]
|
|
54298
54557
|
});
|
|
@@ -55029,116 +55288,120 @@ function RunsView({ flowName, onClose, onConfigureConnector, onLocateEvent, onLo
|
|
|
55029
55288
|
variant: "outline",
|
|
55030
55289
|
children: t("run.filterClear")
|
|
55031
55290
|
})]
|
|
55032
|
-
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
55033
|
-
|
|
55034
|
-
|
|
55035
|
-
|
|
55036
|
-
|
|
55037
|
-
|
|
55038
|
-
|
|
55039
|
-
|
|
55040
|
-
|
|
55041
|
-
|
|
55042
|
-
|
|
55043
|
-
|
|
55044
|
-
|
|
55045
|
-
|
|
55046
|
-
|
|
55047
|
-
|
|
55048
|
-
|
|
55049
|
-
|
|
55050
|
-
|
|
55051
|
-
|
|
55291
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
55292
|
+
/* @__PURE__ */ jsxs("header", {
|
|
55293
|
+
className: "run-detail-header",
|
|
55294
|
+
children: [
|
|
55295
|
+
/* @__PURE__ */ jsxs("div", {
|
|
55296
|
+
className: "run-detail-summary",
|
|
55297
|
+
children: [narrow && /* @__PURE__ */ jsxs("div", {
|
|
55298
|
+
className: "flex min-w-0 items-center gap-2",
|
|
55299
|
+
children: [/* @__PURE__ */ jsx(RunTooltipButton, {
|
|
55300
|
+
"aria-label": t("run.history"),
|
|
55301
|
+
onClick: closeNarrowDetail,
|
|
55302
|
+
size: "icon-sm",
|
|
55303
|
+
variant: "ghost",
|
|
55304
|
+
children: /* @__PURE__ */ jsx("i", {
|
|
55305
|
+
"aria-hidden": "true",
|
|
55306
|
+
className: "i-lucide-light:list size-4"
|
|
55307
|
+
})
|
|
55308
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
55309
|
+
className: "truncate text-xs text-muted-foreground",
|
|
55310
|
+
title: flowName,
|
|
55311
|
+
children: flowName
|
|
55312
|
+
})]
|
|
55313
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
55314
|
+
className: "flex min-h-7 flex-wrap items-center gap-2",
|
|
55315
|
+
children: [
|
|
55316
|
+
/* @__PURE__ */ jsx("span", { className: `status-dot ${statusClass(run)}` }),
|
|
55317
|
+
/* @__PURE__ */ jsx("strong", { children: runLabel(run, t) }),
|
|
55318
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
55319
|
+
variant: "secondary",
|
|
55320
|
+
children: sourceLabel(run, t)
|
|
55321
|
+
})
|
|
55322
|
+
]
|
|
55052
55323
|
})]
|
|
55053
|
-
}),
|
|
55054
|
-
|
|
55324
|
+
}),
|
|
55325
|
+
/* @__PURE__ */ jsxs("div", {
|
|
55326
|
+
className: "run-detail-actions pr-9",
|
|
55327
|
+
children: [/* @__PURE__ */ jsx(RunLogButton, {
|
|
55328
|
+
events,
|
|
55329
|
+
eventsExpiresAt,
|
|
55330
|
+
historyComplete,
|
|
55331
|
+
run
|
|
55332
|
+
}), canCancelRun(run) && /* @__PURE__ */ jsx(Button$1, {
|
|
55333
|
+
disabled: cancelingRunId != null,
|
|
55334
|
+
onClick: () => void store.runs.cancel(),
|
|
55335
|
+
size: "sm",
|
|
55336
|
+
variant: "destructive",
|
|
55337
|
+
children: t(cancelingRunId == run.runId ? "run.canceling" : "run.cancel")
|
|
55338
|
+
})]
|
|
55339
|
+
}),
|
|
55340
|
+
/* @__PURE__ */ jsxs("div", {
|
|
55341
|
+
className: "run-detail-meta",
|
|
55055
55342
|
children: [
|
|
55056
|
-
/* @__PURE__ */ jsx("
|
|
55057
|
-
|
|
55058
|
-
|
|
55059
|
-
|
|
55060
|
-
|
|
55061
|
-
|
|
55062
|
-
|
|
55063
|
-
|
|
55064
|
-
|
|
55065
|
-
/* @__PURE__ */ jsxs("div", {
|
|
55066
|
-
className: "run-detail-actions pr-9",
|
|
55067
|
-
children: [/* @__PURE__ */ jsx(RunLogButton, {
|
|
55068
|
-
events,
|
|
55069
|
-
eventsExpiresAt,
|
|
55070
|
-
historyComplete,
|
|
55071
|
-
run
|
|
55072
|
-
}), canCancelRun(run) && /* @__PURE__ */ jsx(Button$1, {
|
|
55073
|
-
disabled: cancelingRunId != null,
|
|
55074
|
-
onClick: () => void store.runs.cancel(),
|
|
55075
|
-
size: "sm",
|
|
55076
|
-
variant: "destructive",
|
|
55077
|
-
children: t(cancelingRunId == run.runId ? "run.canceling" : "run.cancel")
|
|
55078
|
-
})]
|
|
55079
|
-
}),
|
|
55080
|
-
/* @__PURE__ */ jsxs("div", {
|
|
55081
|
-
className: "run-detail-meta",
|
|
55082
|
-
children: [
|
|
55083
|
-
/* @__PURE__ */ jsx("time", {
|
|
55084
|
-
dateTime: run.createdAt,
|
|
55085
|
-
children: new Date(run.createdAt).toLocaleString(language, {
|
|
55086
|
-
year: "numeric",
|
|
55087
|
-
month: "short",
|
|
55088
|
-
day: "numeric",
|
|
55089
|
-
hour: "2-digit",
|
|
55090
|
-
minute: "2-digit"
|
|
55091
|
-
})
|
|
55092
|
-
}),
|
|
55093
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
|
55094
|
-
t("run.duration"),
|
|
55095
|
-
": ",
|
|
55096
|
-
duration(run)
|
|
55097
|
-
] }),
|
|
55098
|
-
/* @__PURE__ */ jsx(IdTooltip, {
|
|
55099
|
-
value: run.runId,
|
|
55100
|
-
label: t("run.runId", { id: shortRunId(run.runId) }),
|
|
55101
|
-
trigger: /* @__PURE__ */ jsx("span", {
|
|
55102
|
-
className: "cursor-help text-xs",
|
|
55103
|
-
tabIndex: 0
|
|
55343
|
+
/* @__PURE__ */ jsx("time", {
|
|
55344
|
+
dateTime: run.createdAt,
|
|
55345
|
+
children: new Date(run.createdAt).toLocaleString(language, {
|
|
55346
|
+
year: "numeric",
|
|
55347
|
+
month: "short",
|
|
55348
|
+
day: "numeric",
|
|
55349
|
+
hour: "2-digit",
|
|
55350
|
+
minute: "2-digit"
|
|
55351
|
+
})
|
|
55104
55352
|
}),
|
|
55105
|
-
|
|
55106
|
-
|
|
55107
|
-
|
|
55108
|
-
|
|
55109
|
-
|
|
55110
|
-
|
|
55111
|
-
|
|
55112
|
-
|
|
55113
|
-
|
|
55114
|
-
|
|
55115
|
-
|
|
55116
|
-
className: "break-all",
|
|
55117
|
-
children: [
|
|
55118
|
-
t("run.triggerOccurrence"),
|
|
55119
|
-
": ",
|
|
55120
|
-
triggerRun.occurrenceId
|
|
55121
|
-
]
|
|
55353
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
55354
|
+
t("run.duration"),
|
|
55355
|
+
": ",
|
|
55356
|
+
duration(run)
|
|
55357
|
+
] }),
|
|
55358
|
+
/* @__PURE__ */ jsx(IdTooltip, {
|
|
55359
|
+
value: run.runId,
|
|
55360
|
+
label: t("run.runId", { id: shortRunId(run.runId) }),
|
|
55361
|
+
trigger: /* @__PURE__ */ jsx("span", {
|
|
55362
|
+
className: "cursor-help text-xs",
|
|
55363
|
+
tabIndex: 0
|
|
55122
55364
|
}),
|
|
55123
|
-
|
|
55124
|
-
|
|
55125
|
-
|
|
55126
|
-
|
|
55127
|
-
|
|
55128
|
-
|
|
55129
|
-
|
|
55130
|
-
|
|
55131
|
-
|
|
55132
|
-
|
|
55133
|
-
|
|
55134
|
-
|
|
55135
|
-
|
|
55136
|
-
|
|
55137
|
-
|
|
55138
|
-
|
|
55139
|
-
|
|
55140
|
-
|
|
55141
|
-
|
|
55365
|
+
container: root.current,
|
|
55366
|
+
children: triggerRun != null && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
55367
|
+
/* @__PURE__ */ jsxs("span", {
|
|
55368
|
+
className: "break-all",
|
|
55369
|
+
children: [
|
|
55370
|
+
t("run.triggerNode"),
|
|
55371
|
+
": ",
|
|
55372
|
+
triggerName ?? triggerRun.triggerNodeId
|
|
55373
|
+
]
|
|
55374
|
+
}),
|
|
55375
|
+
/* @__PURE__ */ jsxs("span", {
|
|
55376
|
+
className: "break-all",
|
|
55377
|
+
children: [
|
|
55378
|
+
t("run.triggerOccurrence"),
|
|
55379
|
+
": ",
|
|
55380
|
+
triggerRun.occurrenceId
|
|
55381
|
+
]
|
|
55382
|
+
}),
|
|
55383
|
+
/* @__PURE__ */ jsxs("span", {
|
|
55384
|
+
className: "break-all",
|
|
55385
|
+
children: [
|
|
55386
|
+
t("run.triggerPublication"),
|
|
55387
|
+
": ",
|
|
55388
|
+
triggerRun.publicationId
|
|
55389
|
+
]
|
|
55390
|
+
})
|
|
55391
|
+
] })
|
|
55392
|
+
}, run.runId)
|
|
55393
|
+
]
|
|
55394
|
+
})
|
|
55395
|
+
]
|
|
55396
|
+
}),
|
|
55397
|
+
/* @__PURE__ */ jsx(ErrorHandling, { run }),
|
|
55398
|
+
/* @__PURE__ */ jsx(ActiveWait, {
|
|
55399
|
+
onLocate: onLocateWait,
|
|
55400
|
+
onResolve: (waitId, action, comment) => void store.runs.resolve(waitId, action, comment),
|
|
55401
|
+
resolvingActions,
|
|
55402
|
+
run
|
|
55403
|
+
})
|
|
55404
|
+
] }), /* @__PURE__ */ jsxs("div", {
|
|
55142
55405
|
className: "run-history-content",
|
|
55143
55406
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
55144
55407
|
className: "run-toolbar",
|
|
@@ -56155,7 +56418,10 @@ function FlowWorkspace({ hrefFor, navigation, onConfigureConnector, onManageConn
|
|
|
56155
56418
|
const draftReady = draft != null;
|
|
56156
56419
|
const canvasReady = draftReady && !workspaceLoading;
|
|
56157
56420
|
useEffect(() => {
|
|
56158
|
-
if (view == "runs" && flowId != null) store.runs.load(flowId, {
|
|
56421
|
+
if (view == "runs" && flowId != null) store.runs.load(flowId, {
|
|
56422
|
+
source: navigation.runSource,
|
|
56423
|
+
runId: navigation.runId
|
|
56424
|
+
});
|
|
56159
56425
|
}, [
|
|
56160
56426
|
flowId,
|
|
56161
56427
|
navigation,
|
|
@@ -56209,66 +56475,69 @@ function FlowWorkspace({ hrefFor, navigation, onConfigureConnector, onManageConn
|
|
|
56209
56475
|
flowsHref: hrefFor({ view: "design" }),
|
|
56210
56476
|
onOpenFlows: () => void navigation.openFlows()
|
|
56211
56477
|
});
|
|
56212
|
-
return /* @__PURE__ */ jsx(IconifyProvider, { children: /* @__PURE__ */
|
|
56213
|
-
|
|
56214
|
-
children:
|
|
56215
|
-
className: "workspace
|
|
56216
|
-
children:
|
|
56217
|
-
|
|
56218
|
-
|
|
56219
|
-
|
|
56220
|
-
|
|
56221
|
-
|
|
56222
|
-
|
|
56223
|
-
|
|
56224
|
-
|
|
56225
|
-
|
|
56226
|
-
|
|
56227
|
-
|
|
56228
|
-
|
|
56229
|
-
|
|
56230
|
-
|
|
56231
|
-
|
|
56232
|
-
|
|
56233
|
-
|
|
56234
|
-
|
|
56478
|
+
return /* @__PURE__ */ jsx(IconifyProvider, { children: /* @__PURE__ */ jsx(RunLinkContext.Provider, {
|
|
56479
|
+
value: hrefFor,
|
|
56480
|
+
children: /* @__PURE__ */ jsxs("main", {
|
|
56481
|
+
className: "workspace",
|
|
56482
|
+
children: [view == "design" && !canvasReady && /* @__PURE__ */ jsx("div", {
|
|
56483
|
+
className: "workspace-navigation-placement",
|
|
56484
|
+
children: navigationIsland
|
|
56485
|
+
}), view == "design" && !canvasReady ? /* @__PURE__ */ jsx("div", {
|
|
56486
|
+
"aria-label": t("workspace.design"),
|
|
56487
|
+
className: "editor-grid context-panel-closed",
|
|
56488
|
+
id: "workspace-panel-design",
|
|
56489
|
+
role: "region",
|
|
56490
|
+
tabIndex: 0,
|
|
56491
|
+
children: /* @__PURE__ */ jsx("section", {
|
|
56492
|
+
"aria-busy": !workspaceLoadFailed,
|
|
56493
|
+
className: "canvas-panel workbench-canvas",
|
|
56494
|
+
children: workspaceLoadFailed ? /* @__PURE__ */ jsx(WorkspaceRecovery, {
|
|
56495
|
+
kind: workspaceLoadProblem?.kind ?? "failed",
|
|
56496
|
+
message: workspaceLoadProblem?.message,
|
|
56497
|
+
repairing: workspaceRepairing,
|
|
56498
|
+
onRepair: () => void store.workspace.repairWorkspace(),
|
|
56499
|
+
onRetry: () => flowId != null && void store.selectFlow(flowId)
|
|
56500
|
+
}) : /* @__PURE__ */ jsx(Empty, {
|
|
56501
|
+
className: "h-full",
|
|
56502
|
+
children: /* @__PURE__ */ jsx(EmptyHeader, { children: /* @__PURE__ */ jsx(EmptyTitle, { children: t("workspace.status.loading") }) })
|
|
56503
|
+
})
|
|
56235
56504
|
})
|
|
56236
|
-
})
|
|
56237
|
-
|
|
56238
|
-
|
|
56239
|
-
|
|
56240
|
-
|
|
56241
|
-
|
|
56242
|
-
|
|
56243
|
-
|
|
56244
|
-
|
|
56245
|
-
|
|
56246
|
-
|
|
56247
|
-
|
|
56248
|
-
|
|
56249
|
-
|
|
56250
|
-
|
|
56251
|
-
|
|
56252
|
-
|
|
56253
|
-
|
|
56254
|
-
|
|
56255
|
-
|
|
56256
|
-
|
|
56257
|
-
|
|
56258
|
-
|
|
56259
|
-
|
|
56260
|
-
|
|
56261
|
-
|
|
56262
|
-
|
|
56263
|
-
|
|
56264
|
-
|
|
56265
|
-
|
|
56266
|
-
|
|
56267
|
-
|
|
56268
|
-
|
|
56269
|
-
|
|
56270
|
-
|
|
56271
|
-
}
|
|
56505
|
+
}) : view == "design" ? /* @__PURE__ */ jsx(FlowEditor, {
|
|
56506
|
+
navigationIsland,
|
|
56507
|
+
onRun: (triggerId) => void run(triggerId),
|
|
56508
|
+
onRunStarted: revealRun,
|
|
56509
|
+
onCloseRuns: () => changeRunDrawerOpen(false),
|
|
56510
|
+
onConfigureConnector,
|
|
56511
|
+
onOpenPublications: () => {
|
|
56512
|
+
store.runRequests.dismissInputs();
|
|
56513
|
+
navigation.open("publications");
|
|
56514
|
+
},
|
|
56515
|
+
onOpenRuns: () => {
|
|
56516
|
+
store.runRequests.dismissInputs();
|
|
56517
|
+
navigation.open("runs");
|
|
56518
|
+
},
|
|
56519
|
+
onManageConnectorAccess,
|
|
56520
|
+
connectionHref,
|
|
56521
|
+
onToggleRuns: () => changeRunDrawerOpen(!runDrawerOpen),
|
|
56522
|
+
runDrawerOpen,
|
|
56523
|
+
store,
|
|
56524
|
+
theme
|
|
56525
|
+
}) : view == "runs" ? /* @__PURE__ */ jsx(RunsView, {
|
|
56526
|
+
onSourceChange: (source) => navigation.open("runs", source),
|
|
56527
|
+
flowName: flow?.name ?? flow?.flowId ?? "",
|
|
56528
|
+
onClose: () => navigation.open("design"),
|
|
56529
|
+
onConfigureConnector,
|
|
56530
|
+
onLocateEvent: locateRunEvent,
|
|
56531
|
+
onLocateWait: (nodeId) => {
|
|
56532
|
+
if (store.locateRunWait(nodeId)) navigation.open("design");
|
|
56533
|
+
},
|
|
56534
|
+
store
|
|
56535
|
+
}) : /* @__PURE__ */ jsx(PublicationsView, {
|
|
56536
|
+
theme,
|
|
56537
|
+
onClose: () => navigation.open("design"),
|
|
56538
|
+
store
|
|
56539
|
+
}, flowId)]
|
|
56540
|
+
})
|
|
56272
56541
|
}) });
|
|
56273
56542
|
}
|
|
56274
56543
|
//#endregion
|