@pipelex/mthds-ui 0.28.0 → 0.29.1
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-AE7AA5XC.js → chunk-3I3ZPYMW.js} +13 -1
- package/dist/chunk-3I3ZPYMW.js.map +1 -0
- package/dist/{chunk-7WJYQHYF.js → chunk-Y46574OW.js} +2 -2
- package/dist/{chunk-I7Z5TTQI.js → chunk-ZTXSDTVF.js} +81 -34
- package/dist/chunk-ZTXSDTVF.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 +24 -9
- package/dist/graph/index.js +11 -3
- package/dist/graph/react/graph-core.css +12 -0
- package/dist/graph/react/index.d.ts +8 -4
- package/dist/graph/react/index.js +300 -263
- package/dist/graph/react/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -3
- package/dist/standalone/graph-standalone.html +138 -126
- package/dist/standalone/graph-viewer.css +12 -0
- package/dist/standalone/graph-viewer.js +126 -126
- package/dist/static-graph/index.d.ts +32 -9
- package/dist/static-graph/index.js +709 -88
- package/dist/static-graph/index.js.map +1 -1
- package/dist/{types-DvhUuMHz.d.ts → types-BaFWy56P.d.ts} +105 -12
- package/package.json +1 -1
- package/dist/chunk-AE7AA5XC.js.map +0 -1
- package/dist/chunk-I7Z5TTQI.js.map +0 -1
- /package/dist/{chunk-7WJYQHYF.js.map → chunk-Y46574OW.js.map} +0 -0
|
@@ -14,15 +14,16 @@ import {
|
|
|
14
14
|
resolveConceptRef,
|
|
15
15
|
resolveIssueTargetNodeId,
|
|
16
16
|
validateGraphSpec
|
|
17
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-ZTXSDTVF.js";
|
|
18
18
|
import {
|
|
19
19
|
parsePipeRef
|
|
20
20
|
} from "../../chunk-2N65P32H.js";
|
|
21
21
|
import {
|
|
22
22
|
DEFAULT_GRAPH_CONFIG,
|
|
23
23
|
getPaletteForTheme
|
|
24
|
-
} from "../../chunk-
|
|
24
|
+
} from "../../chunk-Y46574OW.js";
|
|
25
25
|
import {
|
|
26
|
+
BINDING_STEP_TYPE,
|
|
26
27
|
EDGE_TYPE,
|
|
27
28
|
FOLD_MODE,
|
|
28
29
|
GRAPH_DIRECTION,
|
|
@@ -32,6 +33,8 @@ import {
|
|
|
32
33
|
TOOLBAR_POSITION,
|
|
33
34
|
VALIDATION_STATE,
|
|
34
35
|
graphSpecMode,
|
|
36
|
+
isBindingNode,
|
|
37
|
+
isBindingStepSpec,
|
|
35
38
|
isDryGraphSpec,
|
|
36
39
|
isPluralMultiplicity,
|
|
37
40
|
isStaticGraphSpec,
|
|
@@ -39,7 +42,7 @@ import {
|
|
|
39
42
|
stuffDigestFromId,
|
|
40
43
|
toolbarOrientation,
|
|
41
44
|
toolbarSide
|
|
42
|
-
} from "../../chunk-
|
|
45
|
+
} from "../../chunk-3I3ZPYMW.js";
|
|
43
46
|
import {
|
|
44
47
|
__spreadProps,
|
|
45
48
|
__spreadValues
|
|
@@ -1012,7 +1015,13 @@ function PipeSequenceSection({
|
|
|
1012
1015
|
/* @__PURE__ */ jsx12("div", { className: "detail-section-label", children: "Steps" }),
|
|
1013
1016
|
/* @__PURE__ */ jsx12("div", { className: "detail-steps-list", children: blueprint.sequential_sub_pipes.map((step, idx) => /* @__PURE__ */ jsxs12("div", { className: "detail-step-item", children: [
|
|
1014
1017
|
/* @__PURE__ */ jsx12("span", { className: "detail-step-index", children: idx + 1 }),
|
|
1015
|
-
|
|
1018
|
+
isBindingStepSpec(step) ? (
|
|
1019
|
+
// A binding step runs no pipe: it names the path it binds.
|
|
1020
|
+
/* @__PURE__ */ jsxs12("span", { className: "detail-step-code", title: "Binding step", children: [
|
|
1021
|
+
"from ",
|
|
1022
|
+
step.from_path
|
|
1023
|
+
] })
|
|
1024
|
+
) : /* @__PURE__ */ jsx12("span", { className: "detail-step-code", children: step.pipe_code }),
|
|
1016
1025
|
step.output_name && /* @__PURE__ */ jsxs12("span", { className: "detail-io-concept", children: [
|
|
1017
1026
|
"-> ",
|
|
1018
1027
|
step.output_name
|
|
@@ -1057,6 +1066,20 @@ function PipeBatchSection({
|
|
|
1057
1066
|
] });
|
|
1058
1067
|
}
|
|
1059
1068
|
|
|
1069
|
+
// src/graph/react/detail/sections/BindingStepDetail.tsx
|
|
1070
|
+
import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1071
|
+
function BindingStepSection({ node }) {
|
|
1072
|
+
var _a, _b;
|
|
1073
|
+
const executionData = (_a = node.execution_data) != null ? _a : {};
|
|
1074
|
+
const fromPath = typeof executionData.from === "string" ? executionData.from : node.pipe_code;
|
|
1075
|
+
const result = typeof executionData.result === "string" ? executionData.result : (_b = node.io.outputs[0]) == null ? void 0 : _b.name;
|
|
1076
|
+
return /* @__PURE__ */ jsxs15("div", { children: [
|
|
1077
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Binding" }),
|
|
1078
|
+
/* @__PURE__ */ jsx15(KV, { label: "From", value: fromPath }),
|
|
1079
|
+
/* @__PURE__ */ jsx15(KV, { label: "Result", value: result })
|
|
1080
|
+
] });
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1060
1083
|
// src/graph/react/detail/sections/executionData.ts
|
|
1061
1084
|
var MERGED_EXECUTION_DATA_TYPES = /* @__PURE__ */ new Set([
|
|
1062
1085
|
"PipeLLM",
|
|
@@ -1076,7 +1099,7 @@ function shouldDumpExecutionData(pipeType, hasBlueprint) {
|
|
|
1076
1099
|
}
|
|
1077
1100
|
|
|
1078
1101
|
// src/graph/react/detail/PipeDetailPanel.tsx
|
|
1079
|
-
import { Fragment as Fragment10, jsx as
|
|
1102
|
+
import { Fragment as Fragment10, jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1080
1103
|
var PIPE_TYPE_BADGES = {
|
|
1081
1104
|
PipeLLM: "LLM",
|
|
1082
1105
|
PipeExtract: "Extract",
|
|
@@ -1085,11 +1108,14 @@ var PIPE_TYPE_BADGES = {
|
|
|
1085
1108
|
PipeSearch: "Search",
|
|
1086
1109
|
PipeFunc: "Func",
|
|
1087
1110
|
PipeStructure: "Structure",
|
|
1111
|
+
PipeJudge: "Judge",
|
|
1112
|
+
PipeDocGen: "DocGen",
|
|
1088
1113
|
PipeSignature: "Signature",
|
|
1089
1114
|
PipeSequence: "Seq",
|
|
1090
1115
|
PipeParallel: "Par",
|
|
1091
1116
|
PipeCondition: "Cond",
|
|
1092
|
-
PipeBatch: "Batch"
|
|
1117
|
+
PipeBatch: "Batch",
|
|
1118
|
+
BindingStep: "Binding"
|
|
1093
1119
|
};
|
|
1094
1120
|
var CONTROLLER_TYPES = /* @__PURE__ */ new Set([
|
|
1095
1121
|
"PipeSequence",
|
|
@@ -1109,6 +1135,7 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1109
1135
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1110
1136
|
const pipeType = node.pipe_type;
|
|
1111
1137
|
const isController = CONTROLLER_TYPES.has(pipeType);
|
|
1138
|
+
const isBinding = isBindingNode(node);
|
|
1112
1139
|
const isStatic = isStaticGraphSpec(spec);
|
|
1113
1140
|
const showsGeneratedData = !isStatic && !isDryGraphSpec(spec);
|
|
1114
1141
|
const badge = PIPE_TYPE_BADGES[pipeType];
|
|
@@ -1116,7 +1143,7 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1116
1143
|
const statusColor = (_a = STATUS_COLORS[status]) != null ? _a : "#6272a4";
|
|
1117
1144
|
const blueprint = React6.useMemo(() => {
|
|
1118
1145
|
var _a2, _b2;
|
|
1119
|
-
if (!node.pipe_code || !spec.pipe_registry) return void 0;
|
|
1146
|
+
if (isBinding || !node.pipe_code || !spec.pipe_registry) return void 0;
|
|
1120
1147
|
const directKey = `${(_b2 = (_a2 = spec.pipeline_ref) == null ? void 0 : _a2.domain) != null ? _b2 : ""}.${node.pipe_code}`;
|
|
1121
1148
|
const direct = getPipeBlueprint(spec, directKey);
|
|
1122
1149
|
if (direct) return direct;
|
|
@@ -1124,22 +1151,22 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1124
1151
|
if (ref.endsWith(`.${node.pipe_code}`)) return pipe;
|
|
1125
1152
|
}
|
|
1126
1153
|
return void 0;
|
|
1127
|
-
}, [node.pipe_code, spec]);
|
|
1154
|
+
}, [isBinding, node.pipe_code, spec]);
|
|
1128
1155
|
const [usageExpanded, setUsageExpanded] = React6.useState(false);
|
|
1129
1156
|
const inputs = (_c = (_b = node.io) == null ? void 0 : _b.inputs) != null ? _c : [];
|
|
1130
1157
|
const outputs = (_e = (_d = node.io) == null ? void 0 : _d.outputs) != null ? _e : [];
|
|
1131
1158
|
const description = (_f = blueprint == null ? void 0 : blueprint.description) != null ? _f : node.description;
|
|
1132
|
-
return /* @__PURE__ */
|
|
1133
|
-
/* @__PURE__ */
|
|
1134
|
-
/* @__PURE__ */
|
|
1135
|
-
/* @__PURE__ */
|
|
1159
|
+
return /* @__PURE__ */ jsxs16(Fragment10, { children: [
|
|
1160
|
+
/* @__PURE__ */ jsxs16("div", { className: "detail-sticky-header", children: [
|
|
1161
|
+
/* @__PURE__ */ jsxs16("div", { className: "detail-header", children: [
|
|
1162
|
+
/* @__PURE__ */ jsx16(
|
|
1136
1163
|
"span",
|
|
1137
1164
|
{
|
|
1138
1165
|
className: `detail-badge ${isController ? "detail-badge--controller" : "detail-badge--operator"}`,
|
|
1139
1166
|
children: badge
|
|
1140
1167
|
}
|
|
1141
1168
|
),
|
|
1142
|
-
/* @__PURE__ */
|
|
1169
|
+
/* @__PURE__ */ jsx16(
|
|
1143
1170
|
"span",
|
|
1144
1171
|
{
|
|
1145
1172
|
className: `detail-pipe-code ${isController ? "detail-pipe-code--controller" : ""}`,
|
|
@@ -1147,11 +1174,11 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1147
1174
|
}
|
|
1148
1175
|
)
|
|
1149
1176
|
] }),
|
|
1150
|
-
!isStatic && /* @__PURE__ */
|
|
1151
|
-
/* @__PURE__ */
|
|
1152
|
-
/* @__PURE__ */
|
|
1153
|
-
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */
|
|
1154
|
-
showsGeneratedData && node.usage && /* @__PURE__ */
|
|
1177
|
+
!isStatic && /* @__PURE__ */ jsxs16("div", { className: "detail-status", children: [
|
|
1178
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-status-dot", style: { background: statusColor } }),
|
|
1179
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-status-label", style: { color: statusColor }, children: status }),
|
|
1180
|
+
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */ jsx16("span", { className: "detail-duration", children: formatDuration(node.timing.duration) }),
|
|
1181
|
+
showsGeneratedData && node.usage && /* @__PURE__ */ jsx16(
|
|
1155
1182
|
UsageCostInline,
|
|
1156
1183
|
{
|
|
1157
1184
|
usage: node.usage,
|
|
@@ -1161,43 +1188,44 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1161
1188
|
}
|
|
1162
1189
|
)
|
|
1163
1190
|
] }),
|
|
1164
|
-
showsGeneratedData && node.usage && usageExpanded && /* @__PURE__ */
|
|
1165
|
-
description && /* @__PURE__ */
|
|
1166
|
-
inputs.length > 0 && /* @__PURE__ */
|
|
1167
|
-
/* @__PURE__ */
|
|
1168
|
-
/* @__PURE__ */
|
|
1191
|
+
showsGeneratedData && node.usage && usageExpanded && /* @__PURE__ */ jsx16(UsageDetails, { usage: node.usage, isController }),
|
|
1192
|
+
description && /* @__PURE__ */ jsx16("div", { className: "detail-description", children: description }),
|
|
1193
|
+
inputs.length > 0 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
1194
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Inputs" }),
|
|
1195
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-io-list", children: inputs.map((input, idx) => /* @__PURE__ */ jsxs16(
|
|
1169
1196
|
"div",
|
|
1170
1197
|
{
|
|
1171
1198
|
className: "detail-io-pill",
|
|
1172
1199
|
style: { cursor: input.concept && onConceptClick ? "pointer" : void 0 },
|
|
1173
1200
|
onClick: () => input.concept && (onConceptClick == null ? void 0 : onConceptClick(input.concept)),
|
|
1174
1201
|
children: [
|
|
1175
|
-
/* @__PURE__ */
|
|
1176
|
-
input.concept && /* @__PURE__ */
|
|
1202
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-io-name", children: input.name }),
|
|
1203
|
+
input.concept && /* @__PURE__ */ jsx16("span", { className: "detail-io-concept", children: input.concept + multiplicitySuffix(input.multiplicity) })
|
|
1177
1204
|
]
|
|
1178
1205
|
},
|
|
1179
1206
|
idx
|
|
1180
1207
|
)) })
|
|
1181
1208
|
] }),
|
|
1182
|
-
outputs.length > 0 && /* @__PURE__ */
|
|
1183
|
-
/* @__PURE__ */
|
|
1184
|
-
/* @__PURE__ */
|
|
1209
|
+
outputs.length > 0 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
1210
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Output" }),
|
|
1211
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-io-list", children: outputs.map((output, idx) => /* @__PURE__ */ jsxs16(
|
|
1185
1212
|
"div",
|
|
1186
1213
|
{
|
|
1187
1214
|
className: "detail-io-pill",
|
|
1188
1215
|
style: { cursor: output.concept && onConceptClick ? "pointer" : void 0 },
|
|
1189
1216
|
onClick: () => output.concept && (onConceptClick == null ? void 0 : onConceptClick(output.concept)),
|
|
1190
1217
|
children: [
|
|
1191
|
-
/* @__PURE__ */
|
|
1192
|
-
output.concept && /* @__PURE__ */
|
|
1218
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-io-name", children: output.name }),
|
|
1219
|
+
output.concept && /* @__PURE__ */ jsx16("span", { className: "detail-io-concept", children: output.concept + multiplicitySuffix(output.multiplicity) })
|
|
1193
1220
|
]
|
|
1194
1221
|
},
|
|
1195
1222
|
idx
|
|
1196
1223
|
)) })
|
|
1197
1224
|
] }),
|
|
1198
|
-
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */
|
|
1225
|
+
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */ jsx16("div", { style: { borderTop: "1px solid rgba(255,255,255,0.06)", margin: "4px 0" } })
|
|
1199
1226
|
] }),
|
|
1200
|
-
|
|
1227
|
+
isBinding && /* @__PURE__ */ jsx16(BindingStepSection, { node }),
|
|
1228
|
+
blueprint && /* @__PURE__ */ jsx16(
|
|
1201
1229
|
BlueprintSection,
|
|
1202
1230
|
{
|
|
1203
1231
|
blueprint,
|
|
@@ -1206,7 +1234,7 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1206
1234
|
modelHandles: node.execution_data
|
|
1207
1235
|
}
|
|
1208
1236
|
),
|
|
1209
|
-
showsGeneratedData && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */
|
|
1237
|
+
showsGeneratedData && !isBinding && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */ jsx16(
|
|
1210
1238
|
ExecutionDataSection,
|
|
1211
1239
|
{
|
|
1212
1240
|
executionData: node.execution_data,
|
|
@@ -1214,14 +1242,14 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1214
1242
|
hasBlueprint: !!blueprint
|
|
1215
1243
|
}
|
|
1216
1244
|
),
|
|
1217
|
-
node.error && /* @__PURE__ */
|
|
1218
|
-
/* @__PURE__ */
|
|
1219
|
-
/* @__PURE__ */
|
|
1220
|
-
node.error.stack && /* @__PURE__ */
|
|
1245
|
+
node.error && /* @__PURE__ */ jsxs16("div", { className: "detail-error", children: [
|
|
1246
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-error-type", children: node.error.error_type }),
|
|
1247
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-error-message", children: node.error.message }),
|
|
1248
|
+
node.error.stack && /* @__PURE__ */ jsx16("div", { className: "detail-error-stack", children: node.error.stack })
|
|
1221
1249
|
] }),
|
|
1222
|
-
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */
|
|
1223
|
-
/* @__PURE__ */
|
|
1224
|
-
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */
|
|
1250
|
+
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
1251
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Metrics" }),
|
|
1252
|
+
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */ jsx16(
|
|
1225
1253
|
KV,
|
|
1226
1254
|
{
|
|
1227
1255
|
label: key,
|
|
@@ -1230,17 +1258,17 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1230
1258
|
key
|
|
1231
1259
|
))
|
|
1232
1260
|
] }),
|
|
1233
|
-
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */
|
|
1234
|
-
/* @__PURE__ */
|
|
1235
|
-
/* @__PURE__ */
|
|
1236
|
-
/* @__PURE__ */
|
|
1261
|
+
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
1262
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Tags" }),
|
|
1263
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-tags", children: Object.entries(node.tags).map(([key, value]) => /* @__PURE__ */ jsxs16("span", { className: "detail-tag", children: [
|
|
1264
|
+
/* @__PURE__ */ jsxs16("span", { className: "detail-tag-key", children: [
|
|
1237
1265
|
key,
|
|
1238
1266
|
": "
|
|
1239
1267
|
] }),
|
|
1240
|
-
/* @__PURE__ */
|
|
1268
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-tag-value", children: value })
|
|
1241
1269
|
] }, key)) })
|
|
1242
1270
|
] }),
|
|
1243
|
-
!blueprint && /* @__PURE__ */
|
|
1271
|
+
!blueprint && !isBinding && /* @__PURE__ */ jsx16("div", { className: "detail-not-available", children: "Blueprint not available" })
|
|
1244
1272
|
] });
|
|
1245
1273
|
}
|
|
1246
1274
|
function BlueprintSection({
|
|
@@ -1251,7 +1279,7 @@ function BlueprintSection({
|
|
|
1251
1279
|
}) {
|
|
1252
1280
|
switch (blueprint.type) {
|
|
1253
1281
|
case "PipeLLM":
|
|
1254
|
-
return /* @__PURE__ */
|
|
1282
|
+
return /* @__PURE__ */ jsx16(
|
|
1255
1283
|
PipeLLMSection,
|
|
1256
1284
|
{
|
|
1257
1285
|
blueprint,
|
|
@@ -1261,7 +1289,7 @@ function BlueprintSection({
|
|
|
1261
1289
|
}
|
|
1262
1290
|
);
|
|
1263
1291
|
case "PipeImgGen":
|
|
1264
|
-
return /* @__PURE__ */
|
|
1292
|
+
return /* @__PURE__ */ jsx16(
|
|
1265
1293
|
PipeImgGenSection,
|
|
1266
1294
|
{
|
|
1267
1295
|
blueprint,
|
|
@@ -1271,9 +1299,9 @@ function BlueprintSection({
|
|
|
1271
1299
|
}
|
|
1272
1300
|
);
|
|
1273
1301
|
case "PipeCompose":
|
|
1274
|
-
return /* @__PURE__ */
|
|
1302
|
+
return /* @__PURE__ */ jsx16(PipeComposeSection, { blueprint, executionData });
|
|
1275
1303
|
case "PipeExtract":
|
|
1276
|
-
return /* @__PURE__ */
|
|
1304
|
+
return /* @__PURE__ */ jsx16(
|
|
1277
1305
|
PipeExtractSection,
|
|
1278
1306
|
{
|
|
1279
1307
|
blueprint,
|
|
@@ -1282,7 +1310,7 @@ function BlueprintSection({
|
|
|
1282
1310
|
}
|
|
1283
1311
|
);
|
|
1284
1312
|
case "PipeSearch":
|
|
1285
|
-
return /* @__PURE__ */
|
|
1313
|
+
return /* @__PURE__ */ jsx16(
|
|
1286
1314
|
PipeSearchSection,
|
|
1287
1315
|
{
|
|
1288
1316
|
blueprint,
|
|
@@ -1292,7 +1320,7 @@ function BlueprintSection({
|
|
|
1292
1320
|
}
|
|
1293
1321
|
);
|
|
1294
1322
|
case "PipeStructure":
|
|
1295
|
-
return /* @__PURE__ */
|
|
1323
|
+
return /* @__PURE__ */ jsx16(
|
|
1296
1324
|
PipeStructureSection,
|
|
1297
1325
|
{
|
|
1298
1326
|
blueprint,
|
|
@@ -1302,17 +1330,17 @@ function BlueprintSection({
|
|
|
1302
1330
|
}
|
|
1303
1331
|
);
|
|
1304
1332
|
case "PipeSequence":
|
|
1305
|
-
return /* @__PURE__ */
|
|
1333
|
+
return /* @__PURE__ */ jsx16(PipeSequenceSection, { blueprint, executionData });
|
|
1306
1334
|
case "PipeParallel":
|
|
1307
|
-
return /* @__PURE__ */
|
|
1335
|
+
return /* @__PURE__ */ jsx16(PipeParallelSection, { blueprint, executionData });
|
|
1308
1336
|
case "PipeCondition":
|
|
1309
|
-
return /* @__PURE__ */
|
|
1337
|
+
return /* @__PURE__ */ jsx16(PipeConditionSection, { blueprint, executionData });
|
|
1310
1338
|
case "PipeBatch":
|
|
1311
|
-
return /* @__PURE__ */
|
|
1339
|
+
return /* @__PURE__ */ jsx16(PipeBatchSection, { blueprint, executionData });
|
|
1312
1340
|
case "PipeFunc":
|
|
1313
1341
|
return null;
|
|
1314
1342
|
case "PipeSignature":
|
|
1315
|
-
return /* @__PURE__ */
|
|
1343
|
+
return /* @__PURE__ */ jsx16("div", { className: "detail-not-available", children: "Signature stub \u2014 declared but not yet implemented." });
|
|
1316
1344
|
default:
|
|
1317
1345
|
return null;
|
|
1318
1346
|
}
|
|
@@ -1323,20 +1351,20 @@ function ExecutionDataSection({
|
|
|
1323
1351
|
hasBlueprint
|
|
1324
1352
|
}) {
|
|
1325
1353
|
if (!shouldDumpExecutionData(pipeType, hasBlueprint)) return null;
|
|
1326
|
-
return /* @__PURE__ */
|
|
1354
|
+
return /* @__PURE__ */ jsx16(GenericExecutionData, { data: executionData });
|
|
1327
1355
|
}
|
|
1328
1356
|
function GenericExecutionData({ data }) {
|
|
1329
1357
|
const entries = Object.entries(data);
|
|
1330
1358
|
if (entries.length === 0) return null;
|
|
1331
|
-
return /* @__PURE__ */
|
|
1332
|
-
/* @__PURE__ */
|
|
1333
|
-
entries.map(([key, value]) => /* @__PURE__ */
|
|
1359
|
+
return /* @__PURE__ */ jsxs16(Fragment10, { children: [
|
|
1360
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Execution" }),
|
|
1361
|
+
entries.map(([key, value]) => /* @__PURE__ */ jsx16(KV, { label: key, value: String(value) }, key))
|
|
1334
1362
|
] });
|
|
1335
1363
|
}
|
|
1336
1364
|
|
|
1337
1365
|
// src/graph/react/detail/ConceptDetailPanel.tsx
|
|
1338
1366
|
import React7 from "react";
|
|
1339
|
-
import { Fragment as Fragment11, jsx as
|
|
1367
|
+
import { Fragment as Fragment11, jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1340
1368
|
function ConceptDetailPanel({
|
|
1341
1369
|
concept,
|
|
1342
1370
|
ioData,
|
|
@@ -1346,18 +1374,18 @@ function ConceptDetailPanel({
|
|
|
1346
1374
|
}) {
|
|
1347
1375
|
var _a;
|
|
1348
1376
|
const multiplicity = ioData == null ? void 0 : ioData.multiplicity;
|
|
1349
|
-
return /* @__PURE__ */
|
|
1350
|
-
/* @__PURE__ */
|
|
1351
|
-
/* @__PURE__ */
|
|
1352
|
-
/* @__PURE__ */
|
|
1377
|
+
return /* @__PURE__ */ jsxs17(Fragment11, { children: [
|
|
1378
|
+
/* @__PURE__ */ jsxs17("div", { className: "detail-header", children: [
|
|
1379
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-concept-code", children: concept.code + multiplicitySuffix(multiplicity) }),
|
|
1380
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-concept-domain", children: concept.domain_code })
|
|
1353
1381
|
] }),
|
|
1354
|
-
isPluralMultiplicity(multiplicity) && /* @__PURE__ */
|
|
1355
|
-
concept.description && /* @__PURE__ */
|
|
1356
|
-
concept.refines && /* @__PURE__ */
|
|
1382
|
+
isPluralMultiplicity(multiplicity) && /* @__PURE__ */ jsx17("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` }),
|
|
1383
|
+
concept.description && /* @__PURE__ */ jsx17("div", { className: "detail-description", children: concept.description }),
|
|
1384
|
+
concept.refines && /* @__PURE__ */ jsxs17("div", { className: "detail-refines", children: [
|
|
1357
1385
|
"refines ",
|
|
1358
|
-
/* @__PURE__ */
|
|
1386
|
+
/* @__PURE__ */ jsx17("span", { className: "detail-refines-code", children: concept.refines })
|
|
1359
1387
|
] }),
|
|
1360
|
-
/* @__PURE__ */
|
|
1388
|
+
/* @__PURE__ */ jsx17(
|
|
1361
1389
|
ConceptBody,
|
|
1362
1390
|
{
|
|
1363
1391
|
concept,
|
|
@@ -1376,10 +1404,10 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1376
1404
|
const baseId = React7.useId();
|
|
1377
1405
|
const tabId = (tab) => `${baseId}-tab-${tab}`;
|
|
1378
1406
|
const panelId = (tab) => `${baseId}-tabpanel-${tab}`;
|
|
1379
|
-
const structure = concept.json_schema ? /* @__PURE__ */
|
|
1380
|
-
/* @__PURE__ */
|
|
1381
|
-
/* @__PURE__ */
|
|
1382
|
-
] }) : /* @__PURE__ */
|
|
1407
|
+
const structure = concept.json_schema ? /* @__PURE__ */ jsxs17("div", { children: [
|
|
1408
|
+
/* @__PURE__ */ jsx17("div", { className: "detail-section-label", children: "Structure" }),
|
|
1409
|
+
/* @__PURE__ */ jsx17(SchemaTable, { schema: concept.json_schema })
|
|
1410
|
+
] }) : /* @__PURE__ */ jsx17("div", { className: "detail-not-available", children: "Schema not available" });
|
|
1383
1411
|
if (!hasData) return structure;
|
|
1384
1412
|
const onTabKeyDown = (event) => {
|
|
1385
1413
|
var _a;
|
|
@@ -1402,7 +1430,7 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1402
1430
|
setActiveTab(next);
|
|
1403
1431
|
(_a = document.getElementById(tabId(next))) == null ? void 0 : _a.focus();
|
|
1404
1432
|
};
|
|
1405
|
-
const renderTab = (tab, label) => /* @__PURE__ */
|
|
1433
|
+
const renderTab = (tab, label) => /* @__PURE__ */ jsx17(
|
|
1406
1434
|
"button",
|
|
1407
1435
|
{
|
|
1408
1436
|
type: "button",
|
|
@@ -1417,12 +1445,12 @@ function ConceptBody({ concept, ioData, isDryRun, renderData }) {
|
|
|
1417
1445
|
children: label
|
|
1418
1446
|
}
|
|
1419
1447
|
);
|
|
1420
|
-
return /* @__PURE__ */
|
|
1421
|
-
/* @__PURE__ */
|
|
1448
|
+
return /* @__PURE__ */ jsxs17(Fragment11, { children: [
|
|
1449
|
+
/* @__PURE__ */ jsxs17("div", { className: "detail-tabs", role: "tablist", "aria-label": "Concept views", children: [
|
|
1422
1450
|
renderTab("data", "Data"),
|
|
1423
1451
|
renderTab("structure", "Structure")
|
|
1424
1452
|
] }),
|
|
1425
|
-
/* @__PURE__ */
|
|
1453
|
+
/* @__PURE__ */ jsx17("div", { role: "tabpanel", id: panelId(activeTab), "aria-labelledby": tabId(activeTab), children: activeTab === "data" ? dataView : structure })
|
|
1426
1454
|
] });
|
|
1427
1455
|
}
|
|
1428
1456
|
function SchemaTable({ schema }) {
|
|
@@ -1430,23 +1458,23 @@ function SchemaTable({ schema }) {
|
|
|
1430
1458
|
const properties = schema.properties;
|
|
1431
1459
|
const required = new Set((_a = schema.required) != null ? _a : []);
|
|
1432
1460
|
if (!properties || Object.keys(properties).length === 0) {
|
|
1433
|
-
return /* @__PURE__ */
|
|
1461
|
+
return /* @__PURE__ */ jsx17("div", { className: "detail-not-available", children: "No fields defined" });
|
|
1434
1462
|
}
|
|
1435
1463
|
const fields = Object.entries(properties);
|
|
1436
|
-
return /* @__PURE__ */
|
|
1437
|
-
/* @__PURE__ */
|
|
1438
|
-
/* @__PURE__ */
|
|
1439
|
-
/* @__PURE__ */
|
|
1440
|
-
/* @__PURE__ */
|
|
1441
|
-
/* @__PURE__ */
|
|
1464
|
+
return /* @__PURE__ */ jsxs17("table", { className: "detail-schema-table", children: [
|
|
1465
|
+
/* @__PURE__ */ jsx17("thead", { children: /* @__PURE__ */ jsxs17("tr", { children: [
|
|
1466
|
+
/* @__PURE__ */ jsx17("th", { children: "Field" }),
|
|
1467
|
+
/* @__PURE__ */ jsx17("th", { children: "Type" }),
|
|
1468
|
+
/* @__PURE__ */ jsx17("th", {}),
|
|
1469
|
+
/* @__PURE__ */ jsx17("th", { children: "Description" })
|
|
1442
1470
|
] }) }),
|
|
1443
|
-
/* @__PURE__ */
|
|
1471
|
+
/* @__PURE__ */ jsx17("tbody", { children: fields.map(([fieldName, fieldSchema]) => {
|
|
1444
1472
|
var _a2;
|
|
1445
|
-
return /* @__PURE__ */
|
|
1446
|
-
/* @__PURE__ */
|
|
1447
|
-
/* @__PURE__ */
|
|
1448
|
-
/* @__PURE__ */
|
|
1449
|
-
/* @__PURE__ */
|
|
1473
|
+
return /* @__PURE__ */ jsxs17("tr", { children: [
|
|
1474
|
+
/* @__PURE__ */ jsx17("td", { className: "detail-schema-field", children: fieldName }),
|
|
1475
|
+
/* @__PURE__ */ jsx17("td", { className: "detail-schema-type", children: extractType(fieldSchema) }),
|
|
1476
|
+
/* @__PURE__ */ jsx17("td", { children: required.has(fieldName) && /* @__PURE__ */ jsx17("span", { className: "detail-schema-required", children: "req" }) }),
|
|
1477
|
+
/* @__PURE__ */ jsx17("td", { children: (_a2 = fieldSchema.description) != null ? _a2 : "" })
|
|
1450
1478
|
] }, fieldName);
|
|
1451
1479
|
}) })
|
|
1452
1480
|
] });
|
|
@@ -1497,10 +1525,10 @@ function toAppEdges(edges) {
|
|
|
1497
1525
|
}
|
|
1498
1526
|
|
|
1499
1527
|
// src/graph/react/viewer/renderLabel.tsx
|
|
1500
|
-
import { jsx as
|
|
1528
|
+
import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1501
1529
|
function renderLabel(desc) {
|
|
1502
1530
|
if (desc.kind === "pipe") {
|
|
1503
|
-
return /* @__PURE__ */
|
|
1531
|
+
return /* @__PURE__ */ jsx18(
|
|
1504
1532
|
"div",
|
|
1505
1533
|
{
|
|
1506
1534
|
style: {
|
|
@@ -1514,7 +1542,7 @@ function renderLabel(desc) {
|
|
|
1514
1542
|
minWidth: 0
|
|
1515
1543
|
},
|
|
1516
1544
|
title: desc.label,
|
|
1517
|
-
children: /* @__PURE__ */
|
|
1545
|
+
children: /* @__PURE__ */ jsx18(
|
|
1518
1546
|
"span",
|
|
1519
1547
|
{
|
|
1520
1548
|
style: {
|
|
@@ -1533,7 +1561,7 @@ function renderLabel(desc) {
|
|
|
1533
1561
|
}
|
|
1534
1562
|
);
|
|
1535
1563
|
}
|
|
1536
|
-
return /* @__PURE__ */
|
|
1564
|
+
return /* @__PURE__ */ jsxs18(
|
|
1537
1565
|
"div",
|
|
1538
1566
|
{
|
|
1539
1567
|
style: {
|
|
@@ -1549,7 +1577,7 @@ function renderLabel(desc) {
|
|
|
1549
1577
|
},
|
|
1550
1578
|
title: desc.concept ? `${desc.label}: ${desc.concept}` : desc.label,
|
|
1551
1579
|
children: [
|
|
1552
|
-
/* @__PURE__ */
|
|
1580
|
+
/* @__PURE__ */ jsx18(
|
|
1553
1581
|
"span",
|
|
1554
1582
|
{
|
|
1555
1583
|
style: {
|
|
@@ -1565,7 +1593,7 @@ function renderLabel(desc) {
|
|
|
1565
1593
|
children: desc.label
|
|
1566
1594
|
}
|
|
1567
1595
|
),
|
|
1568
|
-
desc.concept && /* @__PURE__ */
|
|
1596
|
+
desc.concept && /* @__PURE__ */ jsx18(
|
|
1569
1597
|
"span",
|
|
1570
1598
|
{
|
|
1571
1599
|
style: {
|
|
@@ -1599,7 +1627,7 @@ import React8 from "react";
|
|
|
1599
1627
|
import { Panel } from "@xyflow/react";
|
|
1600
1628
|
|
|
1601
1629
|
// src/graph/react/viewer/ValidationPanel.tsx
|
|
1602
|
-
import { jsx as
|
|
1630
|
+
import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1603
1631
|
function validationLabel(state, issueCount) {
|
|
1604
1632
|
const issues = issueCount === 1 ? "1 issue" : `${issueCount} issues`;
|
|
1605
1633
|
switch (state) {
|
|
@@ -1666,7 +1694,7 @@ function ValidationPanel({
|
|
|
1666
1694
|
placement,
|
|
1667
1695
|
id
|
|
1668
1696
|
}) {
|
|
1669
|
-
return /* @__PURE__ */
|
|
1697
|
+
return /* @__PURE__ */ jsxs19(
|
|
1670
1698
|
"div",
|
|
1671
1699
|
{
|
|
1672
1700
|
id,
|
|
@@ -1674,18 +1702,18 @@ function ValidationPanel({
|
|
|
1674
1702
|
role: "region",
|
|
1675
1703
|
"aria-label": "Validation issues",
|
|
1676
1704
|
children: [
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
issues.length === 0 ? /* @__PURE__ */
|
|
1705
|
+
/* @__PURE__ */ jsx19("div", { className: "graph-validation-panel-header", children: validationLabel(state, issues.length) }),
|
|
1706
|
+
issues.length === 0 ? /* @__PURE__ */ jsx19("div", { className: "graph-validation-empty", children: validationEmptyText(state) }) : /* @__PURE__ */ jsx19("ul", { className: "graph-validation-issues", role: "list", children: issues.map((issue, index) => {
|
|
1679
1707
|
const clickable = onIssueClick !== void 0;
|
|
1680
|
-
const meta = (issue.context || issue.file) && /* @__PURE__ */
|
|
1681
|
-
issue.context && /* @__PURE__ */
|
|
1682
|
-
issue.file && /* @__PURE__ */
|
|
1708
|
+
const meta = (issue.context || issue.file) && /* @__PURE__ */ jsxs19("div", { className: "graph-validation-issue-meta", children: [
|
|
1709
|
+
issue.context && /* @__PURE__ */ jsx19("span", { className: "graph-validation-issue-context", children: issue.context }),
|
|
1710
|
+
issue.file && /* @__PURE__ */ jsx19("span", { className: "graph-validation-issue-file", children: issue.file })
|
|
1683
1711
|
] });
|
|
1684
|
-
return /* @__PURE__ */
|
|
1712
|
+
return /* @__PURE__ */ jsx19(
|
|
1685
1713
|
"li",
|
|
1686
1714
|
{
|
|
1687
1715
|
className: `graph-validation-issue graph-validation-issue--${issue.severity}` + (clickable ? " graph-validation-issue--clickable" : ""),
|
|
1688
|
-
children: /* @__PURE__ */
|
|
1716
|
+
children: /* @__PURE__ */ jsxs19(
|
|
1689
1717
|
"div",
|
|
1690
1718
|
{
|
|
1691
1719
|
className: "graph-validation-issue-body",
|
|
@@ -1700,8 +1728,8 @@ function ValidationPanel({
|
|
|
1700
1728
|
} : void 0,
|
|
1701
1729
|
children: [
|
|
1702
1730
|
meta,
|
|
1703
|
-
/* @__PURE__ */
|
|
1704
|
-
issue.suggestedFix && /* @__PURE__ */
|
|
1731
|
+
/* @__PURE__ */ jsx19("div", { className: "graph-validation-issue-message", children: issue.message }),
|
|
1732
|
+
issue.suggestedFix && /* @__PURE__ */ jsx19("div", { className: "graph-validation-issue-fix", children: issue.suggestedFix })
|
|
1705
1733
|
]
|
|
1706
1734
|
}
|
|
1707
1735
|
)
|
|
@@ -1715,9 +1743,9 @@ function ValidationPanel({
|
|
|
1715
1743
|
}
|
|
1716
1744
|
|
|
1717
1745
|
// src/graph/react/viewer/GraphToolbar.tsx
|
|
1718
|
-
import { Fragment as Fragment12, jsx as
|
|
1746
|
+
import { Fragment as Fragment12, jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1719
1747
|
var REACTFLOW_PANEL_MARGIN = 15;
|
|
1720
|
-
var ARROW_RIGHT_ICON = /* @__PURE__ */
|
|
1748
|
+
var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs20(
|
|
1721
1749
|
"svg",
|
|
1722
1750
|
{
|
|
1723
1751
|
viewBox: "0 0 24 24",
|
|
@@ -1729,12 +1757,12 @@ var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1729
1757
|
strokeLinecap: "round",
|
|
1730
1758
|
strokeLinejoin: "round",
|
|
1731
1759
|
children: [
|
|
1732
|
-
/* @__PURE__ */
|
|
1733
|
-
/* @__PURE__ */
|
|
1760
|
+
/* @__PURE__ */ jsx20("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
1761
|
+
/* @__PURE__ */ jsx20("polyline", { points: "12 5 19 12 12 19" })
|
|
1734
1762
|
]
|
|
1735
1763
|
}
|
|
1736
1764
|
);
|
|
1737
|
-
var ARROW_DOWN_ICON = /* @__PURE__ */
|
|
1765
|
+
var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs20(
|
|
1738
1766
|
"svg",
|
|
1739
1767
|
{
|
|
1740
1768
|
viewBox: "0 0 24 24",
|
|
@@ -1746,12 +1774,12 @@ var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1746
1774
|
strokeLinecap: "round",
|
|
1747
1775
|
strokeLinejoin: "round",
|
|
1748
1776
|
children: [
|
|
1749
|
-
/* @__PURE__ */
|
|
1750
|
-
/* @__PURE__ */
|
|
1777
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
1778
|
+
/* @__PURE__ */ jsx20("polyline", { points: "19 12 12 19 5 12" })
|
|
1751
1779
|
]
|
|
1752
1780
|
}
|
|
1753
1781
|
);
|
|
1754
|
-
var MINUS_ICON = /* @__PURE__ */
|
|
1782
|
+
var MINUS_ICON = /* @__PURE__ */ jsx20(
|
|
1755
1783
|
"svg",
|
|
1756
1784
|
{
|
|
1757
1785
|
viewBox: "0 0 24 24",
|
|
@@ -1762,10 +1790,10 @@ var MINUS_ICON = /* @__PURE__ */ jsx19(
|
|
|
1762
1790
|
strokeWidth: "2",
|
|
1763
1791
|
strokeLinecap: "round",
|
|
1764
1792
|
strokeLinejoin: "round",
|
|
1765
|
-
children: /* @__PURE__ */
|
|
1793
|
+
children: /* @__PURE__ */ jsx20("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
1766
1794
|
}
|
|
1767
1795
|
);
|
|
1768
|
-
var PLUS_ICON = /* @__PURE__ */
|
|
1796
|
+
var PLUS_ICON = /* @__PURE__ */ jsxs20(
|
|
1769
1797
|
"svg",
|
|
1770
1798
|
{
|
|
1771
1799
|
viewBox: "0 0 24 24",
|
|
@@ -1777,12 +1805,12 @@ var PLUS_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1777
1805
|
strokeLinecap: "round",
|
|
1778
1806
|
strokeLinejoin: "round",
|
|
1779
1807
|
children: [
|
|
1780
|
-
/* @__PURE__ */
|
|
1781
|
-
/* @__PURE__ */
|
|
1808
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
1809
|
+
/* @__PURE__ */ jsx20("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
1782
1810
|
]
|
|
1783
1811
|
}
|
|
1784
1812
|
);
|
|
1785
|
-
var FIT_VIEW_ICON = /* @__PURE__ */
|
|
1813
|
+
var FIT_VIEW_ICON = /* @__PURE__ */ jsxs20(
|
|
1786
1814
|
"svg",
|
|
1787
1815
|
{
|
|
1788
1816
|
viewBox: "0 0 24 24",
|
|
@@ -1794,14 +1822,14 @@ var FIT_VIEW_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1794
1822
|
strokeLinecap: "round",
|
|
1795
1823
|
strokeLinejoin: "round",
|
|
1796
1824
|
children: [
|
|
1797
|
-
/* @__PURE__ */
|
|
1798
|
-
/* @__PURE__ */
|
|
1799
|
-
/* @__PURE__ */
|
|
1800
|
-
/* @__PURE__ */
|
|
1825
|
+
/* @__PURE__ */ jsx20("polyline", { points: "15 3 21 3 21 9" }),
|
|
1826
|
+
/* @__PURE__ */ jsx20("polyline", { points: "9 21 3 21 3 15" }),
|
|
1827
|
+
/* @__PURE__ */ jsx20("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
|
|
1828
|
+
/* @__PURE__ */ jsx20("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
1801
1829
|
]
|
|
1802
1830
|
}
|
|
1803
1831
|
);
|
|
1804
|
-
var BOXES_ICON = /* @__PURE__ */
|
|
1832
|
+
var BOXES_ICON = /* @__PURE__ */ jsxs20(
|
|
1805
1833
|
"svg",
|
|
1806
1834
|
{
|
|
1807
1835
|
viewBox: "0 0 24 24",
|
|
@@ -1813,22 +1841,22 @@ var BOXES_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1813
1841
|
strokeLinecap: "round",
|
|
1814
1842
|
strokeLinejoin: "round",
|
|
1815
1843
|
children: [
|
|
1816
|
-
/* @__PURE__ */
|
|
1817
|
-
/* @__PURE__ */
|
|
1818
|
-
/* @__PURE__ */
|
|
1819
|
-
/* @__PURE__ */
|
|
1820
|
-
/* @__PURE__ */
|
|
1821
|
-
/* @__PURE__ */
|
|
1822
|
-
/* @__PURE__ */
|
|
1823
|
-
/* @__PURE__ */
|
|
1824
|
-
/* @__PURE__ */
|
|
1825
|
-
/* @__PURE__ */
|
|
1826
|
-
/* @__PURE__ */
|
|
1827
|
-
/* @__PURE__ */
|
|
1844
|
+
/* @__PURE__ */ jsx20("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" }),
|
|
1845
|
+
/* @__PURE__ */ jsx20("path", { d: "m7 16.5-4.74-2.85" }),
|
|
1846
|
+
/* @__PURE__ */ jsx20("path", { d: "m7 16.5 5-3" }),
|
|
1847
|
+
/* @__PURE__ */ jsx20("path", { d: "M7 16.5v5.17" }),
|
|
1848
|
+
/* @__PURE__ */ jsx20("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" }),
|
|
1849
|
+
/* @__PURE__ */ jsx20("path", { d: "m17 16.5-5-3" }),
|
|
1850
|
+
/* @__PURE__ */ jsx20("path", { d: "m17 16.5 4.74-2.85" }),
|
|
1851
|
+
/* @__PURE__ */ jsx20("path", { d: "M17 16.5v5.17" }),
|
|
1852
|
+
/* @__PURE__ */ jsx20("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" }),
|
|
1853
|
+
/* @__PURE__ */ jsx20("path", { d: "M12 8 7.26 5.15" }),
|
|
1854
|
+
/* @__PURE__ */ jsx20("path", { d: "m12 8 4.74-2.85" }),
|
|
1855
|
+
/* @__PURE__ */ jsx20("path", { d: "M12 13.5V8" })
|
|
1828
1856
|
]
|
|
1829
1857
|
}
|
|
1830
1858
|
);
|
|
1831
|
-
var FOLD_ALL_ICON = /* @__PURE__ */
|
|
1859
|
+
var FOLD_ALL_ICON = /* @__PURE__ */ jsxs20(
|
|
1832
1860
|
"svg",
|
|
1833
1861
|
{
|
|
1834
1862
|
viewBox: "0 0 24 24",
|
|
@@ -1840,15 +1868,15 @@ var FOLD_ALL_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1840
1868
|
strokeLinecap: "round",
|
|
1841
1869
|
strokeLinejoin: "round",
|
|
1842
1870
|
children: [
|
|
1843
|
-
/* @__PURE__ */
|
|
1844
|
-
/* @__PURE__ */
|
|
1845
|
-
/* @__PURE__ */
|
|
1846
|
-
/* @__PURE__ */
|
|
1847
|
-
/* @__PURE__ */
|
|
1871
|
+
/* @__PURE__ */ jsx20("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2" }),
|
|
1872
|
+
/* @__PURE__ */ jsx20("polyline", { points: "2 2 6 6 2 6" }),
|
|
1873
|
+
/* @__PURE__ */ jsx20("polyline", { points: "22 2 18 6 22 6" }),
|
|
1874
|
+
/* @__PURE__ */ jsx20("polyline", { points: "2 22 6 18 2 18" }),
|
|
1875
|
+
/* @__PURE__ */ jsx20("polyline", { points: "22 22 18 18 22 18" })
|
|
1848
1876
|
]
|
|
1849
1877
|
}
|
|
1850
1878
|
);
|
|
1851
|
-
var EXPAND_ALL_ICON = /* @__PURE__ */
|
|
1879
|
+
var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs20(
|
|
1852
1880
|
"svg",
|
|
1853
1881
|
{
|
|
1854
1882
|
viewBox: "0 0 24 24",
|
|
@@ -1860,15 +1888,15 @@ var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1860
1888
|
strokeLinecap: "round",
|
|
1861
1889
|
strokeLinejoin: "round",
|
|
1862
1890
|
children: [
|
|
1863
|
-
/* @__PURE__ */
|
|
1864
|
-
/* @__PURE__ */
|
|
1865
|
-
/* @__PURE__ */
|
|
1866
|
-
/* @__PURE__ */
|
|
1867
|
-
/* @__PURE__ */
|
|
1891
|
+
/* @__PURE__ */ jsx20("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" }),
|
|
1892
|
+
/* @__PURE__ */ jsx20("polyline", { points: "3 3 7 7 3 7" }),
|
|
1893
|
+
/* @__PURE__ */ jsx20("polyline", { points: "21 3 17 7 21 7" }),
|
|
1894
|
+
/* @__PURE__ */ jsx20("polyline", { points: "3 21 7 17 3 17" }),
|
|
1895
|
+
/* @__PURE__ */ jsx20("polyline", { points: "21 21 17 17 21 17" })
|
|
1868
1896
|
]
|
|
1869
1897
|
}
|
|
1870
1898
|
);
|
|
1871
|
-
var SUN_ICON = /* @__PURE__ */
|
|
1899
|
+
var SUN_ICON = /* @__PURE__ */ jsxs20(
|
|
1872
1900
|
"svg",
|
|
1873
1901
|
{
|
|
1874
1902
|
viewBox: "0 0 24 24",
|
|
@@ -1880,19 +1908,19 @@ var SUN_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1880
1908
|
strokeLinecap: "round",
|
|
1881
1909
|
strokeLinejoin: "round",
|
|
1882
1910
|
children: [
|
|
1883
|
-
/* @__PURE__ */
|
|
1884
|
-
/* @__PURE__ */
|
|
1885
|
-
/* @__PURE__ */
|
|
1886
|
-
/* @__PURE__ */
|
|
1887
|
-
/* @__PURE__ */
|
|
1888
|
-
/* @__PURE__ */
|
|
1889
|
-
/* @__PURE__ */
|
|
1890
|
-
/* @__PURE__ */
|
|
1891
|
-
/* @__PURE__ */
|
|
1911
|
+
/* @__PURE__ */ jsx20("circle", { cx: "12", cy: "12", r: "4" }),
|
|
1912
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "2", x2: "12", y2: "4" }),
|
|
1913
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "20", x2: "12", y2: "22" }),
|
|
1914
|
+
/* @__PURE__ */ jsx20("line", { x1: "4.93", y1: "4.93", x2: "6.34", y2: "6.34" }),
|
|
1915
|
+
/* @__PURE__ */ jsx20("line", { x1: "17.66", y1: "17.66", x2: "19.07", y2: "19.07" }),
|
|
1916
|
+
/* @__PURE__ */ jsx20("line", { x1: "2", y1: "12", x2: "4", y2: "12" }),
|
|
1917
|
+
/* @__PURE__ */ jsx20("line", { x1: "20", y1: "12", x2: "22", y2: "12" }),
|
|
1918
|
+
/* @__PURE__ */ jsx20("line", { x1: "4.93", y1: "19.07", x2: "6.34", y2: "17.66" }),
|
|
1919
|
+
/* @__PURE__ */ jsx20("line", { x1: "17.66", y1: "6.34", x2: "19.07", y2: "4.93" })
|
|
1892
1920
|
]
|
|
1893
1921
|
}
|
|
1894
1922
|
);
|
|
1895
|
-
var MOON_ICON = /* @__PURE__ */
|
|
1923
|
+
var MOON_ICON = /* @__PURE__ */ jsx20(
|
|
1896
1924
|
"svg",
|
|
1897
1925
|
{
|
|
1898
1926
|
viewBox: "0 0 24 24",
|
|
@@ -1903,10 +1931,10 @@ var MOON_ICON = /* @__PURE__ */ jsx19(
|
|
|
1903
1931
|
strokeWidth: "2",
|
|
1904
1932
|
strokeLinecap: "round",
|
|
1905
1933
|
strokeLinejoin: "round",
|
|
1906
|
-
children: /* @__PURE__ */
|
|
1934
|
+
children: /* @__PURE__ */ jsx20("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
1907
1935
|
}
|
|
1908
1936
|
);
|
|
1909
|
-
var MONITOR_ICON = /* @__PURE__ */
|
|
1937
|
+
var MONITOR_ICON = /* @__PURE__ */ jsxs20(
|
|
1910
1938
|
"svg",
|
|
1911
1939
|
{
|
|
1912
1940
|
viewBox: "0 0 24 24",
|
|
@@ -1918,13 +1946,13 @@ var MONITOR_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1918
1946
|
strokeLinecap: "round",
|
|
1919
1947
|
strokeLinejoin: "round",
|
|
1920
1948
|
children: [
|
|
1921
|
-
/* @__PURE__ */
|
|
1922
|
-
/* @__PURE__ */
|
|
1923
|
-
/* @__PURE__ */
|
|
1949
|
+
/* @__PURE__ */ jsx20("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
|
|
1950
|
+
/* @__PURE__ */ jsx20("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
|
|
1951
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
|
|
1924
1952
|
]
|
|
1925
1953
|
}
|
|
1926
1954
|
);
|
|
1927
|
-
var SPINNER_ICON = /* @__PURE__ */
|
|
1955
|
+
var SPINNER_ICON = /* @__PURE__ */ jsx20(
|
|
1928
1956
|
"svg",
|
|
1929
1957
|
{
|
|
1930
1958
|
className: "graph-toolbar-validation-spin",
|
|
@@ -1936,10 +1964,10 @@ var SPINNER_ICON = /* @__PURE__ */ jsx19(
|
|
|
1936
1964
|
strokeWidth: "2",
|
|
1937
1965
|
strokeLinecap: "round",
|
|
1938
1966
|
strokeLinejoin: "round",
|
|
1939
|
-
children: /* @__PURE__ */
|
|
1967
|
+
children: /* @__PURE__ */ jsx20("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1940
1968
|
}
|
|
1941
1969
|
);
|
|
1942
|
-
var CHECK_ICON2 = /* @__PURE__ */
|
|
1970
|
+
var CHECK_ICON2 = /* @__PURE__ */ jsx20(
|
|
1943
1971
|
"svg",
|
|
1944
1972
|
{
|
|
1945
1973
|
viewBox: "0 0 24 24",
|
|
@@ -1950,10 +1978,10 @@ var CHECK_ICON2 = /* @__PURE__ */ jsx19(
|
|
|
1950
1978
|
strokeWidth: "2",
|
|
1951
1979
|
strokeLinecap: "round",
|
|
1952
1980
|
strokeLinejoin: "round",
|
|
1953
|
-
children: /* @__PURE__ */
|
|
1981
|
+
children: /* @__PURE__ */ jsx20("polyline", { points: "20 6 9 17 4 12" })
|
|
1954
1982
|
}
|
|
1955
1983
|
);
|
|
1956
|
-
var X_CIRCLE_ICON = /* @__PURE__ */
|
|
1984
|
+
var X_CIRCLE_ICON = /* @__PURE__ */ jsxs20(
|
|
1957
1985
|
"svg",
|
|
1958
1986
|
{
|
|
1959
1987
|
viewBox: "0 0 24 24",
|
|
@@ -1965,13 +1993,13 @@ var X_CIRCLE_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1965
1993
|
strokeLinecap: "round",
|
|
1966
1994
|
strokeLinejoin: "round",
|
|
1967
1995
|
children: [
|
|
1968
|
-
/* @__PURE__ */
|
|
1969
|
-
/* @__PURE__ */
|
|
1970
|
-
/* @__PURE__ */
|
|
1996
|
+
/* @__PURE__ */ jsx20("circle", { cx: "12", cy: "12", r: "10" }),
|
|
1997
|
+
/* @__PURE__ */ jsx20("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
|
|
1998
|
+
/* @__PURE__ */ jsx20("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
|
|
1971
1999
|
]
|
|
1972
2000
|
}
|
|
1973
2001
|
);
|
|
1974
|
-
var ALERT_TRIANGLE_ICON = /* @__PURE__ */
|
|
2002
|
+
var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs20(
|
|
1975
2003
|
"svg",
|
|
1976
2004
|
{
|
|
1977
2005
|
viewBox: "0 0 24 24",
|
|
@@ -1983,13 +2011,13 @@ var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs19(
|
|
|
1983
2011
|
strokeLinecap: "round",
|
|
1984
2012
|
strokeLinejoin: "round",
|
|
1985
2013
|
children: [
|
|
1986
|
-
/* @__PURE__ */
|
|
1987
|
-
/* @__PURE__ */
|
|
1988
|
-
/* @__PURE__ */
|
|
2014
|
+
/* @__PURE__ */ jsx20("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" }),
|
|
2015
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
2016
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
|
|
1989
2017
|
]
|
|
1990
2018
|
}
|
|
1991
2019
|
);
|
|
1992
|
-
var INFO_CIRCLE_ICON = /* @__PURE__ */
|
|
2020
|
+
var INFO_CIRCLE_ICON = /* @__PURE__ */ jsxs20(
|
|
1993
2021
|
"svg",
|
|
1994
2022
|
{
|
|
1995
2023
|
viewBox: "0 0 24 24",
|
|
@@ -2001,9 +2029,9 @@ var INFO_CIRCLE_ICON = /* @__PURE__ */ jsxs19(
|
|
|
2001
2029
|
strokeLinecap: "round",
|
|
2002
2030
|
strokeLinejoin: "round",
|
|
2003
2031
|
children: [
|
|
2004
|
-
/* @__PURE__ */
|
|
2005
|
-
/* @__PURE__ */
|
|
2006
|
-
/* @__PURE__ */
|
|
2032
|
+
/* @__PURE__ */ jsx20("circle", { cx: "12", cy: "12", r: "10" }),
|
|
2033
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
2034
|
+
/* @__PURE__ */ jsx20("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
2007
2035
|
]
|
|
2008
2036
|
}
|
|
2009
2037
|
);
|
|
@@ -2107,10 +2135,10 @@ function GraphToolbar({
|
|
|
2107
2135
|
const foldAllSection = onFoldAll || onExpandAll;
|
|
2108
2136
|
const foldAllTitle = foldAllDisabled ? "Fold all controllers (nothing to fold)" : "Fold all controllers";
|
|
2109
2137
|
const expandAllTitle = expandAllDisabled ? "Expand all controllers (nothing to expand)" : "Expand all controllers";
|
|
2110
|
-
return /* @__PURE__ */
|
|
2111
|
-
validationState !== void 0 && /* @__PURE__ */
|
|
2112
|
-
/* @__PURE__ */
|
|
2113
|
-
/* @__PURE__ */
|
|
2138
|
+
return /* @__PURE__ */ jsx20(Panel, { position, className: "graph-toolbar-panel", style: panelStyle, children: /* @__PURE__ */ jsxs20("div", { className: `graph-toolbar graph-toolbar--${orientation}`, children: [
|
|
2139
|
+
validationState !== void 0 && /* @__PURE__ */ jsxs20(Fragment12, { children: [
|
|
2140
|
+
/* @__PURE__ */ jsxs20("div", { className: "graph-toolbar-validation", ref: validationRef, children: [
|
|
2141
|
+
/* @__PURE__ */ jsxs20(
|
|
2114
2142
|
"button",
|
|
2115
2143
|
{
|
|
2116
2144
|
type: "button",
|
|
@@ -2123,11 +2151,11 @@ function GraphToolbar({
|
|
|
2123
2151
|
"aria-controls": validationPanelId,
|
|
2124
2152
|
children: [
|
|
2125
2153
|
validationIcon(validationState),
|
|
2126
|
-
validationIssues.length > 0 && /* @__PURE__ */
|
|
2154
|
+
validationIssues.length > 0 && /* @__PURE__ */ jsx20("span", { className: "graph-toolbar-validation-badge", children: validationIssues.length > 99 ? "99+" : validationIssues.length })
|
|
2127
2155
|
]
|
|
2128
2156
|
}
|
|
2129
2157
|
),
|
|
2130
|
-
validationOpen && /* @__PURE__ */
|
|
2158
|
+
validationOpen && /* @__PURE__ */ jsx20(
|
|
2131
2159
|
ValidationPanel,
|
|
2132
2160
|
{
|
|
2133
2161
|
id: validationPanelId,
|
|
@@ -2138,9 +2166,9 @@ function GraphToolbar({
|
|
|
2138
2166
|
}
|
|
2139
2167
|
)
|
|
2140
2168
|
] }),
|
|
2141
|
-
/* @__PURE__ */
|
|
2169
|
+
/* @__PURE__ */ jsx20("div", { className: "graph-toolbar-separator" })
|
|
2142
2170
|
] }),
|
|
2143
|
-
onFoldAll && /* @__PURE__ */
|
|
2171
|
+
onFoldAll && /* @__PURE__ */ jsx20(
|
|
2144
2172
|
"button",
|
|
2145
2173
|
{
|
|
2146
2174
|
type: "button",
|
|
@@ -2152,7 +2180,7 @@ function GraphToolbar({
|
|
|
2152
2180
|
children: FOLD_ALL_ICON
|
|
2153
2181
|
}
|
|
2154
2182
|
),
|
|
2155
|
-
onExpandAll && /* @__PURE__ */
|
|
2183
|
+
onExpandAll && /* @__PURE__ */ jsx20(
|
|
2156
2184
|
"button",
|
|
2157
2185
|
{
|
|
2158
2186
|
type: "button",
|
|
@@ -2164,8 +2192,8 @@ function GraphToolbar({
|
|
|
2164
2192
|
children: EXPAND_ALL_ICON
|
|
2165
2193
|
}
|
|
2166
2194
|
),
|
|
2167
|
-
foldAllSection && /* @__PURE__ */
|
|
2168
|
-
/* @__PURE__ */
|
|
2195
|
+
foldAllSection && /* @__PURE__ */ jsx20("div", { className: "graph-toolbar-separator" }),
|
|
2196
|
+
/* @__PURE__ */ jsx20(
|
|
2169
2197
|
"button",
|
|
2170
2198
|
{
|
|
2171
2199
|
type: "button",
|
|
@@ -2176,7 +2204,7 @@ function GraphToolbar({
|
|
|
2176
2204
|
children: BOXES_ICON
|
|
2177
2205
|
}
|
|
2178
2206
|
),
|
|
2179
|
-
/* @__PURE__ */
|
|
2207
|
+
/* @__PURE__ */ jsx20(
|
|
2180
2208
|
"button",
|
|
2181
2209
|
{
|
|
2182
2210
|
type: "button",
|
|
@@ -2187,8 +2215,8 @@ function GraphToolbar({
|
|
|
2187
2215
|
children: isVertical ? ARROW_RIGHT_ICON : ARROW_DOWN_ICON
|
|
2188
2216
|
}
|
|
2189
2217
|
),
|
|
2190
|
-
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */
|
|
2191
|
-
onZoomOut && /* @__PURE__ */
|
|
2218
|
+
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */ jsx20("div", { className: "graph-toolbar-separator" }),
|
|
2219
|
+
onZoomOut && /* @__PURE__ */ jsx20(
|
|
2192
2220
|
"button",
|
|
2193
2221
|
{
|
|
2194
2222
|
type: "button",
|
|
@@ -2199,7 +2227,7 @@ function GraphToolbar({
|
|
|
2199
2227
|
children: MINUS_ICON
|
|
2200
2228
|
}
|
|
2201
2229
|
),
|
|
2202
|
-
onZoomIn && /* @__PURE__ */
|
|
2230
|
+
onZoomIn && /* @__PURE__ */ jsx20(
|
|
2203
2231
|
"button",
|
|
2204
2232
|
{
|
|
2205
2233
|
type: "button",
|
|
@@ -2210,7 +2238,7 @@ function GraphToolbar({
|
|
|
2210
2238
|
children: PLUS_ICON
|
|
2211
2239
|
}
|
|
2212
2240
|
),
|
|
2213
|
-
onFitView && /* @__PURE__ */
|
|
2241
|
+
onFitView && /* @__PURE__ */ jsx20(
|
|
2214
2242
|
"button",
|
|
2215
2243
|
{
|
|
2216
2244
|
type: "button",
|
|
@@ -2221,9 +2249,9 @@ function GraphToolbar({
|
|
|
2221
2249
|
children: FIT_VIEW_ICON
|
|
2222
2250
|
}
|
|
2223
2251
|
),
|
|
2224
|
-
themeToggleEnabled && /* @__PURE__ */
|
|
2225
|
-
/* @__PURE__ */
|
|
2226
|
-
/* @__PURE__ */
|
|
2252
|
+
themeToggleEnabled && /* @__PURE__ */ jsxs20(Fragment12, { children: [
|
|
2253
|
+
/* @__PURE__ */ jsx20("div", { className: "graph-toolbar-separator" }),
|
|
2254
|
+
/* @__PURE__ */ jsx20(
|
|
2227
2255
|
"button",
|
|
2228
2256
|
{
|
|
2229
2257
|
type: "button",
|
|
@@ -2239,7 +2267,7 @@ function GraphToolbar({
|
|
|
2239
2267
|
}
|
|
2240
2268
|
|
|
2241
2269
|
// src/graph/react/nodes/NodeValidationBadge.tsx
|
|
2242
|
-
import { jsx as
|
|
2270
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
2243
2271
|
function NodeValidationBadge({
|
|
2244
2272
|
validation,
|
|
2245
2273
|
onClick
|
|
@@ -2249,9 +2277,9 @@ function NodeValidationBadge({
|
|
|
2249
2277
|
const className = `node-validation-badge node-validation-badge--${validation.severity}`;
|
|
2250
2278
|
const text = validation.count > 99 ? "99+" : String(validation.count);
|
|
2251
2279
|
if (!onClick) {
|
|
2252
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsx21("span", { className, title: tooltip, "aria-label": label, children: text });
|
|
2253
2281
|
}
|
|
2254
|
-
return /* @__PURE__ */
|
|
2282
|
+
return /* @__PURE__ */ jsx21(
|
|
2255
2283
|
"button",
|
|
2256
2284
|
{
|
|
2257
2285
|
type: "button",
|
|
@@ -2271,7 +2299,7 @@ function validationRingClass(validation) {
|
|
|
2271
2299
|
}
|
|
2272
2300
|
|
|
2273
2301
|
// src/graph/react/nodes/controller/ControllerGroupNode.tsx
|
|
2274
|
-
import { jsx as
|
|
2302
|
+
import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2275
2303
|
var CONTROLLER_CONFIG = {
|
|
2276
2304
|
PipeSequence: { badge: "Sequence", icon: "\u2192" },
|
|
2277
2305
|
PipeParallel: { badge: "Parallel", icon: "//" },
|
|
@@ -2293,12 +2321,12 @@ function ControllerGroupNode({ data }) {
|
|
|
2293
2321
|
const modifier = getControllerModifier(data.pipeType);
|
|
2294
2322
|
const isCollapsible = (data.pipeType === "PipeParallel" || data.pipeType === "PipeBatch") && ((_a = data.childCount) != null ? _a : 0) > MAX_VISIBLE_CONTROLLER_CHILDREN;
|
|
2295
2323
|
const hiddenCount = isCollapsible ? ((_b = data.childCount) != null ? _b : 0) - MAX_VISIBLE_CONTROLLER_CHILDREN : 0;
|
|
2296
|
-
return /* @__PURE__ */
|
|
2297
|
-
/* @__PURE__ */
|
|
2298
|
-
/* @__PURE__ */
|
|
2299
|
-
/* @__PURE__ */
|
|
2300
|
-
data.label && /* @__PURE__ */
|
|
2301
|
-
data.onToggleFold && /* @__PURE__ */
|
|
2324
|
+
return /* @__PURE__ */ jsxs21("div", { className: `controller-group-node ${modifier}${validationRingClass(data.validation)}`, children: [
|
|
2325
|
+
/* @__PURE__ */ jsxs21("div", { className: "controller-group-header", children: [
|
|
2326
|
+
/* @__PURE__ */ jsx22("span", { className: "controller-group-icon", children: config.icon }),
|
|
2327
|
+
/* @__PURE__ */ jsx22("span", { className: "controller-group-badge", children: config.badge }),
|
|
2328
|
+
data.label && /* @__PURE__ */ jsx22("span", { className: "controller-group-label", children: data.label }),
|
|
2329
|
+
data.onToggleFold && /* @__PURE__ */ jsx22(
|
|
2302
2330
|
"button",
|
|
2303
2331
|
{
|
|
2304
2332
|
type: "button",
|
|
@@ -2313,9 +2341,9 @@ function ControllerGroupNode({ data }) {
|
|
|
2313
2341
|
children: "\u2921"
|
|
2314
2342
|
}
|
|
2315
2343
|
),
|
|
2316
|
-
data.validation && /* @__PURE__ */
|
|
2344
|
+
data.validation && /* @__PURE__ */ jsx22(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2317
2345
|
] }),
|
|
2318
|
-
isCollapsible && /* @__PURE__ */
|
|
2346
|
+
isCollapsible && /* @__PURE__ */ jsx22(
|
|
2319
2347
|
"button",
|
|
2320
2348
|
{
|
|
2321
2349
|
className: "controller-group-collapse",
|
|
@@ -2336,7 +2364,7 @@ import { Handle, Position } from "@xyflow/react";
|
|
|
2336
2364
|
|
|
2337
2365
|
// src/graph/react/nodes/pipe/PipeCardBase.tsx
|
|
2338
2366
|
import { useState as useState2 } from "react";
|
|
2339
|
-
import { jsx as
|
|
2367
|
+
import { jsx as jsx23, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2340
2368
|
var PIPE_TYPE_BADGES2 = {
|
|
2341
2369
|
PipeLLM: "LLM",
|
|
2342
2370
|
PipeExtract: "Extract",
|
|
@@ -2345,11 +2373,14 @@ var PIPE_TYPE_BADGES2 = {
|
|
|
2345
2373
|
PipeSearch: "Search",
|
|
2346
2374
|
PipeFunc: "Func",
|
|
2347
2375
|
PipeStructure: "Structure",
|
|
2376
|
+
PipeJudge: "Judge",
|
|
2377
|
+
PipeDocGen: "DocGen",
|
|
2348
2378
|
PipeSignature: "Signature",
|
|
2349
2379
|
PipeSequence: "Sequence",
|
|
2350
2380
|
PipeParallel: "Parallel",
|
|
2351
2381
|
PipeCondition: "Condition",
|
|
2352
|
-
PipeBatch: "Batch"
|
|
2382
|
+
PipeBatch: "Batch",
|
|
2383
|
+
BindingStep: "Binding"
|
|
2353
2384
|
};
|
|
2354
2385
|
var CONTROLLER_TYPE_TABLE = {
|
|
2355
2386
|
PipeSequence: true,
|
|
@@ -2379,6 +2410,7 @@ function PipeCardBase({ data, children }) {
|
|
|
2379
2410
|
const isRunning = data.status === "running";
|
|
2380
2411
|
const isController = isControllerType(data.pipeType);
|
|
2381
2412
|
const isSignature = data.pipeType === "PipeSignature";
|
|
2413
|
+
const isBinding = data.pipeType === BINDING_STEP_TYPE;
|
|
2382
2414
|
const isStatic = data.graphMode === "static";
|
|
2383
2415
|
const outcome = isStatic ? (_a = data.tags) == null ? void 0 : _a.outcome : void 0;
|
|
2384
2416
|
const batchMultiplicity = isStatic ? (_b = data.tags) == null ? void 0 : _b.batch_multiplicity : void 0;
|
|
@@ -2389,24 +2421,25 @@ function PipeCardBase({ data, children }) {
|
|
|
2389
2421
|
const dirClass = data.direction === "TB" ? "pipe-card--tb" : "pipe-card--lr";
|
|
2390
2422
|
const controllerClass = isController ? " pipe-card--controller" : "";
|
|
2391
2423
|
const signatureClass = isSignature ? " pipe-card--signature" : "";
|
|
2424
|
+
const bindingClass = isBinding ? " pipe-card--binding" : "";
|
|
2392
2425
|
const staticClass = isStatic ? " pipe-card--static" : "";
|
|
2393
|
-
const badgeClass = isController ? "pipe-card-badge pipe-card-badge--controller" : isSignature ? "pipe-card-badge pipe-card-badge--signature" : "pipe-card-badge";
|
|
2426
|
+
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";
|
|
2394
2427
|
const ringClass = validationRingClass(data.validation);
|
|
2395
|
-
return /* @__PURE__ */
|
|
2428
|
+
return /* @__PURE__ */ jsxs22(
|
|
2396
2429
|
"div",
|
|
2397
2430
|
{
|
|
2398
|
-
className: `pipe-card ${dirClass}${controllerClass}${signatureClass}${staticClass}${ringClass}`,
|
|
2431
|
+
className: `pipe-card ${dirClass}${controllerClass}${signatureClass}${bindingClass}${staticClass}${ringClass}`,
|
|
2399
2432
|
children: [
|
|
2400
|
-
/* @__PURE__ */
|
|
2401
|
-
/* @__PURE__ */
|
|
2402
|
-
/* @__PURE__ */
|
|
2403
|
-
!isStatic && /* @__PURE__ */
|
|
2433
|
+
/* @__PURE__ */ jsxs22("div", { className: "pipe-card-header", children: [
|
|
2434
|
+
/* @__PURE__ */ jsx23("span", { className: badgeClass, children: badge }),
|
|
2435
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-code", title: data.pipeCode, children: data.pipeCode }),
|
|
2436
|
+
!isStatic && /* @__PURE__ */ jsx23(
|
|
2404
2437
|
"span",
|
|
2405
2438
|
{
|
|
2406
2439
|
className: "pipe-card-status",
|
|
2407
2440
|
style: { color: statusConfig.color },
|
|
2408
2441
|
title: statusConfig.label,
|
|
2409
|
-
children: /* @__PURE__ */
|
|
2442
|
+
children: /* @__PURE__ */ jsx23(
|
|
2410
2443
|
"span",
|
|
2411
2444
|
{
|
|
2412
2445
|
className: `pipe-card-status-dot ${isRunning ? "pipe-card-status-dot--pulse" : ""}`,
|
|
@@ -2415,7 +2448,7 @@ function PipeCardBase({ data, children }) {
|
|
|
2415
2448
|
)
|
|
2416
2449
|
}
|
|
2417
2450
|
),
|
|
2418
|
-
data.onExpand && /* @__PURE__ */
|
|
2451
|
+
data.onExpand && /* @__PURE__ */ jsx23(
|
|
2419
2452
|
"button",
|
|
2420
2453
|
{
|
|
2421
2454
|
type: "button",
|
|
@@ -2430,32 +2463,32 @@ function PipeCardBase({ data, children }) {
|
|
|
2430
2463
|
children: "\u2922"
|
|
2431
2464
|
}
|
|
2432
2465
|
),
|
|
2433
|
-
data.validation && /* @__PURE__ */
|
|
2466
|
+
data.validation && /* @__PURE__ */ jsx23(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2434
2467
|
] }),
|
|
2435
|
-
(outcome || batchMultiplicity) && /* @__PURE__ */
|
|
2436
|
-
outcome && /* @__PURE__ */
|
|
2468
|
+
(outcome || batchMultiplicity) && /* @__PURE__ */ jsxs22("div", { className: "pipe-card-annotations", children: [
|
|
2469
|
+
outcome && /* @__PURE__ */ jsxs22("span", { className: "pipe-card-annotation pipe-card-annotation--outcome", children: [
|
|
2437
2470
|
"outcome: ",
|
|
2438
2471
|
outcome
|
|
2439
2472
|
] }),
|
|
2440
|
-
batchMultiplicity && /* @__PURE__ */
|
|
2473
|
+
batchMultiplicity && /* @__PURE__ */ jsx23("span", { className: "pipe-card-annotation pipe-card-annotation--batch", children: batchMultiplicity })
|
|
2441
2474
|
] }),
|
|
2442
|
-
data.description && /* @__PURE__ */
|
|
2443
|
-
data.inputs.length > 0 && /* @__PURE__ */
|
|
2444
|
-
/* @__PURE__ */
|
|
2445
|
-
/* @__PURE__ */
|
|
2446
|
-
visibleInputs.map((input) => /* @__PURE__ */
|
|
2475
|
+
data.description && /* @__PURE__ */ jsx23("span", { className: "pipe-card-description", title: data.description, children: data.description }),
|
|
2476
|
+
data.inputs.length > 0 && /* @__PURE__ */ jsxs22("div", { className: "pipe-card-io", children: [
|
|
2477
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-label", children: "INPUTS" }),
|
|
2478
|
+
/* @__PURE__ */ jsxs22("div", { className: "pipe-card-io-pills", children: [
|
|
2479
|
+
visibleInputs.map((input) => /* @__PURE__ */ jsxs22(
|
|
2447
2480
|
"span",
|
|
2448
2481
|
{
|
|
2449
2482
|
className: "pipe-card-io-pill",
|
|
2450
2483
|
title: `${input.name}: ${input.concept}`,
|
|
2451
2484
|
children: [
|
|
2452
|
-
/* @__PURE__ */
|
|
2453
|
-
/* @__PURE__ */
|
|
2485
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-pill-name", children: input.name }),
|
|
2486
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-pill-concept", children: input.concept })
|
|
2454
2487
|
]
|
|
2455
2488
|
},
|
|
2456
2489
|
input.name
|
|
2457
2490
|
)),
|
|
2458
|
-
hasMany && /* @__PURE__ */
|
|
2491
|
+
hasMany && /* @__PURE__ */ jsx23(
|
|
2459
2492
|
"button",
|
|
2460
2493
|
{
|
|
2461
2494
|
className: "pipe-card-io-more",
|
|
@@ -2468,16 +2501,16 @@ function PipeCardBase({ data, children }) {
|
|
|
2468
2501
|
)
|
|
2469
2502
|
] })
|
|
2470
2503
|
] }),
|
|
2471
|
-
data.outputs.length > 0 && /* @__PURE__ */
|
|
2472
|
-
/* @__PURE__ */
|
|
2473
|
-
/* @__PURE__ */
|
|
2504
|
+
data.outputs.length > 0 && /* @__PURE__ */ jsxs22("div", { className: "pipe-card-io", children: [
|
|
2505
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-label", children: "OUTPUT" }),
|
|
2506
|
+
/* @__PURE__ */ jsx23("div", { className: "pipe-card-io-pills", children: data.outputs.map((output) => /* @__PURE__ */ jsxs22(
|
|
2474
2507
|
"span",
|
|
2475
2508
|
{
|
|
2476
2509
|
className: "pipe-card-io-pill",
|
|
2477
2510
|
title: `${output.name}: ${output.concept}`,
|
|
2478
2511
|
children: [
|
|
2479
|
-
/* @__PURE__ */
|
|
2480
|
-
/* @__PURE__ */
|
|
2512
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-pill-name", children: output.name }),
|
|
2513
|
+
/* @__PURE__ */ jsx23("span", { className: "pipe-card-io-pill-concept", children: output.concept })
|
|
2481
2514
|
]
|
|
2482
2515
|
},
|
|
2483
2516
|
output.name
|
|
@@ -2498,22 +2531,25 @@ var PIPE_CARD_REGISTRY = {
|
|
|
2498
2531
|
PipeSearch: PipeCardBase,
|
|
2499
2532
|
PipeFunc: PipeCardBase,
|
|
2500
2533
|
PipeStructure: PipeCardBase,
|
|
2534
|
+
PipeJudge: PipeCardBase,
|
|
2535
|
+
PipeDocGen: PipeCardBase,
|
|
2501
2536
|
PipeSignature: PipeCardBase,
|
|
2502
2537
|
PipeSequence: PipeCardBase,
|
|
2503
2538
|
PipeParallel: PipeCardBase,
|
|
2504
2539
|
PipeCondition: PipeCardBase,
|
|
2505
|
-
PipeBatch: PipeCardBase
|
|
2540
|
+
PipeBatch: PipeCardBase,
|
|
2541
|
+
BindingStep: PipeCardBase
|
|
2506
2542
|
};
|
|
2507
2543
|
function getPipeCardComponent(pipeType) {
|
|
2508
2544
|
return PIPE_CARD_REGISTRY[pipeType];
|
|
2509
2545
|
}
|
|
2510
2546
|
|
|
2511
2547
|
// src/graph/react/nodes/pipe/PipeCardNode.tsx
|
|
2512
|
-
import { Fragment as Fragment13, jsx as
|
|
2548
|
+
import { Fragment as Fragment13, jsx as jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2513
2549
|
function PipeCardNode({ data }) {
|
|
2514
2550
|
var _a;
|
|
2515
2551
|
const Card = (_a = getPipeCardComponent(data.pipeType)) != null ? _a : PipeCardBase;
|
|
2516
|
-
return /* @__PURE__ */
|
|
2552
|
+
return /* @__PURE__ */ jsx24(Card, { data });
|
|
2517
2553
|
}
|
|
2518
2554
|
function PipeCardRFNode({
|
|
2519
2555
|
data,
|
|
@@ -2522,15 +2558,15 @@ function PipeCardRFNode({
|
|
|
2522
2558
|
}) {
|
|
2523
2559
|
const payload = data.pipeCardData;
|
|
2524
2560
|
if (!payload) return null;
|
|
2525
|
-
return /* @__PURE__ */
|
|
2526
|
-
/* @__PURE__ */
|
|
2527
|
-
/* @__PURE__ */
|
|
2528
|
-
/* @__PURE__ */
|
|
2561
|
+
return /* @__PURE__ */ jsxs23(Fragment13, { children: [
|
|
2562
|
+
/* @__PURE__ */ jsx24(Handle, { type: "target", position: targetPosition }),
|
|
2563
|
+
/* @__PURE__ */ jsx24(PipeCardNode, { data: payload }),
|
|
2564
|
+
/* @__PURE__ */ jsx24(Handle, { type: "source", position: sourcePosition })
|
|
2529
2565
|
] });
|
|
2530
2566
|
}
|
|
2531
2567
|
|
|
2532
2568
|
// src/graph/react/viewer/GraphViewer.tsx
|
|
2533
|
-
import { Fragment as Fragment14, jsx as
|
|
2569
|
+
import { Fragment as Fragment14, jsx as jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2534
2570
|
var nodeTypes = __spreadProps(__spreadValues({}, controllerNodeTypes), {
|
|
2535
2571
|
pipeCard: PipeCardRFNode
|
|
2536
2572
|
});
|
|
@@ -2551,7 +2587,7 @@ function StuffNodeDetail({
|
|
|
2551
2587
|
const conceptInfo = stuffData.concept && graphspec ? resolveConceptRef(graphspec, stuffData.concept) : void 0;
|
|
2552
2588
|
const isDryRun = graphSpecMode(graphspec) === GRAPH_SPEC_MODE.DRY;
|
|
2553
2589
|
const descriptors = resultDescriptors(artifacts);
|
|
2554
|
-
const renderData = descriptors ? () => /* @__PURE__ */
|
|
2590
|
+
const renderData = descriptors ? () => /* @__PURE__ */ jsx25(
|
|
2555
2591
|
StuffResultPanel,
|
|
2556
2592
|
__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, descriptors), {
|
|
2557
2593
|
stuff: stuffData
|
|
@@ -2560,7 +2596,7 @@ function StuffNodeDetail({
|
|
|
2560
2596
|
})
|
|
2561
2597
|
) : void 0;
|
|
2562
2598
|
if (conceptInfo) {
|
|
2563
|
-
return /* @__PURE__ */
|
|
2599
|
+
return /* @__PURE__ */ jsx25(
|
|
2564
2600
|
ConceptDetailPanel,
|
|
2565
2601
|
{
|
|
2566
2602
|
concept: conceptInfo,
|
|
@@ -2571,8 +2607,8 @@ function StuffNodeDetail({
|
|
|
2571
2607
|
}
|
|
2572
2608
|
);
|
|
2573
2609
|
}
|
|
2574
|
-
if (isDryRun) return /* @__PURE__ */
|
|
2575
|
-
return /* @__PURE__ */
|
|
2610
|
+
if (isDryRun) return /* @__PURE__ */ jsx25("div", { className: "detail-not-available", children: "Dry run data hidden" });
|
|
2611
|
+
return /* @__PURE__ */ jsx25(Fragment14, { children: (_a = renderData == null ? void 0 : renderData()) != null ? _a : /* @__PURE__ */ jsx25("div", { className: "detail-not-available", children: "No data" }) });
|
|
2576
2612
|
}
|
|
2577
2613
|
function seedFoldedControllers(mode, controllerIds) {
|
|
2578
2614
|
if (mode === FOLD_MODE.FOLDED) return new Set(controllerIds);
|
|
@@ -2606,6 +2642,7 @@ function applyStatusOverrides(nodes, statusMap) {
|
|
|
2606
2642
|
if (node.data.graphMode === "static" || ((_a = node.data.pipeCardData) == null ? void 0 : _a.graphMode) === "static") {
|
|
2607
2643
|
return node;
|
|
2608
2644
|
}
|
|
2645
|
+
if (node.data.pipeType === BINDING_STEP_TYPE) return node;
|
|
2609
2646
|
const pipeCode = node.data.pipeCode;
|
|
2610
2647
|
if (!pipeCode || !Object.hasOwn(statusMap, pipeCode)) return node;
|
|
2611
2648
|
const newStatus = statusMap[pipeCode];
|
|
@@ -3138,7 +3175,7 @@ function GraphViewer(props) {
|
|
|
3138
3175
|
var _a2;
|
|
3139
3176
|
const nodeData = node.data;
|
|
3140
3177
|
onNodeSelect == null ? void 0 : onNodeSelect(node.id, nodeData, event);
|
|
3141
|
-
if (nodeData.isController || nodeData.isPipe) {
|
|
3178
|
+
if ((nodeData.isController || nodeData.isPipe) && nodeData.pipeType !== BINDING_STEP_TYPE) {
|
|
3142
3179
|
const code = nodeData.pipeCode || nodeData.labelText;
|
|
3143
3180
|
if (code && onNavigateToPipe) {
|
|
3144
3181
|
onNavigateToPipe(code, (_a2 = nodeData.pipeCardData) == null ? void 0 : _a2.status);
|
|
@@ -3197,7 +3234,7 @@ function GraphViewer(props) {
|
|
|
3197
3234
|
},
|
|
3198
3235
|
[graphspec]
|
|
3199
3236
|
);
|
|
3200
|
-
const selectedSpecNode = (detailSelection == null ? void 0 : detailSelection.kind) === "pipe" && graphspec ? graphspec.nodes.find((n) => n.
|
|
3237
|
+
const selectedSpecNode = (detailSelection == null ? void 0 : detailSelection.kind) === "pipe" && graphspec ? graphspec.nodes.find((n) => n.id === detailSelection.nodeId) : void 0;
|
|
3201
3238
|
const detailOpen = detailSelection !== null || conceptOverride !== null;
|
|
3202
3239
|
const effectiveToolbarPosition = resolveToolbarPosition(
|
|
3203
3240
|
toolbarPositionProp,
|
|
@@ -3221,13 +3258,13 @@ function GraphViewer(props) {
|
|
|
3221
3258
|
expandAllDisabled: foldedControllers.size === 0
|
|
3222
3259
|
};
|
|
3223
3260
|
}, [showControllers, allControllerIds, foldedControllers]);
|
|
3224
|
-
return /* @__PURE__ */
|
|
3261
|
+
return /* @__PURE__ */ jsxs24(
|
|
3225
3262
|
"div",
|
|
3226
3263
|
{
|
|
3227
3264
|
ref: containerRef,
|
|
3228
3265
|
className: `react-flow-container react-flow-container--theme-${resolvedTheme} react-flow-container--mode-${mode}`,
|
|
3229
3266
|
children: [
|
|
3230
|
-
/* @__PURE__ */
|
|
3267
|
+
/* @__PURE__ */ jsxs24(
|
|
3231
3268
|
ReactFlow,
|
|
3232
3269
|
{
|
|
3233
3270
|
nodes,
|
|
@@ -3246,7 +3283,7 @@ function GraphViewer(props) {
|
|
|
3246
3283
|
proOptions: { hideAttribution: true },
|
|
3247
3284
|
panActivationKeyCode: null,
|
|
3248
3285
|
children: [
|
|
3249
|
-
/* @__PURE__ */
|
|
3286
|
+
/* @__PURE__ */ jsx25(
|
|
3250
3287
|
Background,
|
|
3251
3288
|
{
|
|
3252
3289
|
variant: BackgroundVariant.Dots,
|
|
@@ -3255,7 +3292,7 @@ function GraphViewer(props) {
|
|
|
3255
3292
|
color: "var(--color-bg-dots)"
|
|
3256
3293
|
}
|
|
3257
3294
|
),
|
|
3258
|
-
!hideToolbar && /* @__PURE__ */
|
|
3295
|
+
!hideToolbar && /* @__PURE__ */ jsx25(
|
|
3259
3296
|
GraphToolbar,
|
|
3260
3297
|
{
|
|
3261
3298
|
direction,
|
|
@@ -3292,7 +3329,7 @@ function GraphViewer(props) {
|
|
|
3292
3329
|
]
|
|
3293
3330
|
}
|
|
3294
3331
|
),
|
|
3295
|
-
/* @__PURE__ */
|
|
3332
|
+
/* @__PURE__ */ jsxs24(
|
|
3296
3333
|
DetailPanel,
|
|
3297
3334
|
{
|
|
3298
3335
|
isOpen: detailOpen,
|
|
@@ -3301,14 +3338,14 @@ function GraphViewer(props) {
|
|
|
3301
3338
|
isDragging: isPanelDragging,
|
|
3302
3339
|
onResizeHandleMouseDown: onResizeMouseDown,
|
|
3303
3340
|
children: [
|
|
3304
|
-
conceptOverride ? /* @__PURE__ */
|
|
3341
|
+
conceptOverride ? /* @__PURE__ */ jsx25(ConceptDetailPanel, { concept: conceptOverride }) : selectedSpecNode && graphspec ? /* @__PURE__ */ jsx25(
|
|
3305
3342
|
PipeDetailPanel,
|
|
3306
3343
|
{
|
|
3307
3344
|
node: selectedSpecNode,
|
|
3308
3345
|
spec: graphspec,
|
|
3309
3346
|
onConceptClick: handleConceptClick
|
|
3310
3347
|
}
|
|
3311
|
-
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */
|
|
3348
|
+
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */ jsx25(
|
|
3312
3349
|
StuffNodeDetail,
|
|
3313
3350
|
{
|
|
3314
3351
|
nodeId: detailSelection.nodeId,
|