@oomol-lab/open-flow 0.1.0-beta.84 → 0.1.0-beta.86
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/{FlowCanvas-B2g7NceZ.js → FlowCanvas-CHIaMaBv.js} +112 -16
- package/dist/browser/{createResourceDialog-Bi4fUnbD.js → createResourceDialog-C0E5yPe6.js} +3 -3
- package/dist/browser/{dialog-BzoSxhXQ.js → dialog-b3hsdu8i.js} +291 -143
- package/dist/browser/{exportPng-DLdtJvg3.js → exportPng-DGHcejgy.js} +2 -2
- package/dist/browser/{flowChanges-C567g-Pc.js → flowChanges-BvSWezEb.js} +375 -83
- package/dist/browser/{flowWorkspace-DBk4A-Ld.js → flowWorkspace-BKnMRClO.js} +1619 -475
- package/dist/browser/fr-CNTSedYU.js +593 -0
- package/dist/browser/ja-CxQBHr2J.js +593 -0
- package/dist/browser/ko-D1Exiv1h.js +593 -0
- package/dist/browser/licenses.md +1 -1
- package/dist/browser/{markdownContent-DIuJThGK.js → markdownContent-BR9-1ikU.js} +1 -1
- package/dist/browser/preview.css +181 -181
- package/dist/browser/preview.js +2103 -636
- package/dist/browser/ru-BzLZv0B7.js +593 -0
- package/dist/browser/{tooltip-DGj5pudg.js → tooltip-DSBF3bRw.js} +55 -23
- package/dist/browser/workbench.css +181 -181
- package/dist/browser/workbench.js +86 -17
- package/dist/browser/{workbenchSelect-BIaEVTx6.js → workbenchSelect-Di1Bm_-d.js} +2 -2
- package/dist/browser/{wrapLayout-C4moMKgb.js → wrapLayout-B0AT8_-i.js} +1 -1
- package/dist/browser/zh-CN-Dg_xSGde.js +593 -0
- package/dist/browser/zh-TW-oxuLwsV0.js +593 -0
- package/dist/command/index.js +61 -57
- package/dist/command/licenses.md +28 -4
- package/dist/common/authoring.d.ts +5 -5
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/authoringSchema.d.ts +41 -4
- package/dist/common/catalogCache.d.ts +46 -0
- package/dist/common/connector-action.js +13 -10
- package/dist/common/connector-proxy.d.ts +96 -0
- package/dist/common/connector-proxy.js +5209 -0
- package/dist/common/control-api-conformance.js +312 -46
- package/dist/common/control-api.d.ts +12 -1
- package/dist/common/control-api.js +303 -41
- package/dist/common/control-requests.d.ts +4 -3
- package/dist/common/control-requests.js +14111 -171
- package/dist/common/engine-contract.d.ts +3 -2
- package/dist/common/event-source.js +55 -23
- package/dist/common/flow-authoring-node.d.ts +2 -0
- package/dist/common/flow-authoring.js +6936 -6781
- package/dist/common/flow-change-schema.d.ts +1 -1
- package/dist/common/flow-change.d.ts +2 -2
- package/dist/common/flow-change.js +91 -36
- package/dist/common/flow-connectionUsage.d.ts +1 -1
- package/dist/common/flow-encoding.js +93 -38
- package/dist/common/flow-requestParameters.d.ts +34 -0
- package/dist/common/flow-semantics.js +9429 -9236
- package/dist/common/flow-state.js +55 -23
- package/dist/common/flow-workflowFile.d.ts +3 -1
- package/dist/common/http-request.d.ts +6 -11
- package/dist/common/http-request.js +192 -141
- package/dist/common/licenses.md +1 -1
- package/dist/common/mcp.d.ts +3 -3
- package/dist/common/mcp.js +303 -41
- package/dist/common/run-events.js +1 -0
- package/dist/common/runtime-contract.js +10 -4
- package/dist/common/runtime-nodejs-compat.js +55 -23
- package/dist/common/scheduler-checkpoint.d.ts +3 -3
- package/dist/common/scheduler-dependencies.d.ts +22 -28
- package/dist/common/scheduler-node-execution.d.ts +1 -0
- package/dist/common/scheduler.d.ts +8 -2
- package/dist/common/scheduler.js +274 -95
- package/dist/common/workflow.js +51 -19
- package/dist/common/workflowAuthoring.d.ts +411 -0
- package/dist/render/browser/licenses.md +1 -1
- package/dist/render/browser/runtime.js +289 -61
- package/dist/render/node/index.js +85 -30
- package/dist/render/node/licenses.md +1 -1
- package/package.json +1 -1
- package/skills/open-flow/references/flow-authoring.md +14 -13
- package/src/base/common/jsonSchema.ts +11 -0
- package/src/connector/common/actionSchema.ts +4 -11
- package/src/connector/common/proxy.ts +152 -0
- package/src/control/common/api.ts +99 -3
- package/src/control/common/authoring.ts +23 -9
- package/src/control/common/authoringExamples.ts +9 -0
- package/src/control/common/authoringSchema.ts +21 -12
- package/src/control/common/catalogCache.ts +145 -0
- package/src/control/common/conformance.ts +9 -3
- package/src/control/common/connectorQueries.ts +17 -2
- package/src/control/common/requests.ts +1 -0
- package/src/control/common/workflowAuthoring.ts +120 -0
- package/src/execution/common/checkpoint.ts +18 -12
- package/src/execution/common/dependencies.ts +132 -15
- package/src/execution/common/events.ts +3 -0
- package/src/execution/common/node-execution.ts +22 -15
- package/src/execution/common/scheduler.ts +20 -31
- package/src/flow/common/change.ts +2 -1
- package/src/flow/common/changeSchema.ts +11 -1
- package/src/flow/common/connectionUsage.ts +4 -2
- package/src/flow/common/errorHandling.ts +3 -1
- package/src/flow/common/nodeChanges.ts +35 -18
- package/src/flow/common/requestParameters.ts +120 -0
- package/src/flow/common/semantics.ts +51 -1
- package/src/flow/common/sourceField.ts +3 -2
- package/src/flow/common/workflowFile.ts +2 -2
- package/src/http/common/httpRequest.ts +28 -78
- package/src/runtime/common/engineContract.ts +6 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
|
|
2
|
-
import { $ as waitBranchDescription, A as DropdownMenuItem, B as CompositeItem, D as DropdownMenuCheckboxItem, E as DropdownMenu, G as MenuPopup, H as MenuRoot, J as ContextMenuRootContext, K as MenuItem, M as DropdownMenuRadioGroup, N as DropdownMenuRadioItem, O as DropdownMenuContent, P as DropdownMenuSeparator, Q as uiLocales, R as DropdownMenuTrigger, U as MenuPositioner, W as MenuPortal, X as MenuRootContext, Y as useContextMenuRootContext, Z as useMenuRootContext, a as CompositeRoot, at as ja_default, c as PopoverContent, ct as I18n, dt as useAriaLabelledBy, f as PopoverTitle, ft as useFieldItemContext, h as ScrollArea, i as Textarea, it as ko_default, j as DropdownMenuLabel, k as DropdownMenuGroup, m as NativeScrollArea, n as wrapLayout, nt as zh_CN_default, o as ACTIVE_COMPOSITE_ITEM, ot as fr_default, p as PopoverTrigger, pt as IconThemeContext, q as MenuGroup, r as canvasDirection, rt as ru_default, s as Popover, st as en_default, t as layoutAxes, tt as zh_TW_default, ut as Checkbox, v as ContentIcon, z as findRootOwnerId } from "./wrapLayout-
|
|
2
|
+
import { $ as waitBranchDescription, A as DropdownMenuItem, B as CompositeItem, D as DropdownMenuCheckboxItem, E as DropdownMenu, G as MenuPopup, H as MenuRoot, J as ContextMenuRootContext, K as MenuItem, M as DropdownMenuRadioGroup, N as DropdownMenuRadioItem, O as DropdownMenuContent, P as DropdownMenuSeparator, Q as uiLocales, R as DropdownMenuTrigger, U as MenuPositioner, W as MenuPortal, X as MenuRootContext, Y as useContextMenuRootContext, Z as useMenuRootContext, a as CompositeRoot, at as ja_default, c as PopoverContent, ct as I18n, dt as useAriaLabelledBy, f as PopoverTitle, ft as useFieldItemContext, h as ScrollArea, i as Textarea, it as ko_default, j as DropdownMenuLabel, k as DropdownMenuGroup, m as NativeScrollArea, n as wrapLayout, nt as zh_CN_default, o as ACTIVE_COMPOSITE_ITEM, ot as fr_default, p as PopoverTrigger, pt as IconThemeContext, q as MenuGroup, r as canvasDirection, rt as ru_default, s as Popover, st as en_default, t as layoutAxes, tt as zh_TW_default, ut as Checkbox, v as ContentIcon, z as findRootOwnerId } from "./wrapLayout-B0AT8_-i.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 { c as useLang, i as isString, l as useTranslate, n as isBoolean, o as I18nProvider, r as isPlainObject, t as isArray$1, u as useVal } from "./dist-BFmpkX4P.js";
|
|
5
|
-
import { A as string, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cr as cn$1, Dn as getTarget, En as contains, Er as useRenderElement, Fn as createLucideIcon, Fr as formatErrorMessage, J as SHIFT, Kn as cancelOpen, Lr as useIsoLayoutEffect, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, Or as EMPTY_OBJECT, Sn as stopEvent$1, T as number, Tr as clsx, Un as useValueChanged, Wn as createChangeEventDetails, Yt as addEventListener, _r as fieldValidityMapping, br as useControlled, cr as triggerPress, dr as useFormContext, fr as useRegisterFieldControl, gt as serializeValue, hr as useId$1, i as TooltipTrigger, jr as useMergedRefs, k as strictObject, kr as NOOP, mr as useBaseUiId, n as TooltipContent, p as timeZoneOffsetMinutes, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, r as TooltipProvider, rr as none$1, sn as useTimeout, t as Tooltip, tn as require_with_selector, ur as useLabelableContext, vr as visuallyHidden, xr as Button, y as discriminatedUnion, yr as visuallyHiddenInput } from "./tooltip-
|
|
5
|
+
import { A as string, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cr as cn$1, Dn as getTarget, En as contains, Er as useRenderElement, Fn as createLucideIcon, Fr as formatErrorMessage, J as SHIFT, Kn as cancelOpen, Lr as useIsoLayoutEffect, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, Or as EMPTY_OBJECT, Sn as stopEvent$1, T as number, Tr as clsx, Un as useValueChanged, Wn as createChangeEventDetails, Yt as addEventListener, _r as fieldValidityMapping, br as useControlled, cr as triggerPress, dr as useFormContext, fr as useRegisterFieldControl, gt as serializeValue, hr as useId$1, i as TooltipTrigger, jr as useMergedRefs, k as strictObject, kr as NOOP, mr as useBaseUiId, n as TooltipContent, p as timeZoneOffsetMinutes, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, r as TooltipProvider, rr as none$1, sn as useTimeout, t as Tooltip, tn as require_with_selector, ur as useLabelableContext, vr as visuallyHidden, xr as Button, y as discriminatedUnion, yr as visuallyHiddenInput } from "./tooltip-DSBF3bRw.js";
|
|
6
6
|
import { r as resolveUiLanguage } from "./languages-gYzoQqCi.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import reactExports, { Children, Suspense, createContext, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
@@ -2497,6 +2497,76 @@ function _e(e) {
|
|
|
2497
2497
|
}
|
|
2498
2498
|
/*! For license information please see dagre.esm.js.LEGAL.txt */
|
|
2499
2499
|
//#endregion
|
|
2500
|
+
//#region src/canvas/browser/base/routeCrossings.ts
|
|
2501
|
+
var epsilon = 1e-6;
|
|
2502
|
+
function samePoint(a, b) {
|
|
2503
|
+
return Math.abs(a.x - b.x) < epsilon && Math.abs(a.y - b.y) < epsilon;
|
|
2504
|
+
}
|
|
2505
|
+
function segment(a, b) {
|
|
2506
|
+
return {
|
|
2507
|
+
left: Math.min(a.x, b.x),
|
|
2508
|
+
right: Math.max(a.x, b.x),
|
|
2509
|
+
top: Math.min(a.y, b.y),
|
|
2510
|
+
bottom: Math.max(a.y, b.y)
|
|
2511
|
+
};
|
|
2512
|
+
}
|
|
2513
|
+
/** Allow only the common prefix/suffix, not later crossings between the same edges. */
|
|
2514
|
+
function sharedEnd(a, b, overlap, reverse) {
|
|
2515
|
+
const step = reverse ? -1 : 1;
|
|
2516
|
+
let i = reverse ? a.length - 1 : 0;
|
|
2517
|
+
let j = reverse ? b.length - 1 : 0;
|
|
2518
|
+
let start = a[i];
|
|
2519
|
+
if (!samePoint(start, b[j])) return false;
|
|
2520
|
+
if (Math.abs(overlap.left - start.x) < epsilon && Math.abs(overlap.right - start.x) < epsilon && Math.abs(overlap.top - start.y) < epsilon && Math.abs(overlap.bottom - start.y) < epsilon) return true;
|
|
2521
|
+
while (a[i + step] && b[j + step]) {
|
|
2522
|
+
const endA = a[i + step];
|
|
2523
|
+
const endB = b[j + step];
|
|
2524
|
+
const vertical = Math.abs(endA.x - start.x) < epsilon;
|
|
2525
|
+
const otherVertical = Math.abs(endB.x - start.x) < epsilon;
|
|
2526
|
+
const directionA = vertical ? endA.y - start.y : endA.x - start.x;
|
|
2527
|
+
const directionB = vertical ? endB.y - start.y : endB.x - start.x;
|
|
2528
|
+
if (vertical !== otherVertical || directionA * directionB < 0) return false;
|
|
2529
|
+
const end = Math.abs(directionA) <= Math.abs(directionB) ? endA : endB;
|
|
2530
|
+
const common = segment(start, end);
|
|
2531
|
+
if (overlap.left >= common.left - epsilon && overlap.right <= common.right + epsilon && overlap.top >= common.top - epsilon && overlap.bottom <= common.bottom + epsilon) return true;
|
|
2532
|
+
if (samePoint(end, endA)) i += step;
|
|
2533
|
+
if (samePoint(end, endB)) j += step;
|
|
2534
|
+
start = end;
|
|
2535
|
+
}
|
|
2536
|
+
return false;
|
|
2537
|
+
}
|
|
2538
|
+
/** Check orthogonal routes once after layout; stop at the first unrelated contact or overlap. */
|
|
2539
|
+
function hasRouteCrossings(routes) {
|
|
2540
|
+
const paths = [...routes.values()].map((points) => {
|
|
2541
|
+
const path = points.filter((point, index) => index === 0 || !samePoint(point, points[index - 1]));
|
|
2542
|
+
return {
|
|
2543
|
+
path,
|
|
2544
|
+
segments: path.slice(1).map((point, index) => segment(path[index], point))
|
|
2545
|
+
};
|
|
2546
|
+
});
|
|
2547
|
+
for (let i = 0; i < paths.length; i++) {
|
|
2548
|
+
const a = paths[i];
|
|
2549
|
+
for (let j = i + 1; j < paths.length; j++) {
|
|
2550
|
+
const b = paths[j];
|
|
2551
|
+
for (const first of a.segments) for (const second of b.segments) {
|
|
2552
|
+
const left = Math.max(first.left, second.left);
|
|
2553
|
+
const right = Math.min(first.right, second.right);
|
|
2554
|
+
const top = Math.max(first.top, second.top);
|
|
2555
|
+
const bottom = Math.min(first.bottom, second.bottom);
|
|
2556
|
+
if (left > right + epsilon || top > bottom + epsilon) continue;
|
|
2557
|
+
const overlap = {
|
|
2558
|
+
left,
|
|
2559
|
+
right,
|
|
2560
|
+
top,
|
|
2561
|
+
bottom
|
|
2562
|
+
};
|
|
2563
|
+
if (!sharedEnd(a.path, b.path, overlap, false) && !sharedEnd(a.path, b.path, overlap, true)) return true;
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
return false;
|
|
2568
|
+
}
|
|
2569
|
+
//#endregion
|
|
2500
2570
|
//#region src/canvas/browser/base/routeLayout.ts
|
|
2501
2571
|
var clearance = 16;
|
|
2502
2572
|
var portOffset = 24;
|
|
@@ -2849,19 +2919,26 @@ function compactComponent(graph, insets, aspectRatio) {
|
|
|
2849
2919
|
const gap = 48;
|
|
2850
2920
|
const pathNodes = normalized.filter((node) => incoming.has(node.id) || outgoing.has(node.id));
|
|
2851
2921
|
const crossSize = Math.max(...(pathNodes.length ? pathNodes : normalized).map((node) => node.height));
|
|
2852
|
-
const bow = crossSize * .
|
|
2853
|
-
const separation = crossSize +
|
|
2922
|
+
const bow = crossSize * .5;
|
|
2923
|
+
const separation = crossSize + bow + gap;
|
|
2854
2924
|
const bucketSize = Math.max(...normalized.map((node) => node.width)) + gap;
|
|
2855
2925
|
const byId = new Map(normalized.map((node) => [node.id, node]));
|
|
2856
2926
|
const forwardEdges = graph.edges.filter((edge) => byId.get(edge.source).column < byId.get(edge.target).column);
|
|
2857
2927
|
const parents = Map.groupBy(forwardEdges, (edge) => edge.target);
|
|
2858
2928
|
const children = Map.groupBy(forwardEdges, (edge) => edge.source);
|
|
2859
2929
|
const ordered = normalized.toSorted((a, b) => a.column - b.column || a.y - b.y);
|
|
2860
|
-
const remaining = /* @__PURE__ */ new Map();
|
|
2861
|
-
for (const node of ordered.toReversed()) remaining.set(node.id, 1 + Math.max(0, ...(children.get(node.id) ?? []).filter((edge) => parents.get(edge.target)?.length === 1).map((edge) => remaining.get(edge.target))));
|
|
2862
2930
|
const rankEnds = new Map([...Map.groupBy(normalized, (node) => node.column)].map(([rank, nodes]) => [rank, Math.max(...nodes.map((node) => node.x + node.width))]));
|
|
2931
|
+
const remaining = /* @__PURE__ */ new Map();
|
|
2932
|
+
for (const node of ordered.toReversed()) {
|
|
2933
|
+
const next = (children.get(node.id) ?? []).filter((edge) => parents.get(edge.target)?.length === 1).map((edge) => remaining.get(edge.target));
|
|
2934
|
+
remaining.set(node.id, {
|
|
2935
|
+
count: 1 + Math.max(0, ...next.map((path) => path.count)),
|
|
2936
|
+
size: Math.max(node.width, ...next.map((path) => rankEnds.get(node.column) - node.x + gap + path.size))
|
|
2937
|
+
});
|
|
2938
|
+
}
|
|
2863
2939
|
const spans = /* @__PURE__ */ new Set([Infinity, ...rankEnds.values()]);
|
|
2864
|
-
|
|
2940
|
+
const layouts = [];
|
|
2941
|
+
let unfolded;
|
|
2865
2942
|
for (const span of spans) {
|
|
2866
2943
|
const placed = /* @__PURE__ */ new Map();
|
|
2867
2944
|
const buckets = /* @__PURE__ */ new Map();
|
|
@@ -2883,10 +2960,15 @@ function compactComponent(graph, insets, aspectRatio) {
|
|
|
2883
2960
|
} else if (parent) {
|
|
2884
2961
|
shift = parent.shift;
|
|
2885
2962
|
start = parent.start;
|
|
2963
|
+
const length = primary - start + remaining.get(original.id).size;
|
|
2964
|
+
const capacity = Math.max(original.width, span - start);
|
|
2965
|
+
const runs = Math.max(1, Math.ceil((length + gap) / (capacity + gap)));
|
|
2966
|
+
const end = start + (length + gap) / runs - gap;
|
|
2967
|
+
const midpoint = (parent.node.x + parent.node.width + primary + original.width) / 2;
|
|
2886
2968
|
if ((children.get(parent.node.id)?.length ?? 0) > 1) {
|
|
2887
2969
|
shift = parent.node.y - byId.get(parent.node.id).y;
|
|
2888
2970
|
start = primary;
|
|
2889
|
-
} else if (
|
|
2971
|
+
} else if (midpoint > end + 1e-6 && remaining.get(original.id).count > 2) {
|
|
2890
2972
|
primary = Math.max(0, start - span / 3);
|
|
2891
2973
|
shift = parent.shift + side * separation;
|
|
2892
2974
|
start = primary;
|
|
@@ -2915,7 +2997,7 @@ function compactComponent(graph, insets, aspectRatio) {
|
|
|
2915
2997
|
order: placed.size,
|
|
2916
2998
|
shift: node.y - original.y - drift,
|
|
2917
2999
|
start,
|
|
2918
|
-
extent: Math.max(node.x + node.width, ...upstream.map((entry) => entry.extent))
|
|
3000
|
+
extent: Math.max(node.x + node.width, parent && node.x < parent.node.x ? parent.node.x + parent.node.width + gap : 0, ...upstream.map((entry) => entry.extent))
|
|
2919
3001
|
};
|
|
2920
3002
|
placed.set(node.id, placement);
|
|
2921
3003
|
for (let bucket = firstBucket; bucket <= lastBucket; bucket++) {
|
|
@@ -2929,23 +3011,37 @@ function compactComponent(graph, insets, aspectRatio) {
|
|
|
2929
3011
|
const width = extent.height + insets.width + 48;
|
|
2930
3012
|
const height = extent.width + insets.height + 48;
|
|
2931
3013
|
const area = width * height;
|
|
2932
|
-
const
|
|
2933
|
-
if (!best || score < best.score - 1e-9 || Math.abs(score - best.score) < 1e-9 && (area < best.area || area === best.area && turns < best.turns)) best = {
|
|
3014
|
+
const candidate = {
|
|
2934
3015
|
nodes,
|
|
2935
|
-
score,
|
|
3016
|
+
score: Math.max(width / aspectRatio, height),
|
|
2936
3017
|
area,
|
|
2937
3018
|
turns
|
|
2938
3019
|
};
|
|
3020
|
+
if (span === Infinity) unfolded = candidate;
|
|
3021
|
+
layouts.push(candidate);
|
|
3022
|
+
layouts.sort((a, b) => Math.abs(a.score - b.score) >= 1e-9 ? a.score - b.score : a.area - b.area || a.turns - b.turns);
|
|
3023
|
+
if (layouts.length > 2) layouts.pop();
|
|
2939
3024
|
}
|
|
2940
|
-
const
|
|
3025
|
+
const edges = graph.edges.map((edge) => Object.assign({}, edge, {
|
|
2941
3026
|
sourceOffset: edge.sourceOffset && layoutAxes(edge.sourceOffset, "vertical"),
|
|
2942
3027
|
targetOffset: edge.targetOffset && layoutAxes(edge.targetOffset, "vertical")
|
|
2943
|
-
}))
|
|
3028
|
+
}));
|
|
3029
|
+
if (!layouts.includes(unfolded)) layouts.push(unfolded);
|
|
3030
|
+
let best;
|
|
3031
|
+
for (const candidate of layouts) {
|
|
3032
|
+
const routes = routeLayout(candidate.nodes, edges);
|
|
3033
|
+
const crosses = hasRouteCrossings(routes);
|
|
3034
|
+
if (!best || !crosses) best = {
|
|
3035
|
+
nodes: candidate.nodes,
|
|
3036
|
+
routes
|
|
3037
|
+
};
|
|
3038
|
+
if (!crosses) break;
|
|
3039
|
+
}
|
|
2944
3040
|
const physicalNodes = best.nodes.map((node) => Object.assign({}, node, layoutAxes(node, "vertical"), {
|
|
2945
3041
|
width: node.height,
|
|
2946
3042
|
height: node.width
|
|
2947
3043
|
}));
|
|
2948
|
-
const physicalRoutes = new Map([...routes].map(([id, points]) => [id, points.map((point) => layoutAxes(point, "vertical"))]));
|
|
3044
|
+
const physicalRoutes = new Map([...best.routes].map(([id, points]) => [id, points.map((point) => layoutAxes(point, "vertical"))]));
|
|
2949
3045
|
return {
|
|
2950
3046
|
positions: Object.fromEntries(physicalNodes.map(({ id, x, y }) => [id, {
|
|
2951
3047
|
x,
|
|
@@ -20839,7 +20935,7 @@ var markdownPreview_module_default = {
|
|
|
20839
20935
|
};
|
|
20840
20936
|
//#endregion
|
|
20841
20937
|
//#region src/canvas/browser/preview/markdownPreview.tsx
|
|
20842
|
-
var MarkdownContent = lazy(() => import("./markdownContent-
|
|
20938
|
+
var MarkdownContent = lazy(() => import("./markdownContent-BR9-1ikU.js"));
|
|
20843
20939
|
var MarkdownPreview = /* @__PURE__ */ memo(({ dark, unstyled, components, contentClassName, content, draggable, onDoubleClick }) => {
|
|
20844
20940
|
const [focus, setFocus] = useState(false);
|
|
20845
20941
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as useTranslate } from "./dist-BFmpkX4P.js";
|
|
2
|
-
import { xr as Button } from "./tooltip-
|
|
3
|
-
import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel,
|
|
4
|
-
import { t as WorkbenchSelect } from "./workbenchSelect-
|
|
2
|
+
import { xr as Button } from "./tooltip-DSBF3bRw.js";
|
|
3
|
+
import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, hn as Input, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-b3hsdu8i.js";
|
|
4
|
+
import { t as WorkbenchSelect } from "./workbenchSelect-Di1Bm_-d.js";
|
|
5
5
|
import { useEffect, useRef, useState } from "react";
|
|
6
6
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/workbench/browser/runtime/shell/createResourceDialog.tsx
|