@pipelex/mthds-ui 0.30.1 → 0.32.0
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/{chunk-GAOBB3UT.js → chunk-K2C5FU4W.js} +2 -2
- package/dist/{chunk-3BXB6HSF.js → chunk-T5Y7KNCZ.js} +58 -31
- package/dist/chunk-T5Y7KNCZ.js.map +1 -0
- package/dist/{chunk-PJTYQURQ.js → chunk-TMZ2JR2J.js} +1 -1
- package/dist/chunk-TMZ2JR2J.js.map +1 -0
- package/dist/form/react/index.d.ts +1 -1
- package/dist/form/react/index.js +2 -2
- package/dist/graph/index.d.ts +53 -14
- package/dist/graph/index.js +9 -7
- package/dist/graph/react/graph-core.css +16 -0
- package/dist/graph/react/index.d.ts +8 -29
- package/dist/graph/react/index.js +566 -460
- package/dist/graph/react/index.js.map +1 -1
- package/dist/graph/react/styles/simple/SimpleStyle.css +2 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -7
- package/dist/standalone/graph-standalone.html +128 -113
- package/dist/standalone/graph-viewer.css +18 -3
- package/dist/standalone/graph-viewer.js +110 -110
- package/dist/static-graph/index.d.ts +1 -1
- package/dist/static-graph/index.js +97 -17
- package/dist/static-graph/index.js.map +1 -1
- package/dist/{types-BNqjYF_x.d.ts → types-MvxsDLCo.d.ts} +34 -8
- package/package.json +2 -2
- package/dist/chunk-3BXB6HSF.js.map +0 -1
- package/dist/chunk-PJTYQURQ.js.map +0 -1
- /package/dist/{chunk-GAOBB3UT.js.map → chunk-K2C5FU4W.js.map} +0 -0
|
@@ -13,22 +13,22 @@ import {
|
|
|
13
13
|
findStuffByDigest,
|
|
14
14
|
fitRoute,
|
|
15
15
|
getLayoutedElements,
|
|
16
|
-
getPipeBlueprint,
|
|
17
16
|
resolveConceptRef,
|
|
18
17
|
resolveGraphStyle,
|
|
19
18
|
resolveIssueTargetNodeId,
|
|
19
|
+
resolveNodeBlueprint,
|
|
20
20
|
resolveStyleMenu,
|
|
21
21
|
roundedPolylinePath,
|
|
22
22
|
routeLabelCenter,
|
|
23
23
|
validateGraphSpec
|
|
24
|
-
} from "../../chunk-
|
|
24
|
+
} from "../../chunk-T5Y7KNCZ.js";
|
|
25
25
|
import {
|
|
26
26
|
parsePipeRef
|
|
27
27
|
} from "../../chunk-2N65P32H.js";
|
|
28
28
|
import {
|
|
29
29
|
DEFAULT_GRAPH_CONFIG,
|
|
30
30
|
getPaletteForTheme
|
|
31
|
-
} from "../../chunk-
|
|
31
|
+
} from "../../chunk-K2C5FU4W.js";
|
|
32
32
|
import {
|
|
33
33
|
BINDING_STEP_TYPE,
|
|
34
34
|
EDGE_TYPE,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
stuffDigestFromId,
|
|
56
56
|
toolbarOrientation,
|
|
57
57
|
toolbarSide
|
|
58
|
-
} from "../../chunk-
|
|
58
|
+
} from "../../chunk-TMZ2JR2J.js";
|
|
59
59
|
import {
|
|
60
60
|
__spreadProps,
|
|
61
61
|
__spreadValues
|
|
@@ -477,20 +477,52 @@ function ModelRows({
|
|
|
477
477
|
handle,
|
|
478
478
|
label = "Model"
|
|
479
479
|
}) {
|
|
480
|
+
var _a, _b, _c;
|
|
480
481
|
const ran = modelsRan != null ? modelsRan : [];
|
|
481
|
-
const
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
482
|
+
const nameCounts = /* @__PURE__ */ new Map();
|
|
483
|
+
for (const entry of ran) {
|
|
484
|
+
nameCounts.set(
|
|
485
|
+
entry.inference_model_name,
|
|
486
|
+
((_a = nameCounts.get(entry.inference_model_name)) != null ? _a : 0) + 1
|
|
487
|
+
);
|
|
488
|
+
}
|
|
489
|
+
const ranRungs = ran.map((entry, index) => {
|
|
490
|
+
var _a2;
|
|
491
|
+
const name = ((_a2 = nameCounts.get(entry.inference_model_name)) != null ? _a2 : 0) > 1 ? `${entry.inference_model_name} \xB7 ${modelTypeLabel(entry.model_type)}` : entry.inference_model_name;
|
|
492
|
+
return {
|
|
493
|
+
key: `ran-${index}`,
|
|
494
|
+
text: ran.length > 1 ? `${name} (${entry.inference_calls})` : name
|
|
495
|
+
};
|
|
496
|
+
});
|
|
497
|
+
const requested = [];
|
|
498
|
+
const requestedRungs = [
|
|
499
|
+
{ key: "authored", text: authored != null ? authored : "" },
|
|
500
|
+
{ key: "handle", text: handle != null ? handle : "" }
|
|
501
|
+
];
|
|
502
|
+
for (const rung of requestedRungs) {
|
|
503
|
+
if (rung.text && rung.text !== ((_b = requested[requested.length - 1]) == null ? void 0 : _b.text)) requested.push(rung);
|
|
487
504
|
}
|
|
505
|
+
if (ranRungs.length > 0 && ((_c = requested[requested.length - 1]) == null ? void 0 : _c.text) === ranRungs[0].text) {
|
|
506
|
+
requested.pop();
|
|
507
|
+
}
|
|
508
|
+
const chain = [...requested, ...ranRungs];
|
|
488
509
|
if (chain.length === 0) return null;
|
|
489
510
|
return /* @__PURE__ */ jsxs3("div", { className: "detail-kv-row", children: [
|
|
490
511
|
/* @__PURE__ */ jsx3("span", { className: "detail-kv-key", children: label }),
|
|
491
|
-
/* @__PURE__ */ jsx3("span", { className: "detail-kv-value detail-model-value", children: chain.map((rung, index) => /* @__PURE__ */ jsx3("span", { className: index === 0 ? void 0 : "detail-model-resolved", children: rung }, rung)) })
|
|
512
|
+
/* @__PURE__ */ jsx3("span", { className: "detail-kv-value detail-model-value", children: chain.map((rung, index) => /* @__PURE__ */ jsx3("span", { className: index === 0 ? void 0 : "detail-model-resolved", children: rung.text }, rung.key)) })
|
|
492
513
|
] });
|
|
493
514
|
}
|
|
515
|
+
var MODEL_TYPE_LABELS = {
|
|
516
|
+
llm: "LLM",
|
|
517
|
+
extract: "extraction",
|
|
518
|
+
img_gen: "image generation",
|
|
519
|
+
search: "search",
|
|
520
|
+
judgment: "judgment"
|
|
521
|
+
};
|
|
522
|
+
function modelTypeLabel(modelType) {
|
|
523
|
+
var _a;
|
|
524
|
+
return (_a = MODEL_TYPE_LABELS[modelType]) != null ? _a : modelType.replaceAll("_", " ");
|
|
525
|
+
}
|
|
494
526
|
|
|
495
527
|
// src/graph/usageFormat.ts
|
|
496
528
|
function scopeUsage(usage, scope) {
|
|
@@ -529,8 +561,9 @@ function formatCost(cost) {
|
|
|
529
561
|
if (cost > 0 && cost < 1e-4) return "<$0.0001";
|
|
530
562
|
return `$${cost.toFixed(4)}`;
|
|
531
563
|
}
|
|
564
|
+
var TOKEN_BILLED_MODEL_TYPES = /* @__PURE__ */ new Set(["llm", "judgment"]);
|
|
532
565
|
function hasRealTokenCounts(scoped) {
|
|
533
|
-
return scoped.models.length > 0 && scoped.models.every((entry) => entry.model_type
|
|
566
|
+
return scoped.models.length > 0 && scoped.models.every((entry) => TOKEN_BILLED_MODEL_TYPES.has(entry.model_type));
|
|
534
567
|
}
|
|
535
568
|
|
|
536
569
|
// src/graph/react/detail/sections/UsageSection.tsx
|
|
@@ -979,27 +1012,74 @@ function PipeComposeSection({
|
|
|
979
1012
|
] });
|
|
980
1013
|
}
|
|
981
1014
|
|
|
982
|
-
// src/graph/react/detail/sections/
|
|
1015
|
+
// src/graph/react/detail/sections/PipeDocGenDetail.tsx
|
|
983
1016
|
import { Fragment as Fragment7, jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1017
|
+
var DOC_GEN_SOURCE_LABELS = {
|
|
1018
|
+
layout: "auto-layout",
|
|
1019
|
+
html: "HTML template",
|
|
1020
|
+
template_file: "template file"
|
|
1021
|
+
};
|
|
1022
|
+
function declaredSource(blueprint) {
|
|
1023
|
+
if (blueprint.template == null && blueprint.template_file == null) return "layout";
|
|
1024
|
+
if (blueprint.template != null || blueprint.doc_gen_format === "pdf") return "html";
|
|
1025
|
+
return "template_file";
|
|
1026
|
+
}
|
|
1027
|
+
function nonEmpty(value) {
|
|
1028
|
+
return typeof value === "string" && value.trim() !== "" ? value : void 0;
|
|
1029
|
+
}
|
|
1030
|
+
function PipeDocGenSection({
|
|
1031
|
+
blueprint,
|
|
1032
|
+
executionData,
|
|
1033
|
+
modelsRan,
|
|
1034
|
+
modelHandles
|
|
1035
|
+
}) {
|
|
1036
|
+
var _a, _b, _c;
|
|
1037
|
+
const format = nonEmpty(blueprint.doc_gen_format);
|
|
1038
|
+
const authoredEngine = labelFromLlmChoice(blueprint.doc_gen_choice);
|
|
1039
|
+
const resolvedEngine = nonEmpty(modelHandles == null ? void 0 : modelHandles.resolved_model);
|
|
1040
|
+
const hasEngine = !!authoredEngine || !!resolvedEngine || ((_a = modelsRan == null ? void 0 : modelsRan.length) != null ? _a : 0) > 0;
|
|
1041
|
+
const source = (_b = nonEmpty(modelHandles == null ? void 0 : modelHandles.source)) != null ? _b : declaredSource(blueprint);
|
|
1042
|
+
const renderedFilename = nonEmpty(executionData == null ? void 0 : executionData.filename);
|
|
1043
|
+
return /* @__PURE__ */ jsxs11(Fragment7, { children: [
|
|
1044
|
+
/* @__PURE__ */ jsx11(KV, { label: "Format", value: format == null ? void 0 : format.toUpperCase() }),
|
|
1045
|
+
hasEngine ? /* @__PURE__ */ jsx11(
|
|
1046
|
+
ModelRows,
|
|
1047
|
+
{
|
|
1048
|
+
label: "Engine",
|
|
1049
|
+
modelsRan,
|
|
1050
|
+
authored: authoredEngine,
|
|
1051
|
+
handle: resolvedEngine
|
|
1052
|
+
}
|
|
1053
|
+
) : /* @__PURE__ */ jsx11(KV, { label: "Engine", value: "deck default" }),
|
|
1054
|
+
/* @__PURE__ */ jsx11(KV, { label: "Source", value: (_c = DOC_GEN_SOURCE_LABELS[source]) != null ? _c : source }),
|
|
1055
|
+
/* @__PURE__ */ jsx11(KV, { label: "Template File", value: blueprint.template_file }),
|
|
1056
|
+
/* @__PURE__ */ jsx11(KV, { label: "File Name", value: blueprint.filename }),
|
|
1057
|
+
renderedFilename && renderedFilename !== blueprint.filename && /* @__PURE__ */ jsx11(KV, { label: "Stored As", value: renderedFilename }),
|
|
1058
|
+
blueprint.template && /* @__PURE__ */ jsx11(PromptToggle, { label: "Template", templateText: blueprint.template, renderedText: null })
|
|
1059
|
+
] });
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
// src/graph/react/detail/sections/PipeConditionDetail.tsx
|
|
1063
|
+
import { Fragment as Fragment8, jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
984
1064
|
function PipeConditionSection({
|
|
985
1065
|
blueprint,
|
|
986
1066
|
executionData
|
|
987
1067
|
}) {
|
|
988
1068
|
const evaluatedExpression = executionData == null ? void 0 : executionData.evaluated_expression;
|
|
989
1069
|
const selectedOutcome = executionData == null ? void 0 : executionData.selected_outcome;
|
|
990
|
-
return /* @__PURE__ */
|
|
991
|
-
/* @__PURE__ */
|
|
992
|
-
evaluatedExpression && /* @__PURE__ */
|
|
993
|
-
/* @__PURE__ */
|
|
994
|
-
/* @__PURE__ */
|
|
995
|
-
Object.entries(blueprint.outcome_map).map(([outcome, pipeCode]) => /* @__PURE__ */
|
|
1070
|
+
return /* @__PURE__ */ jsxs12(Fragment8, { children: [
|
|
1071
|
+
/* @__PURE__ */ jsx12(PromptBlock, { label: "Expression", text: blueprint.expression }),
|
|
1072
|
+
evaluatedExpression && /* @__PURE__ */ jsx12(KV, { label: "Expression Result", value: evaluatedExpression }),
|
|
1073
|
+
/* @__PURE__ */ jsxs12("div", { children: [
|
|
1074
|
+
/* @__PURE__ */ jsx12("div", { className: "detail-section-label", children: "Outcomes" }),
|
|
1075
|
+
Object.entries(blueprint.outcome_map).map(([outcome, pipeCode]) => /* @__PURE__ */ jsxs12(
|
|
996
1076
|
"div",
|
|
997
1077
|
{
|
|
998
1078
|
className: "detail-kv-row",
|
|
999
1079
|
style: selectedOutcome === pipeCode ? { background: "rgba(80,250,123,0.08)" } : void 0,
|
|
1000
1080
|
children: [
|
|
1001
|
-
/* @__PURE__ */
|
|
1002
|
-
/* @__PURE__ */
|
|
1081
|
+
/* @__PURE__ */ jsx12("span", { className: "detail-kv-key", children: outcome }),
|
|
1082
|
+
/* @__PURE__ */ jsx12(
|
|
1003
1083
|
"span",
|
|
1004
1084
|
{
|
|
1005
1085
|
className: "detail-kv-value",
|
|
@@ -1011,32 +1091,32 @@ function PipeConditionSection({
|
|
|
1011
1091
|
},
|
|
1012
1092
|
outcome
|
|
1013
1093
|
)),
|
|
1014
|
-
/* @__PURE__ */
|
|
1015
|
-
/* @__PURE__ */
|
|
1016
|
-
/* @__PURE__ */
|
|
1094
|
+
/* @__PURE__ */ jsxs12("div", { className: "detail-kv-row", children: [
|
|
1095
|
+
/* @__PURE__ */ jsx12("span", { className: "detail-kv-key", children: "default" }),
|
|
1096
|
+
/* @__PURE__ */ jsx12("span", { className: "detail-kv-value", children: blueprint.default_outcome })
|
|
1017
1097
|
] })
|
|
1018
1098
|
] }),
|
|
1019
|
-
/* @__PURE__ */
|
|
1099
|
+
/* @__PURE__ */ jsx12(KV, { label: "Alias Expression To", value: blueprint.add_alias_from_expression_to })
|
|
1020
1100
|
] });
|
|
1021
1101
|
}
|
|
1022
1102
|
|
|
1023
1103
|
// src/graph/react/detail/sections/PipeSequenceDetail.tsx
|
|
1024
|
-
import { jsx as
|
|
1104
|
+
import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1025
1105
|
function PipeSequenceSection({
|
|
1026
1106
|
blueprint
|
|
1027
1107
|
}) {
|
|
1028
|
-
return /* @__PURE__ */
|
|
1029
|
-
/* @__PURE__ */
|
|
1030
|
-
/* @__PURE__ */
|
|
1031
|
-
/* @__PURE__ */
|
|
1108
|
+
return /* @__PURE__ */ jsxs13("div", { children: [
|
|
1109
|
+
/* @__PURE__ */ jsx13("div", { className: "detail-section-label", children: "Steps" }),
|
|
1110
|
+
/* @__PURE__ */ jsx13("div", { className: "detail-steps-list", children: blueprint.sequential_sub_pipes.map((step, idx) => /* @__PURE__ */ jsxs13("div", { className: "detail-step-item", children: [
|
|
1111
|
+
/* @__PURE__ */ jsx13("span", { className: "detail-step-index", children: idx + 1 }),
|
|
1032
1112
|
isBindingStepSpec(step) ? (
|
|
1033
1113
|
// A binding step runs no pipe: it names the path it binds.
|
|
1034
|
-
/* @__PURE__ */
|
|
1114
|
+
/* @__PURE__ */ jsxs13("span", { className: "detail-step-code", title: "Binding step", children: [
|
|
1035
1115
|
"from ",
|
|
1036
1116
|
step.from_path
|
|
1037
1117
|
] })
|
|
1038
|
-
) : /* @__PURE__ */
|
|
1039
|
-
step.output_name && /* @__PURE__ */
|
|
1118
|
+
) : /* @__PURE__ */ jsx13("span", { className: "detail-step-code", children: step.pipe_code }),
|
|
1119
|
+
step.output_name && /* @__PURE__ */ jsxs13("span", { className: "detail-io-concept", children: [
|
|
1040
1120
|
"-> ",
|
|
1041
1121
|
step.output_name
|
|
1042
1122
|
] })
|
|
@@ -1045,52 +1125,52 @@ function PipeSequenceSection({
|
|
|
1045
1125
|
}
|
|
1046
1126
|
|
|
1047
1127
|
// src/graph/react/detail/sections/PipeParallelDetail.tsx
|
|
1048
|
-
import { Fragment as
|
|
1128
|
+
import { Fragment as Fragment9, jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1049
1129
|
function PipeParallelSection({
|
|
1050
1130
|
blueprint
|
|
1051
1131
|
}) {
|
|
1052
|
-
return /* @__PURE__ */
|
|
1053
|
-
/* @__PURE__ */
|
|
1054
|
-
/* @__PURE__ */
|
|
1055
|
-
/* @__PURE__ */
|
|
1056
|
-
/* @__PURE__ */
|
|
1057
|
-
branch.output_name && /* @__PURE__ */
|
|
1132
|
+
return /* @__PURE__ */ jsxs14(Fragment9, { children: [
|
|
1133
|
+
/* @__PURE__ */ jsxs14("div", { children: [
|
|
1134
|
+
/* @__PURE__ */ jsx14("div", { className: "detail-section-label", children: "Branches" }),
|
|
1135
|
+
/* @__PURE__ */ jsx14("div", { className: "detail-steps-list", children: blueprint.parallel_sub_pipes.map((branch, idx) => /* @__PURE__ */ jsxs14("div", { className: "detail-step-item", children: [
|
|
1136
|
+
/* @__PURE__ */ jsx14("span", { className: "detail-step-code", children: branch.pipe_code }),
|
|
1137
|
+
branch.output_name && /* @__PURE__ */ jsxs14("span", { className: "detail-io-concept", children: [
|
|
1058
1138
|
"-> ",
|
|
1059
1139
|
branch.output_name
|
|
1060
1140
|
] })
|
|
1061
1141
|
] }, idx)) })
|
|
1062
1142
|
] }),
|
|
1063
|
-
/* @__PURE__ */
|
|
1064
|
-
/* @__PURE__ */
|
|
1143
|
+
/* @__PURE__ */ jsx14(KV, { label: "Add Each Output", value: blueprint.add_each_output }),
|
|
1144
|
+
/* @__PURE__ */ jsx14(KV, { label: "Combined Output", value: blueprint.combined_output })
|
|
1065
1145
|
] });
|
|
1066
1146
|
}
|
|
1067
1147
|
|
|
1068
1148
|
// src/graph/react/detail/sections/PipeBatchDetail.tsx
|
|
1069
|
-
import { Fragment as
|
|
1149
|
+
import { Fragment as Fragment10, jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1070
1150
|
function PipeBatchSection({
|
|
1071
1151
|
blueprint,
|
|
1072
1152
|
executionData
|
|
1073
1153
|
}) {
|
|
1074
1154
|
const itemCount = executionData == null ? void 0 : executionData.item_count;
|
|
1075
|
-
return /* @__PURE__ */
|
|
1076
|
-
/* @__PURE__ */
|
|
1077
|
-
/* @__PURE__ */
|
|
1078
|
-
/* @__PURE__ */
|
|
1079
|
-
itemCount != null && /* @__PURE__ */
|
|
1155
|
+
return /* @__PURE__ */ jsxs15(Fragment10, { children: [
|
|
1156
|
+
/* @__PURE__ */ jsx15(KV, { label: "Branch Pipe", value: blueprint.branch_pipe_code }),
|
|
1157
|
+
/* @__PURE__ */ jsx15(KV, { label: "Input List Variable", value: blueprint.batch_params.input_list_stuff_name }),
|
|
1158
|
+
/* @__PURE__ */ jsx15(KV, { label: "Input Item Variable", value: blueprint.batch_params.input_item_stuff_name }),
|
|
1159
|
+
itemCount != null && /* @__PURE__ */ jsx15(KV, { label: "Items Processed", value: itemCount })
|
|
1080
1160
|
] });
|
|
1081
1161
|
}
|
|
1082
1162
|
|
|
1083
1163
|
// src/graph/react/detail/sections/BindingStepDetail.tsx
|
|
1084
|
-
import { jsx as
|
|
1164
|
+
import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1085
1165
|
function BindingStepSection({ node }) {
|
|
1086
1166
|
var _a, _b;
|
|
1087
1167
|
const executionData = (_a = node.execution_data) != null ? _a : {};
|
|
1088
1168
|
const fromPath = typeof executionData.from === "string" ? executionData.from : node.pipe_code;
|
|
1089
1169
|
const result = typeof executionData.result === "string" ? executionData.result : (_b = node.io.outputs[0]) == null ? void 0 : _b.name;
|
|
1090
|
-
return /* @__PURE__ */
|
|
1091
|
-
/* @__PURE__ */
|
|
1092
|
-
/* @__PURE__ */
|
|
1093
|
-
/* @__PURE__ */
|
|
1170
|
+
return /* @__PURE__ */ jsxs16("div", { children: [
|
|
1171
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Binding" }),
|
|
1172
|
+
/* @__PURE__ */ jsx16(KV, { label: "From", value: fromPath }),
|
|
1173
|
+
/* @__PURE__ */ jsx16(KV, { label: "Result", value: result })
|
|
1094
1174
|
] });
|
|
1095
1175
|
}
|
|
1096
1176
|
|
|
@@ -1102,18 +1182,27 @@ var MERGED_EXECUTION_DATA_TYPES = /* @__PURE__ */ new Set([
|
|
|
1102
1182
|
"PipeSearch",
|
|
1103
1183
|
"PipeStructure",
|
|
1104
1184
|
"PipeCompose",
|
|
1185
|
+
"PipeDocGen",
|
|
1105
1186
|
"PipeSequence",
|
|
1106
1187
|
"PipeParallel",
|
|
1107
1188
|
"PipeCondition",
|
|
1108
1189
|
"PipeBatch"
|
|
1109
1190
|
]);
|
|
1191
|
+
var UNDUMPED_EXECUTION_DATA_KEYS = {
|
|
1192
|
+
PipeDocGen: /* @__PURE__ */ new Set(["url"])
|
|
1193
|
+
};
|
|
1110
1194
|
function shouldDumpExecutionData(pipeType, hasBlueprint) {
|
|
1111
1195
|
if (MERGED_EXECUTION_DATA_TYPES.has(pipeType)) return !hasBlueprint;
|
|
1112
1196
|
return true;
|
|
1113
1197
|
}
|
|
1198
|
+
function dumpableExecutionData(pipeType, executionData) {
|
|
1199
|
+
const undumped = UNDUMPED_EXECUTION_DATA_KEYS[pipeType];
|
|
1200
|
+
const entries = Object.entries(executionData);
|
|
1201
|
+
return undumped ? entries.filter(([key]) => !undumped.has(key)) : entries;
|
|
1202
|
+
}
|
|
1114
1203
|
|
|
1115
1204
|
// src/graph/react/detail/PipeDetailPanel.tsx
|
|
1116
|
-
import { Fragment as
|
|
1205
|
+
import { Fragment as Fragment11, jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1117
1206
|
var PIPE_TYPE_BADGES = {
|
|
1118
1207
|
PipeLLM: "LLM",
|
|
1119
1208
|
PipeExtract: "Extract",
|
|
@@ -1155,32 +1244,22 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1155
1244
|
const badge = PIPE_TYPE_BADGES[pipeType];
|
|
1156
1245
|
const status = node.status;
|
|
1157
1246
|
const statusColor = (_a = STATUS_COLORS[status]) != null ? _a : "#6272a4";
|
|
1158
|
-
const blueprint = React6.useMemo(() =>
|
|
1159
|
-
var _a2, _b2;
|
|
1160
|
-
if (isBinding || !node.pipe_code || !spec.pipe_registry) return void 0;
|
|
1161
|
-
const directKey = `${(_b2 = (_a2 = spec.pipeline_ref) == null ? void 0 : _a2.domain) != null ? _b2 : ""}.${node.pipe_code}`;
|
|
1162
|
-
const direct = getPipeBlueprint(spec, directKey);
|
|
1163
|
-
if (direct) return direct;
|
|
1164
|
-
for (const [ref, pipe] of Object.entries(spec.pipe_registry)) {
|
|
1165
|
-
if (ref.endsWith(`.${node.pipe_code}`)) return pipe;
|
|
1166
|
-
}
|
|
1167
|
-
return void 0;
|
|
1168
|
-
}, [isBinding, node.pipe_code, spec]);
|
|
1247
|
+
const blueprint = React6.useMemo(() => resolveNodeBlueprint(spec, node), [spec, node]);
|
|
1169
1248
|
const [usageExpanded, setUsageExpanded] = React6.useState(false);
|
|
1170
1249
|
const inputs = (_c = (_b = node.io) == null ? void 0 : _b.inputs) != null ? _c : [];
|
|
1171
1250
|
const outputs = (_e = (_d = node.io) == null ? void 0 : _d.outputs) != null ? _e : [];
|
|
1172
1251
|
const description = (_f = blueprint == null ? void 0 : blueprint.description) != null ? _f : node.description;
|
|
1173
|
-
return /* @__PURE__ */
|
|
1174
|
-
/* @__PURE__ */
|
|
1175
|
-
/* @__PURE__ */
|
|
1176
|
-
/* @__PURE__ */
|
|
1252
|
+
return /* @__PURE__ */ jsxs17(Fragment11, { children: [
|
|
1253
|
+
/* @__PURE__ */ jsxs17("div", { className: "detail-sticky-header", children: [
|
|
1254
|
+
/* @__PURE__ */ jsxs17("div", { className: "detail-header", children: [
|
|
1255
|
+
/* @__PURE__ */ jsx17(
|
|
1177
1256
|
"span",
|
|
1178
1257
|
{
|
|
1179
1258
|
className: `detail-badge ${isController ? "detail-badge--controller" : "detail-badge--operator"}`,
|
|
1180
1259
|
children: badge
|
|
1181
1260
|
}
|
|
1182
1261
|
),
|
|
1183
|
-
/* @__PURE__ */
|
|
1262
|
+
/* @__PURE__ */ jsx17(
|
|
1184
1263
|
"span",
|
|
1185
1264
|
{
|
|
1186
1265
|
className: `detail-pipe-code ${isController ? "detail-pipe-code--controller" : ""}`,
|
|
@@ -1188,11 +1267,11 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1188
1267
|
}
|
|
1189
1268
|
)
|
|
1190
1269
|
] }),
|
|
1191
|
-
!isStatic && /* @__PURE__ */
|
|
1192
|
-
/* @__PURE__ */
|
|
1193
|
-
/* @__PURE__ */
|
|
1194
|
-
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */
|
|
1195
|
-
showsGeneratedData && node.usage && /* @__PURE__ */
|
|
1270
|
+
!isStatic && /* @__PURE__ */ jsxs17("div", { className: "detail-status", children: [
|
|
1271
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-status-dot", style: { background: statusColor } }),
|
|
1272
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-status-label", style: { color: statusColor }, children: status }),
|
|
1273
|
+
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */ jsx17("span", { className: "detail-duration", children: formatDuration(node.timing.duration) }),
|
|
1274
|
+
showsGeneratedData && node.usage && /* @__PURE__ */ jsx17(
|
|
1196
1275
|
UsageCostInline,
|
|
1197
1276
|
{
|
|
1198
1277
|
usage: node.usage,
|
|
@@ -1202,44 +1281,44 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1202
1281
|
}
|
|
1203
1282
|
)
|
|
1204
1283
|
] }),
|
|
1205
|
-
showsGeneratedData && node.usage && usageExpanded && /* @__PURE__ */
|
|
1206
|
-
description && /* @__PURE__ */
|
|
1207
|
-
inputs.length > 0 && /* @__PURE__ */
|
|
1208
|
-
/* @__PURE__ */
|
|
1209
|
-
/* @__PURE__ */
|
|
1284
|
+
showsGeneratedData && node.usage && usageExpanded && /* @__PURE__ */ jsx17(UsageDetails, { usage: node.usage, isController }),
|
|
1285
|
+
description && /* @__PURE__ */ jsx17("div", { className: "detail-description", children: description }),
|
|
1286
|
+
inputs.length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
|
|
1287
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Inputs" }),
|
|
1288
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-io-list", children: inputs.map((input, idx) => /* @__PURE__ */ jsxs17(
|
|
1210
1289
|
"div",
|
|
1211
1290
|
{
|
|
1212
1291
|
className: "detail-io-pill",
|
|
1213
1292
|
style: { cursor: input.concept && onConceptClick ? "pointer" : void 0 },
|
|
1214
1293
|
onClick: () => input.concept && (onConceptClick == null ? void 0 : onConceptClick(input.concept)),
|
|
1215
1294
|
children: [
|
|
1216
|
-
/* @__PURE__ */
|
|
1217
|
-
input.concept && /* @__PURE__ */
|
|
1295
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-io-name", children: input.name }),
|
|
1296
|
+
input.concept && /* @__PURE__ */ jsx17("span", { className: "detail-io-concept", children: input.concept + multiplicitySuffix(input.multiplicity) })
|
|
1218
1297
|
]
|
|
1219
1298
|
},
|
|
1220
1299
|
idx
|
|
1221
1300
|
)) })
|
|
1222
1301
|
] }),
|
|
1223
|
-
outputs.length > 0 && /* @__PURE__ */
|
|
1224
|
-
/* @__PURE__ */
|
|
1225
|
-
/* @__PURE__ */
|
|
1302
|
+
outputs.length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
|
|
1303
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Output" }),
|
|
1304
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-io-list", children: outputs.map((output, idx) => /* @__PURE__ */ jsxs17(
|
|
1226
1305
|
"div",
|
|
1227
1306
|
{
|
|
1228
1307
|
className: "detail-io-pill",
|
|
1229
1308
|
style: { cursor: output.concept && onConceptClick ? "pointer" : void 0 },
|
|
1230
1309
|
onClick: () => output.concept && (onConceptClick == null ? void 0 : onConceptClick(output.concept)),
|
|
1231
1310
|
children: [
|
|
1232
|
-
/* @__PURE__ */
|
|
1233
|
-
output.concept && /* @__PURE__ */
|
|
1311
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-io-name", children: output.name }),
|
|
1312
|
+
output.concept && /* @__PURE__ */ jsx17("span", { className: "detail-io-concept", children: output.concept + multiplicitySuffix(output.multiplicity) })
|
|
1234
1313
|
]
|
|
1235
1314
|
},
|
|
1236
1315
|
idx
|
|
1237
1316
|
)) })
|
|
1238
1317
|
] }),
|
|
1239
|
-
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */
|
|
1318
|
+
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */ jsx17("div", { style: { borderTop: "1px solid rgba(255,255,255,0.06)", margin: "4px 0" } })
|
|
1240
1319
|
] }),
|
|
1241
|
-
isBinding && /* @__PURE__ */
|
|
1242
|
-
blueprint && /* @__PURE__ */
|
|
1320
|
+
isBinding && /* @__PURE__ */ jsx17(BindingStepSection, { node }),
|
|
1321
|
+
blueprint && /* @__PURE__ */ jsx17(
|
|
1243
1322
|
BlueprintSection,
|
|
1244
1323
|
{
|
|
1245
1324
|
blueprint,
|
|
@@ -1248,7 +1327,7 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1248
1327
|
modelHandles: node.execution_data
|
|
1249
1328
|
}
|
|
1250
1329
|
),
|
|
1251
|
-
showsGeneratedData && !isBinding && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */
|
|
1330
|
+
showsGeneratedData && !isBinding && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */ jsx17(
|
|
1252
1331
|
ExecutionDataSection,
|
|
1253
1332
|
{
|
|
1254
1333
|
executionData: node.execution_data,
|
|
@@ -1256,14 +1335,14 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1256
1335
|
hasBlueprint: !!blueprint
|
|
1257
1336
|
}
|
|
1258
1337
|
),
|
|
1259
|
-
node.error && /* @__PURE__ */
|
|
1260
|
-
/* @__PURE__ */
|
|
1261
|
-
/* @__PURE__ */
|
|
1262
|
-
node.error.stack && /* @__PURE__ */
|
|
1338
|
+
node.error && /* @__PURE__ */ jsxs17("div", { className: "detail-error", children: [
|
|
1339
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-error-type", children: node.error.error_type }),
|
|
1340
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-error-message", children: node.error.message }),
|
|
1341
|
+
node.error.stack && /* @__PURE__ */ jsx17("div", { className: "detail-error-stack", children: node.error.stack })
|
|
1263
1342
|
] }),
|
|
1264
|
-
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */
|
|
1265
|
-
/* @__PURE__ */
|
|
1266
|
-
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */
|
|
1343
|
+
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
|
|
1344
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Metrics" }),
|
|
1345
|
+
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */ jsx17(
|
|
1267
1346
|
KV,
|
|
1268
1347
|
{
|
|
1269
1348
|
label: key,
|
|
@@ -1272,17 +1351,17 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1272
1351
|
key
|
|
1273
1352
|
))
|
|
1274
1353
|
] }),
|
|
1275
|
-
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */
|
|
1276
|
-
/* @__PURE__ */
|
|
1277
|
-
/* @__PURE__ */
|
|
1278
|
-
/* @__PURE__ */
|
|
1354
|
+
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
|
|
1355
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Tags" }),
|
|
1356
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-tags", children: Object.entries(node.tags).map(([key, value]) => /* @__PURE__ */ jsxs17("span", { className: "detail-tag", children: [
|
|
1357
|
+
/* @__PURE__ */ jsxs17("span", { className: "detail-tag-key", children: [
|
|
1279
1358
|
key,
|
|
1280
1359
|
": "
|
|
1281
1360
|
] }),
|
|
1282
|
-
/* @__PURE__ */
|
|
1361
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-tag-value", children: value })
|
|
1283
1362
|
] }, key)) })
|
|
1284
1363
|
] }),
|
|
1285
|
-
!blueprint && !isBinding && /* @__PURE__ */
|
|
1364
|
+
!blueprint && !isBinding && /* @__PURE__ */ jsx17("div", { className: "detail-not-available", children: "Blueprint not available" })
|
|
1286
1365
|
] });
|
|
1287
1366
|
}
|
|
1288
1367
|
function BlueprintSection({
|
|
@@ -1293,7 +1372,7 @@ function BlueprintSection({
|
|
|
1293
1372
|
}) {
|
|
1294
1373
|
switch (blueprint.type) {
|
|
1295
1374
|
case "PipeLLM":
|
|
1296
|
-
return /* @__PURE__ */
|
|
1375
|
+
return /* @__PURE__ */ jsx17(
|
|
1297
1376
|
PipeLLMSection,
|
|
1298
1377
|
{
|
|
1299
1378
|
blueprint,
|
|
@@ -1303,7 +1382,7 @@ function BlueprintSection({
|
|
|
1303
1382
|
}
|
|
1304
1383
|
);
|
|
1305
1384
|
case "PipeImgGen":
|
|
1306
|
-
return /* @__PURE__ */
|
|
1385
|
+
return /* @__PURE__ */ jsx17(
|
|
1307
1386
|
PipeImgGenSection,
|
|
1308
1387
|
{
|
|
1309
1388
|
blueprint,
|
|
@@ -1313,9 +1392,19 @@ function BlueprintSection({
|
|
|
1313
1392
|
}
|
|
1314
1393
|
);
|
|
1315
1394
|
case "PipeCompose":
|
|
1316
|
-
return /* @__PURE__ */
|
|
1395
|
+
return /* @__PURE__ */ jsx17(PipeComposeSection, { blueprint, executionData });
|
|
1396
|
+
case "PipeDocGen":
|
|
1397
|
+
return /* @__PURE__ */ jsx17(
|
|
1398
|
+
PipeDocGenSection,
|
|
1399
|
+
{
|
|
1400
|
+
blueprint,
|
|
1401
|
+
executionData,
|
|
1402
|
+
modelsRan,
|
|
1403
|
+
modelHandles
|
|
1404
|
+
}
|
|
1405
|
+
);
|
|
1317
1406
|
case "PipeExtract":
|
|
1318
|
-
return /* @__PURE__ */
|
|
1407
|
+
return /* @__PURE__ */ jsx17(
|
|
1319
1408
|
PipeExtractSection,
|
|
1320
1409
|
{
|
|
1321
1410
|
blueprint,
|
|
@@ -1324,7 +1413,7 @@ function BlueprintSection({
|
|
|
1324
1413
|
}
|
|
1325
1414
|
);
|
|
1326
1415
|
case "PipeSearch":
|
|
1327
|
-
return /* @__PURE__ */
|
|
1416
|
+
return /* @__PURE__ */ jsx17(
|
|
1328
1417
|
PipeSearchSection,
|
|
1329
1418
|
{
|
|
1330
1419
|
blueprint,
|
|
@@ -1334,7 +1423,7 @@ function BlueprintSection({
|
|
|
1334
1423
|
}
|
|
1335
1424
|
);
|
|
1336
1425
|
case "PipeStructure":
|
|
1337
|
-
return /* @__PURE__ */
|
|
1426
|
+
return /* @__PURE__ */ jsx17(
|
|
1338
1427
|
PipeStructureSection,
|
|
1339
1428
|
{
|
|
1340
1429
|
blueprint,
|
|
@@ -1344,19 +1433,24 @@ function BlueprintSection({
|
|
|
1344
1433
|
}
|
|
1345
1434
|
);
|
|
1346
1435
|
case "PipeSequence":
|
|
1347
|
-
return /* @__PURE__ */
|
|
1436
|
+
return /* @__PURE__ */ jsx17(PipeSequenceSection, { blueprint, executionData });
|
|
1348
1437
|
case "PipeParallel":
|
|
1349
|
-
return /* @__PURE__ */
|
|
1438
|
+
return /* @__PURE__ */ jsx17(PipeParallelSection, { blueprint, executionData });
|
|
1350
1439
|
case "PipeCondition":
|
|
1351
|
-
return /* @__PURE__ */
|
|
1440
|
+
return /* @__PURE__ */ jsx17(PipeConditionSection, { blueprint, executionData });
|
|
1352
1441
|
case "PipeBatch":
|
|
1353
|
-
return /* @__PURE__ */
|
|
1442
|
+
return /* @__PURE__ */ jsx17(PipeBatchSection, { blueprint, executionData });
|
|
1354
1443
|
case "PipeFunc":
|
|
1355
1444
|
return null;
|
|
1445
|
+
case "PipeJudge":
|
|
1446
|
+
return null;
|
|
1356
1447
|
case "PipeSignature":
|
|
1357
|
-
return /* @__PURE__ */
|
|
1358
|
-
default:
|
|
1448
|
+
return /* @__PURE__ */ jsx17("div", { className: "detail-not-available", children: "Signature stub \u2014 declared but not yet implemented." });
|
|
1449
|
+
default: {
|
|
1450
|
+
const _unhandled = blueprint;
|
|
1451
|
+
void _unhandled;
|
|
1359
1452
|
return null;
|
|
1453
|
+
}
|
|
1360
1454
|
}
|
|
1361
1455
|
}
|
|
1362
1456
|
function ExecutionDataSection({
|
|
@@ -1365,20 +1459,19 @@ function ExecutionDataSection({
|
|
|
1365
1459
|
hasBlueprint
|
|
1366
1460
|
}) {
|
|
1367
1461
|
if (!shouldDumpExecutionData(pipeType, hasBlueprint)) return null;
|
|
1368
|
-
return /* @__PURE__ */
|
|
1462
|
+
return /* @__PURE__ */ jsx17(GenericExecutionData, { entries: dumpableExecutionData(pipeType, executionData) });
|
|
1369
1463
|
}
|
|
1370
|
-
function GenericExecutionData({
|
|
1371
|
-
const entries = Object.entries(data);
|
|
1464
|
+
function GenericExecutionData({ entries }) {
|
|
1372
1465
|
if (entries.length === 0) return null;
|
|
1373
|
-
return /* @__PURE__ */
|
|
1374
|
-
/* @__PURE__ */
|
|
1375
|
-
entries.map(([key, value]) => /* @__PURE__ */
|
|
1466
|
+
return /* @__PURE__ */ jsxs17(Fragment11, { children: [
|
|
1467
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Execution" }),
|
|
1468
|
+
entries.map(([key, value]) => /* @__PURE__ */ jsx17(KV, { label: key, value: String(value) }, key))
|
|
1376
1469
|
] });
|
|
1377
1470
|
}
|
|
1378
1471
|
|
|
1379
1472
|
// src/graph/react/detail/ConceptDetailPanel.tsx
|
|
1380
1473
|
import React7 from "react";
|
|
1381
|
-
import { Fragment as
|
|
1474
|
+
import { Fragment as Fragment12, jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1382
1475
|
function ConceptDetailPanel({
|
|
1383
1476
|
concept,
|
|
1384
1477
|
ioData,
|
|
@@ -1388,18 +1481,18 @@ function ConceptDetailPanel({
|
|
|
1388
1481
|
}) {
|
|
1389
1482
|
var _a;
|
|
1390
1483
|
const multiplicity = ioData == null ? void 0 : ioData.multiplicity;
|
|
1391
|
-
return /* @__PURE__ */
|
|
1392
|
-
/* @__PURE__ */
|
|
1393
|
-
/* @__PURE__ */
|
|
1394
|
-
/* @__PURE__ */
|
|
1484
|
+
return /* @__PURE__ */ jsxs18(Fragment12, { children: [
|
|
1485
|
+
/* @__PURE__ */ jsxs18("div", { className: "detail-header", children: [
|
|
1486
|
+
/* @__PURE__ */ jsx18("span", { className: "detail-concept-code", children: concept.code + multiplicitySuffix(multiplicity) }),
|
|
1487
|
+
/* @__PURE__ */ jsx18("span", { className: "detail-concept-domain", children: concept.domain_code })
|
|
1395
1488
|
] }),
|
|
1396
|
-
isPluralMultiplicity(multiplicity) && /* @__PURE__ */
|
|
1397
|
-
concept.description && /* @__PURE__ */
|
|
1398
|
-
concept.refines && /* @__PURE__ */
|
|
1489
|
+
isPluralMultiplicity(multiplicity) && /* @__PURE__ */ jsx18("div", { className: "detail-multiplicity", children: multiplicity === true ? `A variable-length list of ${concept.code} items` : `A fixed-length list of exactly ${multiplicity} ${concept.code} items` }),
|
|
1490
|
+
concept.description && /* @__PURE__ */ jsx18("div", { className: "detail-description", children: concept.description }),
|
|
1491
|
+
concept.refines && /* @__PURE__ */ jsxs18("div", { className: "detail-refines", children: [
|
|
1399
1492
|
"refines ",
|
|
1400
|
-
/* @__PURE__ */
|
|
1493
|
+
/* @__PURE__ */ jsx18("span", { className: "detail-refines-code", children: concept.refines })
|
|
1401
1494
|
] }),
|
|
1402
|
-
/* @__PURE__ */
|
|
1495
|
+
/* @__PURE__ */ jsx18(
|
|
1403
1496
|
ConceptBody,
|
|
1404
1497
|
{
|
|
1405
1498
|
concept,
|
|
@@ -1418,10 +1511,10 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1418
1511
|
const baseId = React7.useId();
|
|
1419
1512
|
const tabId = (tab) => `${baseId}-tab-${tab}`;
|
|
1420
1513
|
const panelId = (tab) => `${baseId}-tabpanel-${tab}`;
|
|
1421
|
-
const structure = concept.json_schema ? /* @__PURE__ */
|
|
1422
|
-
/* @__PURE__ */
|
|
1423
|
-
/* @__PURE__ */
|
|
1424
|
-
] }) : /* @__PURE__ */
|
|
1514
|
+
const structure = concept.json_schema ? /* @__PURE__ */ jsxs18("div", { children: [
|
|
1515
|
+
/* @__PURE__ */ jsx18("div", { className: "detail-section-label", children: "Structure" }),
|
|
1516
|
+
/* @__PURE__ */ jsx18(SchemaTable, { schema: concept.json_schema })
|
|
1517
|
+
] }) : /* @__PURE__ */ jsx18("div", { className: "detail-not-available", children: "Schema not available" });
|
|
1425
1518
|
if (!hasData) return structure;
|
|
1426
1519
|
const onTabKeyDown = (event) => {
|
|
1427
1520
|
var _a;
|
|
@@ -1444,7 +1537,7 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1444
1537
|
setActiveTab(next);
|
|
1445
1538
|
(_a = document.getElementById(tabId(next))) == null ? void 0 : _a.focus();
|
|
1446
1539
|
};
|
|
1447
|
-
const renderTab = (tab, label) => /* @__PURE__ */
|
|
1540
|
+
const renderTab = (tab, label) => /* @__PURE__ */ jsx18(
|
|
1448
1541
|
"button",
|
|
1449
1542
|
{
|
|
1450
1543
|
type: "button",
|
|
@@ -1459,12 +1552,12 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1459
1552
|
children: label
|
|
1460
1553
|
}
|
|
1461
1554
|
);
|
|
1462
|
-
return /* @__PURE__ */
|
|
1463
|
-
/* @__PURE__ */
|
|
1555
|
+
return /* @__PURE__ */ jsxs18(Fragment12, { children: [
|
|
1556
|
+
/* @__PURE__ */ jsxs18("div", { className: "detail-tabs", role: "tablist", "aria-label": "Concept views", children: [
|
|
1464
1557
|
renderTab("data", "Data"),
|
|
1465
1558
|
renderTab("structure", "Structure")
|
|
1466
1559
|
] }),
|
|
1467
|
-
/* @__PURE__ */
|
|
1560
|
+
/* @__PURE__ */ jsx18("div", { role: "tabpanel", id: panelId(activeTab), "aria-labelledby": tabId(activeTab), children: activeTab === "data" ? dataView : structure })
|
|
1468
1561
|
] });
|
|
1469
1562
|
}
|
|
1470
1563
|
function SchemaTable({ schema }) {
|
|
@@ -1472,23 +1565,23 @@ function SchemaTable({ schema }) {
|
|
|
1472
1565
|
const properties = schema.properties;
|
|
1473
1566
|
const required = new Set((_a = schema.required) != null ? _a : []);
|
|
1474
1567
|
if (!properties || Object.keys(properties).length === 0) {
|
|
1475
|
-
return /* @__PURE__ */
|
|
1568
|
+
return /* @__PURE__ */ jsx18("div", { className: "detail-not-available", children: "No fields defined" });
|
|
1476
1569
|
}
|
|
1477
1570
|
const fields = Object.entries(properties);
|
|
1478
|
-
return /* @__PURE__ */
|
|
1479
|
-
/* @__PURE__ */
|
|
1480
|
-
/* @__PURE__ */
|
|
1481
|
-
/* @__PURE__ */
|
|
1482
|
-
/* @__PURE__ */
|
|
1483
|
-
/* @__PURE__ */
|
|
1571
|
+
return /* @__PURE__ */ jsxs18("table", { className: "detail-schema-table", children: [
|
|
1572
|
+
/* @__PURE__ */ jsx18("thead", { children: /* @__PURE__ */ jsxs18("tr", { children: [
|
|
1573
|
+
/* @__PURE__ */ jsx18("th", { children: "Field" }),
|
|
1574
|
+
/* @__PURE__ */ jsx18("th", { children: "Type" }),
|
|
1575
|
+
/* @__PURE__ */ jsx18("th", {}),
|
|
1576
|
+
/* @__PURE__ */ jsx18("th", { children: "Description" })
|
|
1484
1577
|
] }) }),
|
|
1485
|
-
/* @__PURE__ */
|
|
1578
|
+
/* @__PURE__ */ jsx18("tbody", { children: fields.map(([fieldName, fieldSchema]) => {
|
|
1486
1579
|
var _a2;
|
|
1487
|
-
return /* @__PURE__ */
|
|
1488
|
-
/* @__PURE__ */
|
|
1489
|
-
/* @__PURE__ */
|
|
1490
|
-
/* @__PURE__ */
|
|
1491
|
-
/* @__PURE__ */
|
|
1580
|
+
return /* @__PURE__ */ jsxs18("tr", { children: [
|
|
1581
|
+
/* @__PURE__ */ jsx18("td", { className: "detail-schema-field", children: fieldName }),
|
|
1582
|
+
/* @__PURE__ */ jsx18("td", { className: "detail-schema-type", children: extractType(fieldSchema) }),
|
|
1583
|
+
/* @__PURE__ */ jsx18("td", { children: required.has(fieldName) && /* @__PURE__ */ jsx18("span", { className: "detail-schema-required", children: "req" }) }),
|
|
1584
|
+
/* @__PURE__ */ jsx18("td", { children: (_a2 = fieldSchema.description) != null ? _a2 : "" })
|
|
1492
1585
|
] }, fieldName);
|
|
1493
1586
|
}) })
|
|
1494
1587
|
] });
|
|
@@ -1539,10 +1632,10 @@ function toAppEdges(edges) {
|
|
|
1539
1632
|
}
|
|
1540
1633
|
|
|
1541
1634
|
// src/graph/react/viewer/renderLabel.tsx
|
|
1542
|
-
import { jsx as
|
|
1635
|
+
import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1543
1636
|
function renderLabel(desc) {
|
|
1544
1637
|
if (desc.kind === "pipe") {
|
|
1545
|
-
return /* @__PURE__ */
|
|
1638
|
+
return /* @__PURE__ */ jsx19(
|
|
1546
1639
|
"div",
|
|
1547
1640
|
{
|
|
1548
1641
|
style: {
|
|
@@ -1556,7 +1649,7 @@ function renderLabel(desc) {
|
|
|
1556
1649
|
minWidth: 0
|
|
1557
1650
|
},
|
|
1558
1651
|
title: desc.label,
|
|
1559
|
-
children: /* @__PURE__ */
|
|
1652
|
+
children: /* @__PURE__ */ jsx19(
|
|
1560
1653
|
"span",
|
|
1561
1654
|
{
|
|
1562
1655
|
style: {
|
|
@@ -1575,7 +1668,7 @@ function renderLabel(desc) {
|
|
|
1575
1668
|
}
|
|
1576
1669
|
);
|
|
1577
1670
|
}
|
|
1578
|
-
return /* @__PURE__ */
|
|
1671
|
+
return /* @__PURE__ */ jsxs19(
|
|
1579
1672
|
"div",
|
|
1580
1673
|
{
|
|
1581
1674
|
style: {
|
|
@@ -1591,7 +1684,7 @@ function renderLabel(desc) {
|
|
|
1591
1684
|
},
|
|
1592
1685
|
title: desc.concept ? `${desc.label}: ${desc.concept}` : desc.label,
|
|
1593
1686
|
children: [
|
|
1594
|
-
/* @__PURE__ */
|
|
1687
|
+
/* @__PURE__ */ jsx19(
|
|
1595
1688
|
"span",
|
|
1596
1689
|
{
|
|
1597
1690
|
style: {
|
|
@@ -1607,7 +1700,7 @@ function renderLabel(desc) {
|
|
|
1607
1700
|
children: desc.label
|
|
1608
1701
|
}
|
|
1609
1702
|
),
|
|
1610
|
-
desc.concept && /* @__PURE__ */
|
|
1703
|
+
desc.concept && /* @__PURE__ */ jsx19(
|
|
1611
1704
|
"span",
|
|
1612
1705
|
{
|
|
1613
1706
|
style: {
|
|
@@ -1641,7 +1734,7 @@ import React10 from "react";
|
|
|
1641
1734
|
import { Panel } from "@xyflow/react";
|
|
1642
1735
|
|
|
1643
1736
|
// src/graph/react/viewer/ValidationPanel.tsx
|
|
1644
|
-
import { jsx as
|
|
1737
|
+
import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1645
1738
|
function validationLabel(state, issueCount) {
|
|
1646
1739
|
const issues = issueCount === 1 ? "1 issue" : `${issueCount} issues`;
|
|
1647
1740
|
switch (state) {
|
|
@@ -1708,7 +1801,7 @@ function ValidationPanel({
|
|
|
1708
1801
|
placement,
|
|
1709
1802
|
id
|
|
1710
1803
|
}) {
|
|
1711
|
-
return /* @__PURE__ */
|
|
1804
|
+
return /* @__PURE__ */ jsxs20(
|
|
1712
1805
|
"div",
|
|
1713
1806
|
{
|
|
1714
1807
|
id,
|
|
@@ -1716,18 +1809,18 @@ function ValidationPanel({
|
|
|
1716
1809
|
role: "region",
|
|
1717
1810
|
"aria-label": "Validation issues",
|
|
1718
1811
|
children: [
|
|
1719
|
-
/* @__PURE__ */
|
|
1720
|
-
issues.length === 0 ? /* @__PURE__ */
|
|
1812
|
+
/* @__PURE__ */ jsx20("div", { className: "graph-validation-panel-header", children: validationLabel(state, issues.length) }),
|
|
1813
|
+
issues.length === 0 ? /* @__PURE__ */ jsx20("div", { className: "graph-validation-empty", children: validationEmptyText(state) }) : /* @__PURE__ */ jsx20("ul", { className: "graph-validation-issues", role: "list", children: issues.map((issue, index) => {
|
|
1721
1814
|
const clickable = onIssueClick !== void 0;
|
|
1722
|
-
const meta = (issue.context || issue.file) && /* @__PURE__ */
|
|
1723
|
-
issue.context && /* @__PURE__ */
|
|
1724
|
-
issue.file && /* @__PURE__ */
|
|
1815
|
+
const meta = (issue.context || issue.file) && /* @__PURE__ */ jsxs20("div", { className: "graph-validation-issue-meta", children: [
|
|
1816
|
+
issue.context && /* @__PURE__ */ jsx20("span", { className: "graph-validation-issue-context", children: issue.context }),
|
|
1817
|
+
issue.file && /* @__PURE__ */ jsx20("span", { className: "graph-validation-issue-file", children: issue.file })
|
|
1725
1818
|
] });
|
|
1726
|
-
return /* @__PURE__ */
|
|
1819
|
+
return /* @__PURE__ */ jsx20(
|
|
1727
1820
|
"li",
|
|
1728
1821
|
{
|
|
1729
1822
|
className: `graph-validation-issue graph-validation-issue--${issue.severity}` + (clickable ? " graph-validation-issue--clickable" : ""),
|
|
1730
|
-
children: /* @__PURE__ */
|
|
1823
|
+
children: /* @__PURE__ */ jsxs20(
|
|
1731
1824
|
"div",
|
|
1732
1825
|
{
|
|
1733
1826
|
className: "graph-validation-issue-body",
|
|
@@ -1742,8 +1835,8 @@ function ValidationPanel({
|
|
|
1742
1835
|
} : void 0,
|
|
1743
1836
|
children: [
|
|
1744
1837
|
meta,
|
|
1745
|
-
/* @__PURE__ */
|
|
1746
|
-
issue.suggestedFix && /* @__PURE__ */
|
|
1838
|
+
/* @__PURE__ */ jsx20("div", { className: "graph-validation-issue-message", children: issue.message }),
|
|
1839
|
+
issue.suggestedFix && /* @__PURE__ */ jsx20("div", { className: "graph-validation-issue-fix", children: issue.suggestedFix })
|
|
1747
1840
|
]
|
|
1748
1841
|
}
|
|
1749
1842
|
)
|
|
@@ -1785,7 +1878,7 @@ function usePopoverDismiss(open, wrapperRef, onDismiss) {
|
|
|
1785
1878
|
}
|
|
1786
1879
|
|
|
1787
1880
|
// src/graph/react/viewer/StyleMenu.tsx
|
|
1788
|
-
import { jsx as
|
|
1881
|
+
import { jsx as jsx21, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1789
1882
|
var ICON_PROPS = {
|
|
1790
1883
|
viewBox: "0 0 24 24",
|
|
1791
1884
|
width: 14,
|
|
@@ -1798,22 +1891,22 @@ var ICON_PROPS = {
|
|
|
1798
1891
|
};
|
|
1799
1892
|
var STYLE_ICONS = {
|
|
1800
1893
|
// Cards with their rows: every pipe with its slots.
|
|
1801
|
-
[GRAPH_STYLE.DETAILED]: /* @__PURE__ */
|
|
1802
|
-
/* @__PURE__ */
|
|
1803
|
-
/* @__PURE__ */
|
|
1804
|
-
/* @__PURE__ */
|
|
1805
|
-
/* @__PURE__ */
|
|
1806
|
-
/* @__PURE__ */
|
|
1807
|
-
/* @__PURE__ */
|
|
1894
|
+
[GRAPH_STYLE.DETAILED]: /* @__PURE__ */ jsxs21("svg", __spreadProps(__spreadValues({}, ICON_PROPS), { children: [
|
|
1895
|
+
/* @__PURE__ */ jsx21("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
|
|
1896
|
+
/* @__PURE__ */ jsx21("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
|
|
1897
|
+
/* @__PURE__ */ jsx21("line", { x1: "14", y1: "4", x2: "21", y2: "4" }),
|
|
1898
|
+
/* @__PURE__ */ jsx21("line", { x1: "14", y1: "9", x2: "21", y2: "9" }),
|
|
1899
|
+
/* @__PURE__ */ jsx21("line", { x1: "14", y1: "15", x2: "21", y2: "15" }),
|
|
1900
|
+
/* @__PURE__ */ jsx21("line", { x1: "14", y1: "20", x2: "21", y2: "20" })
|
|
1808
1901
|
] })),
|
|
1809
1902
|
// Two steps and the arrow between them: a flowchart.
|
|
1810
|
-
[GRAPH_STYLE.SIMPLE]: /* @__PURE__ */
|
|
1811
|
-
/* @__PURE__ */
|
|
1812
|
-
/* @__PURE__ */
|
|
1813
|
-
/* @__PURE__ */
|
|
1903
|
+
[GRAPH_STYLE.SIMPLE]: /* @__PURE__ */ jsxs21("svg", __spreadProps(__spreadValues({}, ICON_PROPS), { children: [
|
|
1904
|
+
/* @__PURE__ */ jsx21("rect", { x: "3", y: "3", width: "8", height: "8", rx: "2" }),
|
|
1905
|
+
/* @__PURE__ */ jsx21("path", { d: "M7 11v4a2 2 0 0 0 2 2h4" }),
|
|
1906
|
+
/* @__PURE__ */ jsx21("rect", { x: "13", y: "13", width: "8", height: "8", rx: "2" })
|
|
1814
1907
|
] }))
|
|
1815
1908
|
};
|
|
1816
|
-
var CHECK_ICON2 = /* @__PURE__ */
|
|
1909
|
+
var CHECK_ICON2 = /* @__PURE__ */ jsx21("svg", __spreadProps(__spreadValues({}, ICON_PROPS), { children: /* @__PURE__ */ jsx21("polyline", { points: "20 6 9 17 4 12" }) }));
|
|
1817
1910
|
function graphStyleIcon(style) {
|
|
1818
1911
|
return STYLE_ICONS[style];
|
|
1819
1912
|
}
|
|
@@ -1878,8 +1971,8 @@ function StyleMenu({ value, options, onChange, placement }) {
|
|
|
1878
1971
|
if (style !== value) onChange(style);
|
|
1879
1972
|
};
|
|
1880
1973
|
const label = styleMenuLabel(value);
|
|
1881
|
-
return /* @__PURE__ */
|
|
1882
|
-
/* @__PURE__ */
|
|
1974
|
+
return /* @__PURE__ */ jsxs21("div", { className: "graph-toolbar-style", ref: wrapperRef, children: [
|
|
1975
|
+
/* @__PURE__ */ jsx21(
|
|
1883
1976
|
"button",
|
|
1884
1977
|
{
|
|
1885
1978
|
ref: buttonRef,
|
|
@@ -1900,7 +1993,7 @@ function StyleMenu({ value, options, onChange, placement }) {
|
|
|
1900
1993
|
children: graphStyleIcon(value)
|
|
1901
1994
|
}
|
|
1902
1995
|
),
|
|
1903
|
-
open && /* @__PURE__ */
|
|
1996
|
+
open && /* @__PURE__ */ jsx21(
|
|
1904
1997
|
"div",
|
|
1905
1998
|
{
|
|
1906
1999
|
id: menuId,
|
|
@@ -1911,7 +2004,7 @@ function StyleMenu({ value, options, onChange, placement }) {
|
|
|
1911
2004
|
children: options.map((style, index) => {
|
|
1912
2005
|
const descriptor = GRAPH_STYLES[style];
|
|
1913
2006
|
const checked = style === value;
|
|
1914
|
-
return /* @__PURE__ */
|
|
2007
|
+
return /* @__PURE__ */ jsxs21(
|
|
1915
2008
|
"button",
|
|
1916
2009
|
{
|
|
1917
2010
|
ref: (el) => {
|
|
@@ -1924,12 +2017,12 @@ function StyleMenu({ value, options, onChange, placement }) {
|
|
|
1924
2017
|
className: `graph-style-menu-item${checked ? " graph-style-menu-item--checked" : ""}`,
|
|
1925
2018
|
onClick: () => choose(style),
|
|
1926
2019
|
children: [
|
|
1927
|
-
/* @__PURE__ */
|
|
1928
|
-
/* @__PURE__ */
|
|
1929
|
-
/* @__PURE__ */
|
|
1930
|
-
/* @__PURE__ */
|
|
2020
|
+
/* @__PURE__ */ jsx21("span", { className: "graph-style-menu-icon", "aria-hidden": "true", children: graphStyleIcon(style) }),
|
|
2021
|
+
/* @__PURE__ */ jsxs21("span", { className: "graph-style-menu-text", children: [
|
|
2022
|
+
/* @__PURE__ */ jsx21("span", { className: "graph-style-menu-name", children: descriptor.name }),
|
|
2023
|
+
/* @__PURE__ */ jsx21("span", { className: "graph-style-menu-description", children: descriptor.description })
|
|
1931
2024
|
] }),
|
|
1932
|
-
/* @__PURE__ */
|
|
2025
|
+
/* @__PURE__ */ jsx21("span", { className: "graph-style-menu-check", "aria-hidden": "true", children: checked ? CHECK_ICON2 : null })
|
|
1933
2026
|
]
|
|
1934
2027
|
},
|
|
1935
2028
|
style
|
|
@@ -1941,9 +2034,9 @@ function StyleMenu({ value, options, onChange, placement }) {
|
|
|
1941
2034
|
}
|
|
1942
2035
|
|
|
1943
2036
|
// src/graph/react/viewer/GraphToolbar.tsx
|
|
1944
|
-
import { Fragment as
|
|
2037
|
+
import { Fragment as Fragment13, jsx as jsx22, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1945
2038
|
var REACTFLOW_PANEL_MARGIN = 15;
|
|
1946
|
-
var ARROW_RIGHT_ICON = /* @__PURE__ */
|
|
2039
|
+
var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs22(
|
|
1947
2040
|
"svg",
|
|
1948
2041
|
{
|
|
1949
2042
|
viewBox: "0 0 24 24",
|
|
@@ -1955,12 +2048,12 @@ var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs21(
|
|
|
1955
2048
|
strokeLinecap: "round",
|
|
1956
2049
|
strokeLinejoin: "round",
|
|
1957
2050
|
children: [
|
|
1958
|
-
/* @__PURE__ */
|
|
1959
|
-
/* @__PURE__ */
|
|
2051
|
+
/* @__PURE__ */ jsx22("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
2052
|
+
/* @__PURE__ */ jsx22("polyline", { points: "12 5 19 12 12 19" })
|
|
1960
2053
|
]
|
|
1961
2054
|
}
|
|
1962
2055
|
);
|
|
1963
|
-
var ARROW_DOWN_ICON = /* @__PURE__ */
|
|
2056
|
+
var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs22(
|
|
1964
2057
|
"svg",
|
|
1965
2058
|
{
|
|
1966
2059
|
viewBox: "0 0 24 24",
|
|
@@ -1972,12 +2065,12 @@ var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs21(
|
|
|
1972
2065
|
strokeLinecap: "round",
|
|
1973
2066
|
strokeLinejoin: "round",
|
|
1974
2067
|
children: [
|
|
1975
|
-
/* @__PURE__ */
|
|
1976
|
-
/* @__PURE__ */
|
|
2068
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
2069
|
+
/* @__PURE__ */ jsx22("polyline", { points: "19 12 12 19 5 12" })
|
|
1977
2070
|
]
|
|
1978
2071
|
}
|
|
1979
2072
|
);
|
|
1980
|
-
var MINUS_ICON = /* @__PURE__ */
|
|
2073
|
+
var MINUS_ICON = /* @__PURE__ */ jsx22(
|
|
1981
2074
|
"svg",
|
|
1982
2075
|
{
|
|
1983
2076
|
viewBox: "0 0 24 24",
|
|
@@ -1988,10 +2081,10 @@ var MINUS_ICON = /* @__PURE__ */ jsx21(
|
|
|
1988
2081
|
strokeWidth: "2",
|
|
1989
2082
|
strokeLinecap: "round",
|
|
1990
2083
|
strokeLinejoin: "round",
|
|
1991
|
-
children: /* @__PURE__ */
|
|
2084
|
+
children: /* @__PURE__ */ jsx22("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
1992
2085
|
}
|
|
1993
2086
|
);
|
|
1994
|
-
var PLUS_ICON = /* @__PURE__ */
|
|
2087
|
+
var PLUS_ICON = /* @__PURE__ */ jsxs22(
|
|
1995
2088
|
"svg",
|
|
1996
2089
|
{
|
|
1997
2090
|
viewBox: "0 0 24 24",
|
|
@@ -2003,12 +2096,12 @@ var PLUS_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2003
2096
|
strokeLinecap: "round",
|
|
2004
2097
|
strokeLinejoin: "round",
|
|
2005
2098
|
children: [
|
|
2006
|
-
/* @__PURE__ */
|
|
2007
|
-
/* @__PURE__ */
|
|
2099
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
2100
|
+
/* @__PURE__ */ jsx22("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
2008
2101
|
]
|
|
2009
2102
|
}
|
|
2010
2103
|
);
|
|
2011
|
-
var FIT_VIEW_ICON = /* @__PURE__ */
|
|
2104
|
+
var FIT_VIEW_ICON = /* @__PURE__ */ jsxs22(
|
|
2012
2105
|
"svg",
|
|
2013
2106
|
{
|
|
2014
2107
|
viewBox: "0 0 24 24",
|
|
@@ -2020,14 +2113,14 @@ var FIT_VIEW_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2020
2113
|
strokeLinecap: "round",
|
|
2021
2114
|
strokeLinejoin: "round",
|
|
2022
2115
|
children: [
|
|
2023
|
-
/* @__PURE__ */
|
|
2024
|
-
/* @__PURE__ */
|
|
2025
|
-
/* @__PURE__ */
|
|
2026
|
-
/* @__PURE__ */
|
|
2116
|
+
/* @__PURE__ */ jsx22("polyline", { points: "15 3 21 3 21 9" }),
|
|
2117
|
+
/* @__PURE__ */ jsx22("polyline", { points: "9 21 3 21 3 15" }),
|
|
2118
|
+
/* @__PURE__ */ jsx22("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
|
|
2119
|
+
/* @__PURE__ */ jsx22("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
2027
2120
|
]
|
|
2028
2121
|
}
|
|
2029
2122
|
);
|
|
2030
|
-
var BOXES_ICON = /* @__PURE__ */
|
|
2123
|
+
var BOXES_ICON = /* @__PURE__ */ jsxs22(
|
|
2031
2124
|
"svg",
|
|
2032
2125
|
{
|
|
2033
2126
|
viewBox: "0 0 24 24",
|
|
@@ -2039,22 +2132,22 @@ var BOXES_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2039
2132
|
strokeLinecap: "round",
|
|
2040
2133
|
strokeLinejoin: "round",
|
|
2041
2134
|
children: [
|
|
2042
|
-
/* @__PURE__ */
|
|
2043
|
-
/* @__PURE__ */
|
|
2044
|
-
/* @__PURE__ */
|
|
2045
|
-
/* @__PURE__ */
|
|
2046
|
-
/* @__PURE__ */
|
|
2047
|
-
/* @__PURE__ */
|
|
2048
|
-
/* @__PURE__ */
|
|
2049
|
-
/* @__PURE__ */
|
|
2050
|
-
/* @__PURE__ */
|
|
2051
|
-
/* @__PURE__ */
|
|
2052
|
-
/* @__PURE__ */
|
|
2053
|
-
/* @__PURE__ */
|
|
2135
|
+
/* @__PURE__ */ jsx22("path", { d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z" }),
|
|
2136
|
+
/* @__PURE__ */ jsx22("path", { d: "m7 16.5-4.74-2.85" }),
|
|
2137
|
+
/* @__PURE__ */ jsx22("path", { d: "m7 16.5 5-3" }),
|
|
2138
|
+
/* @__PURE__ */ jsx22("path", { d: "M7 16.5v5.17" }),
|
|
2139
|
+
/* @__PURE__ */ jsx22("path", { d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z" }),
|
|
2140
|
+
/* @__PURE__ */ jsx22("path", { d: "m17 16.5-5-3" }),
|
|
2141
|
+
/* @__PURE__ */ jsx22("path", { d: "m17 16.5 4.74-2.85" }),
|
|
2142
|
+
/* @__PURE__ */ jsx22("path", { d: "M17 16.5v5.17" }),
|
|
2143
|
+
/* @__PURE__ */ jsx22("path", { d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z" }),
|
|
2144
|
+
/* @__PURE__ */ jsx22("path", { d: "M12 8 7.26 5.15" }),
|
|
2145
|
+
/* @__PURE__ */ jsx22("path", { d: "m12 8 4.74-2.85" }),
|
|
2146
|
+
/* @__PURE__ */ jsx22("path", { d: "M12 13.5V8" })
|
|
2054
2147
|
]
|
|
2055
2148
|
}
|
|
2056
2149
|
);
|
|
2057
|
-
var FOLD_ALL_ICON = /* @__PURE__ */
|
|
2150
|
+
var FOLD_ALL_ICON = /* @__PURE__ */ jsxs22(
|
|
2058
2151
|
"svg",
|
|
2059
2152
|
{
|
|
2060
2153
|
viewBox: "0 0 24 24",
|
|
@@ -2066,15 +2159,15 @@ var FOLD_ALL_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2066
2159
|
strokeLinecap: "round",
|
|
2067
2160
|
strokeLinejoin: "round",
|
|
2068
2161
|
children: [
|
|
2069
|
-
/* @__PURE__ */
|
|
2070
|
-
/* @__PURE__ */
|
|
2071
|
-
/* @__PURE__ */
|
|
2072
|
-
/* @__PURE__ */
|
|
2073
|
-
/* @__PURE__ */
|
|
2162
|
+
/* @__PURE__ */ jsx22("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2" }),
|
|
2163
|
+
/* @__PURE__ */ jsx22("polyline", { points: "2 2 6 6 2 6" }),
|
|
2164
|
+
/* @__PURE__ */ jsx22("polyline", { points: "22 2 18 6 22 6" }),
|
|
2165
|
+
/* @__PURE__ */ jsx22("polyline", { points: "2 22 6 18 2 18" }),
|
|
2166
|
+
/* @__PURE__ */ jsx22("polyline", { points: "22 22 18 18 22 18" })
|
|
2074
2167
|
]
|
|
2075
2168
|
}
|
|
2076
2169
|
);
|
|
2077
|
-
var EXPAND_ALL_ICON = /* @__PURE__ */
|
|
2170
|
+
var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs22(
|
|
2078
2171
|
"svg",
|
|
2079
2172
|
{
|
|
2080
2173
|
viewBox: "0 0 24 24",
|
|
@@ -2086,15 +2179,15 @@ var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2086
2179
|
strokeLinecap: "round",
|
|
2087
2180
|
strokeLinejoin: "round",
|
|
2088
2181
|
children: [
|
|
2089
|
-
/* @__PURE__ */
|
|
2090
|
-
/* @__PURE__ */
|
|
2091
|
-
/* @__PURE__ */
|
|
2092
|
-
/* @__PURE__ */
|
|
2093
|
-
/* @__PURE__ */
|
|
2182
|
+
/* @__PURE__ */ jsx22("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" }),
|
|
2183
|
+
/* @__PURE__ */ jsx22("polyline", { points: "3 3 7 7 3 7" }),
|
|
2184
|
+
/* @__PURE__ */ jsx22("polyline", { points: "21 3 17 7 21 7" }),
|
|
2185
|
+
/* @__PURE__ */ jsx22("polyline", { points: "3 21 7 17 3 17" }),
|
|
2186
|
+
/* @__PURE__ */ jsx22("polyline", { points: "21 21 17 17 21 17" })
|
|
2094
2187
|
]
|
|
2095
2188
|
}
|
|
2096
2189
|
);
|
|
2097
|
-
var SUN_ICON = /* @__PURE__ */
|
|
2190
|
+
var SUN_ICON = /* @__PURE__ */ jsxs22(
|
|
2098
2191
|
"svg",
|
|
2099
2192
|
{
|
|
2100
2193
|
viewBox: "0 0 24 24",
|
|
@@ -2106,19 +2199,19 @@ var SUN_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2106
2199
|
strokeLinecap: "round",
|
|
2107
2200
|
strokeLinejoin: "round",
|
|
2108
2201
|
children: [
|
|
2109
|
-
/* @__PURE__ */
|
|
2110
|
-
/* @__PURE__ */
|
|
2111
|
-
/* @__PURE__ */
|
|
2112
|
-
/* @__PURE__ */
|
|
2113
|
-
/* @__PURE__ */
|
|
2114
|
-
/* @__PURE__ */
|
|
2115
|
-
/* @__PURE__ */
|
|
2116
|
-
/* @__PURE__ */
|
|
2117
|
-
/* @__PURE__ */
|
|
2202
|
+
/* @__PURE__ */ jsx22("circle", { cx: "12", cy: "12", r: "4" }),
|
|
2203
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "2", x2: "12", y2: "4" }),
|
|
2204
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "20", x2: "12", y2: "22" }),
|
|
2205
|
+
/* @__PURE__ */ jsx22("line", { x1: "4.93", y1: "4.93", x2: "6.34", y2: "6.34" }),
|
|
2206
|
+
/* @__PURE__ */ jsx22("line", { x1: "17.66", y1: "17.66", x2: "19.07", y2: "19.07" }),
|
|
2207
|
+
/* @__PURE__ */ jsx22("line", { x1: "2", y1: "12", x2: "4", y2: "12" }),
|
|
2208
|
+
/* @__PURE__ */ jsx22("line", { x1: "20", y1: "12", x2: "22", y2: "12" }),
|
|
2209
|
+
/* @__PURE__ */ jsx22("line", { x1: "4.93", y1: "19.07", x2: "6.34", y2: "17.66" }),
|
|
2210
|
+
/* @__PURE__ */ jsx22("line", { x1: "17.66", y1: "6.34", x2: "19.07", y2: "4.93" })
|
|
2118
2211
|
]
|
|
2119
2212
|
}
|
|
2120
2213
|
);
|
|
2121
|
-
var MOON_ICON = /* @__PURE__ */
|
|
2214
|
+
var MOON_ICON = /* @__PURE__ */ jsx22(
|
|
2122
2215
|
"svg",
|
|
2123
2216
|
{
|
|
2124
2217
|
viewBox: "0 0 24 24",
|
|
@@ -2129,10 +2222,10 @@ var MOON_ICON = /* @__PURE__ */ jsx21(
|
|
|
2129
2222
|
strokeWidth: "2",
|
|
2130
2223
|
strokeLinecap: "round",
|
|
2131
2224
|
strokeLinejoin: "round",
|
|
2132
|
-
children: /* @__PURE__ */
|
|
2225
|
+
children: /* @__PURE__ */ jsx22("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
2133
2226
|
}
|
|
2134
2227
|
);
|
|
2135
|
-
var MONITOR_ICON = /* @__PURE__ */
|
|
2228
|
+
var MONITOR_ICON = /* @__PURE__ */ jsxs22(
|
|
2136
2229
|
"svg",
|
|
2137
2230
|
{
|
|
2138
2231
|
viewBox: "0 0 24 24",
|
|
@@ -2144,13 +2237,13 @@ var MONITOR_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2144
2237
|
strokeLinecap: "round",
|
|
2145
2238
|
strokeLinejoin: "round",
|
|
2146
2239
|
children: [
|
|
2147
|
-
/* @__PURE__ */
|
|
2148
|
-
/* @__PURE__ */
|
|
2149
|
-
/* @__PURE__ */
|
|
2240
|
+
/* @__PURE__ */ jsx22("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
|
|
2241
|
+
/* @__PURE__ */ jsx22("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
|
|
2242
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
|
|
2150
2243
|
]
|
|
2151
2244
|
}
|
|
2152
2245
|
);
|
|
2153
|
-
var SPINNER_ICON = /* @__PURE__ */
|
|
2246
|
+
var SPINNER_ICON = /* @__PURE__ */ jsx22(
|
|
2154
2247
|
"svg",
|
|
2155
2248
|
{
|
|
2156
2249
|
className: "graph-toolbar-validation-spin",
|
|
@@ -2162,10 +2255,10 @@ var SPINNER_ICON = /* @__PURE__ */ jsx21(
|
|
|
2162
2255
|
strokeWidth: "2",
|
|
2163
2256
|
strokeLinecap: "round",
|
|
2164
2257
|
strokeLinejoin: "round",
|
|
2165
|
-
children: /* @__PURE__ */
|
|
2258
|
+
children: /* @__PURE__ */ jsx22("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
2166
2259
|
}
|
|
2167
2260
|
);
|
|
2168
|
-
var CHECK_ICON3 = /* @__PURE__ */
|
|
2261
|
+
var CHECK_ICON3 = /* @__PURE__ */ jsx22(
|
|
2169
2262
|
"svg",
|
|
2170
2263
|
{
|
|
2171
2264
|
viewBox: "0 0 24 24",
|
|
@@ -2176,10 +2269,10 @@ var CHECK_ICON3 = /* @__PURE__ */ jsx21(
|
|
|
2176
2269
|
strokeWidth: "2",
|
|
2177
2270
|
strokeLinecap: "round",
|
|
2178
2271
|
strokeLinejoin: "round",
|
|
2179
|
-
children: /* @__PURE__ */
|
|
2272
|
+
children: /* @__PURE__ */ jsx22("polyline", { points: "20 6 9 17 4 12" })
|
|
2180
2273
|
}
|
|
2181
2274
|
);
|
|
2182
|
-
var X_CIRCLE_ICON = /* @__PURE__ */
|
|
2275
|
+
var X_CIRCLE_ICON = /* @__PURE__ */ jsxs22(
|
|
2183
2276
|
"svg",
|
|
2184
2277
|
{
|
|
2185
2278
|
viewBox: "0 0 24 24",
|
|
@@ -2191,13 +2284,13 @@ var X_CIRCLE_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2191
2284
|
strokeLinecap: "round",
|
|
2192
2285
|
strokeLinejoin: "round",
|
|
2193
2286
|
children: [
|
|
2194
|
-
/* @__PURE__ */
|
|
2195
|
-
/* @__PURE__ */
|
|
2196
|
-
/* @__PURE__ */
|
|
2287
|
+
/* @__PURE__ */ jsx22("circle", { cx: "12", cy: "12", r: "10" }),
|
|
2288
|
+
/* @__PURE__ */ jsx22("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
|
|
2289
|
+
/* @__PURE__ */ jsx22("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
|
|
2197
2290
|
]
|
|
2198
2291
|
}
|
|
2199
2292
|
);
|
|
2200
|
-
var ALERT_TRIANGLE_ICON = /* @__PURE__ */
|
|
2293
|
+
var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs22(
|
|
2201
2294
|
"svg",
|
|
2202
2295
|
{
|
|
2203
2296
|
viewBox: "0 0 24 24",
|
|
@@ -2209,13 +2302,13 @@ var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2209
2302
|
strokeLinecap: "round",
|
|
2210
2303
|
strokeLinejoin: "round",
|
|
2211
2304
|
children: [
|
|
2212
|
-
/* @__PURE__ */
|
|
2213
|
-
/* @__PURE__ */
|
|
2214
|
-
/* @__PURE__ */
|
|
2305
|
+
/* @__PURE__ */ jsx22("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }),
|
|
2306
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
2307
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
|
|
2215
2308
|
]
|
|
2216
2309
|
}
|
|
2217
2310
|
);
|
|
2218
|
-
var INFO_CIRCLE_ICON = /* @__PURE__ */
|
|
2311
|
+
var INFO_CIRCLE_ICON = /* @__PURE__ */ jsxs22(
|
|
2219
2312
|
"svg",
|
|
2220
2313
|
{
|
|
2221
2314
|
viewBox: "0 0 24 24",
|
|
@@ -2227,9 +2320,9 @@ var INFO_CIRCLE_ICON = /* @__PURE__ */ jsxs21(
|
|
|
2227
2320
|
strokeLinecap: "round",
|
|
2228
2321
|
strokeLinejoin: "round",
|
|
2229
2322
|
children: [
|
|
2230
|
-
/* @__PURE__ */
|
|
2231
|
-
/* @__PURE__ */
|
|
2232
|
-
/* @__PURE__ */
|
|
2323
|
+
/* @__PURE__ */ jsx22("circle", { cx: "12", cy: "12", r: "10" }),
|
|
2324
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
2325
|
+
/* @__PURE__ */ jsx22("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
2233
2326
|
]
|
|
2234
2327
|
}
|
|
2235
2328
|
);
|
|
@@ -2320,10 +2413,10 @@ function GraphToolbar({
|
|
|
2320
2413
|
const foldAllSection = onFoldAll || onExpandAll;
|
|
2321
2414
|
const foldAllTitle = foldAllDisabled ? "Fold all controllers (nothing to fold)" : "Fold all controllers";
|
|
2322
2415
|
const expandAllTitle = expandAllDisabled ? "Expand all controllers (nothing to expand)" : "Expand all controllers";
|
|
2323
|
-
return /* @__PURE__ */
|
|
2324
|
-
validationState !== void 0 && /* @__PURE__ */
|
|
2325
|
-
/* @__PURE__ */
|
|
2326
|
-
/* @__PURE__ */
|
|
2416
|
+
return /* @__PURE__ */ jsx22(Panel, { position, className: "graph-toolbar-panel", style: panelStyle, children: /* @__PURE__ */ jsxs22("div", { className: `graph-toolbar graph-toolbar--${orientation}`, children: [
|
|
2417
|
+
validationState !== void 0 && /* @__PURE__ */ jsxs22(Fragment13, { children: [
|
|
2418
|
+
/* @__PURE__ */ jsxs22("div", { className: "graph-toolbar-validation", ref: validationRef, children: [
|
|
2419
|
+
/* @__PURE__ */ jsxs22(
|
|
2327
2420
|
"button",
|
|
2328
2421
|
{
|
|
2329
2422
|
type: "button",
|
|
@@ -2336,11 +2429,11 @@ function GraphToolbar({
|
|
|
2336
2429
|
"aria-controls": validationPanelId,
|
|
2337
2430
|
children: [
|
|
2338
2431
|
validationIcon(validationState),
|
|
2339
|
-
validationIssues.length > 0 && /* @__PURE__ */
|
|
2432
|
+
validationIssues.length > 0 && /* @__PURE__ */ jsx22("span", { className: "graph-toolbar-validation-badge", children: validationIssues.length > 99 ? "99+" : validationIssues.length })
|
|
2340
2433
|
]
|
|
2341
2434
|
}
|
|
2342
2435
|
),
|
|
2343
|
-
validationOpen && /* @__PURE__ */
|
|
2436
|
+
validationOpen && /* @__PURE__ */ jsx22(
|
|
2344
2437
|
ValidationPanel,
|
|
2345
2438
|
{
|
|
2346
2439
|
id: validationPanelId,
|
|
@@ -2351,10 +2444,10 @@ function GraphToolbar({
|
|
|
2351
2444
|
}
|
|
2352
2445
|
)
|
|
2353
2446
|
] }),
|
|
2354
|
-
/* @__PURE__ */
|
|
2447
|
+
/* @__PURE__ */ jsx22("div", { className: "graph-toolbar-separator" })
|
|
2355
2448
|
] }),
|
|
2356
|
-
styleMenuEnabled && /* @__PURE__ */
|
|
2357
|
-
/* @__PURE__ */
|
|
2449
|
+
styleMenuEnabled && /* @__PURE__ */ jsxs22(Fragment13, { children: [
|
|
2450
|
+
/* @__PURE__ */ jsx22(
|
|
2358
2451
|
StyleMenu,
|
|
2359
2452
|
{
|
|
2360
2453
|
value: graphStyle,
|
|
@@ -2363,9 +2456,9 @@ function GraphToolbar({
|
|
|
2363
2456
|
placement: validationPanelPlacement(position)
|
|
2364
2457
|
}
|
|
2365
2458
|
),
|
|
2366
|
-
/* @__PURE__ */
|
|
2459
|
+
/* @__PURE__ */ jsx22("div", { className: "graph-toolbar-separator" })
|
|
2367
2460
|
] }),
|
|
2368
|
-
onFoldAll && /* @__PURE__ */
|
|
2461
|
+
onFoldAll && /* @__PURE__ */ jsx22(
|
|
2369
2462
|
"button",
|
|
2370
2463
|
{
|
|
2371
2464
|
type: "button",
|
|
@@ -2377,7 +2470,7 @@ function GraphToolbar({
|
|
|
2377
2470
|
children: FOLD_ALL_ICON
|
|
2378
2471
|
}
|
|
2379
2472
|
),
|
|
2380
|
-
onExpandAll && /* @__PURE__ */
|
|
2473
|
+
onExpandAll && /* @__PURE__ */ jsx22(
|
|
2381
2474
|
"button",
|
|
2382
2475
|
{
|
|
2383
2476
|
type: "button",
|
|
@@ -2389,8 +2482,8 @@ function GraphToolbar({
|
|
|
2389
2482
|
children: EXPAND_ALL_ICON
|
|
2390
2483
|
}
|
|
2391
2484
|
),
|
|
2392
|
-
foldAllSection && /* @__PURE__ */
|
|
2393
|
-
onShowControllersChange && /* @__PURE__ */
|
|
2485
|
+
foldAllSection && /* @__PURE__ */ jsx22("div", { className: "graph-toolbar-separator" }),
|
|
2486
|
+
onShowControllersChange && /* @__PURE__ */ jsx22(
|
|
2394
2487
|
"button",
|
|
2395
2488
|
{
|
|
2396
2489
|
type: "button",
|
|
@@ -2401,7 +2494,7 @@ function GraphToolbar({
|
|
|
2401
2494
|
children: BOXES_ICON
|
|
2402
2495
|
}
|
|
2403
2496
|
),
|
|
2404
|
-
/* @__PURE__ */
|
|
2497
|
+
/* @__PURE__ */ jsx22(
|
|
2405
2498
|
"button",
|
|
2406
2499
|
{
|
|
2407
2500
|
type: "button",
|
|
@@ -2412,8 +2505,8 @@ function GraphToolbar({
|
|
|
2412
2505
|
children: isVertical ? ARROW_RIGHT_ICON : ARROW_DOWN_ICON
|
|
2413
2506
|
}
|
|
2414
2507
|
),
|
|
2415
|
-
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */
|
|
2416
|
-
onZoomOut && /* @__PURE__ */
|
|
2508
|
+
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */ jsx22("div", { className: "graph-toolbar-separator" }),
|
|
2509
|
+
onZoomOut && /* @__PURE__ */ jsx22(
|
|
2417
2510
|
"button",
|
|
2418
2511
|
{
|
|
2419
2512
|
type: "button",
|
|
@@ -2424,7 +2517,7 @@ function GraphToolbar({
|
|
|
2424
2517
|
children: MINUS_ICON
|
|
2425
2518
|
}
|
|
2426
2519
|
),
|
|
2427
|
-
onZoomIn && /* @__PURE__ */
|
|
2520
|
+
onZoomIn && /* @__PURE__ */ jsx22(
|
|
2428
2521
|
"button",
|
|
2429
2522
|
{
|
|
2430
2523
|
type: "button",
|
|
@@ -2435,7 +2528,7 @@ function GraphToolbar({
|
|
|
2435
2528
|
children: PLUS_ICON
|
|
2436
2529
|
}
|
|
2437
2530
|
),
|
|
2438
|
-
onFitView && /* @__PURE__ */
|
|
2531
|
+
onFitView && /* @__PURE__ */ jsx22(
|
|
2439
2532
|
"button",
|
|
2440
2533
|
{
|
|
2441
2534
|
type: "button",
|
|
@@ -2446,9 +2539,9 @@ function GraphToolbar({
|
|
|
2446
2539
|
children: FIT_VIEW_ICON
|
|
2447
2540
|
}
|
|
2448
2541
|
),
|
|
2449
|
-
themeToggleEnabled && /* @__PURE__ */
|
|
2450
|
-
/* @__PURE__ */
|
|
2451
|
-
/* @__PURE__ */
|
|
2542
|
+
themeToggleEnabled && /* @__PURE__ */ jsxs22(Fragment13, { children: [
|
|
2543
|
+
/* @__PURE__ */ jsx22("div", { className: "graph-toolbar-separator" }),
|
|
2544
|
+
/* @__PURE__ */ jsx22(
|
|
2452
2545
|
"button",
|
|
2453
2546
|
{
|
|
2454
2547
|
type: "button",
|
|
@@ -2464,7 +2557,7 @@ function GraphToolbar({
|
|
|
2464
2557
|
}
|
|
2465
2558
|
|
|
2466
2559
|
// src/graph/react/nodes/NodeValidationBadge.tsx
|
|
2467
|
-
import { jsx as
|
|
2560
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2468
2561
|
function NodeValidationBadge({
|
|
2469
2562
|
validation,
|
|
2470
2563
|
onClick
|
|
@@ -2474,9 +2567,9 @@ function NodeValidationBadge({
|
|
|
2474
2567
|
const className = `node-validation-badge node-validation-badge--${validation.severity}`;
|
|
2475
2568
|
const text = validation.count > 99 ? "99+" : String(validation.count);
|
|
2476
2569
|
if (!onClick) {
|
|
2477
|
-
return /* @__PURE__ */
|
|
2570
|
+
return /* @__PURE__ */ jsx23("span", { className, title: tooltip, "aria-label": label, children: text });
|
|
2478
2571
|
}
|
|
2479
|
-
return /* @__PURE__ */
|
|
2572
|
+
return /* @__PURE__ */ jsx23(
|
|
2480
2573
|
"button",
|
|
2481
2574
|
{
|
|
2482
2575
|
type: "button",
|
|
@@ -2496,7 +2589,7 @@ function validationRingClass(validation) {
|
|
|
2496
2589
|
}
|
|
2497
2590
|
|
|
2498
2591
|
// src/graph/react/nodes/controller/ControllerGroupNode.tsx
|
|
2499
|
-
import { jsx as
|
|
2592
|
+
import { jsx as jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2500
2593
|
var CONTROLLER_CONFIG = {
|
|
2501
2594
|
PipeSequence: { badge: "Sequence", icon: "\u2192" },
|
|
2502
2595
|
PipeParallel: { badge: "Parallel", icon: "//" },
|
|
@@ -2518,12 +2611,12 @@ function ControllerGroupNode({ data }) {
|
|
|
2518
2611
|
const modifier = getControllerModifier(data.pipeType);
|
|
2519
2612
|
const isCollapsible = (data.pipeType === "PipeParallel" || data.pipeType === "PipeBatch") && ((_a = data.childCount) != null ? _a : 0) > MAX_VISIBLE_CONTROLLER_CHILDREN;
|
|
2520
2613
|
const hiddenCount = isCollapsible ? ((_b = data.childCount) != null ? _b : 0) - MAX_VISIBLE_CONTROLLER_CHILDREN : 0;
|
|
2521
|
-
return /* @__PURE__ */
|
|
2522
|
-
/* @__PURE__ */
|
|
2523
|
-
/* @__PURE__ */
|
|
2524
|
-
/* @__PURE__ */
|
|
2525
|
-
data.label && /* @__PURE__ */
|
|
2526
|
-
data.onToggleFold && /* @__PURE__ */
|
|
2614
|
+
return /* @__PURE__ */ jsxs23("div", { className: `controller-group-node ${modifier}${validationRingClass(data.validation)}`, children: [
|
|
2615
|
+
/* @__PURE__ */ jsxs23("div", { className: "controller-group-header", children: [
|
|
2616
|
+
/* @__PURE__ */ jsx24("span", { className: "controller-group-icon", children: config.icon }),
|
|
2617
|
+
/* @__PURE__ */ jsx24("span", { className: "controller-group-badge", children: config.badge }),
|
|
2618
|
+
data.label && /* @__PURE__ */ jsx24("span", { className: "controller-group-label", children: data.label }),
|
|
2619
|
+
data.onToggleFold && /* @__PURE__ */ jsx24(
|
|
2527
2620
|
"button",
|
|
2528
2621
|
{
|
|
2529
2622
|
type: "button",
|
|
@@ -2538,9 +2631,9 @@ function ControllerGroupNode({ data }) {
|
|
|
2538
2631
|
children: "\u2921"
|
|
2539
2632
|
}
|
|
2540
2633
|
),
|
|
2541
|
-
data.validation && /* @__PURE__ */
|
|
2634
|
+
data.validation && /* @__PURE__ */ jsx24(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2542
2635
|
] }),
|
|
2543
|
-
isCollapsible && /* @__PURE__ */
|
|
2636
|
+
isCollapsible && /* @__PURE__ */ jsx24(
|
|
2544
2637
|
"button",
|
|
2545
2638
|
{
|
|
2546
2639
|
className: "controller-group-collapse",
|
|
@@ -2561,7 +2654,7 @@ import { Handle, Position } from "@xyflow/react";
|
|
|
2561
2654
|
|
|
2562
2655
|
// src/graph/react/nodes/pipe/PipeCardBase.tsx
|
|
2563
2656
|
import { useState as useState2 } from "react";
|
|
2564
|
-
import { jsx as
|
|
2657
|
+
import { jsx as jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2565
2658
|
var PIPE_TYPE_BADGES2 = {
|
|
2566
2659
|
PipeLLM: "LLM",
|
|
2567
2660
|
PipeExtract: "Extract",
|
|
@@ -2622,21 +2715,22 @@ function PipeCardBase({ data, children }) {
|
|
|
2622
2715
|
const staticClass = isStatic ? " pipe-card--static" : "";
|
|
2623
2716
|
const badgeClass = isController ? "pipe-card-badge pipe-card-badge--controller" : isSignature ? "pipe-card-badge pipe-card-badge--signature" : isBinding ? "pipe-card-badge pipe-card-badge--binding" : "pipe-card-badge";
|
|
2624
2717
|
const ringClass = validationRingClass(data.validation);
|
|
2625
|
-
return /* @__PURE__ */
|
|
2718
|
+
return /* @__PURE__ */ jsxs24(
|
|
2626
2719
|
"div",
|
|
2627
2720
|
{
|
|
2628
2721
|
className: `pipe-card ${dirClass}${controllerClass}${signatureClass}${bindingClass}${staticClass}${ringClass}`,
|
|
2629
2722
|
children: [
|
|
2630
|
-
/* @__PURE__ */
|
|
2631
|
-
/* @__PURE__ */
|
|
2632
|
-
/* @__PURE__ */
|
|
2633
|
-
|
|
2723
|
+
/* @__PURE__ */ jsxs24("div", { className: "pipe-card-header", children: [
|
|
2724
|
+
/* @__PURE__ */ jsx25("span", { className: badgeClass, children: badge }),
|
|
2725
|
+
data.docGenFormat && /* @__PURE__ */ jsx25("span", { className: "pipe-card-format", title: `Document format: ${data.docGenFormat}`, children: data.docGenFormat.toUpperCase() }),
|
|
2726
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-code", title: data.pipeCode, children: data.pipeCode }),
|
|
2727
|
+
!isStatic && /* @__PURE__ */ jsx25(
|
|
2634
2728
|
"span",
|
|
2635
2729
|
{
|
|
2636
2730
|
className: "pipe-card-status",
|
|
2637
2731
|
style: { color: statusConfig.color },
|
|
2638
2732
|
title: statusConfig.label,
|
|
2639
|
-
children: /* @__PURE__ */
|
|
2733
|
+
children: /* @__PURE__ */ jsx25(
|
|
2640
2734
|
"span",
|
|
2641
2735
|
{
|
|
2642
2736
|
className: `pipe-card-status-dot ${isRunning ? "pipe-card-status-dot--pulse" : ""}`,
|
|
@@ -2645,7 +2739,7 @@ function PipeCardBase({ data, children }) {
|
|
|
2645
2739
|
)
|
|
2646
2740
|
}
|
|
2647
2741
|
),
|
|
2648
|
-
data.onExpand && /* @__PURE__ */
|
|
2742
|
+
data.onExpand && /* @__PURE__ */ jsx25(
|
|
2649
2743
|
"button",
|
|
2650
2744
|
{
|
|
2651
2745
|
type: "button",
|
|
@@ -2660,32 +2754,32 @@ function PipeCardBase({ data, children }) {
|
|
|
2660
2754
|
children: "\u2922"
|
|
2661
2755
|
}
|
|
2662
2756
|
),
|
|
2663
|
-
data.validation && /* @__PURE__ */
|
|
2757
|
+
data.validation && /* @__PURE__ */ jsx25(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2664
2758
|
] }),
|
|
2665
|
-
(outcome || batchMultiplicity) && /* @__PURE__ */
|
|
2666
|
-
outcome && /* @__PURE__ */
|
|
2759
|
+
(outcome || batchMultiplicity) && /* @__PURE__ */ jsxs24("div", { className: "pipe-card-annotations", children: [
|
|
2760
|
+
outcome && /* @__PURE__ */ jsxs24("span", { className: "pipe-card-annotation pipe-card-annotation--outcome", children: [
|
|
2667
2761
|
"outcome: ",
|
|
2668
2762
|
outcome
|
|
2669
2763
|
] }),
|
|
2670
|
-
batchMultiplicity && /* @__PURE__ */
|
|
2764
|
+
batchMultiplicity && /* @__PURE__ */ jsx25("span", { className: "pipe-card-annotation pipe-card-annotation--batch", children: batchMultiplicity })
|
|
2671
2765
|
] }),
|
|
2672
|
-
data.description && /* @__PURE__ */
|
|
2673
|
-
data.inputs.length > 0 && /* @__PURE__ */
|
|
2674
|
-
/* @__PURE__ */
|
|
2675
|
-
/* @__PURE__ */
|
|
2676
|
-
visibleInputs.map((input) => /* @__PURE__ */
|
|
2766
|
+
data.description && /* @__PURE__ */ jsx25("span", { className: "pipe-card-description", title: data.description, children: data.description }),
|
|
2767
|
+
data.inputs.length > 0 && /* @__PURE__ */ jsxs24("div", { className: "pipe-card-io", children: [
|
|
2768
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-label", children: "INPUTS" }),
|
|
2769
|
+
/* @__PURE__ */ jsxs24("div", { className: "pipe-card-io-pills", children: [
|
|
2770
|
+
visibleInputs.map((input) => /* @__PURE__ */ jsxs24(
|
|
2677
2771
|
"span",
|
|
2678
2772
|
{
|
|
2679
2773
|
className: "pipe-card-io-pill",
|
|
2680
2774
|
title: `${input.name}: ${input.concept}`,
|
|
2681
2775
|
children: [
|
|
2682
|
-
/* @__PURE__ */
|
|
2683
|
-
/* @__PURE__ */
|
|
2776
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-pill-name", children: input.name }),
|
|
2777
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-pill-concept", children: input.concept })
|
|
2684
2778
|
]
|
|
2685
2779
|
},
|
|
2686
2780
|
input.name
|
|
2687
2781
|
)),
|
|
2688
|
-
hasMany && /* @__PURE__ */
|
|
2782
|
+
hasMany && /* @__PURE__ */ jsx25(
|
|
2689
2783
|
"button",
|
|
2690
2784
|
{
|
|
2691
2785
|
className: "pipe-card-io-more",
|
|
@@ -2698,16 +2792,16 @@ function PipeCardBase({ data, children }) {
|
|
|
2698
2792
|
)
|
|
2699
2793
|
] })
|
|
2700
2794
|
] }),
|
|
2701
|
-
data.outputs.length > 0 && /* @__PURE__ */
|
|
2702
|
-
/* @__PURE__ */
|
|
2703
|
-
/* @__PURE__ */
|
|
2795
|
+
data.outputs.length > 0 && /* @__PURE__ */ jsxs24("div", { className: "pipe-card-io", children: [
|
|
2796
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-label", children: "OUTPUT" }),
|
|
2797
|
+
/* @__PURE__ */ jsx25("div", { className: "pipe-card-io-pills", children: data.outputs.map((output) => /* @__PURE__ */ jsxs24(
|
|
2704
2798
|
"span",
|
|
2705
2799
|
{
|
|
2706
2800
|
className: "pipe-card-io-pill",
|
|
2707
2801
|
title: `${output.name}: ${output.concept}`,
|
|
2708
2802
|
children: [
|
|
2709
|
-
/* @__PURE__ */
|
|
2710
|
-
/* @__PURE__ */
|
|
2803
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-pill-name", children: output.name }),
|
|
2804
|
+
/* @__PURE__ */ jsx25("span", { className: "pipe-card-io-pill-concept", children: output.concept })
|
|
2711
2805
|
]
|
|
2712
2806
|
},
|
|
2713
2807
|
output.name
|
|
@@ -2742,11 +2836,11 @@ function getPipeCardComponent(pipeType) {
|
|
|
2742
2836
|
}
|
|
2743
2837
|
|
|
2744
2838
|
// src/graph/react/nodes/pipe/PipeCardNode.tsx
|
|
2745
|
-
import { Fragment as
|
|
2839
|
+
import { Fragment as Fragment14, jsx as jsx26, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2746
2840
|
function PipeCardNode({ data }) {
|
|
2747
2841
|
var _a;
|
|
2748
2842
|
const Card = (_a = getPipeCardComponent(data.pipeType)) != null ? _a : PipeCardBase;
|
|
2749
|
-
return /* @__PURE__ */
|
|
2843
|
+
return /* @__PURE__ */ jsx26(Card, { data });
|
|
2750
2844
|
}
|
|
2751
2845
|
function PipeCardRFNode({
|
|
2752
2846
|
data,
|
|
@@ -2755,16 +2849,16 @@ function PipeCardRFNode({
|
|
|
2755
2849
|
}) {
|
|
2756
2850
|
const payload = data.pipeCardData;
|
|
2757
2851
|
if (!payload) return null;
|
|
2758
|
-
return /* @__PURE__ */
|
|
2759
|
-
/* @__PURE__ */
|
|
2760
|
-
/* @__PURE__ */
|
|
2761
|
-
/* @__PURE__ */
|
|
2852
|
+
return /* @__PURE__ */ jsxs25(Fragment14, { children: [
|
|
2853
|
+
/* @__PURE__ */ jsx26(Handle, { type: "target", position: targetPosition }),
|
|
2854
|
+
/* @__PURE__ */ jsx26(PipeCardNode, { data: payload }),
|
|
2855
|
+
/* @__PURE__ */ jsx26(Handle, { type: "source", position: sourcePosition })
|
|
2762
2856
|
] });
|
|
2763
2857
|
}
|
|
2764
2858
|
|
|
2765
2859
|
// src/graph/react/styles/simple/SimpleNodes.tsx
|
|
2766
2860
|
import { Handle as Handle2, Position as Position2 } from "@xyflow/react";
|
|
2767
|
-
import { Fragment as
|
|
2861
|
+
import { Fragment as Fragment15, jsx as jsx27, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2768
2862
|
var ICON_PROPS2 = {
|
|
2769
2863
|
viewBox: "0 0 24 24",
|
|
2770
2864
|
fill: "none",
|
|
@@ -2775,90 +2869,90 @@ var ICON_PROPS2 = {
|
|
|
2775
2869
|
"aria-hidden": true
|
|
2776
2870
|
};
|
|
2777
2871
|
function Icon({ size = 13, children }) {
|
|
2778
|
-
return /* @__PURE__ */
|
|
2872
|
+
return /* @__PURE__ */ jsx27("svg", __spreadProps(__spreadValues({}, ICON_PROPS2), { width: size, height: size, children }));
|
|
2779
2873
|
}
|
|
2780
2874
|
var CATEGORY_ICONS = {
|
|
2781
|
-
ai: /* @__PURE__ */
|
|
2782
|
-
/* @__PURE__ */
|
|
2783
|
-
/* @__PURE__ */
|
|
2784
|
-
/* @__PURE__ */
|
|
2875
|
+
ai: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2876
|
+
/* @__PURE__ */ jsx27("path", { d: "M9.94 15.5a2 2 0 0 0-1.44-1.44l-6.13-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.13a.5.5 0 0 1-.96 0z" }),
|
|
2877
|
+
/* @__PURE__ */ jsx27("path", { d: "M20 3v4" }),
|
|
2878
|
+
/* @__PURE__ */ jsx27("path", { d: "M22 5h-4" })
|
|
2785
2879
|
] }),
|
|
2786
|
-
extract: /* @__PURE__ */
|
|
2787
|
-
/* @__PURE__ */
|
|
2788
|
-
/* @__PURE__ */
|
|
2789
|
-
/* @__PURE__ */
|
|
2790
|
-
/* @__PURE__ */
|
|
2791
|
-
/* @__PURE__ */
|
|
2792
|
-
/* @__PURE__ */
|
|
2793
|
-
/* @__PURE__ */
|
|
2880
|
+
extract: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2881
|
+
/* @__PURE__ */ jsx27("path", { d: "M3 7V5a2 2 0 0 1 2-2h2" }),
|
|
2882
|
+
/* @__PURE__ */ jsx27("path", { d: "M17 3h2a2 2 0 0 1 2 2v2" }),
|
|
2883
|
+
/* @__PURE__ */ jsx27("path", { d: "M21 17v2a2 2 0 0 1-2 2h-2" }),
|
|
2884
|
+
/* @__PURE__ */ jsx27("path", { d: "M7 21H5a2 2 0 0 1-2-2v-2" }),
|
|
2885
|
+
/* @__PURE__ */ jsx27("path", { d: "M7 8h8" }),
|
|
2886
|
+
/* @__PURE__ */ jsx27("path", { d: "M7 12h10" }),
|
|
2887
|
+
/* @__PURE__ */ jsx27("path", { d: "M7 16h6" })
|
|
2794
2888
|
] }),
|
|
2795
|
-
image: /* @__PURE__ */
|
|
2796
|
-
/* @__PURE__ */
|
|
2797
|
-
/* @__PURE__ */
|
|
2798
|
-
/* @__PURE__ */
|
|
2889
|
+
image: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2890
|
+
/* @__PURE__ */ jsx27("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
|
|
2891
|
+
/* @__PURE__ */ jsx27("circle", { cx: "9", cy: "9", r: "2" }),
|
|
2892
|
+
/* @__PURE__ */ jsx27("path", { d: "m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21" })
|
|
2799
2893
|
] }),
|
|
2800
|
-
search: /* @__PURE__ */
|
|
2801
|
-
/* @__PURE__ */
|
|
2802
|
-
/* @__PURE__ */
|
|
2894
|
+
search: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2895
|
+
/* @__PURE__ */ jsx27("circle", { cx: "11", cy: "11", r: "8" }),
|
|
2896
|
+
/* @__PURE__ */ jsx27("path", { d: "m21 21-4.3-4.3" })
|
|
2803
2897
|
] }),
|
|
2804
|
-
code: /* @__PURE__ */
|
|
2805
|
-
/* @__PURE__ */
|
|
2806
|
-
/* @__PURE__ */
|
|
2898
|
+
code: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2899
|
+
/* @__PURE__ */ jsx27("polyline", { points: "16 18 22 12 16 6" }),
|
|
2900
|
+
/* @__PURE__ */ jsx27("polyline", { points: "8 6 2 12 8 18" })
|
|
2807
2901
|
] }),
|
|
2808
|
-
template: /* @__PURE__ */
|
|
2809
|
-
/* @__PURE__ */
|
|
2810
|
-
/* @__PURE__ */
|
|
2811
|
-
/* @__PURE__ */
|
|
2812
|
-
/* @__PURE__ */
|
|
2902
|
+
template: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2903
|
+
/* @__PURE__ */ jsx27("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
2904
|
+
/* @__PURE__ */ jsx27("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
|
|
2905
|
+
/* @__PURE__ */ jsx27("path", { d: "M16 13H8" }),
|
|
2906
|
+
/* @__PURE__ */ jsx27("path", { d: "M16 17H8" })
|
|
2813
2907
|
] }),
|
|
2814
|
-
document: /* @__PURE__ */
|
|
2815
|
-
/* @__PURE__ */
|
|
2816
|
-
/* @__PURE__ */
|
|
2817
|
-
/* @__PURE__ */
|
|
2818
|
-
/* @__PURE__ */
|
|
2908
|
+
document: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2909
|
+
/* @__PURE__ */ jsx27("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
2910
|
+
/* @__PURE__ */ jsx27("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
|
|
2911
|
+
/* @__PURE__ */ jsx27("path", { d: "M12 18v-6" }),
|
|
2912
|
+
/* @__PURE__ */ jsx27("path", { d: "m9 15 3 3 3-3" })
|
|
2819
2913
|
] }),
|
|
2820
|
-
judge: /* @__PURE__ */
|
|
2821
|
-
/* @__PURE__ */
|
|
2822
|
-
/* @__PURE__ */
|
|
2823
|
-
/* @__PURE__ */
|
|
2824
|
-
/* @__PURE__ */
|
|
2825
|
-
/* @__PURE__ */
|
|
2914
|
+
judge: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2915
|
+
/* @__PURE__ */ jsx27("path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z" }),
|
|
2916
|
+
/* @__PURE__ */ jsx27("path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z" }),
|
|
2917
|
+
/* @__PURE__ */ jsx27("path", { d: "M7 21h10" }),
|
|
2918
|
+
/* @__PURE__ */ jsx27("path", { d: "M12 3v18" }),
|
|
2919
|
+
/* @__PURE__ */ jsx27("path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2" })
|
|
2826
2920
|
] }),
|
|
2827
|
-
planned: /* @__PURE__ */
|
|
2828
|
-
steps: /* @__PURE__ */
|
|
2829
|
-
/* @__PURE__ */
|
|
2830
|
-
/* @__PURE__ */
|
|
2831
|
-
/* @__PURE__ */
|
|
2921
|
+
planned: /* @__PURE__ */ jsx27("circle", { cx: "12", cy: "12", r: "9", strokeDasharray: "3 3" }),
|
|
2922
|
+
steps: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2923
|
+
/* @__PURE__ */ jsx27("path", { d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" }),
|
|
2924
|
+
/* @__PURE__ */ jsx27("path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" }),
|
|
2925
|
+
/* @__PURE__ */ jsx27("path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" })
|
|
2832
2926
|
] }),
|
|
2833
|
-
parallel: /* @__PURE__ */
|
|
2834
|
-
/* @__PURE__ */
|
|
2835
|
-
/* @__PURE__ */
|
|
2836
|
-
/* @__PURE__ */
|
|
2837
|
-
/* @__PURE__ */
|
|
2927
|
+
parallel: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2928
|
+
/* @__PURE__ */ jsx27("path", { d: "M16 3h5v5" }),
|
|
2929
|
+
/* @__PURE__ */ jsx27("path", { d: "M8 3H3v5" }),
|
|
2930
|
+
/* @__PURE__ */ jsx27("path", { d: "M12 22v-8.3a4 4 0 0 0-1.17-2.87L3 3" }),
|
|
2931
|
+
/* @__PURE__ */ jsx27("path", { d: "m15 9 6-6" })
|
|
2838
2932
|
] }),
|
|
2839
|
-
decision: /* @__PURE__ */
|
|
2840
|
-
repeat: /* @__PURE__ */
|
|
2841
|
-
/* @__PURE__ */
|
|
2842
|
-
/* @__PURE__ */
|
|
2843
|
-
/* @__PURE__ */
|
|
2844
|
-
/* @__PURE__ */
|
|
2933
|
+
decision: /* @__PURE__ */ jsx27("path", { d: "M12 2 22 12 12 22 2 12Z" }),
|
|
2934
|
+
repeat: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2935
|
+
/* @__PURE__ */ jsx27("path", { d: "m17 2 4 4-4 4" }),
|
|
2936
|
+
/* @__PURE__ */ jsx27("path", { d: "M3 11v-1a4 4 0 0 1 4-4h14" }),
|
|
2937
|
+
/* @__PURE__ */ jsx27("path", { d: "m7 22-4-4 4-4" }),
|
|
2938
|
+
/* @__PURE__ */ jsx27("path", { d: "M21 13v1a4 4 0 0 1-4 4H3" })
|
|
2845
2939
|
] }),
|
|
2846
|
-
pick: /* @__PURE__ */
|
|
2847
|
-
/* @__PURE__ */
|
|
2848
|
-
/* @__PURE__ */
|
|
2940
|
+
pick: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2941
|
+
/* @__PURE__ */ jsx27("polyline", { points: "15 10 20 15 15 20" }),
|
|
2942
|
+
/* @__PURE__ */ jsx27("path", { d: "M4 4v7a4 4 0 0 0 4 4h12" })
|
|
2849
2943
|
] })
|
|
2850
2944
|
};
|
|
2851
|
-
var EXPAND_ICON2 = /* @__PURE__ */
|
|
2852
|
-
/* @__PURE__ */
|
|
2853
|
-
/* @__PURE__ */
|
|
2854
|
-
/* @__PURE__ */
|
|
2855
|
-
/* @__PURE__ */
|
|
2945
|
+
var EXPAND_ICON2 = /* @__PURE__ */ jsxs26(Icon, { size: 12, children: [
|
|
2946
|
+
/* @__PURE__ */ jsx27("polyline", { points: "15 3 21 3 21 9" }),
|
|
2947
|
+
/* @__PURE__ */ jsx27("polyline", { points: "9 21 3 21 3 15" }),
|
|
2948
|
+
/* @__PURE__ */ jsx27("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
|
|
2949
|
+
/* @__PURE__ */ jsx27("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
2856
2950
|
] });
|
|
2857
|
-
var COLLAPSE_ICON2 = /* @__PURE__ */
|
|
2858
|
-
/* @__PURE__ */
|
|
2859
|
-
/* @__PURE__ */
|
|
2860
|
-
/* @__PURE__ */
|
|
2861
|
-
/* @__PURE__ */
|
|
2951
|
+
var COLLAPSE_ICON2 = /* @__PURE__ */ jsxs26(Icon, { size: 12, children: [
|
|
2952
|
+
/* @__PURE__ */ jsx27("polyline", { points: "4 14 10 14 10 20" }),
|
|
2953
|
+
/* @__PURE__ */ jsx27("polyline", { points: "20 10 14 10 14 4" }),
|
|
2954
|
+
/* @__PURE__ */ jsx27("line", { x1: "14", y1: "10", x2: "21", y2: "3" }),
|
|
2955
|
+
/* @__PURE__ */ jsx27("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
2862
2956
|
] });
|
|
2863
2957
|
var STATUS_LABELS = {
|
|
2864
2958
|
succeeded: "Done",
|
|
@@ -2869,25 +2963,25 @@ var STATUS_LABELS = {
|
|
|
2869
2963
|
canceled: "Canceled"
|
|
2870
2964
|
};
|
|
2871
2965
|
var STATUS_ICONS = {
|
|
2872
|
-
succeeded: /* @__PURE__ */
|
|
2873
|
-
failed: /* @__PURE__ */
|
|
2874
|
-
/* @__PURE__ */
|
|
2875
|
-
/* @__PURE__ */
|
|
2966
|
+
succeeded: /* @__PURE__ */ jsx27("polyline", { points: "20 6 9 17 4 12" }),
|
|
2967
|
+
failed: /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2968
|
+
/* @__PURE__ */ jsx27("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
2969
|
+
/* @__PURE__ */ jsx27("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
2876
2970
|
] }),
|
|
2877
|
-
running: /* @__PURE__ */
|
|
2878
|
-
scheduled: /* @__PURE__ */
|
|
2879
|
-
skipped: /* @__PURE__ */
|
|
2880
|
-
canceled: /* @__PURE__ */
|
|
2971
|
+
running: /* @__PURE__ */ jsx27("path", { d: "M21 12a9 9 0 1 1-6.22-8.56" }),
|
|
2972
|
+
scheduled: /* @__PURE__ */ jsx27("circle", { cx: "12", cy: "12", r: "8" }),
|
|
2973
|
+
skipped: /* @__PURE__ */ jsx27("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
2974
|
+
canceled: /* @__PURE__ */ jsx27("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
2881
2975
|
};
|
|
2882
2976
|
function StatusMark({ status, graphMode }) {
|
|
2883
2977
|
if (graphMode === "static") return null;
|
|
2884
|
-
return /* @__PURE__ */
|
|
2978
|
+
return /* @__PURE__ */ jsx27(
|
|
2885
2979
|
"span",
|
|
2886
2980
|
{
|
|
2887
2981
|
className: `simple-status simple-status--${status}`,
|
|
2888
2982
|
title: STATUS_LABELS[status],
|
|
2889
2983
|
"aria-label": STATUS_LABELS[status],
|
|
2890
|
-
children: /* @__PURE__ */
|
|
2984
|
+
children: /* @__PURE__ */ jsx27(Icon, { size: 11, children: STATUS_ICONS[status] })
|
|
2891
2985
|
}
|
|
2892
2986
|
);
|
|
2893
2987
|
}
|
|
@@ -2896,17 +2990,17 @@ function Handles({
|
|
|
2896
2990
|
targetPosition = Position2.Left,
|
|
2897
2991
|
children
|
|
2898
2992
|
}) {
|
|
2899
|
-
return /* @__PURE__ */
|
|
2900
|
-
/* @__PURE__ */
|
|
2993
|
+
return /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
2994
|
+
/* @__PURE__ */ jsx27(Handle2, { type: "target", position: targetPosition, className: "simple-handle" }),
|
|
2901
2995
|
children,
|
|
2902
|
-
/* @__PURE__ */
|
|
2996
|
+
/* @__PURE__ */ jsx27(Handle2, { type: "source", position: sourcePosition, className: "simple-handle" })
|
|
2903
2997
|
] });
|
|
2904
2998
|
}
|
|
2905
2999
|
function ValidationMark({
|
|
2906
3000
|
validation,
|
|
2907
3001
|
onClick
|
|
2908
3002
|
}) {
|
|
2909
|
-
return validation ? /* @__PURE__ */
|
|
3003
|
+
return validation ? /* @__PURE__ */ jsx27(NodeValidationBadge, { validation, onClick }) : null;
|
|
2910
3004
|
}
|
|
2911
3005
|
function payloadOf(data, kinds) {
|
|
2912
3006
|
const simple = data.simple;
|
|
@@ -2917,25 +3011,37 @@ function SimpleStepNode({ data, sourcePosition, targetPosition }) {
|
|
|
2917
3011
|
const step = payloadOf(data, ["step"]);
|
|
2918
3012
|
if (!step) return null;
|
|
2919
3013
|
const statusClass = step.graphMode !== "static" ? ` simple-step--${step.status}` : "";
|
|
2920
|
-
return /* @__PURE__ */
|
|
3014
|
+
return /* @__PURE__ */ jsx27(Handles, { sourcePosition, targetPosition, children: /* @__PURE__ */ jsxs26(
|
|
2921
3015
|
"div",
|
|
2922
3016
|
{
|
|
2923
3017
|
className: `simple-step simple-step--${step.category}${statusClass}${validationRingClass(data.validation)}`,
|
|
2924
3018
|
children: [
|
|
2925
|
-
/* @__PURE__ */
|
|
2926
|
-
/* @__PURE__ */
|
|
2927
|
-
/* @__PURE__ */
|
|
3019
|
+
/* @__PURE__ */ jsxs26("div", { className: "simple-step-header", children: [
|
|
3020
|
+
/* @__PURE__ */ jsxs26("span", { className: "simple-step-category", children: [
|
|
3021
|
+
/* @__PURE__ */ jsx27(Icon, { children: CATEGORY_ICONS[step.category] }),
|
|
2928
3022
|
STEP_CATEGORY_WORDS[step.category]
|
|
2929
3023
|
] }),
|
|
2930
|
-
/* @__PURE__ */
|
|
2931
|
-
/* @__PURE__ */
|
|
3024
|
+
/* @__PURE__ */ jsx27(StatusMark, { status: step.status, graphMode: step.graphMode }),
|
|
3025
|
+
/* @__PURE__ */ jsx27(ValidationMark, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2932
3026
|
] }),
|
|
2933
|
-
/* @__PURE__ */
|
|
2934
|
-
|
|
2935
|
-
|
|
3027
|
+
/* @__PURE__ */ jsx27(
|
|
3028
|
+
"div",
|
|
3029
|
+
{
|
|
3030
|
+
className: "simple-step-title",
|
|
3031
|
+
title: step.title,
|
|
3032
|
+
style: {
|
|
3033
|
+
fontSize: step.titleFit.fontPx,
|
|
3034
|
+
lineHeight: `${step.titleFit.lineHeightPx}px`,
|
|
3035
|
+
WebkitLineClamp: step.titleFit.maxLines
|
|
3036
|
+
},
|
|
3037
|
+
children: step.title
|
|
3038
|
+
}
|
|
3039
|
+
),
|
|
3040
|
+
step.forEach && /* @__PURE__ */ jsxs26("span", { className: "simple-step-foreach", children: [
|
|
3041
|
+
/* @__PURE__ */ jsx27(Icon, { size: 11, children: CATEGORY_ICONS.repeat }),
|
|
2936
3042
|
step.forEach
|
|
2937
3043
|
] }),
|
|
2938
|
-
step.innerStepCount !== void 0 && /* @__PURE__ */
|
|
3044
|
+
step.innerStepCount !== void 0 && /* @__PURE__ */ jsxs26(
|
|
2939
3045
|
"button",
|
|
2940
3046
|
{
|
|
2941
3047
|
type: "button",
|
|
@@ -2959,24 +3065,24 @@ function SimpleStepNode({ data, sourcePosition, targetPosition }) {
|
|
|
2959
3065
|
}
|
|
2960
3066
|
var DOCUMENT_PATH = "M1 1 H99 V84 C80 98 62 74 44 86 C28 96 14 96 1 88 Z";
|
|
2961
3067
|
function DocumentShape({ className }) {
|
|
2962
|
-
return /* @__PURE__ */
|
|
3068
|
+
return /* @__PURE__ */ jsx27("svg", { className, viewBox: "0 0 100 100", preserveAspectRatio: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx27("path", { d: DOCUMENT_PATH, vectorEffect: "non-scaling-stroke" }) });
|
|
2963
3069
|
}
|
|
2964
3070
|
function SimpleTerminalNode({ data, sourcePosition, targetPosition }) {
|
|
2965
3071
|
const terminal = payloadOf(data, ["input", "output"]);
|
|
2966
3072
|
if (!terminal) return null;
|
|
2967
|
-
return /* @__PURE__ */
|
|
3073
|
+
return /* @__PURE__ */ jsx27(Handles, { sourcePosition, targetPosition, children: /* @__PURE__ */ jsxs26(
|
|
2968
3074
|
"div",
|
|
2969
3075
|
{
|
|
2970
3076
|
className: `simple-terminal simple-terminal--${terminal.kind}${terminal.isList ? " simple-terminal--list" : ""}`,
|
|
2971
3077
|
children: [
|
|
2972
|
-
terminal.isList && /* @__PURE__ */
|
|
2973
|
-
/* @__PURE__ */
|
|
2974
|
-
/* @__PURE__ */
|
|
3078
|
+
terminal.isList && /* @__PURE__ */ jsxs26(Fragment15, { children: [
|
|
3079
|
+
/* @__PURE__ */ jsx27(DocumentShape, { className: "simple-terminal-shape simple-terminal-shape--back2" }),
|
|
3080
|
+
/* @__PURE__ */ jsx27(DocumentShape, { className: "simple-terminal-shape simple-terminal-shape--back1" })
|
|
2975
3081
|
] }),
|
|
2976
|
-
/* @__PURE__ */
|
|
2977
|
-
/* @__PURE__ */
|
|
2978
|
-
/* @__PURE__ */
|
|
2979
|
-
terminal.subtitle && /* @__PURE__ */
|
|
3082
|
+
/* @__PURE__ */ jsx27(DocumentShape, { className: "simple-terminal-shape" }),
|
|
3083
|
+
/* @__PURE__ */ jsxs26("div", { className: "simple-terminal-text", children: [
|
|
3084
|
+
/* @__PURE__ */ jsx27("span", { className: "simple-terminal-title", title: terminal.title, children: terminal.title }),
|
|
3085
|
+
terminal.subtitle && /* @__PURE__ */ jsx27("span", { className: "simple-terminal-subtitle", children: terminal.subtitle })
|
|
2980
3086
|
] })
|
|
2981
3087
|
]
|
|
2982
3088
|
}
|
|
@@ -2986,35 +3092,35 @@ function SimpleDecisionNode({ data, sourcePosition, targetPosition }) {
|
|
|
2986
3092
|
const decision = payloadOf(data, ["decision"]);
|
|
2987
3093
|
if (!decision) return null;
|
|
2988
3094
|
const statusClass = decision.graphMode !== "static" ? ` simple-decision--${decision.status}` : "";
|
|
2989
|
-
return /* @__PURE__ */
|
|
2990
|
-
/* @__PURE__ */
|
|
3095
|
+
return /* @__PURE__ */ jsx27(Handles, { sourcePosition, targetPosition, children: /* @__PURE__ */ jsxs26("div", { className: `simple-decision${statusClass}${validationRingClass(data.validation)}`, children: [
|
|
3096
|
+
/* @__PURE__ */ jsx27(
|
|
2991
3097
|
"svg",
|
|
2992
3098
|
{
|
|
2993
3099
|
className: "simple-decision-shape",
|
|
2994
3100
|
viewBox: "0 0 100 100",
|
|
2995
3101
|
preserveAspectRatio: "none",
|
|
2996
3102
|
"aria-hidden": "true",
|
|
2997
|
-
children: /* @__PURE__ */
|
|
3103
|
+
children: /* @__PURE__ */ jsx27("path", { d: "M50 1 L99 50 L50 99 L1 50 Z", vectorEffect: "non-scaling-stroke" })
|
|
2998
3104
|
}
|
|
2999
3105
|
),
|
|
3000
|
-
/* @__PURE__ */
|
|
3001
|
-
/* @__PURE__ */
|
|
3002
|
-
/* @__PURE__ */
|
|
3003
|
-
/* @__PURE__ */
|
|
3106
|
+
/* @__PURE__ */ jsx27("div", { className: "simple-decision-text", title: decision.title, children: decision.title }),
|
|
3107
|
+
/* @__PURE__ */ jsxs26("div", { className: "simple-decision-marks", children: [
|
|
3108
|
+
/* @__PURE__ */ jsx27(StatusMark, { status: decision.status, graphMode: decision.graphMode }),
|
|
3109
|
+
/* @__PURE__ */ jsx27(ValidationMark, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
3004
3110
|
] })
|
|
3005
3111
|
] }) });
|
|
3006
3112
|
}
|
|
3007
3113
|
function SimpleFrameNode({ data }) {
|
|
3008
3114
|
const frame = payloadOf(data, ["frame"]);
|
|
3009
3115
|
if (!frame) return null;
|
|
3010
|
-
return /* @__PURE__ */
|
|
3011
|
-
/* @__PURE__ */
|
|
3012
|
-
/* @__PURE__ */
|
|
3116
|
+
return /* @__PURE__ */ jsx27("div", { className: `simple-frame${validationRingClass(data.validation)}`, children: /* @__PURE__ */ jsxs26("div", { className: "simple-frame-header", children: [
|
|
3117
|
+
/* @__PURE__ */ jsxs26("span", { className: "simple-frame-title", children: [
|
|
3118
|
+
/* @__PURE__ */ jsx27(Icon, { size: 12, children: CATEGORY_ICONS.repeat }),
|
|
3013
3119
|
frame.title
|
|
3014
3120
|
] }),
|
|
3015
|
-
/* @__PURE__ */
|
|
3016
|
-
/* @__PURE__ */
|
|
3017
|
-
frame.onFold && /* @__PURE__ */
|
|
3121
|
+
/* @__PURE__ */ jsx27(StatusMark, { status: frame.status, graphMode: frame.graphMode }),
|
|
3122
|
+
/* @__PURE__ */ jsx27(ValidationMark, { validation: data.validation, onClick: data.onValidationBadgeClick }),
|
|
3123
|
+
frame.onFold && /* @__PURE__ */ jsx27(
|
|
3018
3124
|
"button",
|
|
3019
3125
|
{
|
|
3020
3126
|
type: "button",
|
|
@@ -3040,7 +3146,7 @@ var simpleNodeTypes = {
|
|
|
3040
3146
|
|
|
3041
3147
|
// src/graph/react/edges/RoutedEdge.tsx
|
|
3042
3148
|
import { BaseEdge, getSmoothStepPath } from "@xyflow/react";
|
|
3043
|
-
import { jsx as
|
|
3149
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3044
3150
|
function RoutedEdge({
|
|
3045
3151
|
id,
|
|
3046
3152
|
sourceX,
|
|
@@ -3080,7 +3186,7 @@ function RoutedEdge({
|
|
|
3080
3186
|
borderRadius: 8
|
|
3081
3187
|
});
|
|
3082
3188
|
}
|
|
3083
|
-
return /* @__PURE__ */
|
|
3189
|
+
return /* @__PURE__ */ jsx28(
|
|
3084
3190
|
BaseEdge,
|
|
3085
3191
|
{
|
|
3086
3192
|
id,
|
|
@@ -3102,7 +3208,7 @@ function RoutedEdge({
|
|
|
3102
3208
|
}
|
|
3103
3209
|
|
|
3104
3210
|
// src/graph/react/viewer/GraphViewer.tsx
|
|
3105
|
-
import { Fragment as
|
|
3211
|
+
import { Fragment as Fragment16, jsx as jsx29, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3106
3212
|
var nodeTypes = __spreadValues(__spreadProps(__spreadValues({}, controllerNodeTypes), {
|
|
3107
3213
|
pipeCard: PipeCardRFNode
|
|
3108
3214
|
}), simpleNodeTypes);
|
|
@@ -3124,7 +3230,7 @@ function StuffNodeDetail({
|
|
|
3124
3230
|
const conceptInfo = stuffData.concept && graphspec ? resolveConceptRef(graphspec, stuffData.concept) : void 0;
|
|
3125
3231
|
const isDryRun = graphSpecMode(graphspec) === GRAPH_SPEC_MODE.DRY;
|
|
3126
3232
|
const descriptors = resultDescriptors(artifacts);
|
|
3127
|
-
const renderData = descriptors ? () => /* @__PURE__ */
|
|
3233
|
+
const renderData = descriptors ? () => /* @__PURE__ */ jsx29(
|
|
3128
3234
|
StuffResultPanel,
|
|
3129
3235
|
__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, descriptors), {
|
|
3130
3236
|
stuff: stuffData
|
|
@@ -3133,7 +3239,7 @@ function StuffNodeDetail({
|
|
|
3133
3239
|
})
|
|
3134
3240
|
) : void 0;
|
|
3135
3241
|
if (conceptInfo) {
|
|
3136
|
-
return /* @__PURE__ */
|
|
3242
|
+
return /* @__PURE__ */ jsx29(
|
|
3137
3243
|
ConceptDetailPanel,
|
|
3138
3244
|
{
|
|
3139
3245
|
concept: conceptInfo,
|
|
@@ -3144,8 +3250,8 @@ function StuffNodeDetail({
|
|
|
3144
3250
|
}
|
|
3145
3251
|
);
|
|
3146
3252
|
}
|
|
3147
|
-
if (isDryRun) return /* @__PURE__ */
|
|
3148
|
-
return /* @__PURE__ */
|
|
3253
|
+
if (isDryRun) return /* @__PURE__ */ jsx29("div", { className: "detail-not-available", children: "Dry run data hidden" });
|
|
3254
|
+
return /* @__PURE__ */ jsx29(Fragment16, { children: (_a = renderData == null ? void 0 : renderData()) != null ? _a : /* @__PURE__ */ jsx29("div", { className: "detail-not-available", children: "No data" }) });
|
|
3149
3255
|
}
|
|
3150
3256
|
function seedFoldedControllers(mode, controllerIds) {
|
|
3151
3257
|
if (mode === FOLD_MODE.FOLDED) return new Set(controllerIds);
|
|
@@ -3858,13 +3964,13 @@ function GraphViewer(props) {
|
|
|
3858
3964
|
};
|
|
3859
3965
|
}, [foldControlsAvailable, allControllerIds, foldedControllers, markReaderFolds]);
|
|
3860
3966
|
const styleMenuOptions = React12.useMemo(() => resolveStyleMenu(styleMenu), [styleMenu]);
|
|
3861
|
-
return /* @__PURE__ */
|
|
3967
|
+
return /* @__PURE__ */ jsxs27(
|
|
3862
3968
|
"div",
|
|
3863
3969
|
{
|
|
3864
3970
|
ref: containerRef,
|
|
3865
3971
|
className: `react-flow-container react-flow-container--theme-${resolvedTheme} react-flow-container--mode-${mode}`,
|
|
3866
3972
|
children: [
|
|
3867
|
-
/* @__PURE__ */
|
|
3973
|
+
/* @__PURE__ */ jsxs27(
|
|
3868
3974
|
ReactFlow,
|
|
3869
3975
|
{
|
|
3870
3976
|
nodes,
|
|
@@ -3884,7 +3990,7 @@ function GraphViewer(props) {
|
|
|
3884
3990
|
proOptions: { hideAttribution: true },
|
|
3885
3991
|
panActivationKeyCode: null,
|
|
3886
3992
|
children: [
|
|
3887
|
-
/* @__PURE__ */
|
|
3993
|
+
/* @__PURE__ */ jsx29(
|
|
3888
3994
|
Background,
|
|
3889
3995
|
{
|
|
3890
3996
|
variant: BackgroundVariant.Dots,
|
|
@@ -3893,7 +3999,7 @@ function GraphViewer(props) {
|
|
|
3893
3999
|
color: "var(--color-bg-dots)"
|
|
3894
4000
|
}
|
|
3895
4001
|
),
|
|
3896
|
-
!hideToolbar && /* @__PURE__ */
|
|
4002
|
+
!hideToolbar && /* @__PURE__ */ jsx29(
|
|
3897
4003
|
GraphToolbar,
|
|
3898
4004
|
{
|
|
3899
4005
|
direction,
|
|
@@ -3933,7 +4039,7 @@ function GraphViewer(props) {
|
|
|
3933
4039
|
]
|
|
3934
4040
|
}
|
|
3935
4041
|
),
|
|
3936
|
-
/* @__PURE__ */
|
|
4042
|
+
/* @__PURE__ */ jsxs27(
|
|
3937
4043
|
DetailPanel,
|
|
3938
4044
|
{
|
|
3939
4045
|
isOpen: detailOpen,
|
|
@@ -3942,14 +4048,14 @@ function GraphViewer(props) {
|
|
|
3942
4048
|
isDragging: isPanelDragging,
|
|
3943
4049
|
onResizeHandleMouseDown: onResizeMouseDown,
|
|
3944
4050
|
children: [
|
|
3945
|
-
conceptOverride ? /* @__PURE__ */
|
|
4051
|
+
conceptOverride ? /* @__PURE__ */ jsx29(ConceptDetailPanel, { concept: conceptOverride }) : selectedSpecNode && graphspec ? /* @__PURE__ */ jsx29(
|
|
3946
4052
|
PipeDetailPanel,
|
|
3947
4053
|
{
|
|
3948
4054
|
node: selectedSpecNode,
|
|
3949
4055
|
spec: graphspec,
|
|
3950
4056
|
onConceptClick: handleConceptClick
|
|
3951
4057
|
}
|
|
3952
|
-
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */
|
|
4058
|
+
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */ jsx29(
|
|
3953
4059
|
StuffNodeDetail,
|
|
3954
4060
|
{
|
|
3955
4061
|
nodeId: detailSelection.nodeId,
|