@kestra-io/ui-libs 0.0.301 → 0.0.303
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/README.md +9 -0
- package/dist/{FlowYamlUtils-ByEGfKdP.js → FlowYamlUtils-OPH8CZYk.js} +515 -501
- package/dist/{FlowYamlUtils-ByEGfKdP.js.map → FlowYamlUtils-OPH8CZYk.js.map} +1 -1
- package/dist/FlowYamlUtils-T2zqbq1I.cjs +3 -0
- package/dist/{FlowYamlUtils-CAwjZu0s.cjs.map → FlowYamlUtils-T2zqbq1I.cjs.map} +1 -1
- package/dist/{VueFlowUtils-Ca_LeFFY.js → VueFlowUtils-C4-zV5Hq.js} +754 -752
- package/dist/VueFlowUtils-C4-zV5Hq.js.map +1 -0
- package/dist/VueFlowUtils-DLT6rnmv.cjs +2 -0
- package/dist/VueFlowUtils-DLT6rnmv.cjs.map +1 -0
- package/dist/components/nodes/TaskNode.vue.d.ts +17 -7
- package/dist/components/nodes/TaskNode.vue.d.ts.map +1 -1
- package/dist/components/topology/Topology.vue.d.ts +11 -5
- package/dist/components/topology/Topology.vue.d.ts.map +1 -1
- package/dist/components/topology/injectionKeys.d.ts +2 -1
- package/dist/components/topology/injectionKeys.d.ts.map +1 -1
- package/dist/kestra-flowyamlutils.cjs +1 -1
- package/dist/kestra-flowyamlutils.mjs +28 -27
- package/dist/kestra-index.cjs +15 -15
- package/dist/kestra-index.cjs.map +1 -1
- package/dist/kestra-index.mjs +3935 -3850
- package/dist/kestra-index.mjs.map +1 -1
- package/dist/kestra-vueflowutils.cjs +1 -1
- package/dist/kestra-vueflowutils.mjs +2 -2
- package/dist/ui-libs.css +1 -1
- package/dist/utils/FlowYamlUtils.d.ts +1 -0
- package/dist/utils/FlowYamlUtils.d.ts.map +1 -1
- package/dist/utils/VueFlowUtils.d.ts +1 -1
- package/dist/utils/VueFlowUtils.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +3 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/nodes/TaskNode.vue +115 -23
- package/src/components/topology/Topology.vue +114 -17
- package/src/components/topology/injectionKeys.ts +3 -2
- package/src/components/topology/topology.scss +38 -1
- package/src/utils/FlowYamlUtils.test.ts +73 -0
- package/src/utils/FlowYamlUtils.ts +30 -0
- package/src/utils/VueFlowUtils.ts +3 -2
- package/src/utils/constants.ts +3 -1
- package/dist/FlowYamlUtils-CAwjZu0s.cjs +0 -3
- package/dist/VueFlowUtils-Ca_LeFFY.js.map +0 -1
- package/dist/VueFlowUtils-CscPDexP.cjs +0 -2
- package/dist/VueFlowUtils-CscPDexP.cjs.map +0 -1
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
:playground-enabled="playgroundEnabled"
|
|
32
32
|
:playground-ready-to-start="playgroundReadyToStart"
|
|
33
33
|
:custom-actions="customActions"
|
|
34
|
+
:show-details="showDetails"
|
|
34
35
|
@edit="emit(EVENTS.EDIT, $event)"
|
|
35
36
|
@delete="emit(EVENTS.DELETE, $event)"
|
|
36
37
|
@run-task="emit(EVENTS.RUN_TASK, $event)"
|
|
@@ -40,6 +41,7 @@
|
|
|
40
41
|
@show-description="emit(EVENTS.SHOW_DESCRIPTION, $event)"
|
|
41
42
|
@show-condition="emit(EVENTS.SHOW_CONDITION, $event)"
|
|
42
43
|
@show-custom-action="emit(EVENTS.SHOW_CUSTOM_ACTION, $event)"
|
|
44
|
+
@show-details="emit(EVENTS.SHOW_DETAILS, $event)"
|
|
43
45
|
@mouseover="onMouseOver($event)"
|
|
44
46
|
@mouseleave="onMouseLeave()"
|
|
45
47
|
@add-error="emit('on-add-flowable-error', $event)"
|
|
@@ -89,11 +91,17 @@
|
|
|
89
91
|
/>
|
|
90
92
|
</template>
|
|
91
93
|
|
|
92
|
-
<Controls v-if="controlsShown" :show-interactive="false">
|
|
94
|
+
<Controls v-if="controlsShown" :show-interactive="false" :show-fit-view="false">
|
|
95
|
+
<ControlButton @click="showExtraDetails = !showExtraDetails" :class="{'active': showExtraDetails}">
|
|
96
|
+
<Information />
|
|
97
|
+
</ControlButton>
|
|
98
|
+
<ControlButton @click="fitView()">
|
|
99
|
+
<svg viewBox="0 0 32 32" style="width:12px;height:12px"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z" fill="currentColor" /></svg>
|
|
100
|
+
</ControlButton>
|
|
93
101
|
<ControlButton @click="emit('toggle-orientation', $event)" v-if="toggleOrientationButton">
|
|
94
102
|
<component :is="isHorizontal ? SplitCellsHorizontal : SplitCellsVertical" />
|
|
95
103
|
</ControlButton>
|
|
96
|
-
<ControlButton @click="toggleDropdown">
|
|
104
|
+
<ControlButton @click="toggleDropdown">
|
|
97
105
|
<Download />
|
|
98
106
|
</ControlButton>
|
|
99
107
|
<ul v-if="isDropdownOpen" class="exporting">
|
|
@@ -128,13 +136,14 @@
|
|
|
128
136
|
// @ts-expect-error no types for internals necessary
|
|
129
137
|
import SplitCellsHorizontal from "../../assets/icons/SplitCellsHorizontal.vue";
|
|
130
138
|
import Download from "vue-material-design-icons/Download.vue";
|
|
139
|
+
import Information from "vue-material-design-icons/Information.vue";
|
|
131
140
|
import {cssVariable} from "../../utils/global";
|
|
132
|
-
import {CLUSTER_PREFIX,
|
|
141
|
+
import {CLUSTER_PREFIX, EVENTS, NODE_SIZES, ShowDetailsConfig} from "../../utils/constants"
|
|
133
142
|
import Utils from "../../utils/Utils"
|
|
134
143
|
import * as VueFlowUtils from "../../utils/VueFlowUtils";
|
|
135
144
|
import {isParentChildrenRelation, swapBlocks} from "../../utils/FlowYamlUtils";
|
|
136
145
|
import {useScreenshot} from "./export/useScreenshot";
|
|
137
|
-
import {EXECUTION_INJECTION_KEY, SUBFLOWS_EXECUTIONS_INJECTION_KEY} from "./injectionKeys";
|
|
146
|
+
import {EXECUTION_INJECTION_KEY, SUBFLOWS_EXECUTIONS_INJECTION_KEY, SHOW_EXTRA_DETAILS_INJECTION_KEY} from "./injectionKeys";
|
|
138
147
|
import BasicNode from "../nodes/BasicNode.vue";
|
|
139
148
|
|
|
140
149
|
const props = withDefaults(defineProps<{
|
|
@@ -156,7 +165,9 @@
|
|
|
156
165
|
playgroundEnabled?: boolean;
|
|
157
166
|
playgroundReadyToStart?: boolean;
|
|
158
167
|
getNodeDimensions?: (node: any, getNodeWidth: (node: any) => number, getNodeHeight: (node: any) => number) => { width: number, height: number };
|
|
159
|
-
customActions?: Record<string,
|
|
168
|
+
customActions?: Record<string, ShowDetailsConfig>;
|
|
169
|
+
showDetails?: Record<string, ShowDetailsConfig>;
|
|
170
|
+
animated?: boolean;
|
|
160
171
|
}>(), {
|
|
161
172
|
isHorizontal: true,
|
|
162
173
|
isReadOnly: true,
|
|
@@ -173,10 +184,53 @@
|
|
|
173
184
|
playgroundReadyToStart: false,
|
|
174
185
|
subflowsExecutions: () => ({}),
|
|
175
186
|
getNodeDimensions: undefined,
|
|
176
|
-
customActions: () => ({})
|
|
187
|
+
customActions: () => ({}),
|
|
188
|
+
showDetails: () => ({}),
|
|
189
|
+
animated: true
|
|
177
190
|
});
|
|
178
191
|
|
|
179
192
|
const dragging = ref(false);
|
|
193
|
+
const showExtraDetails = ref(false);
|
|
194
|
+
const HOVERED_NODE_CLASS = "topology-node-hovered";
|
|
195
|
+
const DROP_TARGET_NODE_CLASS = "topology-node-drop-target";
|
|
196
|
+
const effectiveGetNodeDimensions = computed(() => {
|
|
197
|
+
return (node: any, getNodeWidth: (node: any) => number, getNodeHeight: (node: any) => number) => {
|
|
198
|
+
const baseHeight = getNodeHeight(node);
|
|
199
|
+
const dimensions = props.getNodeDimensions
|
|
200
|
+
? props.getNodeDimensions(node, getNodeWidth, getNodeHeight)
|
|
201
|
+
: {
|
|
202
|
+
width: getNodeWidth(node),
|
|
203
|
+
height: baseHeight
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
if (!showExtraDetails.value && VueFlowUtils.isTaskNode(node)) {
|
|
207
|
+
return {
|
|
208
|
+
...dimensions,
|
|
209
|
+
height: baseHeight
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (showExtraDetails.value && VueFlowUtils.isTaskNode(node)) {
|
|
214
|
+
const taskType = node?.task?.type as string | undefined;
|
|
215
|
+
const hasDetailsAction = Boolean(
|
|
216
|
+
(taskType && props.customActions?.[taskType]) ||
|
|
217
|
+
(taskType && props.showDetails?.[taskType])
|
|
218
|
+
);
|
|
219
|
+
|
|
220
|
+
if (hasDetailsAction) {
|
|
221
|
+
return {
|
|
222
|
+
...dimensions,
|
|
223
|
+
height: Math.max(
|
|
224
|
+
dimensions.height,
|
|
225
|
+
NODE_SIZES.TASK_EXPANDED_FALLBACK_HEIGHT
|
|
226
|
+
)
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return dimensions;
|
|
232
|
+
};
|
|
233
|
+
});
|
|
180
234
|
const lastPosition = ref<XYPosition | null>()
|
|
181
235
|
const {getNodes, onNodeDrag, onNodeDragStart, onNodeDragStop, fitView, setElements, vueFlowRef} = useVueFlow(props.id);
|
|
182
236
|
const edgeReplacer = ref({});
|
|
@@ -187,6 +241,7 @@
|
|
|
187
241
|
|
|
188
242
|
provide(EXECUTION_INJECTION_KEY, computed(() => props.execution));
|
|
189
243
|
provide(SUBFLOWS_EXECUTIONS_INJECTION_KEY, computed(() => props.subflowsExecutions));
|
|
244
|
+
provide(SHOW_EXTRA_DETAILS_INJECTION_KEY, showExtraDetails);
|
|
190
245
|
|
|
191
246
|
|
|
192
247
|
const emit = defineEmits(
|
|
@@ -206,7 +261,8 @@
|
|
|
206
261
|
"message",
|
|
207
262
|
"expand-subflow",
|
|
208
263
|
EVENTS.SHOW_CONDITION,
|
|
209
|
-
EVENTS.SHOW_CUSTOM_ACTION
|
|
264
|
+
EVENTS.SHOW_CUSTOM_ACTION,
|
|
265
|
+
EVENTS.SHOW_DETAILS
|
|
210
266
|
]
|
|
211
267
|
)
|
|
212
268
|
|
|
@@ -223,6 +279,10 @@
|
|
|
223
279
|
generateGraph();
|
|
224
280
|
})
|
|
225
281
|
|
|
282
|
+
watch(showExtraDetails, () => {
|
|
283
|
+
generateGraph();
|
|
284
|
+
})
|
|
285
|
+
|
|
226
286
|
const generateGraph = () => {
|
|
227
287
|
VueFlowUtils.cleanGraph(props.id);
|
|
228
288
|
|
|
@@ -250,7 +310,8 @@
|
|
|
250
310
|
props.isReadOnly,
|
|
251
311
|
props.isAllowedEdit,
|
|
252
312
|
props.enableSubflowInteraction,
|
|
253
|
-
|
|
313
|
+
effectiveGetNodeDimensions.value,
|
|
314
|
+
props.animated
|
|
254
315
|
);
|
|
255
316
|
|
|
256
317
|
if(elements) {
|
|
@@ -266,8 +327,8 @@
|
|
|
266
327
|
if (!dragging.value) {
|
|
267
328
|
VueFlowUtils.linkedElements(props.id, node.uid).forEach((n) => {
|
|
268
329
|
if (n?.type === "task") {
|
|
269
|
-
n.style = {...n.style,
|
|
270
|
-
n
|
|
330
|
+
n.style = {...n.style, opacity: "1", outline: "none"}
|
|
331
|
+
setNodeInteractionClass(n, HOVERED_NODE_CLASS, true);
|
|
271
332
|
}
|
|
272
333
|
});
|
|
273
334
|
}
|
|
@@ -282,7 +343,7 @@
|
|
|
282
343
|
getNodes.value.filter(n => n.type === "task" || n.type === "trigger")
|
|
283
344
|
.forEach(n => {
|
|
284
345
|
n.style = {...n.style, opacity: "1", outline: "none"}
|
|
285
|
-
n
|
|
346
|
+
clearNodeInteractionClasses(n);
|
|
286
347
|
})
|
|
287
348
|
}
|
|
288
349
|
|
|
@@ -352,15 +413,50 @@
|
|
|
352
413
|
if (e.intersections && !checkIntersections(e.intersections, e.node) && e.intersections.filter((n:any) => n.type === "task").length === 1) {
|
|
353
414
|
e.intersections.forEach((n:any) => {
|
|
354
415
|
if (n.type === "task") {
|
|
355
|
-
n.style = {...n.style, outline: "
|
|
356
|
-
n
|
|
416
|
+
n.style = {...n.style, outline: "none"}
|
|
417
|
+
setNodeInteractionClass(n, DROP_TARGET_NODE_CLASS, true);
|
|
357
418
|
}
|
|
358
419
|
})
|
|
359
|
-
e.node.style = {...e.node.style, outline: "
|
|
360
|
-
e.node
|
|
420
|
+
e.node.style = {...e.node.style, outline: "none"}
|
|
421
|
+
setNodeInteractionClass(e.node, DROP_TARGET_NODE_CLASS, true);
|
|
361
422
|
}
|
|
362
423
|
})
|
|
363
424
|
|
|
425
|
+
const normalizeNodeClasses = (value: unknown): string[] => {
|
|
426
|
+
if (typeof value === "string") {
|
|
427
|
+
return value.split(/\s+/).filter(Boolean);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
if (Array.isArray(value)) {
|
|
431
|
+
return value.flatMap((entry) => normalizeNodeClasses(entry));
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
if (value && typeof value === "object") {
|
|
435
|
+
return Object.entries(value as Record<string, boolean>)
|
|
436
|
+
.filter(([, enabled]) => Boolean(enabled))
|
|
437
|
+
.map(([className]) => className);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
return [];
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
const setNodeInteractionClass = (node: any, className: string, enabled: boolean) => {
|
|
444
|
+
const classes = new Set(normalizeNodeClasses(node.class));
|
|
445
|
+
|
|
446
|
+
if (enabled) {
|
|
447
|
+
classes.add(className);
|
|
448
|
+
} else {
|
|
449
|
+
classes.delete(className);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
node.class = Array.from(classes).join(" ");
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
const clearNodeInteractionClasses = (node: any) => {
|
|
456
|
+
setNodeInteractionClass(node, HOVERED_NODE_CLASS, false);
|
|
457
|
+
setNodeInteractionClass(node, DROP_TARGET_NODE_CLASS, false);
|
|
458
|
+
};
|
|
459
|
+
|
|
364
460
|
const checkIntersections = (intersections:any, node:any) => {
|
|
365
461
|
const tasksMeet = intersections.filter((n:any) => n.type === "task").map((n:any) => Utils.afterLastDot(n.id));
|
|
366
462
|
if (tasksMeet.length > 1) {
|
|
@@ -451,7 +547,8 @@
|
|
|
451
547
|
|
|
452
548
|
<style lang="scss" src="./topology.scss" />
|
|
453
549
|
<style scoped lang="scss">
|
|
454
|
-
.material-design-icon.download-icon
|
|
550
|
+
.material-design-icon.download-icon,
|
|
551
|
+
.material-design-icon.information-icon {
|
|
455
552
|
max-width: 12px;
|
|
456
553
|
}
|
|
457
554
|
|
|
@@ -489,4 +586,4 @@
|
|
|
489
586
|
}
|
|
490
587
|
}
|
|
491
588
|
}
|
|
492
|
-
</style>
|
|
589
|
+
</style>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {ComputedRef, InjectionKey} from "vue"
|
|
1
|
+
import type {ComputedRef, InjectionKey, Ref} from "vue"
|
|
2
2
|
|
|
3
3
|
export const EXECUTION_INJECTION_KEY = Symbol("execution-injection-key") as InjectionKey<ComputedRef<any>>
|
|
4
|
-
export const SUBFLOWS_EXECUTIONS_INJECTION_KEY = Symbol("subflows-executions-injection-key") as InjectionKey<ComputedRef<Record<string, any[]>>>
|
|
4
|
+
export const SUBFLOWS_EXECUTIONS_INJECTION_KEY = Symbol("subflows-executions-injection-key") as InjectionKey<ComputedRef<Record<string, any[]>>>
|
|
5
|
+
export const SHOW_EXTRA_DETAILS_INJECTION_KEY = Symbol("show-extra-details-injection-key") as InjectionKey<Ref<boolean>>
|
|
@@ -31,6 +31,10 @@ $node-colors: (
|
|
|
31
31
|
font-size: 0.66rem;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
.vue-flow__panel.vue-flow__controls {
|
|
35
|
+
z-index: 200001;
|
|
36
|
+
}
|
|
37
|
+
|
|
34
38
|
.vue-flow__controls {
|
|
35
39
|
border: 1px solid var(--ks-border-primary);
|
|
36
40
|
border-radius: var(--bs-border-radius);
|
|
@@ -40,10 +44,26 @@ $node-colors: (
|
|
|
40
44
|
color: var(--bs-black);
|
|
41
45
|
border-bottom-color: var(--bs-border-color);
|
|
42
46
|
|
|
47
|
+
.material-design-icon {
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
line-height: 0;
|
|
52
|
+
|
|
53
|
+
svg {
|
|
54
|
+
width: 12px;
|
|
55
|
+
height: 12px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
43
59
|
svg {
|
|
44
60
|
fill: var(--bs-black);
|
|
45
61
|
}
|
|
46
62
|
|
|
63
|
+
&.active svg {
|
|
64
|
+
fill: var(--ks-content-link);
|
|
65
|
+
}
|
|
66
|
+
|
|
47
67
|
html.dark & {
|
|
48
68
|
background: var(--ks-background-card);
|
|
49
69
|
color: var(--bs-white);
|
|
@@ -51,6 +71,10 @@ $node-colors: (
|
|
|
51
71
|
svg {
|
|
52
72
|
fill: var(--bs-white);
|
|
53
73
|
}
|
|
74
|
+
|
|
75
|
+
&.active svg {
|
|
76
|
+
fill: var(--ks-content-link);
|
|
77
|
+
}
|
|
54
78
|
}
|
|
55
79
|
}
|
|
56
80
|
|
|
@@ -59,6 +83,19 @@ $node-colors: (
|
|
|
59
83
|
}
|
|
60
84
|
|
|
61
85
|
.vue-flow__container {
|
|
86
|
+
.vue-flow__node.topology-node-hovered,
|
|
87
|
+
.vue-flow__node.topology-node-drop-target {
|
|
88
|
+
outline: none !important;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.vue-flow__node.topology-node-hovered .node-wrapper {
|
|
92
|
+
border-color: var(--bs-gray-900) !important;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.vue-flow__node.topology-node-drop-target .node-wrapper {
|
|
96
|
+
border-color: var(--bs-primary) !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
62
99
|
.top-button-div {
|
|
63
100
|
position: absolute;
|
|
64
101
|
top: -0.5rem;
|
|
@@ -97,4 +134,4 @@ $node-colors: (
|
|
|
97
134
|
.circle-button {
|
|
98
135
|
display: none !important;
|
|
99
136
|
}
|
|
100
|
-
}
|
|
137
|
+
}
|
|
@@ -1748,6 +1748,48 @@ describe("get lines infos", () => {
|
|
|
1748
1748
|
})
|
|
1749
1749
|
});
|
|
1750
1750
|
|
|
1751
|
+
describe("getAllFlowSectionRanges", () => {
|
|
1752
|
+
test("returns ranges for tasks, triggers, errors, finally, pluginDefaults, afterExecution", () => {
|
|
1753
|
+
const yamlString = `
|
|
1754
|
+
id: test-flow
|
|
1755
|
+
namespace: test.namespace
|
|
1756
|
+
|
|
1757
|
+
tasks:
|
|
1758
|
+
- id: task1
|
|
1759
|
+
type: type1
|
|
1760
|
+
|
|
1761
|
+
- id: task2
|
|
1762
|
+
type: type2
|
|
1763
|
+
|
|
1764
|
+
triggers:
|
|
1765
|
+
- id: trigger1
|
|
1766
|
+
type: triggerType1
|
|
1767
|
+
|
|
1768
|
+
errors:
|
|
1769
|
+
- id: error1
|
|
1770
|
+
type: errorType1
|
|
1771
|
+
|
|
1772
|
+
finally:
|
|
1773
|
+
- id: finally1
|
|
1774
|
+
type: finallyType1
|
|
1775
|
+
|
|
1776
|
+
pluginDefaults:
|
|
1777
|
+
- type: defaultType1
|
|
1778
|
+
|
|
1779
|
+
afterExecution:
|
|
1780
|
+
- id: afterExec1
|
|
1781
|
+
type: afterExecType1
|
|
1782
|
+
|
|
1783
|
+
outputs:
|
|
1784
|
+
- id: output1
|
|
1785
|
+
type: STRING
|
|
1786
|
+
`;
|
|
1787
|
+
|
|
1788
|
+
const ranges = YamlUtils.getAllFlowSectionRanges(yamlString);
|
|
1789
|
+
expect(ranges).toHaveLength(6);
|
|
1790
|
+
});
|
|
1791
|
+
});
|
|
1792
|
+
|
|
1751
1793
|
describe("getTypeAtPosition", () => {
|
|
1752
1794
|
test("gets type at given line and column", () => {
|
|
1753
1795
|
const yamlString = `
|
|
@@ -1783,6 +1825,37 @@ describe("getTypeAtPosition", () => {
|
|
|
1783
1825
|
const result = YamlUtils.getTypeAtPosition(yamlString, {lineNumber: 2, column:5}, ["type1"]); // line 2, column 5 is 'tasks' field
|
|
1784
1826
|
expect(result).toBeNull();
|
|
1785
1827
|
});
|
|
1828
|
+
|
|
1829
|
+
test("returns null if position outside of a FLOW_SECTION", () => {
|
|
1830
|
+
const yamlString = `
|
|
1831
|
+
id: main-flow
|
|
1832
|
+
namespace: company.reproducer
|
|
1833
|
+
|
|
1834
|
+
tasks:
|
|
1835
|
+
- id: callsubFlow
|
|
1836
|
+
type: io.kestra.plugin.core.flow.Subflow
|
|
1837
|
+
flowId: sub-fLov
|
|
1838
|
+
namespace: companv.reproducer
|
|
1839
|
+
inputs:
|
|
1840
|
+
anystring: "CL secret (namespace=flow.namespace, key='MY_SECRET' ) }}"
|
|
1841
|
+
- id: logsecret
|
|
1842
|
+
type: io.kestra.plugin.core.log.Log
|
|
1843
|
+
message: "Secret {{ secret (namespace=flow.namespace, key='MY_SECRET')}} -> from Subflow: {{ outputs.callSubFlow.outputs.anystring }}"
|
|
1844
|
+
|
|
1845
|
+
outputs:
|
|
1846
|
+
- id: outSecret
|
|
1847
|
+
type: STRING
|
|
1848
|
+
value: "{{ secret (namespace=flow.namespace, key=' MY_SECRET') }}"`;
|
|
1849
|
+
const result = YamlUtils.getTypeAtPosition(
|
|
1850
|
+
yamlString,
|
|
1851
|
+
{lineNumber: 16, column:5},
|
|
1852
|
+
[
|
|
1853
|
+
"io.kestra.plugin.core.log.Log",
|
|
1854
|
+
"io.kestra.plugin.core.flow.Subflow"
|
|
1855
|
+
]
|
|
1856
|
+
); // line 16, column 5 is 'outputs' field
|
|
1857
|
+
expect(result).toBeNull();
|
|
1858
|
+
});
|
|
1786
1859
|
})
|
|
1787
1860
|
|
|
1788
1861
|
describe("stringify with preserveCronQuotes", () => {
|
|
@@ -1069,6 +1069,29 @@ function extractAllTypes(source: string, validTypes: string[] = []){
|
|
|
1069
1069
|
);
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
|
+
export function getAllFlowSectionRanges(source: string): [start: number, end: number][] {
|
|
1073
|
+
const zones: [start: number, end: number][] = []
|
|
1074
|
+
|
|
1075
|
+
// find all sections that can contain plugins
|
|
1076
|
+
for (const section of FLOW_SECTION_KEYS) {
|
|
1077
|
+
// get section node
|
|
1078
|
+
const {sectionNode} = getSectionNodeAndDocumentFromSource({source, section});
|
|
1079
|
+
if (!sectionNode) {
|
|
1080
|
+
continue;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
// get section range
|
|
1084
|
+
const sectionRange = sectionNode.range;
|
|
1085
|
+
if (!sectionRange) {
|
|
1086
|
+
continue;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
// add section range to zones
|
|
1090
|
+
zones.push([sectionRange[0], sectionRange[1]]);
|
|
1091
|
+
}
|
|
1092
|
+
return zones;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1072
1095
|
|
|
1073
1096
|
/**
|
|
1074
1097
|
* Get task type at cursor position.
|
|
@@ -1079,13 +1102,20 @@ export function getTypeAtPosition(
|
|
|
1079
1102
|
position: { lineNumber: number; column: number },
|
|
1080
1103
|
validTypes: any
|
|
1081
1104
|
) {
|
|
1105
|
+
|
|
1106
|
+
|
|
1082
1107
|
const types = extractAllTypes(source, validTypes);
|
|
1083
1108
|
|
|
1109
|
+
const zones = getAllFlowSectionRanges(source);
|
|
1084
1110
|
const lineCounter = new LineCounter();
|
|
1085
1111
|
parseDocument(source, {lineCounter});
|
|
1086
1112
|
const cursorIndex =
|
|
1087
1113
|
lineCounter.lineStarts[position.lineNumber - 1] + position.column;
|
|
1088
1114
|
|
|
1115
|
+
if(!zones.some((zone) => cursorIndex >= zone[0] && cursorIndex <= zone[1])){
|
|
1116
|
+
return null;
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1089
1119
|
for (const type of types.reverse()) {
|
|
1090
1120
|
if (cursorIndex >= type.range[0]) {
|
|
1091
1121
|
return type.type;
|
|
@@ -436,7 +436,8 @@ export function generateGraph(
|
|
|
436
436
|
= (node, getNodeWidth, getNodeHeight) => ({
|
|
437
437
|
width: getNodeWidth(node),
|
|
438
438
|
height: getNodeHeight(node)
|
|
439
|
-
})
|
|
439
|
+
}),
|
|
440
|
+
animated: boolean = true
|
|
440
441
|
): Elements | undefined {
|
|
441
442
|
const elements: Elements = [];
|
|
442
443
|
|
|
@@ -699,7 +700,7 @@ export function generateGraph(
|
|
|
699
700
|
style: {
|
|
700
701
|
zIndex: 10,
|
|
701
702
|
},
|
|
702
|
-
animated:
|
|
703
|
+
animated: animated,
|
|
703
704
|
});
|
|
704
705
|
}
|
|
705
706
|
}
|
package/src/utils/constants.ts
CHANGED
|
@@ -20,9 +20,10 @@ export const EVENTS = {
|
|
|
20
20
|
SHOW_CONDITION: "showCondition",
|
|
21
21
|
RUN_TASK: "runTask",
|
|
22
22
|
SHOW_CUSTOM_ACTION: "showCustomAction",
|
|
23
|
+
SHOW_DETAILS: "showDetails",
|
|
23
24
|
} as const;
|
|
24
25
|
|
|
25
|
-
export interface
|
|
26
|
+
export interface ShowDetailsConfig {
|
|
26
27
|
label: string;
|
|
27
28
|
taskProp: string;
|
|
28
29
|
lang: string;
|
|
@@ -33,6 +34,7 @@ export const CLUSTER_PREFIX = "cluster_";
|
|
|
33
34
|
export const NODE_SIZES = {
|
|
34
35
|
TASK_WIDTH: 184,
|
|
35
36
|
TASK_HEIGHT: 44,
|
|
37
|
+
TASK_EXPANDED_FALLBACK_HEIGHT: 140,
|
|
36
38
|
TRIGGER_WIDTH: 184,
|
|
37
39
|
TRIGGER_HEIGHT: 44,
|
|
38
40
|
DOT_WIDTH: 5,
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";const Ga=require("js-yaml"),c=require("yaml");var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Va(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _e,Kt;function Yi(){if(Kt)return _e;Kt=1;function e(){this.__data__=[],this.size=0}return _e=e,_e}var ge,Ft;function _t(){if(Ft)return ge;Ft=1;function e(r,t){return r===t||r!==r&&t!==t}return ge=e,ge}var ye,Nt;function ie(){if(Nt)return ye;Nt=1;var e=_t();function r(t,n){for(var a=t.length;a--;)if(e(t[a][0],n))return a;return-1}return ye=r,ye}var be,Gt;function zi(){if(Gt)return be;Gt=1;var e=ie(),r=Array.prototype,t=r.splice;function n(a){var i=this.__data__,s=e(i,a);if(s<0)return!1;var o=i.length-1;return s==o?i.pop():t.call(i,s,1),--this.size,!0}return be=n,be}var me,Vt;function Ji(){if(Vt)return me;Vt=1;var e=ie();function r(t){var n=this.__data__,a=e(n,t);return a<0?void 0:n[a][1]}return me=r,me}var qe,Ut;function Xi(){if(Ut)return qe;Ut=1;var e=ie();function r(t){return e(this.__data__,t)>-1}return qe=r,qe}var Se,Ht;function Qi(){if(Ht)return Se;Ht=1;var e=ie();function r(t,n){var a=this.__data__,i=e(a,t);return i<0?(++this.size,a.push([t,n])):a[i][1]=n,this}return Se=r,Se}var Ae,Wt;function se(){if(Wt)return Ae;Wt=1;var e=Yi(),r=zi(),t=Ji(),n=Xi(),a=Qi();function i(s){var o=-1,u=s==null?0:s.length;for(this.clear();++o<u;){var f=s[o];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=n,i.prototype.set=a,Ae=i,Ae}var Ie,$t;function Zi(){if($t)return Ie;$t=1;var e=se();function r(){this.__data__=new e,this.size=0}return Ie=r,Ie}var Te,Yt;function es(){if(Yt)return Te;Yt=1;function e(r){var t=this.__data__,n=t.delete(r);return this.size=t.size,n}return Te=e,Te}var Ce,zt;function rs(){if(zt)return Ce;zt=1;function e(r){return this.__data__.get(r)}return Ce=e,Ce}var we,Jt;function ts(){if(Jt)return we;Jt=1;function e(r){return this.__data__.has(r)}return we=e,we}var Oe,Xt;function Ua(){if(Xt)return Oe;Xt=1;var e=typeof ae=="object"&&ae&&ae.Object===Object&&ae;return Oe=e,Oe}var Pe,Qt;function C(){if(Qt)return Pe;Qt=1;var e=Ua(),r=typeof self=="object"&&self&&self.Object===Object&&self,t=e||r||Function("return this")();return Pe=t,Pe}var je,Zt;function oe(){if(Zt)return je;Zt=1;var e=C(),r=e.Symbol;return je=r,je}var Re,en;function ns(){if(en)return Re;en=1;var e=oe(),r=Object.prototype,t=r.hasOwnProperty,n=r.toString,a=e?e.toStringTag:void 0;function i(s){var o=t.call(s,a),u=s[a];try{s[a]=void 0;var f=!0}catch{}var l=n.call(s);return f&&(o?s[a]=u:delete s[a]),l}return Re=i,Re}var De,rn;function as(){if(rn)return De;rn=1;var e=Object.prototype,r=e.toString;function t(n){return r.call(n)}return De=t,De}var xe,tn;function Q(){if(tn)return xe;tn=1;var e=oe(),r=ns(),t=as(),n="[object Null]",a="[object Undefined]",i=e?e.toStringTag:void 0;function s(o){return o==null?o===void 0?a:n:i&&i in Object(o)?r(o):t(o)}return xe=s,xe}var Me,nn;function G(){if(nn)return Me;nn=1;function e(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}return Me=e,Me}var Ee,an;function gt(){if(an)return Ee;an=1;var e=Q(),r=G(),t="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function s(o){if(!r(o))return!1;var u=e(o);return u==n||u==a||u==t||u==i}return Ee=s,Ee}var ke,sn;function is(){if(sn)return ke;sn=1;var e=C(),r=e["__core-js_shared__"];return ke=r,ke}var Le,on;function ss(){if(on)return Le;on=1;var e=is(),r=(function(){var n=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""})();function t(n){return!!r&&r in n}return Le=t,Le}var Be,un;function Ha(){if(un)return Be;un=1;var e=Function.prototype,r=e.toString;function t(n){if(n!=null){try{return r.call(n)}catch{}try{return n+""}catch{}}return""}return Be=t,Be}var Ke,cn;function os(){if(cn)return Ke;cn=1;var e=gt(),r=ss(),t=G(),n=Ha(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,s=Function.prototype,o=Object.prototype,u=s.toString,f=o.hasOwnProperty,l=RegExp("^"+u.call(f).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function v(p){if(!t(p)||r(p))return!1;var b=e(p)?l:i;return b.test(n(p))}return Ke=v,Ke}var Fe,fn;function us(){if(fn)return Fe;fn=1;function e(r,t){return r?.[t]}return Fe=e,Fe}var Ne,ln;function B(){if(ln)return Ne;ln=1;var e=os(),r=us();function t(n,a){var i=r(n,a);return e(i)?i:void 0}return Ne=t,Ne}var Ge,vn;function yt(){if(vn)return Ge;vn=1;var e=B(),r=C(),t=e(r,"Map");return Ge=t,Ge}var Ve,dn;function ue(){if(dn)return Ve;dn=1;var e=B(),r=e(Object,"create");return Ve=r,Ve}var Ue,hn;function cs(){if(hn)return Ue;hn=1;var e=ue();function r(){this.__data__=e?e(null):{},this.size=0}return Ue=r,Ue}var He,pn;function fs(){if(pn)return He;pn=1;function e(r){var t=this.has(r)&&delete this.__data__[r];return this.size-=t?1:0,t}return He=e,He}var We,_n;function ls(){if(_n)return We;_n=1;var e=ue(),r="__lodash_hash_undefined__",t=Object.prototype,n=t.hasOwnProperty;function a(i){var s=this.__data__;if(e){var o=s[i];return o===r?void 0:o}return n.call(s,i)?s[i]:void 0}return We=a,We}var $e,gn;function vs(){if(gn)return $e;gn=1;var e=ue(),r=Object.prototype,t=r.hasOwnProperty;function n(a){var i=this.__data__;return e?i[a]!==void 0:t.call(i,a)}return $e=n,$e}var Ye,yn;function ds(){if(yn)return Ye;yn=1;var e=ue(),r="__lodash_hash_undefined__";function t(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=e&&a===void 0?r:a,this}return Ye=t,Ye}var ze,bn;function hs(){if(bn)return ze;bn=1;var e=cs(),r=fs(),t=ls(),n=vs(),a=ds();function i(s){var o=-1,u=s==null?0:s.length;for(this.clear();++o<u;){var f=s[o];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=n,i.prototype.set=a,ze=i,ze}var Je,mn;function ps(){if(mn)return Je;mn=1;var e=hs(),r=se(),t=yt();function n(){this.size=0,this.__data__={hash:new e,map:new(t||r),string:new e}}return Je=n,Je}var Xe,qn;function _s(){if(qn)return Xe;qn=1;function e(r){var t=typeof r;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?r!=="__proto__":r===null}return Xe=e,Xe}var Qe,Sn;function ce(){if(Sn)return Qe;Sn=1;var e=_s();function r(t,n){var a=t.__data__;return e(n)?a[typeof n=="string"?"string":"hash"]:a.map}return Qe=r,Qe}var Ze,An;function gs(){if(An)return Ze;An=1;var e=ce();function r(t){var n=e(this,t).delete(t);return this.size-=n?1:0,n}return Ze=r,Ze}var er,In;function ys(){if(In)return er;In=1;var e=ce();function r(t){return e(this,t).get(t)}return er=r,er}var rr,Tn;function bs(){if(Tn)return rr;Tn=1;var e=ce();function r(t){return e(this,t).has(t)}return rr=r,rr}var tr,Cn;function ms(){if(Cn)return tr;Cn=1;var e=ce();function r(t,n){var a=e(this,t),i=a.size;return a.set(t,n),this.size+=a.size==i?0:1,this}return tr=r,tr}var nr,wn;function Wa(){if(wn)return nr;wn=1;var e=ps(),r=gs(),t=ys(),n=bs(),a=ms();function i(s){var o=-1,u=s==null?0:s.length;for(this.clear();++o<u;){var f=s[o];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=n,i.prototype.set=a,nr=i,nr}var ar,On;function qs(){if(On)return ar;On=1;var e=se(),r=yt(),t=Wa(),n=200;function a(i,s){var o=this.__data__;if(o instanceof e){var u=o.__data__;if(!r||u.length<n-1)return u.push([i,s]),this.size=++o.size,this;o=this.__data__=new t(u)}return o.set(i,s),this.size=o.size,this}return ar=a,ar}var ir,Pn;function $a(){if(Pn)return ir;Pn=1;var e=se(),r=Zi(),t=es(),n=rs(),a=ts(),i=qs();function s(o){var u=this.__data__=new e(o);this.size=u.size}return s.prototype.clear=r,s.prototype.delete=t,s.prototype.get=n,s.prototype.has=a,s.prototype.set=i,ir=s,ir}var sr,jn;function Ya(){if(jn)return sr;jn=1;function e(r,t){for(var n=-1,a=r==null?0:r.length;++n<a&&t(r[n],n,r)!==!1;);return r}return sr=e,sr}var or,Rn;function za(){if(Rn)return or;Rn=1;var e=B(),r=(function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}})();return or=r,or}var ur,Dn;function bt(){if(Dn)return ur;Dn=1;var e=za();function r(t,n,a){n=="__proto__"&&e?e(t,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):t[n]=a}return ur=r,ur}var cr,xn;function mt(){if(xn)return cr;xn=1;var e=bt(),r=_t(),t=Object.prototype,n=t.hasOwnProperty;function a(i,s,o){var u=i[s];(!(n.call(i,s)&&r(u,o))||o===void 0&&!(s in i))&&e(i,s,o)}return cr=a,cr}var fr,Mn;function Z(){if(Mn)return fr;Mn=1;var e=mt(),r=bt();function t(n,a,i,s){var o=!i;i||(i={});for(var u=-1,f=a.length;++u<f;){var l=a[u],v=s?s(i[l],n[l],l,i,n):void 0;v===void 0&&(v=n[l]),o?r(i,l,v):e(i,l,v)}return i}return fr=t,fr}var lr,En;function Ss(){if(En)return lr;En=1;function e(r,t){for(var n=-1,a=Array(r);++n<r;)a[n]=t(n);return a}return lr=e,lr}var vr,kn;function V(){if(kn)return vr;kn=1;function e(r){return r!=null&&typeof r=="object"}return vr=e,vr}var dr,Ln;function As(){if(Ln)return dr;Ln=1;var e=Q(),r=V(),t="[object Arguments]";function n(a){return r(a)&&e(a)==t}return dr=n,dr}var hr,Bn;function Ja(){if(Bn)return hr;Bn=1;var e=As(),r=V(),t=Object.prototype,n=t.hasOwnProperty,a=t.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(s){return r(s)&&n.call(s,"callee")&&!a.call(s,"callee")};return hr=i,hr}var pr,Kn;function fe(){if(Kn)return pr;Kn=1;var e=Array.isArray;return pr=e,pr}var z={exports:{}},_r,Fn;function Is(){if(Fn)return _r;Fn=1;function e(){return!1}return _r=e,_r}z.exports;var Nn;function qt(){return Nn||(Nn=1,(function(e,r){var t=C(),n=Is(),a=r&&!r.nodeType&&r,i=a&&!0&&e&&!e.nodeType&&e,s=i&&i.exports===a,o=s?t.Buffer:void 0,u=o?o.isBuffer:void 0,f=u||n;e.exports=f})(z,z.exports)),z.exports}var gr,Gn;function Xa(){if(Gn)return gr;Gn=1;var e=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function t(n,a){var i=typeof n;return a=a??e,!!a&&(i=="number"||i!="symbol"&&r.test(n))&&n>-1&&n%1==0&&n<a}return gr=t,gr}var yr,Vn;function St(){if(Vn)return yr;Vn=1;var e=9007199254740991;function r(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=e}return yr=r,yr}var br,Un;function Ts(){if(Un)return br;Un=1;var e=Q(),r=St(),t=V(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",s="[object Date]",o="[object Error]",u="[object Function]",f="[object Map]",l="[object Number]",v="[object Object]",p="[object RegExp]",b="[object Set]",m="[object String]",y="[object WeakMap]",S="[object ArrayBuffer]",A="[object DataView]",g="[object Float32Array]",P="[object Float64Array]",j="[object Int8Array]",R="[object Int16Array]",D="[object Int32Array]",H="[object Uint8Array]",W="[object Uint8ClampedArray]",T="[object Uint16Array]",$="[object Uint32Array]",d={};d[g]=d[P]=d[j]=d[R]=d[D]=d[H]=d[W]=d[T]=d[$]=!0,d[n]=d[a]=d[S]=d[i]=d[A]=d[s]=d[o]=d[u]=d[f]=d[l]=d[v]=d[p]=d[b]=d[m]=d[y]=!1;function x(Y){return t(Y)&&r(Y.length)&&!!d[e(Y)]}return br=x,br}var mr,Hn;function le(){if(Hn)return mr;Hn=1;function e(r){return function(t){return r(t)}}return mr=e,mr}var J={exports:{}};J.exports;var Wn;function At(){return Wn||(Wn=1,(function(e,r){var t=Ua(),n=r&&!r.nodeType&&r,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i&&t.process,o=(function(){try{var u=a&&a.require&&a.require("util").types;return u||s&&s.binding&&s.binding("util")}catch{}})();e.exports=o})(J,J.exports)),J.exports}var qr,$n;function Qa(){if($n)return qr;$n=1;var e=Ts(),r=le(),t=At(),n=t&&t.isTypedArray,a=n?r(n):e;return qr=a,qr}var Sr,Yn;function Za(){if(Yn)return Sr;Yn=1;var e=Ss(),r=Ja(),t=fe(),n=qt(),a=Xa(),i=Qa(),s=Object.prototype,o=s.hasOwnProperty;function u(f,l){var v=t(f),p=!v&&r(f),b=!v&&!p&&n(f),m=!v&&!p&&!b&&i(f),y=v||p||b||m,S=y?e(f.length,String):[],A=S.length;for(var g in f)(l||o.call(f,g))&&!(y&&(g=="length"||b&&(g=="offset"||g=="parent")||m&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||a(g,A)))&&S.push(g);return S}return Sr=u,Sr}var Ar,zn;function ve(){if(zn)return Ar;zn=1;var e=Object.prototype;function r(t){var n=t&&t.constructor,a=typeof n=="function"&&n.prototype||e;return t===a}return Ar=r,Ar}var Ir,Jn;function ei(){if(Jn)return Ir;Jn=1;function e(r,t){return function(n){return r(t(n))}}return Ir=e,Ir}var Tr,Xn;function Cs(){if(Xn)return Tr;Xn=1;var e=ei(),r=e(Object.keys,Object);return Tr=r,Tr}var Cr,Qn;function ri(){if(Qn)return Cr;Qn=1;var e=ve(),r=Cs(),t=Object.prototype,n=t.hasOwnProperty;function a(i){if(!e(i))return r(i);var s=[];for(var o in Object(i))n.call(i,o)&&o!="constructor"&&s.push(o);return s}return Cr=a,Cr}var wr,Zn;function It(){if(Zn)return wr;Zn=1;var e=gt(),r=St();function t(n){return n!=null&&r(n.length)&&!e(n)}return wr=t,wr}var Or,ea;function de(){if(ea)return Or;ea=1;var e=Za(),r=ri(),t=It();function n(a){return t(a)?e(a):r(a)}return Or=n,Or}var Pr,ra;function ws(){if(ra)return Pr;ra=1;var e=Z(),r=de();function t(n,a){return n&&e(a,r(a),n)}return Pr=t,Pr}var jr,ta;function Os(){if(ta)return jr;ta=1;function e(r){var t=[];if(r!=null)for(var n in Object(r))t.push(n);return t}return jr=e,jr}var Rr,na;function Ps(){if(na)return Rr;na=1;var e=G(),r=ve(),t=Os(),n=Object.prototype,a=n.hasOwnProperty;function i(s){if(!e(s))return t(s);var o=r(s),u=[];for(var f in s)f=="constructor"&&(o||!a.call(s,f))||u.push(f);return u}return Rr=i,Rr}var Dr,aa;function he(){if(aa)return Dr;aa=1;var e=Za(),r=Ps(),t=It();function n(a){return t(a)?e(a,!0):r(a)}return Dr=n,Dr}var xr,ia;function js(){if(ia)return xr;ia=1;var e=Z(),r=he();function t(n,a){return n&&e(a,r(a),n)}return xr=t,xr}var X={exports:{}};X.exports;var sa;function ti(){return sa||(sa=1,(function(e,r){var t=C(),n=r&&!r.nodeType&&r,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i?t.Buffer:void 0,o=s?s.allocUnsafe:void 0;function u(f,l){if(l)return f.slice();var v=f.length,p=o?o(v):new f.constructor(v);return f.copy(p),p}e.exports=u})(X,X.exports)),X.exports}var Mr,oa;function ni(){if(oa)return Mr;oa=1;function e(r,t){var n=-1,a=r.length;for(t||(t=Array(a));++n<a;)t[n]=r[n];return t}return Mr=e,Mr}var Er,ua;function ai(){if(ua)return Er;ua=1;function e(r,t){for(var n=-1,a=r==null?0:r.length,i=0,s=[];++n<a;){var o=r[n];t(o,n,r)&&(s[i++]=o)}return s}return Er=e,Er}var kr,ca;function ii(){if(ca)return kr;ca=1;function e(){return[]}return kr=e,kr}var Lr,fa;function Tt(){if(fa)return Lr;fa=1;var e=ai(),r=ii(),t=Object.prototype,n=t.propertyIsEnumerable,a=Object.getOwnPropertySymbols,i=a?function(s){return s==null?[]:(s=Object(s),e(a(s),function(o){return n.call(s,o)}))}:r;return Lr=i,Lr}var Br,la;function Rs(){if(la)return Br;la=1;var e=Z(),r=Tt();function t(n,a){return e(n,r(n),a)}return Br=t,Br}var Kr,va;function Ct(){if(va)return Kr;va=1;function e(r,t){for(var n=-1,a=t.length,i=r.length;++n<a;)r[i+n]=t[n];return r}return Kr=e,Kr}var Fr,da;function wt(){if(da)return Fr;da=1;var e=ei(),r=e(Object.getPrototypeOf,Object);return Fr=r,Fr}var Nr,ha;function si(){if(ha)return Nr;ha=1;var e=Ct(),r=wt(),t=Tt(),n=ii(),a=Object.getOwnPropertySymbols,i=a?function(s){for(var o=[];s;)e(o,t(s)),s=r(s);return o}:n;return Nr=i,Nr}var Gr,pa;function Ds(){if(pa)return Gr;pa=1;var e=Z(),r=si();function t(n,a){return e(n,r(n),a)}return Gr=t,Gr}var Vr,_a;function oi(){if(_a)return Vr;_a=1;var e=Ct(),r=fe();function t(n,a,i){var s=a(n);return r(n)?s:e(s,i(n))}return Vr=t,Vr}var Ur,ga;function ui(){if(ga)return Ur;ga=1;var e=oi(),r=Tt(),t=de();function n(a){return e(a,t,r)}return Ur=n,Ur}var Hr,ya;function xs(){if(ya)return Hr;ya=1;var e=oi(),r=si(),t=he();function n(a){return e(a,t,r)}return Hr=n,Hr}var Wr,ba;function Ms(){if(ba)return Wr;ba=1;var e=B(),r=C(),t=e(r,"DataView");return Wr=t,Wr}var $r,ma;function Es(){if(ma)return $r;ma=1;var e=B(),r=C(),t=e(r,"Promise");return $r=t,$r}var Yr,qa;function ci(){if(qa)return Yr;qa=1;var e=B(),r=C(),t=e(r,"Set");return Yr=t,Yr}var zr,Sa;function ks(){if(Sa)return zr;Sa=1;var e=B(),r=C(),t=e(r,"WeakMap");return zr=t,zr}var Jr,Aa;function pe(){if(Aa)return Jr;Aa=1;var e=Ms(),r=yt(),t=Es(),n=ci(),a=ks(),i=Q(),s=Ha(),o="[object Map]",u="[object Object]",f="[object Promise]",l="[object Set]",v="[object WeakMap]",p="[object DataView]",b=s(e),m=s(r),y=s(t),S=s(n),A=s(a),g=i;return(e&&g(new e(new ArrayBuffer(1)))!=p||r&&g(new r)!=o||t&&g(t.resolve())!=f||n&&g(new n)!=l||a&&g(new a)!=v)&&(g=function(P){var j=i(P),R=j==u?P.constructor:void 0,D=R?s(R):"";if(D)switch(D){case b:return p;case m:return o;case y:return f;case S:return l;case A:return v}return j}),Jr=g,Jr}var Xr,Ia;function Ls(){if(Ia)return Xr;Ia=1;var e=Object.prototype,r=e.hasOwnProperty;function t(n){var a=n.length,i=new n.constructor(a);return a&&typeof n[0]=="string"&&r.call(n,"index")&&(i.index=n.index,i.input=n.input),i}return Xr=t,Xr}var Qr,Ta;function fi(){if(Ta)return Qr;Ta=1;var e=C(),r=e.Uint8Array;return Qr=r,Qr}var Zr,Ca;function Ot(){if(Ca)return Zr;Ca=1;var e=fi();function r(t){var n=new t.constructor(t.byteLength);return new e(n).set(new e(t)),n}return Zr=r,Zr}var et,wa;function Bs(){if(wa)return et;wa=1;var e=Ot();function r(t,n){var a=n?e(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.byteLength)}return et=r,et}var rt,Oa;function Ks(){if(Oa)return rt;Oa=1;var e=/\w*$/;function r(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}return rt=r,rt}var tt,Pa;function Fs(){if(Pa)return tt;Pa=1;var e=oe(),r=e?e.prototype:void 0,t=r?r.valueOf:void 0;function n(a){return t?Object(t.call(a)):{}}return tt=n,tt}var nt,ja;function li(){if(ja)return nt;ja=1;var e=Ot();function r(t,n){var a=n?e(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.length)}return nt=r,nt}var at,Ra;function Ns(){if(Ra)return at;Ra=1;var e=Ot(),r=Bs(),t=Ks(),n=Fs(),a=li(),i="[object Boolean]",s="[object Date]",o="[object Map]",u="[object Number]",f="[object RegExp]",l="[object Set]",v="[object String]",p="[object Symbol]",b="[object ArrayBuffer]",m="[object DataView]",y="[object Float32Array]",S="[object Float64Array]",A="[object Int8Array]",g="[object Int16Array]",P="[object Int32Array]",j="[object Uint8Array]",R="[object Uint8ClampedArray]",D="[object Uint16Array]",H="[object Uint32Array]";function W(T,$,d){var x=T.constructor;switch($){case b:return e(T);case i:case s:return new x(+T);case m:return r(T,d);case y:case S:case A:case g:case P:case j:case R:case D:case H:return a(T,d);case o:return new x;case u:case v:return new x(T);case f:return t(T);case l:return new x;case p:return n(T)}}return at=W,at}var it,Da;function vi(){if(Da)return it;Da=1;var e=G(),r=Object.create,t=(function(){function n(){}return function(a){if(!e(a))return{};if(r)return r(a);n.prototype=a;var i=new n;return n.prototype=void 0,i}})();return it=t,it}var st,xa;function di(){if(xa)return st;xa=1;var e=vi(),r=wt(),t=ve();function n(a){return typeof a.constructor=="function"&&!t(a)?e(r(a)):{}}return st=n,st}var ot,Ma;function Gs(){if(Ma)return ot;Ma=1;var e=pe(),r=V(),t="[object Map]";function n(a){return r(a)&&e(a)==t}return ot=n,ot}var ut,Ea;function Vs(){if(Ea)return ut;Ea=1;var e=Gs(),r=le(),t=At(),n=t&&t.isMap,a=n?r(n):e;return ut=a,ut}var ct,ka;function Us(){if(ka)return ct;ka=1;var e=pe(),r=V(),t="[object Set]";function n(a){return r(a)&&e(a)==t}return ct=n,ct}var ft,La;function Hs(){if(La)return ft;La=1;var e=Us(),r=le(),t=At(),n=t&&t.isSet,a=n?r(n):e;return ft=a,ft}var lt,Ba;function hi(){if(Ba)return lt;Ba=1;var e=$a(),r=Ya(),t=mt(),n=ws(),a=js(),i=ti(),s=ni(),o=Rs(),u=Ds(),f=ui(),l=xs(),v=pe(),p=Ls(),b=Ns(),m=di(),y=fe(),S=qt(),A=Vs(),g=G(),P=Hs(),j=de(),R=he(),D=1,H=2,W=4,T="[object Arguments]",$="[object Array]",d="[object Boolean]",x="[object Date]",Y="[object Error]",xt="[object Function]",Ci="[object GeneratorFunction]",wi="[object Map]",Oi="[object Number]",Mt="[object Object]",Pi="[object RegExp]",ji="[object Set]",Ri="[object String]",Di="[object Symbol]",xi="[object WeakMap]",Mi="[object ArrayBuffer]",Ei="[object DataView]",ki="[object Float32Array]",Li="[object Float64Array]",Bi="[object Int8Array]",Ki="[object Int16Array]",Fi="[object Int32Array]",Ni="[object Uint8Array]",Gi="[object Uint8ClampedArray]",Vi="[object Uint16Array]",Ui="[object Uint32Array]",_={};_[T]=_[$]=_[Mi]=_[Ei]=_[d]=_[x]=_[ki]=_[Li]=_[Bi]=_[Ki]=_[Fi]=_[wi]=_[Oi]=_[Mt]=_[Pi]=_[ji]=_[Ri]=_[Di]=_[Ni]=_[Gi]=_[Vi]=_[Ui]=!0,_[Y]=_[xt]=_[xi]=!1;function ee(h,K,F,Hi,re,M){var I,te=K&D,ne=K&H,Wi=K&W;if(F&&(I=re?F(h,Hi,re,M):F(h)),I!==void 0)return I;if(!g(h))return h;var Et=y(h);if(Et){if(I=p(h),!te)return s(h,I)}else{var N=v(h),kt=N==xt||N==Ci;if(S(h))return i(h,te);if(N==Mt||N==T||kt&&!re){if(I=ne||kt?{}:m(h),!te)return ne?u(h,a(I,h)):o(h,n(I,h))}else{if(!_[N])return re?h:{};I=b(h,N,te)}}M||(M=new e);var Lt=M.get(h);if(Lt)return Lt;M.set(h,I),P(h)?h.forEach(function(E){I.add(ee(E,K,F,E,h,M))}):A(h)&&h.forEach(function(E,L){I.set(L,ee(E,K,F,L,h,M))});var $i=Wi?ne?l:f:ne?R:j,Bt=Et?void 0:$i(h);return r(Bt||h,function(E,L){Bt&&(L=E,E=h[L]),t(I,L,ee(E,K,F,L,h,M))}),I}return lt=ee,lt}var vt,Ka;function pi(){if(Ka)return vt;Ka=1;var e=hi(),r=1,t=4;function n(a){return e(a,r|t)}return vt=n,vt}var Ws=pi();const $s=Va(Ws);function Pt(e,r=!0){if(e!==void 0)try{return Ga.load(e)}catch(t){if(r)throw t;return}}const Ys=/^(\s*-?\s*cron:\s*)([^\n#]*?)(\s*(#.*)?)$/gm;function zs(e){return e.replace(Ys,(r,t,n,a)=>{const i=n.trim();return i===""||i==='""'||i==="''"?`${t}${a??""}`:i.startsWith('"')||i.startsWith("'")||i.startsWith("|")||i.startsWith(">")?r:`${t}"${i}"${a??""}`})}function Js(e){if(e===void 0)return"";const r=$s(e);delete r.deleted;const t=Ga.dump(dt(r),{lineWidth:-1,noCompatMode:!0,quotingType:'"'});return zs(t)}const Fa=["id","type","namespace","description","revision","inputs","variables","tasks","errors","triggers","listeners","pluginDefaults"];function _i(e,r){const t=Fa.indexOf(e),n=Fa.indexOf(r),a=t>=0?t:Number.MAX_SAFE_INTEGER,i=n>=0?n:Number.MAX_SAFE_INTEGER;return a-i}function gi(e){return Object.keys(e).sort(_i)}function Xs(e){const r=new c.YAMLMap;if(!c.isPair(e?.[0]))return r;for(const t of e)r.add(t);return r}function dt(e){return e instanceof Array?e.map(r=>dt(r)):typeof e=="string"||e instanceof String?e:e instanceof Object?gi(e).reduce((r,t)=>(e[t]!==void 0&&(r[t]=dt(e[t])),r),Object.create({})):e}function O({source:e,section:r}){const t=k(e),n=Qs({yamlDoc:t,section:r});return{yamlDoc:t,sectionNode:n}}function k(e){return c.parseDocument(e)}function Qs({yamlDoc:e,section:r}){return e.contents?.items?.find(n=>n.key.value===r)?.value}function ht({node:e,id:r}){if(c.isSeq(e)){let t=0;for(const n of e.items){if(c.isMap(n)){if(n.get("id")===r)return[t];{const i=ht({node:n,id:r});if(i)return[t,...i]}}t++}}if(c.isMap(e)){if(e.get("id")===r)return[];for(const n of e.items)if(n.value){const a=ht({node:n.value,id:r});if(a)return[n.key.value,...a]}}}function Zs({source:e,section:r,id:t}){const{sectionNode:n}=O({source:e,section:r});if(!n)return;const i=(ht({node:n,id:t})??[]).map(s=>typeof s=="string"?`.${s}`:`[${s}]`).join("");return`${r}${i}`}function yi({source:e,section:r,key:t,keyName:n}){n||(n="id");const{sectionNode:a}=O({source:e,section:r});if(!a)return;const i=w({yamlDoc:a,keyName:n,key:t});return i===void 0?void 0:new c.Document(i).toString(q)}function w({yamlDoc:e,keyName:r,key:t,callback:n}){function a(s){if(s){if(c.isMap(s)&&s.get("type")!==void 0&&t===s.get(r))return n?n(s):s;if(c.isSeq(s)||c.isMap(s))for(const[o,u]of s.items.entries()){const f=c.isMap(u)?a(u):a(u.value??void 0);if(f){if(n)c.isMap(s)&&c.isPair(u)?s.set(u.key,f):s.items[o]=f;else if(f)return f}}}}const i=a(e);if(i!==void 0)return n?new c.Document(i):new c.Document(i)}function eo({source:e,path:r}){const t=ro({yamlDoc:k(e),path:r});if(t)return new c.Document(t).toString(q)}function ro({yamlDoc:e,path:r,callback:t}){const n=U(r),a=e.getIn(n);if(a!==void 0){if(t){const i=t(a);return e.setIn(n,i),new c.Document(i)}return new c.Document(a)}}function to({source:e,path:r,newContent:t}){const n=k(e),a=U(r);if(t==="")return n.deleteIn(a),n.toString(q);const i=n.createNode(c.parseDocument(t)),s=!n.hasIn(a);return n.setIn(a,i),s&&a.length===1&&n.contents&&c.isMap(n.contents)&&n.contents.items.sort((o,u)=>_i(o.key.value??o.key,u.key.value??o.key)),n.toString(q)}function bi({source:e,section:r,keyName:t,key:n,newContent:a}){const{yamlDoc:i,sectionNode:s}=O({source:e,section:r}),o=i.createNode(c.parseDocument(a));if(s)return w({yamlDoc:s,keyName:t,key:n,callback(u){return no(u,o),o}}),i.toString(q)}function no(e,r){for(const t of e.items)for(const n of r.items)if(t.key.value===n.key.value&&n.value&&n.value.comment===void 0){n.value.comment=t.value?.comment;break}}function ao({source:e,section:r,key1:t,key2:n,keyName:a}){a||(a="id");const{yamlDoc:i,sectionNode:s}=O({source:e,section:r});if(!s)return e;const o=w({yamlDoc:s,keyName:a,key:t}),u=w({yamlDoc:s,keyName:a,key:n});return!o||!u?e:(c.visit(i,{Pair(f,l){if(l.key.value==="dependsOn"&&l.value.items.map(v=>v.value).includes(t))throw{message:"dependency task",messageOptions:{taskId:n}}}}),w({yamlDoc:s,keyName:a,key:t,callback:()=>u}),w({yamlDoc:s,keyName:a,key:n,callback:()=>o}),i.toString(q))}function io({source:e,section:r,newBlock:t,refKey:n,position:a,parentKey:i,keyName:s,subBlockName:o}){s||(s="id"),o||(o=r),a||(a="after");const{yamlDoc:u,sectionNode:f}=O({source:e,section:r}),l=u.createNode(c.parseDocument(t)),v=i&&f?w({yamlDoc:f,keyName:s,key:i})?.contents:f;if(!v&&i)throw new Error(`Parent block with ID ${i} not found in ${r}`);if(!v||i&&!v.get(o)){const m=new c.YAMLSeq;m.items.push(l);const y=new c.Pair(new c.Scalar(o),m);if(!i)return u.contents?.items.push(y),u.toString(q);if(v&&!v.get(o))return v.items.push(y),u.toString(q)}const p=n??(a==="after"?Ai({source:e,section:r,parentKey:i,keyName:s,subBlockName:o}):v.items?.[0]?.get(s));let b=!1;return c.visit(v,{Seq(m,y){for(const S of y.items)if(c.isMap(S)){if(b)return c.visit.BREAK;if(S.get(s)===p){const A=y.items.indexOf(S);a==="before"?A===0?y.items.unshift(l):y.items.splice(A,0,l):A===y.items.length-1?y.items.push(l):y.items.splice(A+1,0,l),b=!0}}}}),Rt(u).toString(q)}function mi(e,r,t,n,a="after"){if(n===void 0)return a==="before"?0:r.items.length-1;const i=e.getIn([...t,n]);return r.items.indexOf(i)}function U(e){return e.split(".").reduce((t,n)=>{const a=n.match(/\[(\d+)\]$/);return a?.[0]?(t.push(n.slice(0,a.index)),t.push(parseInt(a[1],10))):t.push(n),t},[])}function qi(e,r){if(r.includes(".")){const t=r.substring(0,r.lastIndexOf(".")),n=e.getIn(U(t));if(!n){const a=so(t);return qi(e,t)?.items.push(a),a.value}return n}else{if(!e.contents)throw new Error(`Document is empty, cannot insert block with path ${r}`);return e.contents}}function so(e){const r=new c.YAMLSeq,t=e.split(".").pop();return new c.Pair(new c.Scalar(t),r)}function oo(e,r){const t=new c.YAMLSeq;return t.add(r),new c.Pair(new c.Scalar(e),t)}function uo({source:e,newBlock:r,refPath:t,position:n,parentPath:a}){n||(n="after");const i=k(e),s=i.createNode(c.parseDocument(r)),o=U(a),u=i.getIn(o);if(!u){const l=oo(a.split(".").pop(),s);return qi(i,a)?.items.push(l),i.toString(q)}const f=mi(i,u,o,t);return n==="before"?u.items.splice(f,0,s):u.items.splice(f+1,0,s),i.toString(q)}function Si({source:e,section:r,key:t,keyName:n}){n||(n="id");const a=k(e);return c.visit(a,{Pair(i,s){s.key.value===r&&c.visit(s.value,{Map(o,u){if(u.get(n)===t)return c.visit.REMOVE}})}}),c.visit(a,{Pair(i,s){if(c.isSeq(s.value)&&s.value.items.length===0)return c.visit.REMOVE}}),a.toString(q)}function co({source:e,path:r}){const t=k(e),n=U(r),a=n.slice(0,-1),i=t.getIn(a);if(!i)return e;const s=mi(t,i,n.slice(0,-1),n[n.length-1]);return i.items.length===1?t.deleteIn(a):i.items.splice(s,1),t.toString(q)}function Na(e,r,t,n,a){const{sectionNode:i}=O({source:e,section:r});if(!i)return!1;const s=w({yamlDoc:i,keyName:a,key:t});if(!s)return!1;let o=!1;return c.visit(s,{Map(u,f){if(f.get(a)===n)return o=!0,c.visit.BREAK}}),o}function fo({source:e,sections:r,key1:t,key2:n,keyName:a}){return a||(a="id"),r.reduce((i,s)=>i||Na(e,s,n,t,a)||Na(e,s,t,n,a),!1)}function lo(e,r,t){const n=k(e);n.contents=n.contents||new c.YAMLMap;const a=n.getIn(["namespace"],!0);a?a.value=t:n.contents.items.unshift(new c.Pair(new c.Scalar("namespace"),new c.Scalar(t)));const i=n.getIn(["id"],!0);return i?i.value=r:n.contents.items.unshift(new c.Pair(new c.Scalar("id"),new c.Scalar(r))),n.toString(q)}function vo({source:e,section:r,newContent:t,keyName:n}){const{sectionNode:a}=O({source:e,section:r}),i=Pt(t);if(!a)return;let s=!1;return c.visit(a,{Map(o,u){if(u.get(n)===i[n])return s=!0,c.visit.BREAK}}),s?i[n]:void 0}function Ai({source:e,section:r,parentKey:t,keyName:n,subBlockName:a}){if(n||(n="id"),a||(a=r),t){const{sectionNode:s}=O({source:e,section:r});if(!s)return;const o=w({yamlDoc:s,keyName:n,key:t});if(!o?.contents?.items)throw new Error(`Parent with ID ${t} not found`);const u=o.contents.items.find(f=>f.key.value===a);return!u||u.value&&"value"in u.value&&u.value.value===null?void 0:u.value?.items[u.value.items.length-1].get(n)}const i=Pt(e);return i[r]?.[i?.[r]?.length-1]?.[n]}function ho(e,r){const t=c.parseDocument(e);if(!t?.contents?.items)return e;for(const n in r)t.contents.items.find(a=>a.key.value===n)?t.contents.items.find(a=>a.key.value===n).value=r[n]:t.contents.items.push(new c.Pair(new c.Scalar(n),r[n]));return Rt(t).toString(q)}const jt=["tasks","triggers","errors","finally","afterExecution","pluginDefaults"],Ii=["id","type","namespace","description","retry","labels","inputs","variables",...jt,"taskDefaults","concurrency","sla","outputs","disabled"];function po(e){return c.isSeq(e)||c.isMap(e)?e.items.length>0:!0}function Rt(e){if(!e?.contents?.items)return e;const r=[];for(const t of Ii){const n=e.contents?.items.find(a=>(a.key.value??a.key)===t);n?.value&&po(n.value)&&(r.push(n),c.isSeq(n.value)&&(n.key.commentBefore||(n.key.spaceBefore=!0),n.value.items.forEach((a,i)=>{i!==0&&(a.commentBefore?a.commentBefore.spaceBefore=!0:a.spaceBefore=!0)})))}return e.contents.items=r,e}function _o(e){const r=k(e);return Rt(r).toString(q)}function go(e){const r=c.parseDocument(e);if(!r.contents?.items)return{};const t={};for(const n of r.contents.items)jt.includes(n.key.value)||(t[n.key.value]=c.isMap(n.value)||c.isSeq(n.value)?n.value.toJSON():n.value.value);return t}function yo(e,r){const t=c.parseDocument(e);if(!t.contents.items)return e;const n=t.contents.items.find(a=>a.key.value===r);return n&&t.contents.items.splice(t.contents.items.indexOf(n),1),t.toString(q)}function bo(e){const{sectionNode:r}=O({source:e,section:"tasks"});return r?c.isSeq(r)&&r.items.length>0:!1}function mo(e,r){return yi({source:e,section:"pluginDefaults",key:r,keyName:"type"})}function qo(e,r,t){return bi({source:e,section:"pluginDefaults",keyName:"type",key:r,newContent:t})}function So(e,r){return Si({source:e,section:"pluginDefaults",key:r,keyName:"type"})}function Ao(e,r,t){const n=c.parseDocument(e),a=n.createNode(c.parseDocument(r));let i=!1;return c.visit(n,{Map(s,o){if(i)return c.visit.BREAK;if(o.get("id")===t){if(o.items.find(u=>u.key.value==="errors"))o.items?.find(u=>u.key.value==="errors")?.value?.items.push(a);else{const u=new c.YAMLSeq;u.items.push(a);const f=new c.Pair(new c.Scalar("errors"),u);o.items.push(f)}return i=!0,o}}}),n.toString(q)}function Dt(e,r,t=(i,s)=>!0,n=i=>!0,a=!1){const i=c.parseDocument(e),s=[];return c.visit(i,{Map(o,u,f){if(t(f.filter(l=>c.isPair(l)).map(l=>l?.key?.value).join("."))&&u.items){let l=!1;for(const v of u.items)if(v?.key?.value===r){const p=v?.value?.value??v.value?.items;n(p)&&(s.push({[r]:p,range:u.range}),l=!0)}!l&&a&&s.push({[r]:void 0,range:u.range})}}}),s}function Io(e,r=[]){return Dt(e,"type",()=>!0,t=>r.some(n=>n===t))}function To(e,r,t){const n=Io(e,t),a=new c.LineCounter;c.parseDocument(e,{lineCounter:a});const i=a.lineStarts[r.lineNumber-1]+r.column;for(const s of n.reverse())if(i>=s.range[0])return s.type;return null}function Co(e,r){const t=wo(e),n=new c.LineCounter;c.parseDocument(e,{lineCounter:n});const a=n.lineStarts[r.lineNumber-1]+r.column;for(const i of t.reverse())if(a>=i.range[0])return i.version;return null}function wo(e){return Dt(e,"version",()=>!0,()=>!0,!0)}const q={lineWidth:0},Ti="([^:\\n]+): *",Oo=new RegExp(`(( *)(?:${Ti})?)[^\\n]*?$`);function Po(e,r){if(r<2)return;const n=[...e.matchAll(new RegExp(`(?<! ) {${r-2}}(?! )${Ti}`,"g"))].pop();if(n!==void 0)return{key:n[1],valueStartIndex:n.index+n[0].length}}function jo(e){const r=Oo.exec(e);if(r===null)return;const[t,n,a]=[r[1],r[2],r[3]];return{indent:n.length,yamlKey:a,valueStartIndex:a===void 0?void 0:r.index+t.length}}function Ro(e,r){const t=e.substring(0,r),n=jo(t);let{yamlKey:a}=n;const{indent:i}=n;let s;if(a===void 0){const l=Po(t,i);a=l?.key,s=l?.valueStartIndex}else s=t.lastIndexOf(a+":")+a.length+1;const o=c.parseDocument(e),u=[];return c.visit(o,{Pair(l,v,p){if(v.value?.range!==void 0&&v.key.value===a){const b=e.substring(0,v.value.range[0]);u.push({parents:p.filter(m=>c.isMap(m)).map(m=>m.toJS(o)),key:v.key.value,value:v.value.toJS(o),range:[v.value.range[0]-(b.length-b.replace(/\s*$/g,"").length),...v.value.range.slice(1)]})}}}),u.filter(l=>l.range[0]<=s&&s<=l.range[2]).sort((l,v)=>v.range[0]-l.range[0])?.[0]}function Do(e){const r=c.parseDocument(e),t=[];return c.visit(r,{Map(n,a){if(a.items){for(const i of a.items)if(i?.key?.value==="charts"&&i?.value?.items)for(const s of i.value.items)t.push(s.toJSON())}}}),t}function xo(e,r){const t=c.parseDocument(e),n=new c.LineCounter;c.parseDocument(e,{lineCounter:n});const a=n.lineStarts[r.lineNumber-1]+r.column;let i;return c.visit(t,{Map(s,o){if(o.items){for(const u of o.items)if(u?.key?.value==="charts"&&u?.value?.items){for(const f of u.value.items)if(f.range[0]<=a&&f.range[1]>=a)return i=f,c.visit.BREAK}}}}),i?i.toJSON():null}function Mo(e){const r=e+`
|
|
2
|
-
`,t=c.parseDocument(r),n=new c.LineCounter;c.parseDocument(r,{lineCounter:n});let a={};return c.visit(t,{Map(i,s){if(s.items){for(const o of s.items)if(o?.key?.value==="tasks"){if(o?.value?.items){for(const u of o.value.items)if(c.isMap(u)){const f=pt(n,u);a={...a,...f}}}return c.visit.BREAK}}}}),a}function pt(e,r){let t={};const n=r.get("id");if(n){r.range&&(t[n]={start:e.linePos(r.range[0]).line,end:e.linePos(r.range[1]).line-1});const a=new c.YAMLSeq,i=r.get("tasks");c.isSeq(i)&&i.items.forEach(u=>a.add(u));const s=r.get("then");c.isSeq(s)&&s.items.forEach(u=>a.add(u));const o=r.get("else");c.isSeq(o)&&o.items.forEach(u=>a.add(u)),a.items.forEach(u=>{c.isMap(u)&&(t={...t,...pt(e,u)})})}else if(r.get("task")){const a=r.get("task");c.isMap(a)&&(t={...t,...pt(e,a)})}return t}exports.FLOW_SECTION_KEYS=jt;exports.ORDERED_FLOW_ROOT_KEYS=Ii;exports.checkBlockAlreadyExists=vo;exports.cleanMetadata=_o;exports.deleteBlock=Si;exports.deleteBlockWithPath=co;exports.deleteMetadata=yo;exports.deletePluginDefaults=So;exports.extractBlock=yi;exports.extractBlockWithPath=eo;exports.extractFieldFromMaps=Dt;exports.extractPluginDefault=mo;exports.flowHaveTasks=bo;exports.getAllCharts=Do;exports.getChartAtPosition=xo;exports.getDefaultExportFromCjs=Va;exports.getLastBlock=Ai;exports.getMetadata=go;exports.getPathFromSectionAndId=Zs;exports.getTasksLines=Mo;exports.getTypeAtPosition=To;exports.getVersionAtPosition=Co;exports.insertBlock=io;exports.insertBlockWithPath=uo;exports.insertErrorInFlowable=Ao;exports.isParentChildrenRelation=fo;exports.localizeElementAtIndex=Ro;exports.pairsToMap=Xs;exports.parse=Pt;exports.parsePath=U;exports.replaceBlockInDocument=bi;exports.replaceBlockWithPath=to;exports.replaceIdAndNamespace=lo;exports.replacePluginDefaultsInDocument=qo;exports.requireCloneDeep=pi;exports.requireEq=_t;exports.requireIsArguments=Ja;exports.requireIsArray=fe;exports.requireIsArrayLike=It;exports.requireIsBuffer=qt;exports.requireIsFunction=gt;exports.requireIsLength=St;exports.requireIsObject=G;exports.requireIsObjectLike=V;exports.requireIsTypedArray=Qa;exports.requireKeys=de;exports.requireKeysIn=he;exports.require_MapCache=Wa;exports.require_Set=ci;exports.require_Stack=$a;exports.require_Symbol=oe;exports.require_Uint8Array=fi;exports.require_arrayEach=Ya;exports.require_arrayFilter=ai;exports.require_arrayPush=Ct;exports.require_assignValue=mt;exports.require_baseAssignValue=bt;exports.require_baseClone=hi;exports.require_baseCreate=vi;exports.require_baseGetTag=Q;exports.require_baseKeys=ri;exports.require_baseUnary=le;exports.require_cloneBuffer=ti;exports.require_cloneTypedArray=li;exports.require_copyArray=ni;exports.require_copyObject=Z;exports.require_defineProperty=za;exports.require_getAllKeys=ui;exports.require_getPrototype=wt;exports.require_getTag=pe;exports.require_initCloneObject=di;exports.require_isIndex=Xa;exports.require_isPrototype=ve;exports.require_root=C;exports.sort=gi;exports.stringify=Js;exports.swapBlocks=ao;exports.updateMetadata=ho;
|
|
3
|
-
//# sourceMappingURL=FlowYamlUtils-CAwjZu0s.cjs.map
|