@pipelex/mthds-ui 0.16.0 → 0.18.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/README.md +38 -4
- package/dist/chunk-2N65P32H.js +17 -0
- package/dist/chunk-2N65P32H.js.map +1 -0
- package/dist/{chunk-UDA2XA23.js → chunk-BFQHQQ3E.js} +95 -189
- package/dist/chunk-BFQHQQ3E.js.map +1 -0
- package/dist/chunk-HASMGCVK.js +195 -0
- package/dist/chunk-HASMGCVK.js.map +1 -0
- package/dist/{chunk-HURB2U53.js → chunk-RJVEDP7M.js} +2 -16
- package/dist/chunk-RJVEDP7M.js.map +1 -0
- package/dist/form/react/RunPanel.css +131 -0
- package/dist/form/react/index.d.ts +188 -0
- package/dist/form/react/index.js +265 -0
- package/dist/form/react/index.js.map +1 -0
- package/dist/graph/index.d.ts +2 -2
- package/dist/graph/index.js +13 -9
- package/dist/graph/react/detail/DetailPanel.css +65 -0
- package/dist/graph/react/index.css +46 -0
- package/dist/graph/react/index.css.map +1 -1
- package/dist/graph/react/index.d.ts +2 -2
- package/dist/graph/react/index.js +608 -373
- package/dist/graph/react/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -9
- package/dist/shiki/index.js +8 -2
- package/dist/shiki/index.js.map +1 -1
- package/dist/standalone/graph-standalone.html +75 -10
- package/dist/standalone/graph-viewer.css +65 -0
- package/dist/standalone/graph-viewer.js +10 -10
- package/dist/static-graph/index.d.ts +4 -2
- package/dist/static-graph/index.js +64 -21
- package/dist/static-graph/index.js.map +1 -1
- package/dist/{types-DM_Ws3oW.d.ts → types-Cv5Elty8.d.ts} +101 -1
- package/package.json +12 -1
- package/dist/chunk-HURB2U53.js.map +0 -1
- package/dist/chunk-UDA2XA23.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
|
-
DEFAULT_GRAPH_CONFIG,
|
|
4
3
|
MAX_VISIBLE_CONTROLLER_CHILDREN,
|
|
5
4
|
applyControllers,
|
|
6
5
|
applyFolds,
|
|
@@ -10,12 +9,16 @@ import {
|
|
|
10
9
|
buildValidationDecorations,
|
|
11
10
|
findCousinControllers,
|
|
12
11
|
getLayoutedElements,
|
|
13
|
-
getPaletteForTheme,
|
|
14
12
|
getPipeBlueprint,
|
|
15
13
|
resolveConceptRef,
|
|
16
14
|
resolveIssueTargetNodeId,
|
|
17
15
|
validateGraphSpec
|
|
18
|
-
} from "../../chunk-
|
|
16
|
+
} from "../../chunk-BFQHQQ3E.js";
|
|
17
|
+
import "../../chunk-2N65P32H.js";
|
|
18
|
+
import {
|
|
19
|
+
DEFAULT_GRAPH_CONFIG,
|
|
20
|
+
getPaletteForTheme
|
|
21
|
+
} from "../../chunk-HASMGCVK.js";
|
|
19
22
|
import {
|
|
20
23
|
EDGE_TYPE,
|
|
21
24
|
FOLD_MODE,
|
|
@@ -31,7 +34,7 @@ import {
|
|
|
31
34
|
stuffDigestFromId,
|
|
32
35
|
toolbarOrientation,
|
|
33
36
|
toolbarSide
|
|
34
|
-
} from "../../chunk-
|
|
37
|
+
} from "../../chunk-RJVEDP7M.js";
|
|
35
38
|
import {
|
|
36
39
|
__spreadProps,
|
|
37
40
|
__spreadValues
|
|
@@ -799,12 +802,173 @@ function PromptToggle({
|
|
|
799
802
|
)
|
|
800
803
|
] });
|
|
801
804
|
}
|
|
805
|
+
function ModelRows({
|
|
806
|
+
modelsRan,
|
|
807
|
+
authored,
|
|
808
|
+
handle,
|
|
809
|
+
label = "Model"
|
|
810
|
+
}) {
|
|
811
|
+
const ran = modelsRan != null ? modelsRan : [];
|
|
812
|
+
const ranLabels = ran.map(
|
|
813
|
+
(entry) => ran.length > 1 ? `${entry.inference_model_name} (${entry.inference_calls})` : entry.inference_model_name
|
|
814
|
+
);
|
|
815
|
+
const chain = [];
|
|
816
|
+
for (const rung of [authored, handle, ...ranLabels]) {
|
|
817
|
+
if (rung && rung !== chain[chain.length - 1]) chain.push(rung);
|
|
818
|
+
}
|
|
819
|
+
if (chain.length === 0) return null;
|
|
820
|
+
return /* @__PURE__ */ jsxs3("div", { className: "detail-kv-row", children: [
|
|
821
|
+
/* @__PURE__ */ jsx3("span", { className: "detail-kv-key", children: label }),
|
|
822
|
+
/* @__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)) })
|
|
823
|
+
] });
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
// src/graph/usageFormat.ts
|
|
827
|
+
function scopeUsage(usage, scope) {
|
|
828
|
+
if (scope === "subtree") {
|
|
829
|
+
return {
|
|
830
|
+
scope,
|
|
831
|
+
inferenceCalls: usage.subtree_inference_calls,
|
|
832
|
+
ratedInferenceCalls: usage.subtree_rated_inference_calls,
|
|
833
|
+
nbTokensByCategory: usage.subtree_nb_tokens_by_category,
|
|
834
|
+
totalTokens: usage.subtree_total_tokens,
|
|
835
|
+
cost: usage.subtree_cost,
|
|
836
|
+
costInput: usage.subtree_cost_input,
|
|
837
|
+
costOutput: usage.subtree_cost_output,
|
|
838
|
+
models: usage.subtree_by_model
|
|
839
|
+
};
|
|
840
|
+
}
|
|
841
|
+
return {
|
|
842
|
+
scope,
|
|
843
|
+
inferenceCalls: usage.inference_calls,
|
|
844
|
+
ratedInferenceCalls: usage.rated_inference_calls,
|
|
845
|
+
nbTokensByCategory: usage.nb_tokens_by_category,
|
|
846
|
+
totalTokens: usage.total_tokens,
|
|
847
|
+
cost: usage.cost,
|
|
848
|
+
costInput: usage.cost_input,
|
|
849
|
+
costOutput: usage.cost_output,
|
|
850
|
+
models: usage.by_model
|
|
851
|
+
};
|
|
852
|
+
}
|
|
853
|
+
function usageState(scoped) {
|
|
854
|
+
if (scoped.inferenceCalls === 0) return "ran-nothing";
|
|
855
|
+
if (scoped.cost === null) return "unrated";
|
|
856
|
+
if (scoped.ratedInferenceCalls < scoped.inferenceCalls) return "partial";
|
|
857
|
+
return "rated";
|
|
858
|
+
}
|
|
859
|
+
function formatCost(cost) {
|
|
860
|
+
if (cost > 0 && cost < 1e-4) return "<$0.0001";
|
|
861
|
+
return `$${cost.toFixed(4)}`;
|
|
862
|
+
}
|
|
863
|
+
function hasRealTokenCounts(scoped) {
|
|
864
|
+
return scoped.models.length > 0 && scoped.models.every((entry) => entry.model_type === "llm");
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
// src/graph/react/detail/sections/UsageSection.tsx
|
|
868
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
869
|
+
function usageHeadlineScope(usage, isController) {
|
|
870
|
+
return scopeUsage(usage, isController ? "subtree" : "own");
|
|
871
|
+
}
|
|
872
|
+
function costText(scoped) {
|
|
873
|
+
var _a;
|
|
874
|
+
const state = usageState(scoped);
|
|
875
|
+
if (state === "ran-nothing" || state === "unrated") return null;
|
|
876
|
+
const cost = formatCost((_a = scoped.cost) != null ? _a : 0);
|
|
877
|
+
return state === "partial" ? `\u2265 ${cost}` : cost;
|
|
878
|
+
}
|
|
879
|
+
function costTitle(scoped, isController) {
|
|
880
|
+
const scopeWord = isController ? "This pipe and everything below it" : "This pipe";
|
|
881
|
+
const state = usageState(scoped);
|
|
882
|
+
if (state === "partial") {
|
|
883
|
+
return `${scopeWord}: only ${scoped.ratedInferenceCalls} of ${scoped.inferenceCalls} calls were priced, so this is a lower bound. Click for details.`;
|
|
884
|
+
}
|
|
885
|
+
return `${scopeWord}: ${scoped.inferenceCalls} inference call(s). Click for the breakdown.`;
|
|
886
|
+
}
|
|
887
|
+
function Chevron({ open }) {
|
|
888
|
+
return /* @__PURE__ */ jsx4(
|
|
889
|
+
"svg",
|
|
890
|
+
{
|
|
891
|
+
className: `detail-usage-chevron ${open ? "detail-usage-chevron--open" : ""}`,
|
|
892
|
+
width: "10",
|
|
893
|
+
height: "10",
|
|
894
|
+
viewBox: "0 0 24 24",
|
|
895
|
+
fill: "none",
|
|
896
|
+
stroke: "currentColor",
|
|
897
|
+
strokeWidth: "2.5",
|
|
898
|
+
strokeLinecap: "round",
|
|
899
|
+
strokeLinejoin: "round",
|
|
900
|
+
"aria-hidden": "true",
|
|
901
|
+
children: /* @__PURE__ */ jsx4("polyline", { points: "6 9 12 15 18 9" })
|
|
902
|
+
}
|
|
903
|
+
);
|
|
904
|
+
}
|
|
905
|
+
function UsageCostInline({
|
|
906
|
+
usage,
|
|
907
|
+
isController,
|
|
908
|
+
expanded,
|
|
909
|
+
onToggle
|
|
910
|
+
}) {
|
|
911
|
+
const scoped = usageHeadlineScope(usage, isController);
|
|
912
|
+
const text = costText(scoped);
|
|
913
|
+
if (text === null) return null;
|
|
914
|
+
return /* @__PURE__ */ jsxs4(
|
|
915
|
+
"button",
|
|
916
|
+
{
|
|
917
|
+
type: "button",
|
|
918
|
+
className: "detail-usage-inline",
|
|
919
|
+
"aria-expanded": expanded,
|
|
920
|
+
onClick: onToggle,
|
|
921
|
+
title: costTitle(scoped, isController),
|
|
922
|
+
children: [
|
|
923
|
+
/* @__PURE__ */ jsx4("span", { className: "detail-usage-value", children: text }),
|
|
924
|
+
/* @__PURE__ */ jsx4(Chevron, { open: expanded })
|
|
925
|
+
]
|
|
926
|
+
}
|
|
927
|
+
);
|
|
928
|
+
}
|
|
929
|
+
var PAIRED_CATEGORIES = /* @__PURE__ */ new Set(["input", "output"]);
|
|
930
|
+
function extraCategories(nbTokensByCategory) {
|
|
931
|
+
return Object.entries(nbTokensByCategory).filter(([category, nbTokens]) => !PAIRED_CATEGORIES.has(category) && nbTokens > 0).sort(([a], [b]) => a.localeCompare(b));
|
|
932
|
+
}
|
|
933
|
+
function UsageColumn({ scoped, label }) {
|
|
934
|
+
var _a, _b, _c;
|
|
935
|
+
const showsTokens = hasRealTokenCounts(scoped);
|
|
936
|
+
const isPriced = scoped.cost !== null;
|
|
937
|
+
const nbTokensInput = (_a = scoped.nbTokensByCategory.input) != null ? _a : 0;
|
|
938
|
+
const nbTokensOutput = (_b = scoped.nbTokensByCategory.output) != null ? _b : 0;
|
|
939
|
+
return /* @__PURE__ */ jsxs4("div", { children: [
|
|
940
|
+
/* @__PURE__ */ jsx4("div", { className: "detail-section-label", children: label }),
|
|
941
|
+
/* @__PURE__ */ jsx4(KV, { label: "inference calls", value: scoped.inferenceCalls }),
|
|
942
|
+
/* @__PURE__ */ jsx4(KV, { label: "priced calls", value: scoped.ratedInferenceCalls }),
|
|
943
|
+
showsTokens && /* @__PURE__ */ jsx4(KV, { label: "input tokens", value: nbTokensInput.toLocaleString() }),
|
|
944
|
+
isPriced && scoped.costInput !== null && /* @__PURE__ */ jsx4(KV, { label: "input cost", value: formatCost(scoped.costInput) }),
|
|
945
|
+
showsTokens && /* @__PURE__ */ jsx4(KV, { label: "output tokens", value: nbTokensOutput.toLocaleString() }),
|
|
946
|
+
isPriced && scoped.costOutput !== null && /* @__PURE__ */ jsx4(KV, { label: "output cost", value: formatCost(scoped.costOutput) }),
|
|
947
|
+
showsTokens && /* @__PURE__ */ jsx4(KV, { label: "total tokens", value: scoped.totalTokens.toLocaleString() }),
|
|
948
|
+
/* @__PURE__ */ jsx4(KV, { label: "total cost", value: isPriced ? formatCost((_c = scoped.cost) != null ? _c : 0) : "not priced" }),
|
|
949
|
+
showsTokens && extraCategories(scoped.nbTokensByCategory).map(([category, nbTokens]) => /* @__PURE__ */ jsx4(KV, { label: `tokens \xB7 ${category}`, value: nbTokens.toLocaleString() }, category))
|
|
950
|
+
] });
|
|
951
|
+
}
|
|
952
|
+
function UsageDetails({
|
|
953
|
+
usage,
|
|
954
|
+
isController
|
|
955
|
+
}) {
|
|
956
|
+
const own = scopeUsage(usage, "own");
|
|
957
|
+
const subtree = scopeUsage(usage, "subtree");
|
|
958
|
+
const showsSubtree = isController || subtree.inferenceCalls !== own.inferenceCalls;
|
|
959
|
+
return /* @__PURE__ */ jsxs4("div", { className: "detail-usage-details", children: [
|
|
960
|
+
/* @__PURE__ */ jsx4(UsageColumn, { scoped: own, label: isController ? "This pipe itself" : "Usage" }),
|
|
961
|
+
showsSubtree && /* @__PURE__ */ jsx4(UsageColumn, { scoped: subtree, label: "This pipe and everything below it" })
|
|
962
|
+
] });
|
|
963
|
+
}
|
|
802
964
|
|
|
803
965
|
// src/graph/react/detail/sections/PipeLLMDetail.tsx
|
|
804
|
-
import { Fragment, jsx as
|
|
966
|
+
import { Fragment, jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
805
967
|
function PipeLLMSection({
|
|
806
968
|
blueprint,
|
|
807
|
-
executionData
|
|
969
|
+
executionData,
|
|
970
|
+
modelsRan,
|
|
971
|
+
modelHandles
|
|
808
972
|
}) {
|
|
809
973
|
var _a, _b, _c, _d, _e;
|
|
810
974
|
const spec = blueprint.llm_prompt_spec;
|
|
@@ -812,44 +976,54 @@ function PipeLLMSection({
|
|
|
812
976
|
const hasDocRefs = spec.user_document_references && spec.user_document_references.length > 0;
|
|
813
977
|
const hasSysImageRefs = spec.system_image_references && spec.system_image_references.length > 0;
|
|
814
978
|
const hasSysDocRefs = spec.system_document_references && spec.system_document_references.length > 0;
|
|
815
|
-
const resolvedModel =
|
|
816
|
-
const resolvedModelForObject =
|
|
979
|
+
const resolvedModel = modelHandles == null ? void 0 : modelHandles.resolved_model;
|
|
980
|
+
const resolvedModelForObject = modelHandles == null ? void 0 : modelHandles.resolved_model_for_object;
|
|
817
981
|
const renderedSystem = executionData == null ? void 0 : executionData.rendered_system_prompt;
|
|
818
982
|
const renderedUser = executionData == null ? void 0 : executionData.rendered_user_prompt;
|
|
819
983
|
const structuringPath = executionData == null ? void 0 : executionData.structuring_path;
|
|
820
984
|
const isMultipleOutput = executionData == null ? void 0 : executionData.is_multiple_output;
|
|
821
|
-
const
|
|
822
|
-
const
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
/* @__PURE__ */
|
|
828
|
-
/* @__PURE__ */
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
985
|
+
const authoredModel = (_a = blueprint.llm_choices) == null ? void 0 : _a.for_text;
|
|
986
|
+
const authoredModelForObject = (_b = blueprint.llm_choices) == null ? void 0 : _b.for_object;
|
|
987
|
+
const hasDistinctObjectRequest = Boolean(
|
|
988
|
+
authoredModelForObject && authoredModelForObject !== authoredModel
|
|
989
|
+
);
|
|
990
|
+
return /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
991
|
+
/* @__PURE__ */ jsx5(ModelRows, { modelsRan, authored: authoredModel, handle: resolvedModel }),
|
|
992
|
+
hasDistinctObjectRequest && /* @__PURE__ */ jsx5(
|
|
993
|
+
ModelRows,
|
|
994
|
+
{
|
|
995
|
+
authored: authoredModelForObject,
|
|
996
|
+
handle: resolvedModelForObject,
|
|
997
|
+
label: "Model (object)"
|
|
998
|
+
}
|
|
999
|
+
),
|
|
1000
|
+
/* @__PURE__ */ jsx5(KV, { label: "Structuring", value: structuringPath || blueprint.structuring_method }),
|
|
1001
|
+
/* @__PURE__ */ jsx5(KV, { label: "Multiple Output", value: isMultipleOutput }),
|
|
1002
|
+
/* @__PURE__ */ jsx5(KV, { label: "Output Multiplicity", value: blueprint.output_multiplicity }),
|
|
1003
|
+
/* @__PURE__ */ jsx5(KV, { label: "Prompt Category", value: (_c = spec.prompt_blueprint) == null ? void 0 : _c.category }),
|
|
1004
|
+
hasImageRefs && /* @__PURE__ */ jsx5(KV, { label: "User Image Refs", value: `${spec.user_image_references.length} references` }),
|
|
1005
|
+
hasDocRefs && /* @__PURE__ */ jsx5(
|
|
832
1006
|
KV,
|
|
833
1007
|
{
|
|
834
1008
|
label: "User Document Refs",
|
|
835
1009
|
value: `${spec.user_document_references.length} references`
|
|
836
1010
|
}
|
|
837
1011
|
),
|
|
838
|
-
hasSysImageRefs && /* @__PURE__ */
|
|
1012
|
+
hasSysImageRefs && /* @__PURE__ */ jsx5(
|
|
839
1013
|
KV,
|
|
840
1014
|
{
|
|
841
1015
|
label: "System Image Refs",
|
|
842
1016
|
value: `${spec.system_image_references.length} references`
|
|
843
1017
|
}
|
|
844
1018
|
),
|
|
845
|
-
hasSysDocRefs && /* @__PURE__ */
|
|
1019
|
+
hasSysDocRefs && /* @__PURE__ */ jsx5(
|
|
846
1020
|
KV,
|
|
847
1021
|
{
|
|
848
1022
|
label: "System Document Refs",
|
|
849
1023
|
value: `${spec.system_document_references.length} references`
|
|
850
1024
|
}
|
|
851
1025
|
),
|
|
852
|
-
/* @__PURE__ */
|
|
1026
|
+
/* @__PURE__ */ jsx5(
|
|
853
1027
|
PromptToggle,
|
|
854
1028
|
{
|
|
855
1029
|
label: "System Prompt",
|
|
@@ -857,7 +1031,7 @@ function PipeLLMSection({
|
|
|
857
1031
|
renderedText: renderedSystem
|
|
858
1032
|
}
|
|
859
1033
|
),
|
|
860
|
-
/* @__PURE__ */
|
|
1034
|
+
/* @__PURE__ */ jsx5(
|
|
861
1035
|
PromptToggle,
|
|
862
1036
|
{
|
|
863
1037
|
label: "Prompt",
|
|
@@ -869,19 +1043,21 @@ function PipeLLMSection({
|
|
|
869
1043
|
}
|
|
870
1044
|
|
|
871
1045
|
// src/graph/react/detail/sections/PipeImgGenDetail.tsx
|
|
872
|
-
import { Fragment as Fragment2, jsx as
|
|
1046
|
+
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
873
1047
|
function PipeImgGenSection({
|
|
874
1048
|
blueprint,
|
|
875
|
-
executionData
|
|
1049
|
+
executionData,
|
|
1050
|
+
modelsRan,
|
|
1051
|
+
modelHandles
|
|
876
1052
|
}) {
|
|
877
1053
|
var _a, _b, _c;
|
|
878
1054
|
const spec = blueprint.img_gen_prompt_blueprint;
|
|
879
|
-
const resolvedModel =
|
|
1055
|
+
const resolvedModel = modelHandles == null ? void 0 : modelHandles.resolved_model;
|
|
880
1056
|
const renderedPrompt = executionData == null ? void 0 : executionData.rendered_prompt;
|
|
881
1057
|
const renderedNegative = executionData == null ? void 0 : executionData.rendered_negative_prompt;
|
|
882
|
-
return /* @__PURE__ */
|
|
883
|
-
/* @__PURE__ */
|
|
884
|
-
/* @__PURE__ */
|
|
1058
|
+
return /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
1059
|
+
/* @__PURE__ */ jsx6(ModelRows, { modelsRan, authored: blueprint.img_gen_choice, handle: resolvedModel }),
|
|
1060
|
+
/* @__PURE__ */ jsx6(
|
|
885
1061
|
PromptToggle,
|
|
886
1062
|
{
|
|
887
1063
|
label: "Prompt",
|
|
@@ -889,7 +1065,7 @@ function PipeImgGenSection({
|
|
|
889
1065
|
renderedText: renderedPrompt
|
|
890
1066
|
}
|
|
891
1067
|
),
|
|
892
|
-
/* @__PURE__ */
|
|
1068
|
+
/* @__PURE__ */ jsx6(
|
|
893
1069
|
PromptToggle,
|
|
894
1070
|
{
|
|
895
1071
|
label: "Negative Prompt",
|
|
@@ -897,12 +1073,12 @@ function PipeImgGenSection({
|
|
|
897
1073
|
renderedText: renderedNegative
|
|
898
1074
|
}
|
|
899
1075
|
),
|
|
900
|
-
/* @__PURE__ */
|
|
901
|
-
/* @__PURE__ */
|
|
902
|
-
/* @__PURE__ */
|
|
903
|
-
/* @__PURE__ */
|
|
904
|
-
/* @__PURE__ */
|
|
905
|
-
/* @__PURE__ */
|
|
1076
|
+
/* @__PURE__ */ jsx6(KV, { label: "Aspect Ratio", value: blueprint.aspect_ratio }),
|
|
1077
|
+
/* @__PURE__ */ jsx6(KV, { label: "Output Format", value: blueprint.output_format }),
|
|
1078
|
+
/* @__PURE__ */ jsx6(KV, { label: "Background", value: blueprint.background }),
|
|
1079
|
+
/* @__PURE__ */ jsx6(KV, { label: "Is Raw", value: blueprint.is_raw }),
|
|
1080
|
+
/* @__PURE__ */ jsx6(KV, { label: "Seed", value: blueprint.seed }),
|
|
1081
|
+
/* @__PURE__ */ jsx6(
|
|
906
1082
|
KV,
|
|
907
1083
|
{
|
|
908
1084
|
label: "Images",
|
|
@@ -913,36 +1089,39 @@ function PipeImgGenSection({
|
|
|
913
1089
|
}
|
|
914
1090
|
|
|
915
1091
|
// src/graph/react/detail/sections/PipeExtractDetail.tsx
|
|
916
|
-
import { Fragment as Fragment3, jsx as
|
|
1092
|
+
import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
917
1093
|
function PipeExtractSection({
|
|
918
1094
|
blueprint,
|
|
919
|
-
|
|
1095
|
+
modelsRan,
|
|
1096
|
+
modelHandles
|
|
920
1097
|
}) {
|
|
921
|
-
const resolvedModel =
|
|
922
|
-
return /* @__PURE__ */
|
|
923
|
-
/* @__PURE__ */
|
|
924
|
-
/* @__PURE__ */
|
|
925
|
-
/* @__PURE__ */
|
|
926
|
-
/* @__PURE__ */
|
|
927
|
-
/* @__PURE__ */
|
|
928
|
-
/* @__PURE__ */
|
|
929
|
-
/* @__PURE__ */
|
|
930
|
-
/* @__PURE__ */
|
|
931
|
-
/* @__PURE__ */
|
|
1098
|
+
const resolvedModel = modelHandles == null ? void 0 : modelHandles.resolved_model;
|
|
1099
|
+
return /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
1100
|
+
/* @__PURE__ */ jsx7(ModelRows, { modelsRan, authored: blueprint.extract_choice, handle: resolvedModel }),
|
|
1101
|
+
/* @__PURE__ */ jsx7(KV, { label: "Document Variable", value: blueprint.document_stuff_name }),
|
|
1102
|
+
/* @__PURE__ */ jsx7(KV, { label: "Caption Images", value: blueprint.should_caption_images }),
|
|
1103
|
+
/* @__PURE__ */ jsx7(KV, { label: "Max Page Images", value: blueprint.max_page_images }),
|
|
1104
|
+
/* @__PURE__ */ jsx7(KV, { label: "Include Page Views", value: blueprint.should_include_page_views }),
|
|
1105
|
+
/* @__PURE__ */ jsx7(KV, { label: "Page Views DPI", value: blueprint.page_views_dpi }),
|
|
1106
|
+
/* @__PURE__ */ jsx7(KV, { label: "Render JS", value: blueprint.render_js }),
|
|
1107
|
+
/* @__PURE__ */ jsx7(KV, { label: "Include Raw HTML", value: blueprint.include_raw_html }),
|
|
1108
|
+
/* @__PURE__ */ jsx7(KV, { label: "Image Variable", value: blueprint.image_stuff_name })
|
|
932
1109
|
] });
|
|
933
1110
|
}
|
|
934
1111
|
|
|
935
1112
|
// src/graph/react/detail/sections/PipeSearchDetail.tsx
|
|
936
|
-
import { Fragment as Fragment4, jsx as
|
|
1113
|
+
import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
937
1114
|
function PipeSearchSection({
|
|
938
1115
|
blueprint,
|
|
939
|
-
executionData
|
|
1116
|
+
executionData,
|
|
1117
|
+
modelsRan,
|
|
1118
|
+
modelHandles
|
|
940
1119
|
}) {
|
|
941
|
-
const resolvedModel =
|
|
1120
|
+
const resolvedModel = modelHandles == null ? void 0 : modelHandles.resolved_model;
|
|
942
1121
|
const renderedQuery = executionData == null ? void 0 : executionData.rendered_query;
|
|
943
|
-
return /* @__PURE__ */
|
|
944
|
-
/* @__PURE__ */
|
|
945
|
-
/* @__PURE__ */
|
|
1122
|
+
return /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
1123
|
+
/* @__PURE__ */ jsx8(ModelRows, { modelsRan, authored: blueprint.search_choice, handle: resolvedModel }),
|
|
1124
|
+
/* @__PURE__ */ jsx8(
|
|
946
1125
|
PromptToggle,
|
|
947
1126
|
{
|
|
948
1127
|
label: "Search Query",
|
|
@@ -950,13 +1129,13 @@ function PipeSearchSection({
|
|
|
950
1129
|
renderedText: renderedQuery
|
|
951
1130
|
}
|
|
952
1131
|
),
|
|
953
|
-
/* @__PURE__ */
|
|
954
|
-
/* @__PURE__ */
|
|
955
|
-
/* @__PURE__ */
|
|
956
|
-
/* @__PURE__ */
|
|
957
|
-
/* @__PURE__ */
|
|
958
|
-
blueprint.include_domains && blueprint.include_domains.length > 0 && /* @__PURE__ */
|
|
959
|
-
blueprint.exclude_domains && blueprint.exclude_domains.length > 0 && /* @__PURE__ */
|
|
1132
|
+
/* @__PURE__ */ jsx8(KV, { label: "Max Results", value: blueprint.max_results_override }),
|
|
1133
|
+
/* @__PURE__ */ jsx8(KV, { label: "Include Images", value: blueprint.include_images_override }),
|
|
1134
|
+
/* @__PURE__ */ jsx8(KV, { label: "Structured Output", value: blueprint.is_structured_output }),
|
|
1135
|
+
/* @__PURE__ */ jsx8(KV, { label: "From Date", value: blueprint.from_date }),
|
|
1136
|
+
/* @__PURE__ */ jsx8(KV, { label: "To Date", value: blueprint.to_date }),
|
|
1137
|
+
blueprint.include_domains && blueprint.include_domains.length > 0 && /* @__PURE__ */ jsx8(KV, { label: "Include Domains", value: blueprint.include_domains.join(", ") }),
|
|
1138
|
+
blueprint.exclude_domains && blueprint.exclude_domains.length > 0 && /* @__PURE__ */ jsx8(KV, { label: "Exclude Domains", value: blueprint.exclude_domains.join(", ") })
|
|
960
1139
|
] });
|
|
961
1140
|
}
|
|
962
1141
|
|
|
@@ -979,26 +1158,28 @@ function labelFromLlmChoice(choice) {
|
|
|
979
1158
|
}
|
|
980
1159
|
|
|
981
1160
|
// src/graph/react/detail/sections/PipeStructureDetail.tsx
|
|
982
|
-
import { Fragment as Fragment5, jsx as
|
|
1161
|
+
import { Fragment as Fragment5, jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
983
1162
|
function PipeStructureSection({
|
|
984
1163
|
blueprint,
|
|
985
|
-
executionData
|
|
1164
|
+
executionData,
|
|
1165
|
+
modelsRan,
|
|
1166
|
+
modelHandles
|
|
986
1167
|
}) {
|
|
987
|
-
const resolvedModel =
|
|
1168
|
+
const resolvedModel = modelHandles == null ? void 0 : modelHandles.resolved_model;
|
|
988
1169
|
const isMultipleOutput = executionData == null ? void 0 : executionData.is_multiple_output;
|
|
989
1170
|
const renderedUser = executionData == null ? void 0 : executionData.rendered_user_prompt;
|
|
990
|
-
const
|
|
991
|
-
return /* @__PURE__ */
|
|
992
|
-
/* @__PURE__ */
|
|
993
|
-
/* @__PURE__ */
|
|
994
|
-
/* @__PURE__ */
|
|
995
|
-
/* @__PURE__ */
|
|
996
|
-
/* @__PURE__ */
|
|
1171
|
+
const authoredModel = labelFromLlmChoice(blueprint.llm_choice);
|
|
1172
|
+
return /* @__PURE__ */ jsxs9(Fragment5, { children: [
|
|
1173
|
+
/* @__PURE__ */ jsx9(ModelRows, { modelsRan, authored: authoredModel, handle: resolvedModel }),
|
|
1174
|
+
/* @__PURE__ */ jsx9(KV, { label: "Text Variable", value: blueprint.text_input_name }),
|
|
1175
|
+
/* @__PURE__ */ jsx9(KV, { label: "Multiple Output", value: isMultipleOutput }),
|
|
1176
|
+
/* @__PURE__ */ jsx9(KV, { label: "Output Multiplicity", value: blueprint.output_multiplicity }),
|
|
1177
|
+
/* @__PURE__ */ jsx9(PromptToggle, { label: "Prompt", templateText: void 0, renderedText: renderedUser })
|
|
997
1178
|
] });
|
|
998
1179
|
}
|
|
999
1180
|
|
|
1000
1181
|
// src/graph/react/detail/sections/PipeComposeDetail.tsx
|
|
1001
|
-
import { Fragment as Fragment6, jsx as
|
|
1182
|
+
import { Fragment as Fragment6, jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1002
1183
|
function formatLeafField(field) {
|
|
1003
1184
|
var _a, _b;
|
|
1004
1185
|
switch (field.method) {
|
|
@@ -1019,9 +1200,9 @@ function isLongValue(text) {
|
|
|
1019
1200
|
return text.length > LONG_VALUE_THRESHOLD_CHARS || text.includes("\n");
|
|
1020
1201
|
}
|
|
1021
1202
|
function FieldBlock({ label, value }) {
|
|
1022
|
-
return /* @__PURE__ */
|
|
1023
|
-
/* @__PURE__ */
|
|
1024
|
-
/* @__PURE__ */
|
|
1203
|
+
return /* @__PURE__ */ jsxs10("div", { className: "detail-field-block", children: [
|
|
1204
|
+
/* @__PURE__ */ jsx10("div", { className: "detail-field-block-label", children: label }),
|
|
1205
|
+
/* @__PURE__ */ jsx10("div", { className: "detail-field-block-value", children: value })
|
|
1025
1206
|
] });
|
|
1026
1207
|
}
|
|
1027
1208
|
function ConstructFieldsBlock({
|
|
@@ -1042,18 +1223,18 @@ function ConstructFieldsBlock({
|
|
|
1042
1223
|
}
|
|
1043
1224
|
}
|
|
1044
1225
|
const indentStyle = depth > 0 ? { paddingLeft: depth * 12 } : void 0;
|
|
1045
|
-
return /* @__PURE__ */
|
|
1226
|
+
return /* @__PURE__ */ jsxs10(Fragment6, { children: [
|
|
1046
1227
|
leafFields.map(([name, field]) => {
|
|
1047
1228
|
const display = formatLeafField(field);
|
|
1048
1229
|
if (isLongValue(display)) {
|
|
1049
|
-
return /* @__PURE__ */
|
|
1230
|
+
return /* @__PURE__ */ jsx10("div", { style: indentStyle, children: /* @__PURE__ */ jsx10(FieldBlock, { label: name, value: display }) }, name);
|
|
1050
1231
|
}
|
|
1051
|
-
return /* @__PURE__ */
|
|
1232
|
+
return /* @__PURE__ */ jsx10("div", { style: indentStyle, children: /* @__PURE__ */ jsx10(KV, { label: name, value: display }) }, name);
|
|
1052
1233
|
}),
|
|
1053
1234
|
templateFields.map(([name, field]) => {
|
|
1054
1235
|
var _a, _b;
|
|
1055
1236
|
const renderedForField = (_a = fieldResolutions == null ? void 0 : fieldResolutions[name]) == null ? void 0 : _a.rendered;
|
|
1056
|
-
return /* @__PURE__ */
|
|
1237
|
+
return /* @__PURE__ */ jsx10("div", { style: indentStyle, children: /* @__PURE__ */ jsx10(
|
|
1057
1238
|
PromptToggle,
|
|
1058
1239
|
{
|
|
1059
1240
|
label: `Template \u2014 ${name}`,
|
|
@@ -1064,15 +1245,15 @@ function ConstructFieldsBlock({
|
|
|
1064
1245
|
}),
|
|
1065
1246
|
nestedFields.map(([name, field]) => {
|
|
1066
1247
|
if (!field.nested) return null;
|
|
1067
|
-
return /* @__PURE__ */
|
|
1068
|
-
/* @__PURE__ */
|
|
1248
|
+
return /* @__PURE__ */ jsxs10("div", { children: [
|
|
1249
|
+
/* @__PURE__ */ jsxs10(
|
|
1069
1250
|
"div",
|
|
1070
1251
|
{
|
|
1071
1252
|
className: "detail-nested-header",
|
|
1072
1253
|
style: depth > 0 ? { paddingLeft: depth * 12 } : void 0,
|
|
1073
1254
|
children: [
|
|
1074
|
-
/* @__PURE__ */
|
|
1075
|
-
/* @__PURE__ */
|
|
1255
|
+
/* @__PURE__ */ jsx10("span", { className: "detail-nested-header-name", children: name }),
|
|
1256
|
+
/* @__PURE__ */ jsxs10("span", { className: "detail-nested-header-meta", children: [
|
|
1076
1257
|
"nested \xB7 ",
|
|
1077
1258
|
Object.keys(field.nested.fields).length,
|
|
1078
1259
|
" field",
|
|
@@ -1081,7 +1262,7 @@ function ConstructFieldsBlock({
|
|
|
1081
1262
|
]
|
|
1082
1263
|
}
|
|
1083
1264
|
),
|
|
1084
|
-
/* @__PURE__ */
|
|
1265
|
+
/* @__PURE__ */ jsx10(
|
|
1085
1266
|
ConstructFieldsBlock,
|
|
1086
1267
|
{
|
|
1087
1268
|
blueprint: field.nested,
|
|
@@ -1103,11 +1284,11 @@ function PipeComposeSection({
|
|
|
1103
1284
|
const fieldResolutions = (_a = executionData == null ? void 0 : executionData.fields) != null ? _a : null;
|
|
1104
1285
|
const constructBlueprint = blueprint.construct_blueprint;
|
|
1105
1286
|
const hasConstruct = constructBlueprint !== null && Object.keys(constructBlueprint.fields).length > 0;
|
|
1106
|
-
return /* @__PURE__ */
|
|
1107
|
-
/* @__PURE__ */
|
|
1108
|
-
/* @__PURE__ */
|
|
1109
|
-
/* @__PURE__ */
|
|
1110
|
-
blueprint.template && /* @__PURE__ */
|
|
1287
|
+
return /* @__PURE__ */ jsxs10(Fragment6, { children: [
|
|
1288
|
+
/* @__PURE__ */ jsx10(KV, { label: "Mode", value: composeMode || (hasConstruct ? "construct" : "template") }),
|
|
1289
|
+
/* @__PURE__ */ jsx10(KV, { label: "Category", value: blueprint.category }),
|
|
1290
|
+
/* @__PURE__ */ jsx10(KV, { label: "Templating Style", value: blueprint.templating_style }),
|
|
1291
|
+
blueprint.template && /* @__PURE__ */ jsx10(
|
|
1111
1292
|
PromptToggle,
|
|
1112
1293
|
{
|
|
1113
1294
|
label: "Template",
|
|
@@ -1115,9 +1296,9 @@ function PipeComposeSection({
|
|
|
1115
1296
|
renderedText
|
|
1116
1297
|
}
|
|
1117
1298
|
),
|
|
1118
|
-
hasConstruct && /* @__PURE__ */
|
|
1119
|
-
/* @__PURE__ */
|
|
1120
|
-
/* @__PURE__ */
|
|
1299
|
+
hasConstruct && /* @__PURE__ */ jsxs10(Fragment6, { children: [
|
|
1300
|
+
/* @__PURE__ */ jsx10("div", { className: "detail-section-label", children: "FIELDS" }),
|
|
1301
|
+
/* @__PURE__ */ jsx10(
|
|
1121
1302
|
ConstructFieldsBlock,
|
|
1122
1303
|
{
|
|
1123
1304
|
blueprint: constructBlueprint,
|
|
@@ -1130,26 +1311,26 @@ function PipeComposeSection({
|
|
|
1130
1311
|
}
|
|
1131
1312
|
|
|
1132
1313
|
// src/graph/react/detail/sections/PipeConditionDetail.tsx
|
|
1133
|
-
import { Fragment as Fragment7, jsx as
|
|
1314
|
+
import { Fragment as Fragment7, jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1134
1315
|
function PipeConditionSection({
|
|
1135
1316
|
blueprint,
|
|
1136
1317
|
executionData
|
|
1137
1318
|
}) {
|
|
1138
1319
|
const evaluatedExpression = executionData == null ? void 0 : executionData.evaluated_expression;
|
|
1139
1320
|
const selectedOutcome = executionData == null ? void 0 : executionData.selected_outcome;
|
|
1140
|
-
return /* @__PURE__ */
|
|
1141
|
-
/* @__PURE__ */
|
|
1142
|
-
evaluatedExpression && /* @__PURE__ */
|
|
1143
|
-
/* @__PURE__ */
|
|
1144
|
-
/* @__PURE__ */
|
|
1145
|
-
Object.entries(blueprint.outcome_map).map(([outcome, pipeCode]) => /* @__PURE__ */
|
|
1321
|
+
return /* @__PURE__ */ jsxs11(Fragment7, { children: [
|
|
1322
|
+
/* @__PURE__ */ jsx11(PromptBlock, { label: "Expression", text: blueprint.expression }),
|
|
1323
|
+
evaluatedExpression && /* @__PURE__ */ jsx11(KV, { label: "Expression Result", value: evaluatedExpression }),
|
|
1324
|
+
/* @__PURE__ */ jsxs11("div", { children: [
|
|
1325
|
+
/* @__PURE__ */ jsx11("div", { className: "detail-section-label", children: "Outcomes" }),
|
|
1326
|
+
Object.entries(blueprint.outcome_map).map(([outcome, pipeCode]) => /* @__PURE__ */ jsxs11(
|
|
1146
1327
|
"div",
|
|
1147
1328
|
{
|
|
1148
1329
|
className: "detail-kv-row",
|
|
1149
1330
|
style: selectedOutcome === pipeCode ? { background: "rgba(80,250,123,0.08)" } : void 0,
|
|
1150
1331
|
children: [
|
|
1151
|
-
/* @__PURE__ */
|
|
1152
|
-
/* @__PURE__ */
|
|
1332
|
+
/* @__PURE__ */ jsx11("span", { className: "detail-kv-key", children: outcome }),
|
|
1333
|
+
/* @__PURE__ */ jsx11(
|
|
1153
1334
|
"span",
|
|
1154
1335
|
{
|
|
1155
1336
|
className: "detail-kv-value",
|
|
@@ -1161,26 +1342,26 @@ function PipeConditionSection({
|
|
|
1161
1342
|
},
|
|
1162
1343
|
outcome
|
|
1163
1344
|
)),
|
|
1164
|
-
/* @__PURE__ */
|
|
1165
|
-
/* @__PURE__ */
|
|
1166
|
-
/* @__PURE__ */
|
|
1345
|
+
/* @__PURE__ */ jsxs11("div", { className: "detail-kv-row", children: [
|
|
1346
|
+
/* @__PURE__ */ jsx11("span", { className: "detail-kv-key", children: "default" }),
|
|
1347
|
+
/* @__PURE__ */ jsx11("span", { className: "detail-kv-value", children: blueprint.default_outcome })
|
|
1167
1348
|
] })
|
|
1168
1349
|
] }),
|
|
1169
|
-
/* @__PURE__ */
|
|
1350
|
+
/* @__PURE__ */ jsx11(KV, { label: "Alias Expression To", value: blueprint.add_alias_from_expression_to })
|
|
1170
1351
|
] });
|
|
1171
1352
|
}
|
|
1172
1353
|
|
|
1173
1354
|
// src/graph/react/detail/sections/PipeSequenceDetail.tsx
|
|
1174
|
-
import { jsx as
|
|
1355
|
+
import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1175
1356
|
function PipeSequenceSection({
|
|
1176
1357
|
blueprint
|
|
1177
1358
|
}) {
|
|
1178
|
-
return /* @__PURE__ */
|
|
1179
|
-
/* @__PURE__ */
|
|
1180
|
-
/* @__PURE__ */
|
|
1181
|
-
/* @__PURE__ */
|
|
1182
|
-
/* @__PURE__ */
|
|
1183
|
-
step.output_name && /* @__PURE__ */
|
|
1359
|
+
return /* @__PURE__ */ jsxs12("div", { children: [
|
|
1360
|
+
/* @__PURE__ */ jsx12("div", { className: "detail-section-label", children: "Steps" }),
|
|
1361
|
+
/* @__PURE__ */ jsx12("div", { className: "detail-steps-list", children: blueprint.sequential_sub_pipes.map((step, idx) => /* @__PURE__ */ jsxs12("div", { className: "detail-step-item", children: [
|
|
1362
|
+
/* @__PURE__ */ jsx12("span", { className: "detail-step-index", children: idx + 1 }),
|
|
1363
|
+
/* @__PURE__ */ jsx12("span", { className: "detail-step-code", children: step.pipe_code }),
|
|
1364
|
+
step.output_name && /* @__PURE__ */ jsxs12("span", { className: "detail-io-concept", children: [
|
|
1184
1365
|
"-> ",
|
|
1185
1366
|
step.output_name
|
|
1186
1367
|
] })
|
|
@@ -1189,38 +1370,38 @@ function PipeSequenceSection({
|
|
|
1189
1370
|
}
|
|
1190
1371
|
|
|
1191
1372
|
// src/graph/react/detail/sections/PipeParallelDetail.tsx
|
|
1192
|
-
import { Fragment as Fragment8, jsx as
|
|
1373
|
+
import { Fragment as Fragment8, jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1193
1374
|
function PipeParallelSection({
|
|
1194
1375
|
blueprint
|
|
1195
1376
|
}) {
|
|
1196
|
-
return /* @__PURE__ */
|
|
1197
|
-
/* @__PURE__ */
|
|
1198
|
-
/* @__PURE__ */
|
|
1199
|
-
/* @__PURE__ */
|
|
1200
|
-
/* @__PURE__ */
|
|
1201
|
-
branch.output_name && /* @__PURE__ */
|
|
1377
|
+
return /* @__PURE__ */ jsxs13(Fragment8, { children: [
|
|
1378
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1379
|
+
/* @__PURE__ */ jsx13("div", { className: "detail-section-label", children: "Branches" }),
|
|
1380
|
+
/* @__PURE__ */ jsx13("div", { className: "detail-steps-list", children: blueprint.parallel_sub_pipes.map((branch, idx) => /* @__PURE__ */ jsxs13("div", { className: "detail-step-item", children: [
|
|
1381
|
+
/* @__PURE__ */ jsx13("span", { className: "detail-step-code", children: branch.pipe_code }),
|
|
1382
|
+
branch.output_name && /* @__PURE__ */ jsxs13("span", { className: "detail-io-concept", children: [
|
|
1202
1383
|
"-> ",
|
|
1203
1384
|
branch.output_name
|
|
1204
1385
|
] })
|
|
1205
1386
|
] }, idx)) })
|
|
1206
1387
|
] }),
|
|
1207
|
-
/* @__PURE__ */
|
|
1208
|
-
/* @__PURE__ */
|
|
1388
|
+
/* @__PURE__ */ jsx13(KV, { label: "Add Each Output", value: blueprint.add_each_output }),
|
|
1389
|
+
/* @__PURE__ */ jsx13(KV, { label: "Combined Output", value: blueprint.combined_output })
|
|
1209
1390
|
] });
|
|
1210
1391
|
}
|
|
1211
1392
|
|
|
1212
1393
|
// src/graph/react/detail/sections/PipeBatchDetail.tsx
|
|
1213
|
-
import { Fragment as Fragment9, jsx as
|
|
1394
|
+
import { Fragment as Fragment9, jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1214
1395
|
function PipeBatchSection({
|
|
1215
1396
|
blueprint,
|
|
1216
1397
|
executionData
|
|
1217
1398
|
}) {
|
|
1218
1399
|
const itemCount = executionData == null ? void 0 : executionData.item_count;
|
|
1219
|
-
return /* @__PURE__ */
|
|
1220
|
-
/* @__PURE__ */
|
|
1221
|
-
/* @__PURE__ */
|
|
1222
|
-
/* @__PURE__ */
|
|
1223
|
-
itemCount != null && /* @__PURE__ */
|
|
1400
|
+
return /* @__PURE__ */ jsxs14(Fragment9, { children: [
|
|
1401
|
+
/* @__PURE__ */ jsx14(KV, { label: "Branch Pipe", value: blueprint.branch_pipe_code }),
|
|
1402
|
+
/* @__PURE__ */ jsx14(KV, { label: "Input List Variable", value: blueprint.batch_params.input_list_stuff_name }),
|
|
1403
|
+
/* @__PURE__ */ jsx14(KV, { label: "Input Item Variable", value: blueprint.batch_params.input_item_stuff_name }),
|
|
1404
|
+
itemCount != null && /* @__PURE__ */ jsx14(KV, { label: "Items Processed", value: itemCount })
|
|
1224
1405
|
] });
|
|
1225
1406
|
}
|
|
1226
1407
|
|
|
@@ -1243,7 +1424,7 @@ function shouldDumpExecutionData(pipeType, hasBlueprint) {
|
|
|
1243
1424
|
}
|
|
1244
1425
|
|
|
1245
1426
|
// src/graph/react/detail/PipeDetailPanel.tsx
|
|
1246
|
-
import { Fragment as Fragment10, jsx as
|
|
1427
|
+
import { Fragment as Fragment10, jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1247
1428
|
var PIPE_TYPE_BADGES = {
|
|
1248
1429
|
PipeLLM: "LLM",
|
|
1249
1430
|
PipeExtract: "Extract",
|
|
@@ -1273,7 +1454,7 @@ var STATUS_COLORS = {
|
|
|
1273
1454
|
canceled: "#6272a4"
|
|
1274
1455
|
};
|
|
1275
1456
|
function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
1276
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
1457
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1277
1458
|
const pipeType = node.pipe_type;
|
|
1278
1459
|
const isController = CONTROLLER_TYPES.has(pipeType);
|
|
1279
1460
|
const isStatic = isStaticGraphSpec(spec);
|
|
@@ -1292,20 +1473,21 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1292
1473
|
}
|
|
1293
1474
|
return void 0;
|
|
1294
1475
|
}, [node.pipe_code, spec]);
|
|
1476
|
+
const [usageExpanded, setUsageExpanded] = React6.useState(false);
|
|
1295
1477
|
const inputs = (_c = (_b = node.io) == null ? void 0 : _b.inputs) != null ? _c : [];
|
|
1296
1478
|
const outputs = (_e = (_d = node.io) == null ? void 0 : _d.outputs) != null ? _e : [];
|
|
1297
1479
|
const description = (_f = blueprint == null ? void 0 : blueprint.description) != null ? _f : node.description;
|
|
1298
|
-
return /* @__PURE__ */
|
|
1299
|
-
/* @__PURE__ */
|
|
1300
|
-
/* @__PURE__ */
|
|
1301
|
-
/* @__PURE__ */
|
|
1480
|
+
return /* @__PURE__ */ jsxs15(Fragment10, { children: [
|
|
1481
|
+
/* @__PURE__ */ jsxs15("div", { className: "detail-sticky-header", children: [
|
|
1482
|
+
/* @__PURE__ */ jsxs15("div", { className: "detail-header", children: [
|
|
1483
|
+
/* @__PURE__ */ jsx15(
|
|
1302
1484
|
"span",
|
|
1303
1485
|
{
|
|
1304
1486
|
className: `detail-badge ${isController ? "detail-badge--controller" : "detail-badge--operator"}`,
|
|
1305
1487
|
children: badge
|
|
1306
1488
|
}
|
|
1307
1489
|
),
|
|
1308
|
-
/* @__PURE__ */
|
|
1490
|
+
/* @__PURE__ */ jsx15(
|
|
1309
1491
|
"span",
|
|
1310
1492
|
{
|
|
1311
1493
|
className: `detail-pipe-code ${isController ? "detail-pipe-code--controller" : ""}`,
|
|
@@ -1313,54 +1495,66 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1313
1495
|
}
|
|
1314
1496
|
)
|
|
1315
1497
|
] }),
|
|
1316
|
-
!isStatic && /* @__PURE__ */
|
|
1317
|
-
/* @__PURE__ */
|
|
1318
|
-
/* @__PURE__ */
|
|
1319
|
-
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */
|
|
1498
|
+
!isStatic && /* @__PURE__ */ jsxs15("div", { className: "detail-status", children: [
|
|
1499
|
+
/* @__PURE__ */ jsx15("span", { className: "detail-status-dot", style: { background: statusColor } }),
|
|
1500
|
+
/* @__PURE__ */ jsx15("span", { className: "detail-status-label", style: { color: statusColor }, children: status }),
|
|
1501
|
+
((_g = node.timing) == null ? void 0 : _g.duration) != null && /* @__PURE__ */ jsx15("span", { className: "detail-duration", children: formatDuration(node.timing.duration) }),
|
|
1502
|
+
showsGeneratedData && node.usage && /* @__PURE__ */ jsx15(
|
|
1503
|
+
UsageCostInline,
|
|
1504
|
+
{
|
|
1505
|
+
usage: node.usage,
|
|
1506
|
+
isController,
|
|
1507
|
+
expanded: usageExpanded,
|
|
1508
|
+
onToggle: () => setUsageExpanded((value) => !value)
|
|
1509
|
+
}
|
|
1510
|
+
)
|
|
1320
1511
|
] }),
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
/* @__PURE__ */
|
|
1512
|
+
showsGeneratedData && node.usage && usageExpanded && /* @__PURE__ */ jsx15(UsageDetails, { usage: node.usage, isController }),
|
|
1513
|
+
description && /* @__PURE__ */ jsx15("div", { className: "detail-description", children: description }),
|
|
1514
|
+
inputs.length > 0 && /* @__PURE__ */ jsxs15("div", { children: [
|
|
1515
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Inputs" }),
|
|
1516
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-io-list", children: inputs.map((input, idx) => /* @__PURE__ */ jsxs15(
|
|
1325
1517
|
"div",
|
|
1326
1518
|
{
|
|
1327
1519
|
className: "detail-io-pill",
|
|
1328
1520
|
style: { cursor: input.concept && onConceptClick ? "pointer" : void 0 },
|
|
1329
1521
|
onClick: () => input.concept && (onConceptClick == null ? void 0 : onConceptClick(input.concept)),
|
|
1330
1522
|
children: [
|
|
1331
|
-
/* @__PURE__ */
|
|
1332
|
-
input.concept && /* @__PURE__ */
|
|
1523
|
+
/* @__PURE__ */ jsx15("span", { className: "detail-io-name", children: input.name }),
|
|
1524
|
+
input.concept && /* @__PURE__ */ jsx15("span", { className: "detail-io-concept", children: input.concept })
|
|
1333
1525
|
]
|
|
1334
1526
|
},
|
|
1335
1527
|
idx
|
|
1336
1528
|
)) })
|
|
1337
1529
|
] }),
|
|
1338
|
-
outputs.length > 0 && /* @__PURE__ */
|
|
1339
|
-
/* @__PURE__ */
|
|
1340
|
-
/* @__PURE__ */
|
|
1530
|
+
outputs.length > 0 && /* @__PURE__ */ jsxs15("div", { children: [
|
|
1531
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Output" }),
|
|
1532
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-io-list", children: outputs.map((output, idx) => /* @__PURE__ */ jsxs15(
|
|
1341
1533
|
"div",
|
|
1342
1534
|
{
|
|
1343
1535
|
className: "detail-io-pill",
|
|
1344
1536
|
style: { cursor: output.concept && onConceptClick ? "pointer" : void 0 },
|
|
1345
1537
|
onClick: () => output.concept && (onConceptClick == null ? void 0 : onConceptClick(output.concept)),
|
|
1346
1538
|
children: [
|
|
1347
|
-
/* @__PURE__ */
|
|
1348
|
-
output.concept && /* @__PURE__ */
|
|
1539
|
+
/* @__PURE__ */ jsx15("span", { className: "detail-io-name", children: output.name }),
|
|
1540
|
+
output.concept && /* @__PURE__ */ jsx15("span", { className: "detail-io-concept", children: output.concept })
|
|
1349
1541
|
]
|
|
1350
1542
|
},
|
|
1351
1543
|
idx
|
|
1352
1544
|
)) })
|
|
1353
1545
|
] }),
|
|
1354
|
-
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */
|
|
1546
|
+
(inputs.length > 0 || outputs.length > 0) && /* @__PURE__ */ jsx15("div", { style: { borderTop: "1px solid rgba(255,255,255,0.06)", margin: "4px 0" } })
|
|
1355
1547
|
] }),
|
|
1356
|
-
blueprint && /* @__PURE__ */
|
|
1548
|
+
blueprint && /* @__PURE__ */ jsx15(
|
|
1357
1549
|
BlueprintSection,
|
|
1358
1550
|
{
|
|
1359
1551
|
blueprint,
|
|
1360
|
-
executionData: showsGeneratedData ? node.execution_data : void 0
|
|
1552
|
+
executionData: showsGeneratedData ? node.execution_data : void 0,
|
|
1553
|
+
modelsRan: showsGeneratedData ? (_h = node.usage) == null ? void 0 : _h.by_model : void 0,
|
|
1554
|
+
modelHandles: node.execution_data
|
|
1361
1555
|
}
|
|
1362
1556
|
),
|
|
1363
|
-
showsGeneratedData && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */
|
|
1557
|
+
showsGeneratedData && node.execution_data && Object.keys(node.execution_data).length > 0 && /* @__PURE__ */ jsx15(
|
|
1364
1558
|
ExecutionDataSection,
|
|
1365
1559
|
{
|
|
1366
1560
|
executionData: node.execution_data,
|
|
@@ -1368,14 +1562,14 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1368
1562
|
hasBlueprint: !!blueprint
|
|
1369
1563
|
}
|
|
1370
1564
|
),
|
|
1371
|
-
node.error && /* @__PURE__ */
|
|
1372
|
-
/* @__PURE__ */
|
|
1373
|
-
/* @__PURE__ */
|
|
1374
|
-
node.error.stack && /* @__PURE__ */
|
|
1565
|
+
node.error && /* @__PURE__ */ jsxs15("div", { className: "detail-error", children: [
|
|
1566
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-error-type", children: node.error.error_type }),
|
|
1567
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-error-message", children: node.error.message }),
|
|
1568
|
+
node.error.stack && /* @__PURE__ */ jsx15("div", { className: "detail-error-stack", children: node.error.stack })
|
|
1375
1569
|
] }),
|
|
1376
|
-
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */
|
|
1377
|
-
/* @__PURE__ */
|
|
1378
|
-
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */
|
|
1570
|
+
showsGeneratedData && node.metrics && Object.keys(node.metrics).length > 0 && /* @__PURE__ */ jsxs15("div", { children: [
|
|
1571
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Metrics" }),
|
|
1572
|
+
Object.entries(node.metrics).map(([key, value]) => /* @__PURE__ */ jsx15(
|
|
1379
1573
|
KV,
|
|
1380
1574
|
{
|
|
1381
1575
|
label: key,
|
|
@@ -1384,48 +1578,89 @@ function PipeDetailPanel({ node, spec, onConceptClick }) {
|
|
|
1384
1578
|
key
|
|
1385
1579
|
))
|
|
1386
1580
|
] }),
|
|
1387
|
-
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */
|
|
1388
|
-
/* @__PURE__ */
|
|
1389
|
-
/* @__PURE__ */
|
|
1390
|
-
/* @__PURE__ */
|
|
1581
|
+
node.tags && Object.keys(node.tags).length > 0 && /* @__PURE__ */ jsxs15("div", { children: [
|
|
1582
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Tags" }),
|
|
1583
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-tags", children: Object.entries(node.tags).map(([key, value]) => /* @__PURE__ */ jsxs15("span", { className: "detail-tag", children: [
|
|
1584
|
+
/* @__PURE__ */ jsxs15("span", { className: "detail-tag-key", children: [
|
|
1391
1585
|
key,
|
|
1392
1586
|
": "
|
|
1393
1587
|
] }),
|
|
1394
|
-
/* @__PURE__ */
|
|
1588
|
+
/* @__PURE__ */ jsx15("span", { className: "detail-tag-value", children: value })
|
|
1395
1589
|
] }, key)) })
|
|
1396
1590
|
] }),
|
|
1397
|
-
!blueprint && /* @__PURE__ */
|
|
1591
|
+
!blueprint && /* @__PURE__ */ jsx15("div", { className: "detail-not-available", children: "Blueprint not available" })
|
|
1398
1592
|
] });
|
|
1399
1593
|
}
|
|
1400
1594
|
function BlueprintSection({
|
|
1401
1595
|
blueprint,
|
|
1402
|
-
executionData
|
|
1596
|
+
executionData,
|
|
1597
|
+
modelsRan,
|
|
1598
|
+
modelHandles
|
|
1403
1599
|
}) {
|
|
1404
1600
|
switch (blueprint.type) {
|
|
1405
1601
|
case "PipeLLM":
|
|
1406
|
-
return /* @__PURE__ */
|
|
1602
|
+
return /* @__PURE__ */ jsx15(
|
|
1603
|
+
PipeLLMSection,
|
|
1604
|
+
{
|
|
1605
|
+
blueprint,
|
|
1606
|
+
executionData,
|
|
1607
|
+
modelsRan,
|
|
1608
|
+
modelHandles
|
|
1609
|
+
}
|
|
1610
|
+
);
|
|
1407
1611
|
case "PipeImgGen":
|
|
1408
|
-
return /* @__PURE__ */
|
|
1612
|
+
return /* @__PURE__ */ jsx15(
|
|
1613
|
+
PipeImgGenSection,
|
|
1614
|
+
{
|
|
1615
|
+
blueprint,
|
|
1616
|
+
executionData,
|
|
1617
|
+
modelsRan,
|
|
1618
|
+
modelHandles
|
|
1619
|
+
}
|
|
1620
|
+
);
|
|
1409
1621
|
case "PipeCompose":
|
|
1410
|
-
return /* @__PURE__ */
|
|
1622
|
+
return /* @__PURE__ */ jsx15(PipeComposeSection, { blueprint, executionData });
|
|
1411
1623
|
case "PipeExtract":
|
|
1412
|
-
return /* @__PURE__ */
|
|
1624
|
+
return /* @__PURE__ */ jsx15(
|
|
1625
|
+
PipeExtractSection,
|
|
1626
|
+
{
|
|
1627
|
+
blueprint,
|
|
1628
|
+
modelsRan,
|
|
1629
|
+
modelHandles
|
|
1630
|
+
}
|
|
1631
|
+
);
|
|
1413
1632
|
case "PipeSearch":
|
|
1414
|
-
return /* @__PURE__ */
|
|
1633
|
+
return /* @__PURE__ */ jsx15(
|
|
1634
|
+
PipeSearchSection,
|
|
1635
|
+
{
|
|
1636
|
+
blueprint,
|
|
1637
|
+
executionData,
|
|
1638
|
+
modelsRan,
|
|
1639
|
+
modelHandles
|
|
1640
|
+
}
|
|
1641
|
+
);
|
|
1415
1642
|
case "PipeStructure":
|
|
1416
|
-
return /* @__PURE__ */
|
|
1643
|
+
return /* @__PURE__ */ jsx15(
|
|
1644
|
+
PipeStructureSection,
|
|
1645
|
+
{
|
|
1646
|
+
blueprint,
|
|
1647
|
+
executionData,
|
|
1648
|
+
modelsRan,
|
|
1649
|
+
modelHandles
|
|
1650
|
+
}
|
|
1651
|
+
);
|
|
1417
1652
|
case "PipeSequence":
|
|
1418
|
-
return /* @__PURE__ */
|
|
1653
|
+
return /* @__PURE__ */ jsx15(PipeSequenceSection, { blueprint, executionData });
|
|
1419
1654
|
case "PipeParallel":
|
|
1420
|
-
return /* @__PURE__ */
|
|
1655
|
+
return /* @__PURE__ */ jsx15(PipeParallelSection, { blueprint, executionData });
|
|
1421
1656
|
case "PipeCondition":
|
|
1422
|
-
return /* @__PURE__ */
|
|
1657
|
+
return /* @__PURE__ */ jsx15(PipeConditionSection, { blueprint, executionData });
|
|
1423
1658
|
case "PipeBatch":
|
|
1424
|
-
return /* @__PURE__ */
|
|
1659
|
+
return /* @__PURE__ */ jsx15(PipeBatchSection, { blueprint, executionData });
|
|
1425
1660
|
case "PipeFunc":
|
|
1426
1661
|
return null;
|
|
1427
1662
|
case "PipeSignature":
|
|
1428
|
-
return /* @__PURE__ */
|
|
1663
|
+
return /* @__PURE__ */ jsx15("div", { className: "detail-not-available", children: "Signature stub \u2014 declared but not yet implemented." });
|
|
1429
1664
|
default:
|
|
1430
1665
|
return null;
|
|
1431
1666
|
}
|
|
@@ -1436,20 +1671,20 @@ function ExecutionDataSection({
|
|
|
1436
1671
|
hasBlueprint
|
|
1437
1672
|
}) {
|
|
1438
1673
|
if (!shouldDumpExecutionData(pipeType, hasBlueprint)) return null;
|
|
1439
|
-
return /* @__PURE__ */
|
|
1674
|
+
return /* @__PURE__ */ jsx15(GenericExecutionData, { data: executionData });
|
|
1440
1675
|
}
|
|
1441
1676
|
function GenericExecutionData({ data }) {
|
|
1442
1677
|
const entries = Object.entries(data);
|
|
1443
1678
|
if (entries.length === 0) return null;
|
|
1444
|
-
return /* @__PURE__ */
|
|
1445
|
-
/* @__PURE__ */
|
|
1446
|
-
entries.map(([key, value]) => /* @__PURE__ */
|
|
1679
|
+
return /* @__PURE__ */ jsxs15(Fragment10, { children: [
|
|
1680
|
+
/* @__PURE__ */ jsx15("div", { className: "detail-section-label", children: "Execution" }),
|
|
1681
|
+
entries.map(([key, value]) => /* @__PURE__ */ jsx15(KV, { label: key, value: String(value) }, key))
|
|
1447
1682
|
] });
|
|
1448
1683
|
}
|
|
1449
1684
|
|
|
1450
1685
|
// src/graph/react/detail/ConceptDetailPanel.tsx
|
|
1451
1686
|
import React7 from "react";
|
|
1452
|
-
import { Fragment as Fragment11, jsx as
|
|
1687
|
+
import { Fragment as Fragment11, jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1453
1688
|
function ConceptDetailPanel({
|
|
1454
1689
|
concept,
|
|
1455
1690
|
ioData,
|
|
@@ -1460,17 +1695,17 @@ function ConceptDetailPanel({
|
|
|
1460
1695
|
instanceKey
|
|
1461
1696
|
}) {
|
|
1462
1697
|
var _a;
|
|
1463
|
-
return /* @__PURE__ */
|
|
1464
|
-
/* @__PURE__ */
|
|
1465
|
-
/* @__PURE__ */
|
|
1466
|
-
/* @__PURE__ */
|
|
1698
|
+
return /* @__PURE__ */ jsxs16(Fragment11, { children: [
|
|
1699
|
+
/* @__PURE__ */ jsxs16("div", { className: "detail-header", children: [
|
|
1700
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-concept-code", children: concept.code }),
|
|
1701
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-concept-domain", children: concept.domain_code })
|
|
1467
1702
|
] }),
|
|
1468
|
-
concept.description && /* @__PURE__ */
|
|
1469
|
-
concept.refines && /* @__PURE__ */
|
|
1703
|
+
concept.description && /* @__PURE__ */ jsx16("div", { className: "detail-description", children: concept.description }),
|
|
1704
|
+
concept.refines && /* @__PURE__ */ jsxs16("div", { className: "detail-refines", children: [
|
|
1470
1705
|
"refines ",
|
|
1471
|
-
/* @__PURE__ */
|
|
1706
|
+
/* @__PURE__ */ jsx16("span", { className: "detail-refines-code", children: concept.refines })
|
|
1472
1707
|
] }),
|
|
1473
|
-
/* @__PURE__ */
|
|
1708
|
+
/* @__PURE__ */ jsx16(
|
|
1474
1709
|
ConceptBody,
|
|
1475
1710
|
{
|
|
1476
1711
|
concept,
|
|
@@ -1497,10 +1732,10 @@ function ConceptBody({
|
|
|
1497
1732
|
const baseId = React7.useId();
|
|
1498
1733
|
const tabId = (tab) => `${baseId}-tab-${tab}`;
|
|
1499
1734
|
const panelId = (tab) => `${baseId}-tabpanel-${tab}`;
|
|
1500
|
-
const structure = concept.json_schema ? /* @__PURE__ */
|
|
1501
|
-
/* @__PURE__ */
|
|
1502
|
-
/* @__PURE__ */
|
|
1503
|
-
] }) : /* @__PURE__ */
|
|
1735
|
+
const structure = concept.json_schema ? /* @__PURE__ */ jsxs16("div", { children: [
|
|
1736
|
+
/* @__PURE__ */ jsx16("div", { className: "detail-section-label", children: "Structure" }),
|
|
1737
|
+
/* @__PURE__ */ jsx16(SchemaTable, { schema: concept.json_schema })
|
|
1738
|
+
] }) : /* @__PURE__ */ jsx16("div", { className: "detail-not-available", children: "Schema not available" });
|
|
1504
1739
|
if (!hasData) return structure;
|
|
1505
1740
|
const onTabKeyDown = (event) => {
|
|
1506
1741
|
var _a;
|
|
@@ -1523,7 +1758,7 @@ function ConceptBody({
|
|
|
1523
1758
|
setActiveTab(next);
|
|
1524
1759
|
(_a = document.getElementById(tabId(next))) == null ? void 0 : _a.focus();
|
|
1525
1760
|
};
|
|
1526
|
-
const renderTab = (tab, label) => /* @__PURE__ */
|
|
1761
|
+
const renderTab = (tab, label) => /* @__PURE__ */ jsx16(
|
|
1527
1762
|
"button",
|
|
1528
1763
|
{
|
|
1529
1764
|
type: "button",
|
|
@@ -1538,12 +1773,12 @@ function ConceptBody({
|
|
|
1538
1773
|
children: label
|
|
1539
1774
|
}
|
|
1540
1775
|
);
|
|
1541
|
-
return /* @__PURE__ */
|
|
1542
|
-
/* @__PURE__ */
|
|
1776
|
+
return /* @__PURE__ */ jsxs16(Fragment11, { children: [
|
|
1777
|
+
/* @__PURE__ */ jsxs16("div", { className: "detail-tabs", role: "tablist", "aria-label": "Concept views", children: [
|
|
1543
1778
|
renderTab("data", "Data"),
|
|
1544
1779
|
renderTab("structure", "Structure")
|
|
1545
1780
|
] }),
|
|
1546
|
-
/* @__PURE__ */
|
|
1781
|
+
/* @__PURE__ */ jsx16("div", { role: "tabpanel", id: panelId(activeTab), "aria-labelledby": tabId(activeTab), children: activeTab === "data" ? /* @__PURE__ */ jsx16(
|
|
1547
1782
|
StuffViewer,
|
|
1548
1783
|
{
|
|
1549
1784
|
stuff: toStuffViewerData(ioData),
|
|
@@ -1559,23 +1794,23 @@ function SchemaTable({ schema }) {
|
|
|
1559
1794
|
const properties = schema.properties;
|
|
1560
1795
|
const required = new Set((_a = schema.required) != null ? _a : []);
|
|
1561
1796
|
if (!properties || Object.keys(properties).length === 0) {
|
|
1562
|
-
return /* @__PURE__ */
|
|
1797
|
+
return /* @__PURE__ */ jsx16("div", { className: "detail-not-available", children: "No fields defined" });
|
|
1563
1798
|
}
|
|
1564
1799
|
const fields = Object.entries(properties);
|
|
1565
|
-
return /* @__PURE__ */
|
|
1566
|
-
/* @__PURE__ */
|
|
1567
|
-
/* @__PURE__ */
|
|
1568
|
-
/* @__PURE__ */
|
|
1569
|
-
/* @__PURE__ */
|
|
1570
|
-
/* @__PURE__ */
|
|
1800
|
+
return /* @__PURE__ */ jsxs16("table", { className: "detail-schema-table", children: [
|
|
1801
|
+
/* @__PURE__ */ jsx16("thead", { children: /* @__PURE__ */ jsxs16("tr", { children: [
|
|
1802
|
+
/* @__PURE__ */ jsx16("th", { children: "Field" }),
|
|
1803
|
+
/* @__PURE__ */ jsx16("th", { children: "Type" }),
|
|
1804
|
+
/* @__PURE__ */ jsx16("th", {}),
|
|
1805
|
+
/* @__PURE__ */ jsx16("th", { children: "Description" })
|
|
1571
1806
|
] }) }),
|
|
1572
|
-
/* @__PURE__ */
|
|
1807
|
+
/* @__PURE__ */ jsx16("tbody", { children: fields.map(([fieldName, fieldSchema]) => {
|
|
1573
1808
|
var _a2;
|
|
1574
|
-
return /* @__PURE__ */
|
|
1575
|
-
/* @__PURE__ */
|
|
1576
|
-
/* @__PURE__ */
|
|
1577
|
-
/* @__PURE__ */
|
|
1578
|
-
/* @__PURE__ */
|
|
1809
|
+
return /* @__PURE__ */ jsxs16("tr", { children: [
|
|
1810
|
+
/* @__PURE__ */ jsx16("td", { className: "detail-schema-field", children: fieldName }),
|
|
1811
|
+
/* @__PURE__ */ jsx16("td", { className: "detail-schema-type", children: extractType(fieldSchema) }),
|
|
1812
|
+
/* @__PURE__ */ jsx16("td", { children: required.has(fieldName) && /* @__PURE__ */ jsx16("span", { className: "detail-schema-required", children: "req" }) }),
|
|
1813
|
+
/* @__PURE__ */ jsx16("td", { children: (_a2 = fieldSchema.description) != null ? _a2 : "" })
|
|
1579
1814
|
] }, fieldName);
|
|
1580
1815
|
}) })
|
|
1581
1816
|
] });
|
|
@@ -1642,10 +1877,10 @@ function toAppEdges(edges) {
|
|
|
1642
1877
|
}
|
|
1643
1878
|
|
|
1644
1879
|
// src/graph/react/viewer/renderLabel.tsx
|
|
1645
|
-
import { jsx as
|
|
1880
|
+
import { jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1646
1881
|
function renderLabel(desc) {
|
|
1647
1882
|
if (desc.kind === "pipe") {
|
|
1648
|
-
return /* @__PURE__ */
|
|
1883
|
+
return /* @__PURE__ */ jsx17(
|
|
1649
1884
|
"div",
|
|
1650
1885
|
{
|
|
1651
1886
|
style: {
|
|
@@ -1659,7 +1894,7 @@ function renderLabel(desc) {
|
|
|
1659
1894
|
minWidth: 0
|
|
1660
1895
|
},
|
|
1661
1896
|
title: desc.label,
|
|
1662
|
-
children: /* @__PURE__ */
|
|
1897
|
+
children: /* @__PURE__ */ jsx17(
|
|
1663
1898
|
"span",
|
|
1664
1899
|
{
|
|
1665
1900
|
style: {
|
|
@@ -1678,7 +1913,7 @@ function renderLabel(desc) {
|
|
|
1678
1913
|
}
|
|
1679
1914
|
);
|
|
1680
1915
|
}
|
|
1681
|
-
return /* @__PURE__ */
|
|
1916
|
+
return /* @__PURE__ */ jsxs17(
|
|
1682
1917
|
"div",
|
|
1683
1918
|
{
|
|
1684
1919
|
style: {
|
|
@@ -1694,7 +1929,7 @@ function renderLabel(desc) {
|
|
|
1694
1929
|
},
|
|
1695
1930
|
title: desc.concept ? `${desc.label}: ${desc.concept}` : desc.label,
|
|
1696
1931
|
children: [
|
|
1697
|
-
/* @__PURE__ */
|
|
1932
|
+
/* @__PURE__ */ jsx17(
|
|
1698
1933
|
"span",
|
|
1699
1934
|
{
|
|
1700
1935
|
style: {
|
|
@@ -1710,7 +1945,7 @@ function renderLabel(desc) {
|
|
|
1710
1945
|
children: desc.label
|
|
1711
1946
|
}
|
|
1712
1947
|
),
|
|
1713
|
-
desc.concept && /* @__PURE__ */
|
|
1948
|
+
desc.concept && /* @__PURE__ */ jsx17(
|
|
1714
1949
|
"span",
|
|
1715
1950
|
{
|
|
1716
1951
|
style: {
|
|
@@ -1744,7 +1979,7 @@ import React8 from "react";
|
|
|
1744
1979
|
import { Panel } from "@xyflow/react";
|
|
1745
1980
|
|
|
1746
1981
|
// src/graph/react/viewer/ValidationPanel.tsx
|
|
1747
|
-
import { jsx as
|
|
1982
|
+
import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1748
1983
|
function validationLabel(state, issueCount) {
|
|
1749
1984
|
const issues = issueCount === 1 ? "1 issue" : `${issueCount} issues`;
|
|
1750
1985
|
switch (state) {
|
|
@@ -1807,7 +2042,7 @@ function ValidationPanel({
|
|
|
1807
2042
|
placement,
|
|
1808
2043
|
id
|
|
1809
2044
|
}) {
|
|
1810
|
-
return /* @__PURE__ */
|
|
2045
|
+
return /* @__PURE__ */ jsxs18(
|
|
1811
2046
|
"div",
|
|
1812
2047
|
{
|
|
1813
2048
|
id,
|
|
@@ -1815,18 +2050,18 @@ function ValidationPanel({
|
|
|
1815
2050
|
role: "region",
|
|
1816
2051
|
"aria-label": "Validation issues",
|
|
1817
2052
|
children: [
|
|
1818
|
-
/* @__PURE__ */
|
|
1819
|
-
issues.length === 0 ? /* @__PURE__ */
|
|
2053
|
+
/* @__PURE__ */ jsx18("div", { className: "graph-validation-panel-header", children: validationLabel(state, issues.length) }),
|
|
2054
|
+
issues.length === 0 ? /* @__PURE__ */ jsx18("div", { className: "graph-validation-empty", children: validationEmptyText(state) }) : /* @__PURE__ */ jsx18("ul", { className: "graph-validation-issues", role: "list", children: issues.map((issue, index) => {
|
|
1820
2055
|
const clickable = onIssueClick !== void 0;
|
|
1821
|
-
const meta = (issue.context || issue.file) && /* @__PURE__ */
|
|
1822
|
-
issue.context && /* @__PURE__ */
|
|
1823
|
-
issue.file && /* @__PURE__ */
|
|
2056
|
+
const meta = (issue.context || issue.file) && /* @__PURE__ */ jsxs18("div", { className: "graph-validation-issue-meta", children: [
|
|
2057
|
+
issue.context && /* @__PURE__ */ jsx18("span", { className: "graph-validation-issue-context", children: issue.context }),
|
|
2058
|
+
issue.file && /* @__PURE__ */ jsx18("span", { className: "graph-validation-issue-file", children: issue.file })
|
|
1824
2059
|
] });
|
|
1825
|
-
return /* @__PURE__ */
|
|
2060
|
+
return /* @__PURE__ */ jsx18(
|
|
1826
2061
|
"li",
|
|
1827
2062
|
{
|
|
1828
2063
|
className: `graph-validation-issue graph-validation-issue--${issue.severity}` + (clickable ? " graph-validation-issue--clickable" : ""),
|
|
1829
|
-
children: /* @__PURE__ */
|
|
2064
|
+
children: /* @__PURE__ */ jsxs18(
|
|
1830
2065
|
"div",
|
|
1831
2066
|
{
|
|
1832
2067
|
className: "graph-validation-issue-body",
|
|
@@ -1841,8 +2076,8 @@ function ValidationPanel({
|
|
|
1841
2076
|
} : void 0,
|
|
1842
2077
|
children: [
|
|
1843
2078
|
meta,
|
|
1844
|
-
/* @__PURE__ */
|
|
1845
|
-
issue.suggestedFix && /* @__PURE__ */
|
|
2079
|
+
/* @__PURE__ */ jsx18("div", { className: "graph-validation-issue-message", children: issue.message }),
|
|
2080
|
+
issue.suggestedFix && /* @__PURE__ */ jsx18("div", { className: "graph-validation-issue-fix", children: issue.suggestedFix })
|
|
1846
2081
|
]
|
|
1847
2082
|
}
|
|
1848
2083
|
)
|
|
@@ -1856,9 +2091,9 @@ function ValidationPanel({
|
|
|
1856
2091
|
}
|
|
1857
2092
|
|
|
1858
2093
|
// src/graph/react/viewer/GraphToolbar.tsx
|
|
1859
|
-
import { Fragment as Fragment12, jsx as
|
|
2094
|
+
import { Fragment as Fragment12, jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1860
2095
|
var REACTFLOW_PANEL_MARGIN = 15;
|
|
1861
|
-
var ARROW_RIGHT_ICON = /* @__PURE__ */
|
|
2096
|
+
var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs19(
|
|
1862
2097
|
"svg",
|
|
1863
2098
|
{
|
|
1864
2099
|
viewBox: "0 0 24 24",
|
|
@@ -1870,12 +2105,12 @@ var ARROW_RIGHT_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1870
2105
|
strokeLinecap: "round",
|
|
1871
2106
|
strokeLinejoin: "round",
|
|
1872
2107
|
children: [
|
|
1873
|
-
/* @__PURE__ */
|
|
1874
|
-
/* @__PURE__ */
|
|
2108
|
+
/* @__PURE__ */ jsx19("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
2109
|
+
/* @__PURE__ */ jsx19("polyline", { points: "12 5 19 12 12 19" })
|
|
1875
2110
|
]
|
|
1876
2111
|
}
|
|
1877
2112
|
);
|
|
1878
|
-
var ARROW_DOWN_ICON = /* @__PURE__ */
|
|
2113
|
+
var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs19(
|
|
1879
2114
|
"svg",
|
|
1880
2115
|
{
|
|
1881
2116
|
viewBox: "0 0 24 24",
|
|
@@ -1887,12 +2122,12 @@ var ARROW_DOWN_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1887
2122
|
strokeLinecap: "round",
|
|
1888
2123
|
strokeLinejoin: "round",
|
|
1889
2124
|
children: [
|
|
1890
|
-
/* @__PURE__ */
|
|
1891
|
-
/* @__PURE__ */
|
|
2125
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
2126
|
+
/* @__PURE__ */ jsx19("polyline", { points: "19 12 12 19 5 12" })
|
|
1892
2127
|
]
|
|
1893
2128
|
}
|
|
1894
2129
|
);
|
|
1895
|
-
var MINUS_ICON = /* @__PURE__ */
|
|
2130
|
+
var MINUS_ICON = /* @__PURE__ */ jsx19(
|
|
1896
2131
|
"svg",
|
|
1897
2132
|
{
|
|
1898
2133
|
viewBox: "0 0 24 24",
|
|
@@ -1903,10 +2138,10 @@ var MINUS_ICON = /* @__PURE__ */ jsx18(
|
|
|
1903
2138
|
strokeWidth: "2",
|
|
1904
2139
|
strokeLinecap: "round",
|
|
1905
2140
|
strokeLinejoin: "round",
|
|
1906
|
-
children: /* @__PURE__ */
|
|
2141
|
+
children: /* @__PURE__ */ jsx19("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
1907
2142
|
}
|
|
1908
2143
|
);
|
|
1909
|
-
var PLUS_ICON = /* @__PURE__ */
|
|
2144
|
+
var PLUS_ICON = /* @__PURE__ */ jsxs19(
|
|
1910
2145
|
"svg",
|
|
1911
2146
|
{
|
|
1912
2147
|
viewBox: "0 0 24 24",
|
|
@@ -1918,12 +2153,12 @@ var PLUS_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1918
2153
|
strokeLinecap: "round",
|
|
1919
2154
|
strokeLinejoin: "round",
|
|
1920
2155
|
children: [
|
|
1921
|
-
/* @__PURE__ */
|
|
1922
|
-
/* @__PURE__ */
|
|
2156
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
2157
|
+
/* @__PURE__ */ jsx19("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
1923
2158
|
]
|
|
1924
2159
|
}
|
|
1925
2160
|
);
|
|
1926
|
-
var FIT_VIEW_ICON = /* @__PURE__ */
|
|
2161
|
+
var FIT_VIEW_ICON = /* @__PURE__ */ jsxs19(
|
|
1927
2162
|
"svg",
|
|
1928
2163
|
{
|
|
1929
2164
|
viewBox: "0 0 24 24",
|
|
@@ -1935,14 +2170,14 @@ var FIT_VIEW_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1935
2170
|
strokeLinecap: "round",
|
|
1936
2171
|
strokeLinejoin: "round",
|
|
1937
2172
|
children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
1939
|
-
/* @__PURE__ */
|
|
1940
|
-
/* @__PURE__ */
|
|
1941
|
-
/* @__PURE__ */
|
|
2173
|
+
/* @__PURE__ */ jsx19("polyline", { points: "15 3 21 3 21 9" }),
|
|
2174
|
+
/* @__PURE__ */ jsx19("polyline", { points: "9 21 3 21 3 15" }),
|
|
2175
|
+
/* @__PURE__ */ jsx19("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
|
|
2176
|
+
/* @__PURE__ */ jsx19("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
1942
2177
|
]
|
|
1943
2178
|
}
|
|
1944
2179
|
);
|
|
1945
|
-
var BOXES_ICON = /* @__PURE__ */
|
|
2180
|
+
var BOXES_ICON = /* @__PURE__ */ jsxs19(
|
|
1946
2181
|
"svg",
|
|
1947
2182
|
{
|
|
1948
2183
|
viewBox: "0 0 24 24",
|
|
@@ -1954,22 +2189,22 @@ var BOXES_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1954
2189
|
strokeLinecap: "round",
|
|
1955
2190
|
strokeLinejoin: "round",
|
|
1956
2191
|
children: [
|
|
1957
|
-
/* @__PURE__ */
|
|
1958
|
-
/* @__PURE__ */
|
|
1959
|
-
/* @__PURE__ */
|
|
1960
|
-
/* @__PURE__ */
|
|
1961
|
-
/* @__PURE__ */
|
|
1962
|
-
/* @__PURE__ */
|
|
1963
|
-
/* @__PURE__ */
|
|
1964
|
-
/* @__PURE__ */
|
|
1965
|
-
/* @__PURE__ */
|
|
1966
|
-
/* @__PURE__ */
|
|
1967
|
-
/* @__PURE__ */
|
|
1968
|
-
/* @__PURE__ */
|
|
2192
|
+
/* @__PURE__ */ jsx19("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" }),
|
|
2193
|
+
/* @__PURE__ */ jsx19("path", { d: "m7 16.5-4.74-2.85" }),
|
|
2194
|
+
/* @__PURE__ */ jsx19("path", { d: "m7 16.5 5-3" }),
|
|
2195
|
+
/* @__PURE__ */ jsx19("path", { d: "M7 16.5v5.17" }),
|
|
2196
|
+
/* @__PURE__ */ jsx19("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" }),
|
|
2197
|
+
/* @__PURE__ */ jsx19("path", { d: "m17 16.5-5-3" }),
|
|
2198
|
+
/* @__PURE__ */ jsx19("path", { d: "m17 16.5 4.74-2.85" }),
|
|
2199
|
+
/* @__PURE__ */ jsx19("path", { d: "M17 16.5v5.17" }),
|
|
2200
|
+
/* @__PURE__ */ jsx19("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" }),
|
|
2201
|
+
/* @__PURE__ */ jsx19("path", { d: "M12 8 7.26 5.15" }),
|
|
2202
|
+
/* @__PURE__ */ jsx19("path", { d: "m12 8 4.74-2.85" }),
|
|
2203
|
+
/* @__PURE__ */ jsx19("path", { d: "M12 13.5V8" })
|
|
1969
2204
|
]
|
|
1970
2205
|
}
|
|
1971
2206
|
);
|
|
1972
|
-
var FOLD_ALL_ICON = /* @__PURE__ */
|
|
2207
|
+
var FOLD_ALL_ICON = /* @__PURE__ */ jsxs19(
|
|
1973
2208
|
"svg",
|
|
1974
2209
|
{
|
|
1975
2210
|
viewBox: "0 0 24 24",
|
|
@@ -1981,15 +2216,15 @@ var FOLD_ALL_ICON = /* @__PURE__ */ jsxs18(
|
|
|
1981
2216
|
strokeLinecap: "round",
|
|
1982
2217
|
strokeLinejoin: "round",
|
|
1983
2218
|
children: [
|
|
1984
|
-
/* @__PURE__ */
|
|
1985
|
-
/* @__PURE__ */
|
|
1986
|
-
/* @__PURE__ */
|
|
1987
|
-
/* @__PURE__ */
|
|
1988
|
-
/* @__PURE__ */
|
|
2219
|
+
/* @__PURE__ */ jsx19("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2" }),
|
|
2220
|
+
/* @__PURE__ */ jsx19("polyline", { points: "2 2 6 6 2 6" }),
|
|
2221
|
+
/* @__PURE__ */ jsx19("polyline", { points: "22 2 18 6 22 6" }),
|
|
2222
|
+
/* @__PURE__ */ jsx19("polyline", { points: "2 22 6 18 2 18" }),
|
|
2223
|
+
/* @__PURE__ */ jsx19("polyline", { points: "22 22 18 18 22 18" })
|
|
1989
2224
|
]
|
|
1990
2225
|
}
|
|
1991
2226
|
);
|
|
1992
|
-
var EXPAND_ALL_ICON = /* @__PURE__ */
|
|
2227
|
+
var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs19(
|
|
1993
2228
|
"svg",
|
|
1994
2229
|
{
|
|
1995
2230
|
viewBox: "0 0 24 24",
|
|
@@ -2001,15 +2236,15 @@ var EXPAND_ALL_ICON = /* @__PURE__ */ jsxs18(
|
|
|
2001
2236
|
strokeLinecap: "round",
|
|
2002
2237
|
strokeLinejoin: "round",
|
|
2003
2238
|
children: [
|
|
2004
|
-
/* @__PURE__ */
|
|
2005
|
-
/* @__PURE__ */
|
|
2006
|
-
/* @__PURE__ */
|
|
2007
|
-
/* @__PURE__ */
|
|
2008
|
-
/* @__PURE__ */
|
|
2239
|
+
/* @__PURE__ */ jsx19("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" }),
|
|
2240
|
+
/* @__PURE__ */ jsx19("polyline", { points: "3 3 7 7 3 7" }),
|
|
2241
|
+
/* @__PURE__ */ jsx19("polyline", { points: "21 3 17 7 21 7" }),
|
|
2242
|
+
/* @__PURE__ */ jsx19("polyline", { points: "3 21 7 17 3 17" }),
|
|
2243
|
+
/* @__PURE__ */ jsx19("polyline", { points: "21 21 17 17 21 17" })
|
|
2009
2244
|
]
|
|
2010
2245
|
}
|
|
2011
2246
|
);
|
|
2012
|
-
var SUN_ICON = /* @__PURE__ */
|
|
2247
|
+
var SUN_ICON = /* @__PURE__ */ jsxs19(
|
|
2013
2248
|
"svg",
|
|
2014
2249
|
{
|
|
2015
2250
|
viewBox: "0 0 24 24",
|
|
@@ -2021,19 +2256,19 @@ var SUN_ICON = /* @__PURE__ */ jsxs18(
|
|
|
2021
2256
|
strokeLinecap: "round",
|
|
2022
2257
|
strokeLinejoin: "round",
|
|
2023
2258
|
children: [
|
|
2024
|
-
/* @__PURE__ */
|
|
2025
|
-
/* @__PURE__ */
|
|
2026
|
-
/* @__PURE__ */
|
|
2027
|
-
/* @__PURE__ */
|
|
2028
|
-
/* @__PURE__ */
|
|
2029
|
-
/* @__PURE__ */
|
|
2030
|
-
/* @__PURE__ */
|
|
2031
|
-
/* @__PURE__ */
|
|
2032
|
-
/* @__PURE__ */
|
|
2259
|
+
/* @__PURE__ */ jsx19("circle", { cx: "12", cy: "12", r: "4" }),
|
|
2260
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "2", x2: "12", y2: "4" }),
|
|
2261
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "20", x2: "12", y2: "22" }),
|
|
2262
|
+
/* @__PURE__ */ jsx19("line", { x1: "4.93", y1: "4.93", x2: "6.34", y2: "6.34" }),
|
|
2263
|
+
/* @__PURE__ */ jsx19("line", { x1: "17.66", y1: "17.66", x2: "19.07", y2: "19.07" }),
|
|
2264
|
+
/* @__PURE__ */ jsx19("line", { x1: "2", y1: "12", x2: "4", y2: "12" }),
|
|
2265
|
+
/* @__PURE__ */ jsx19("line", { x1: "20", y1: "12", x2: "22", y2: "12" }),
|
|
2266
|
+
/* @__PURE__ */ jsx19("line", { x1: "4.93", y1: "19.07", x2: "6.34", y2: "17.66" }),
|
|
2267
|
+
/* @__PURE__ */ jsx19("line", { x1: "17.66", y1: "6.34", x2: "19.07", y2: "4.93" })
|
|
2033
2268
|
]
|
|
2034
2269
|
}
|
|
2035
2270
|
);
|
|
2036
|
-
var MOON_ICON = /* @__PURE__ */
|
|
2271
|
+
var MOON_ICON = /* @__PURE__ */ jsx19(
|
|
2037
2272
|
"svg",
|
|
2038
2273
|
{
|
|
2039
2274
|
viewBox: "0 0 24 24",
|
|
@@ -2044,10 +2279,10 @@ var MOON_ICON = /* @__PURE__ */ jsx18(
|
|
|
2044
2279
|
strokeWidth: "2",
|
|
2045
2280
|
strokeLinecap: "round",
|
|
2046
2281
|
strokeLinejoin: "round",
|
|
2047
|
-
children: /* @__PURE__ */
|
|
2282
|
+
children: /* @__PURE__ */ jsx19("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
2048
2283
|
}
|
|
2049
2284
|
);
|
|
2050
|
-
var MONITOR_ICON = /* @__PURE__ */
|
|
2285
|
+
var MONITOR_ICON = /* @__PURE__ */ jsxs19(
|
|
2051
2286
|
"svg",
|
|
2052
2287
|
{
|
|
2053
2288
|
viewBox: "0 0 24 24",
|
|
@@ -2059,13 +2294,13 @@ var MONITOR_ICON = /* @__PURE__ */ jsxs18(
|
|
|
2059
2294
|
strokeLinecap: "round",
|
|
2060
2295
|
strokeLinejoin: "round",
|
|
2061
2296
|
children: [
|
|
2062
|
-
/* @__PURE__ */
|
|
2063
|
-
/* @__PURE__ */
|
|
2064
|
-
/* @__PURE__ */
|
|
2297
|
+
/* @__PURE__ */ jsx19("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
|
|
2298
|
+
/* @__PURE__ */ jsx19("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
|
|
2299
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
|
|
2065
2300
|
]
|
|
2066
2301
|
}
|
|
2067
2302
|
);
|
|
2068
|
-
var SPINNER_ICON = /* @__PURE__ */
|
|
2303
|
+
var SPINNER_ICON = /* @__PURE__ */ jsx19(
|
|
2069
2304
|
"svg",
|
|
2070
2305
|
{
|
|
2071
2306
|
className: "graph-toolbar-validation-spin",
|
|
@@ -2077,10 +2312,10 @@ var SPINNER_ICON = /* @__PURE__ */ jsx18(
|
|
|
2077
2312
|
strokeWidth: "2",
|
|
2078
2313
|
strokeLinecap: "round",
|
|
2079
2314
|
strokeLinejoin: "round",
|
|
2080
|
-
children: /* @__PURE__ */
|
|
2315
|
+
children: /* @__PURE__ */ jsx19("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
2081
2316
|
}
|
|
2082
2317
|
);
|
|
2083
|
-
var CHECK_ICON2 = /* @__PURE__ */
|
|
2318
|
+
var CHECK_ICON2 = /* @__PURE__ */ jsx19(
|
|
2084
2319
|
"svg",
|
|
2085
2320
|
{
|
|
2086
2321
|
viewBox: "0 0 24 24",
|
|
@@ -2091,10 +2326,10 @@ var CHECK_ICON2 = /* @__PURE__ */ jsx18(
|
|
|
2091
2326
|
strokeWidth: "2",
|
|
2092
2327
|
strokeLinecap: "round",
|
|
2093
2328
|
strokeLinejoin: "round",
|
|
2094
|
-
children: /* @__PURE__ */
|
|
2329
|
+
children: /* @__PURE__ */ jsx19("polyline", { points: "20 6 9 17 4 12" })
|
|
2095
2330
|
}
|
|
2096
2331
|
);
|
|
2097
|
-
var X_CIRCLE_ICON = /* @__PURE__ */
|
|
2332
|
+
var X_CIRCLE_ICON = /* @__PURE__ */ jsxs19(
|
|
2098
2333
|
"svg",
|
|
2099
2334
|
{
|
|
2100
2335
|
viewBox: "0 0 24 24",
|
|
@@ -2106,13 +2341,13 @@ var X_CIRCLE_ICON = /* @__PURE__ */ jsxs18(
|
|
|
2106
2341
|
strokeLinecap: "round",
|
|
2107
2342
|
strokeLinejoin: "round",
|
|
2108
2343
|
children: [
|
|
2109
|
-
/* @__PURE__ */
|
|
2110
|
-
/* @__PURE__ */
|
|
2111
|
-
/* @__PURE__ */
|
|
2344
|
+
/* @__PURE__ */ jsx19("circle", { cx: "12", cy: "12", r: "10" }),
|
|
2345
|
+
/* @__PURE__ */ jsx19("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
|
|
2346
|
+
/* @__PURE__ */ jsx19("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
|
|
2112
2347
|
]
|
|
2113
2348
|
}
|
|
2114
2349
|
);
|
|
2115
|
-
var ALERT_TRIANGLE_ICON = /* @__PURE__ */
|
|
2350
|
+
var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs19(
|
|
2116
2351
|
"svg",
|
|
2117
2352
|
{
|
|
2118
2353
|
viewBox: "0 0 24 24",
|
|
@@ -2124,9 +2359,9 @@ var ALERT_TRIANGLE_ICON = /* @__PURE__ */ jsxs18(
|
|
|
2124
2359
|
strokeLinecap: "round",
|
|
2125
2360
|
strokeLinejoin: "round",
|
|
2126
2361
|
children: [
|
|
2127
|
-
/* @__PURE__ */
|
|
2128
|
-
/* @__PURE__ */
|
|
2129
|
-
/* @__PURE__ */
|
|
2362
|
+
/* @__PURE__ */ jsx19("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" }),
|
|
2363
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
2364
|
+
/* @__PURE__ */ jsx19("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
|
|
2130
2365
|
]
|
|
2131
2366
|
}
|
|
2132
2367
|
);
|
|
@@ -2228,10 +2463,10 @@ function GraphToolbar({
|
|
|
2228
2463
|
const foldAllSection = onFoldAll || onExpandAll;
|
|
2229
2464
|
const foldAllTitle = foldAllDisabled ? "Fold all controllers (nothing to fold)" : "Fold all controllers";
|
|
2230
2465
|
const expandAllTitle = expandAllDisabled ? "Expand all controllers (nothing to expand)" : "Expand all controllers";
|
|
2231
|
-
return /* @__PURE__ */
|
|
2232
|
-
validationState !== void 0 && /* @__PURE__ */
|
|
2233
|
-
/* @__PURE__ */
|
|
2234
|
-
/* @__PURE__ */
|
|
2466
|
+
return /* @__PURE__ */ jsx19(Panel, { position, className: "graph-toolbar-panel", style: panelStyle, children: /* @__PURE__ */ jsxs19("div", { className: `graph-toolbar graph-toolbar--${orientation}`, children: [
|
|
2467
|
+
validationState !== void 0 && /* @__PURE__ */ jsxs19(Fragment12, { children: [
|
|
2468
|
+
/* @__PURE__ */ jsxs19("div", { className: "graph-toolbar-validation", ref: validationRef, children: [
|
|
2469
|
+
/* @__PURE__ */ jsxs19(
|
|
2235
2470
|
"button",
|
|
2236
2471
|
{
|
|
2237
2472
|
type: "button",
|
|
@@ -2244,11 +2479,11 @@ function GraphToolbar({
|
|
|
2244
2479
|
"aria-controls": validationPanelId,
|
|
2245
2480
|
children: [
|
|
2246
2481
|
validationIcon(validationState),
|
|
2247
|
-
validationIssues.length > 0 && /* @__PURE__ */
|
|
2482
|
+
validationIssues.length > 0 && /* @__PURE__ */ jsx19("span", { className: "graph-toolbar-validation-badge", children: validationIssues.length > 99 ? "99+" : validationIssues.length })
|
|
2248
2483
|
]
|
|
2249
2484
|
}
|
|
2250
2485
|
),
|
|
2251
|
-
validationOpen && /* @__PURE__ */
|
|
2486
|
+
validationOpen && /* @__PURE__ */ jsx19(
|
|
2252
2487
|
ValidationPanel,
|
|
2253
2488
|
{
|
|
2254
2489
|
id: validationPanelId,
|
|
@@ -2259,9 +2494,9 @@ function GraphToolbar({
|
|
|
2259
2494
|
}
|
|
2260
2495
|
)
|
|
2261
2496
|
] }),
|
|
2262
|
-
/* @__PURE__ */
|
|
2497
|
+
/* @__PURE__ */ jsx19("div", { className: "graph-toolbar-separator" })
|
|
2263
2498
|
] }),
|
|
2264
|
-
onFoldAll && /* @__PURE__ */
|
|
2499
|
+
onFoldAll && /* @__PURE__ */ jsx19(
|
|
2265
2500
|
"button",
|
|
2266
2501
|
{
|
|
2267
2502
|
type: "button",
|
|
@@ -2273,7 +2508,7 @@ function GraphToolbar({
|
|
|
2273
2508
|
children: FOLD_ALL_ICON
|
|
2274
2509
|
}
|
|
2275
2510
|
),
|
|
2276
|
-
onExpandAll && /* @__PURE__ */
|
|
2511
|
+
onExpandAll && /* @__PURE__ */ jsx19(
|
|
2277
2512
|
"button",
|
|
2278
2513
|
{
|
|
2279
2514
|
type: "button",
|
|
@@ -2285,8 +2520,8 @@ function GraphToolbar({
|
|
|
2285
2520
|
children: EXPAND_ALL_ICON
|
|
2286
2521
|
}
|
|
2287
2522
|
),
|
|
2288
|
-
foldAllSection && /* @__PURE__ */
|
|
2289
|
-
/* @__PURE__ */
|
|
2523
|
+
foldAllSection && /* @__PURE__ */ jsx19("div", { className: "graph-toolbar-separator" }),
|
|
2524
|
+
/* @__PURE__ */ jsx19(
|
|
2290
2525
|
"button",
|
|
2291
2526
|
{
|
|
2292
2527
|
type: "button",
|
|
@@ -2297,7 +2532,7 @@ function GraphToolbar({
|
|
|
2297
2532
|
children: BOXES_ICON
|
|
2298
2533
|
}
|
|
2299
2534
|
),
|
|
2300
|
-
/* @__PURE__ */
|
|
2535
|
+
/* @__PURE__ */ jsx19(
|
|
2301
2536
|
"button",
|
|
2302
2537
|
{
|
|
2303
2538
|
type: "button",
|
|
@@ -2308,8 +2543,8 @@ function GraphToolbar({
|
|
|
2308
2543
|
children: isVertical ? ARROW_RIGHT_ICON : ARROW_DOWN_ICON
|
|
2309
2544
|
}
|
|
2310
2545
|
),
|
|
2311
|
-
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */
|
|
2312
|
-
onZoomOut && /* @__PURE__ */
|
|
2546
|
+
(onZoomOut || onZoomIn || onFitView) && /* @__PURE__ */ jsx19("div", { className: "graph-toolbar-separator" }),
|
|
2547
|
+
onZoomOut && /* @__PURE__ */ jsx19(
|
|
2313
2548
|
"button",
|
|
2314
2549
|
{
|
|
2315
2550
|
type: "button",
|
|
@@ -2320,7 +2555,7 @@ function GraphToolbar({
|
|
|
2320
2555
|
children: MINUS_ICON
|
|
2321
2556
|
}
|
|
2322
2557
|
),
|
|
2323
|
-
onZoomIn && /* @__PURE__ */
|
|
2558
|
+
onZoomIn && /* @__PURE__ */ jsx19(
|
|
2324
2559
|
"button",
|
|
2325
2560
|
{
|
|
2326
2561
|
type: "button",
|
|
@@ -2331,7 +2566,7 @@ function GraphToolbar({
|
|
|
2331
2566
|
children: PLUS_ICON
|
|
2332
2567
|
}
|
|
2333
2568
|
),
|
|
2334
|
-
onFitView && /* @__PURE__ */
|
|
2569
|
+
onFitView && /* @__PURE__ */ jsx19(
|
|
2335
2570
|
"button",
|
|
2336
2571
|
{
|
|
2337
2572
|
type: "button",
|
|
@@ -2342,9 +2577,9 @@ function GraphToolbar({
|
|
|
2342
2577
|
children: FIT_VIEW_ICON
|
|
2343
2578
|
}
|
|
2344
2579
|
),
|
|
2345
|
-
themeToggleEnabled && /* @__PURE__ */
|
|
2346
|
-
/* @__PURE__ */
|
|
2347
|
-
/* @__PURE__ */
|
|
2580
|
+
themeToggleEnabled && /* @__PURE__ */ jsxs19(Fragment12, { children: [
|
|
2581
|
+
/* @__PURE__ */ jsx19("div", { className: "graph-toolbar-separator" }),
|
|
2582
|
+
/* @__PURE__ */ jsx19(
|
|
2348
2583
|
"button",
|
|
2349
2584
|
{
|
|
2350
2585
|
type: "button",
|
|
@@ -2360,7 +2595,7 @@ function GraphToolbar({
|
|
|
2360
2595
|
}
|
|
2361
2596
|
|
|
2362
2597
|
// src/graph/react/nodes/NodeValidationBadge.tsx
|
|
2363
|
-
import { jsx as
|
|
2598
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
2364
2599
|
function NodeValidationBadge({
|
|
2365
2600
|
validation,
|
|
2366
2601
|
onClick
|
|
@@ -2370,9 +2605,9 @@ function NodeValidationBadge({
|
|
|
2370
2605
|
const className = `node-validation-badge node-validation-badge--${validation.severity}`;
|
|
2371
2606
|
const text = validation.count > 99 ? "99+" : String(validation.count);
|
|
2372
2607
|
if (!onClick) {
|
|
2373
|
-
return /* @__PURE__ */
|
|
2608
|
+
return /* @__PURE__ */ jsx20("span", { className, title: tooltip, "aria-label": label, children: text });
|
|
2374
2609
|
}
|
|
2375
|
-
return /* @__PURE__ */
|
|
2610
|
+
return /* @__PURE__ */ jsx20(
|
|
2376
2611
|
"button",
|
|
2377
2612
|
{
|
|
2378
2613
|
type: "button",
|
|
@@ -2392,7 +2627,7 @@ function validationRingClass(validation) {
|
|
|
2392
2627
|
}
|
|
2393
2628
|
|
|
2394
2629
|
// src/graph/react/nodes/controller/ControllerGroupNode.tsx
|
|
2395
|
-
import { jsx as
|
|
2630
|
+
import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2396
2631
|
var CONTROLLER_CONFIG = {
|
|
2397
2632
|
PipeSequence: { badge: "Sequence", icon: "\u2192" },
|
|
2398
2633
|
PipeParallel: { badge: "Parallel", icon: "//" },
|
|
@@ -2414,12 +2649,12 @@ function ControllerGroupNode({ data }) {
|
|
|
2414
2649
|
const modifier = getControllerModifier(data.pipeType);
|
|
2415
2650
|
const isCollapsible = (data.pipeType === "PipeParallel" || data.pipeType === "PipeBatch") && ((_a = data.childCount) != null ? _a : 0) > MAX_VISIBLE_CONTROLLER_CHILDREN;
|
|
2416
2651
|
const hiddenCount = isCollapsible ? ((_b = data.childCount) != null ? _b : 0) - MAX_VISIBLE_CONTROLLER_CHILDREN : 0;
|
|
2417
|
-
return /* @__PURE__ */
|
|
2418
|
-
/* @__PURE__ */
|
|
2419
|
-
/* @__PURE__ */
|
|
2420
|
-
/* @__PURE__ */
|
|
2421
|
-
data.label && /* @__PURE__ */
|
|
2422
|
-
data.onToggleFold && /* @__PURE__ */
|
|
2652
|
+
return /* @__PURE__ */ jsxs20("div", { className: `controller-group-node ${modifier}${validationRingClass(data.validation)}`, children: [
|
|
2653
|
+
/* @__PURE__ */ jsxs20("div", { className: "controller-group-header", children: [
|
|
2654
|
+
/* @__PURE__ */ jsx21("span", { className: "controller-group-icon", children: config.icon }),
|
|
2655
|
+
/* @__PURE__ */ jsx21("span", { className: "controller-group-badge", children: config.badge }),
|
|
2656
|
+
data.label && /* @__PURE__ */ jsx21("span", { className: "controller-group-label", children: data.label }),
|
|
2657
|
+
data.onToggleFold && /* @__PURE__ */ jsx21(
|
|
2423
2658
|
"button",
|
|
2424
2659
|
{
|
|
2425
2660
|
type: "button",
|
|
@@ -2434,9 +2669,9 @@ function ControllerGroupNode({ data }) {
|
|
|
2434
2669
|
children: "\u2921"
|
|
2435
2670
|
}
|
|
2436
2671
|
),
|
|
2437
|
-
data.validation && /* @__PURE__ */
|
|
2672
|
+
data.validation && /* @__PURE__ */ jsx21(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2438
2673
|
] }),
|
|
2439
|
-
isCollapsible && /* @__PURE__ */
|
|
2674
|
+
isCollapsible && /* @__PURE__ */ jsx21(
|
|
2440
2675
|
"button",
|
|
2441
2676
|
{
|
|
2442
2677
|
className: "controller-group-collapse",
|
|
@@ -2457,7 +2692,7 @@ import { Handle, Position } from "@xyflow/react";
|
|
|
2457
2692
|
|
|
2458
2693
|
// src/graph/react/nodes/pipe/PipeCardBase.tsx
|
|
2459
2694
|
import { useState as useState2 } from "react";
|
|
2460
|
-
import { jsx as
|
|
2695
|
+
import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2461
2696
|
var PIPE_TYPE_BADGES2 = {
|
|
2462
2697
|
PipeLLM: "LLM",
|
|
2463
2698
|
PipeExtract: "Extract",
|
|
@@ -2513,21 +2748,21 @@ function PipeCardBase({ data, children }) {
|
|
|
2513
2748
|
const staticClass = isStatic ? " pipe-card--static" : "";
|
|
2514
2749
|
const badgeClass = isController ? "pipe-card-badge pipe-card-badge--controller" : isSignature ? "pipe-card-badge pipe-card-badge--signature" : "pipe-card-badge";
|
|
2515
2750
|
const ringClass = validationRingClass(data.validation);
|
|
2516
|
-
return /* @__PURE__ */
|
|
2751
|
+
return /* @__PURE__ */ jsxs21(
|
|
2517
2752
|
"div",
|
|
2518
2753
|
{
|
|
2519
2754
|
className: `pipe-card ${dirClass}${controllerClass}${signatureClass}${staticClass}${ringClass}`,
|
|
2520
2755
|
children: [
|
|
2521
|
-
/* @__PURE__ */
|
|
2522
|
-
/* @__PURE__ */
|
|
2523
|
-
/* @__PURE__ */
|
|
2524
|
-
!isStatic && /* @__PURE__ */
|
|
2756
|
+
/* @__PURE__ */ jsxs21("div", { className: "pipe-card-header", children: [
|
|
2757
|
+
/* @__PURE__ */ jsx22("span", { className: badgeClass, children: badge }),
|
|
2758
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-code", title: data.pipeCode, children: data.pipeCode }),
|
|
2759
|
+
!isStatic && /* @__PURE__ */ jsx22(
|
|
2525
2760
|
"span",
|
|
2526
2761
|
{
|
|
2527
2762
|
className: "pipe-card-status",
|
|
2528
2763
|
style: { color: statusConfig.color },
|
|
2529
2764
|
title: statusConfig.label,
|
|
2530
|
-
children: /* @__PURE__ */
|
|
2765
|
+
children: /* @__PURE__ */ jsx22(
|
|
2531
2766
|
"span",
|
|
2532
2767
|
{
|
|
2533
2768
|
className: `pipe-card-status-dot ${isRunning ? "pipe-card-status-dot--pulse" : ""}`,
|
|
@@ -2536,7 +2771,7 @@ function PipeCardBase({ data, children }) {
|
|
|
2536
2771
|
)
|
|
2537
2772
|
}
|
|
2538
2773
|
),
|
|
2539
|
-
data.onExpand && /* @__PURE__ */
|
|
2774
|
+
data.onExpand && /* @__PURE__ */ jsx22(
|
|
2540
2775
|
"button",
|
|
2541
2776
|
{
|
|
2542
2777
|
type: "button",
|
|
@@ -2551,32 +2786,32 @@ function PipeCardBase({ data, children }) {
|
|
|
2551
2786
|
children: "\u2922"
|
|
2552
2787
|
}
|
|
2553
2788
|
),
|
|
2554
|
-
data.validation && /* @__PURE__ */
|
|
2789
|
+
data.validation && /* @__PURE__ */ jsx22(NodeValidationBadge, { validation: data.validation, onClick: data.onValidationBadgeClick })
|
|
2555
2790
|
] }),
|
|
2556
|
-
(outcome || batchMultiplicity) && /* @__PURE__ */
|
|
2557
|
-
outcome && /* @__PURE__ */
|
|
2791
|
+
(outcome || batchMultiplicity) && /* @__PURE__ */ jsxs21("div", { className: "pipe-card-annotations", children: [
|
|
2792
|
+
outcome && /* @__PURE__ */ jsxs21("span", { className: "pipe-card-annotation pipe-card-annotation--outcome", children: [
|
|
2558
2793
|
"outcome: ",
|
|
2559
2794
|
outcome
|
|
2560
2795
|
] }),
|
|
2561
|
-
batchMultiplicity && /* @__PURE__ */
|
|
2796
|
+
batchMultiplicity && /* @__PURE__ */ jsx22("span", { className: "pipe-card-annotation pipe-card-annotation--batch", children: batchMultiplicity })
|
|
2562
2797
|
] }),
|
|
2563
|
-
data.description && /* @__PURE__ */
|
|
2564
|
-
data.inputs.length > 0 && /* @__PURE__ */
|
|
2565
|
-
/* @__PURE__ */
|
|
2566
|
-
/* @__PURE__ */
|
|
2567
|
-
visibleInputs.map((input) => /* @__PURE__ */
|
|
2798
|
+
data.description && /* @__PURE__ */ jsx22("span", { className: "pipe-card-description", title: data.description, children: data.description }),
|
|
2799
|
+
data.inputs.length > 0 && /* @__PURE__ */ jsxs21("div", { className: "pipe-card-io", children: [
|
|
2800
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-label", children: "INPUTS" }),
|
|
2801
|
+
/* @__PURE__ */ jsxs21("div", { className: "pipe-card-io-pills", children: [
|
|
2802
|
+
visibleInputs.map((input) => /* @__PURE__ */ jsxs21(
|
|
2568
2803
|
"span",
|
|
2569
2804
|
{
|
|
2570
2805
|
className: "pipe-card-io-pill",
|
|
2571
2806
|
title: `${input.name}: ${input.concept}`,
|
|
2572
2807
|
children: [
|
|
2573
|
-
/* @__PURE__ */
|
|
2574
|
-
/* @__PURE__ */
|
|
2808
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-pill-name", children: input.name }),
|
|
2809
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-pill-concept", children: input.concept })
|
|
2575
2810
|
]
|
|
2576
2811
|
},
|
|
2577
2812
|
input.name
|
|
2578
2813
|
)),
|
|
2579
|
-
hasMany && /* @__PURE__ */
|
|
2814
|
+
hasMany && /* @__PURE__ */ jsx22(
|
|
2580
2815
|
"button",
|
|
2581
2816
|
{
|
|
2582
2817
|
className: "pipe-card-io-more",
|
|
@@ -2589,16 +2824,16 @@ function PipeCardBase({ data, children }) {
|
|
|
2589
2824
|
)
|
|
2590
2825
|
] })
|
|
2591
2826
|
] }),
|
|
2592
|
-
data.outputs.length > 0 && /* @__PURE__ */
|
|
2593
|
-
/* @__PURE__ */
|
|
2594
|
-
/* @__PURE__ */
|
|
2827
|
+
data.outputs.length > 0 && /* @__PURE__ */ jsxs21("div", { className: "pipe-card-io", children: [
|
|
2828
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-label", children: "OUTPUT" }),
|
|
2829
|
+
/* @__PURE__ */ jsx22("div", { className: "pipe-card-io-pills", children: data.outputs.map((output) => /* @__PURE__ */ jsxs21(
|
|
2595
2830
|
"span",
|
|
2596
2831
|
{
|
|
2597
2832
|
className: "pipe-card-io-pill",
|
|
2598
2833
|
title: `${output.name}: ${output.concept}`,
|
|
2599
2834
|
children: [
|
|
2600
|
-
/* @__PURE__ */
|
|
2601
|
-
/* @__PURE__ */
|
|
2835
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-pill-name", children: output.name }),
|
|
2836
|
+
/* @__PURE__ */ jsx22("span", { className: "pipe-card-io-pill-concept", children: output.concept })
|
|
2602
2837
|
]
|
|
2603
2838
|
},
|
|
2604
2839
|
output.name
|
|
@@ -2630,11 +2865,11 @@ function getPipeCardComponent(pipeType) {
|
|
|
2630
2865
|
}
|
|
2631
2866
|
|
|
2632
2867
|
// src/graph/react/nodes/pipe/PipeCardNode.tsx
|
|
2633
|
-
import { Fragment as Fragment13, jsx as
|
|
2868
|
+
import { Fragment as Fragment13, jsx as jsx23, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2634
2869
|
function PipeCardNode({ data }) {
|
|
2635
2870
|
var _a;
|
|
2636
2871
|
const Card = (_a = getPipeCardComponent(data.pipeType)) != null ? _a : PipeCardBase;
|
|
2637
|
-
return /* @__PURE__ */
|
|
2872
|
+
return /* @__PURE__ */ jsx23(Card, { data });
|
|
2638
2873
|
}
|
|
2639
2874
|
function PipeCardRFNode({
|
|
2640
2875
|
data,
|
|
@@ -2643,15 +2878,15 @@ function PipeCardRFNode({
|
|
|
2643
2878
|
}) {
|
|
2644
2879
|
const payload = data.pipeCardData;
|
|
2645
2880
|
if (!payload) return null;
|
|
2646
|
-
return /* @__PURE__ */
|
|
2647
|
-
/* @__PURE__ */
|
|
2648
|
-
/* @__PURE__ */
|
|
2649
|
-
/* @__PURE__ */
|
|
2881
|
+
return /* @__PURE__ */ jsxs22(Fragment13, { children: [
|
|
2882
|
+
/* @__PURE__ */ jsx23(Handle, { type: "target", position: targetPosition }),
|
|
2883
|
+
/* @__PURE__ */ jsx23(PipeCardNode, { data: payload }),
|
|
2884
|
+
/* @__PURE__ */ jsx23(Handle, { type: "source", position: sourcePosition })
|
|
2650
2885
|
] });
|
|
2651
2886
|
}
|
|
2652
2887
|
|
|
2653
2888
|
// src/graph/react/viewer/GraphViewer.tsx
|
|
2654
|
-
import { Fragment as Fragment14, jsx as
|
|
2889
|
+
import { Fragment as Fragment14, jsx as jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2655
2890
|
var nodeTypes = __spreadProps(__spreadValues({}, controllerNodeTypes), {
|
|
2656
2891
|
pipeCard: PipeCardRFNode
|
|
2657
2892
|
});
|
|
@@ -2665,7 +2900,7 @@ function StuffNodeDetail({
|
|
|
2665
2900
|
}) {
|
|
2666
2901
|
const conceptInfo = stuffData.concept && graphspec ? resolveConceptRef(graphspec, stuffData.concept) : void 0;
|
|
2667
2902
|
const isDryRun = graphSpecMode(graphspec) === GRAPH_SPEC_MODE.DRY;
|
|
2668
|
-
return /* @__PURE__ */
|
|
2903
|
+
return /* @__PURE__ */ jsx24(Fragment14, { children: conceptInfo ? /* @__PURE__ */ jsx24(
|
|
2669
2904
|
ConceptDetailPanel,
|
|
2670
2905
|
{
|
|
2671
2906
|
concept: conceptInfo,
|
|
@@ -2676,9 +2911,9 @@ function StuffNodeDetail({
|
|
|
2676
2911
|
canEmbedPdf,
|
|
2677
2912
|
onOpenExternally
|
|
2678
2913
|
}
|
|
2679
|
-
) : isDryRun ? /* @__PURE__ */
|
|
2914
|
+
) : isDryRun ? /* @__PURE__ */ jsx24("div", { className: "detail-not-available", children: "Dry run data hidden" }) : (
|
|
2680
2915
|
/* Fallback: just show the StuffViewer if no concept info */
|
|
2681
|
-
/* @__PURE__ */
|
|
2916
|
+
/* @__PURE__ */ jsx24(
|
|
2682
2917
|
StuffViewer,
|
|
2683
2918
|
{
|
|
2684
2919
|
stuff: stuffData,
|
|
@@ -3334,13 +3569,13 @@ function GraphViewer(props) {
|
|
|
3334
3569
|
expandAllDisabled: foldedControllers.size === 0
|
|
3335
3570
|
};
|
|
3336
3571
|
}, [showControllers, allControllerIds, foldedControllers]);
|
|
3337
|
-
return /* @__PURE__ */
|
|
3572
|
+
return /* @__PURE__ */ jsxs23(
|
|
3338
3573
|
"div",
|
|
3339
3574
|
{
|
|
3340
3575
|
ref: containerRef,
|
|
3341
3576
|
className: `react-flow-container react-flow-container--theme-${resolvedTheme} react-flow-container--mode-${mode}`,
|
|
3342
3577
|
children: [
|
|
3343
|
-
/* @__PURE__ */
|
|
3578
|
+
/* @__PURE__ */ jsxs23(
|
|
3344
3579
|
ReactFlow,
|
|
3345
3580
|
{
|
|
3346
3581
|
nodes,
|
|
@@ -3359,7 +3594,7 @@ function GraphViewer(props) {
|
|
|
3359
3594
|
proOptions: { hideAttribution: true },
|
|
3360
3595
|
panActivationKeyCode: null,
|
|
3361
3596
|
children: [
|
|
3362
|
-
/* @__PURE__ */
|
|
3597
|
+
/* @__PURE__ */ jsx24(
|
|
3363
3598
|
Background,
|
|
3364
3599
|
{
|
|
3365
3600
|
variant: BackgroundVariant.Dots,
|
|
@@ -3368,7 +3603,7 @@ function GraphViewer(props) {
|
|
|
3368
3603
|
color: "var(--color-bg-dots)"
|
|
3369
3604
|
}
|
|
3370
3605
|
),
|
|
3371
|
-
!hideToolbar && /* @__PURE__ */
|
|
3606
|
+
!hideToolbar && /* @__PURE__ */ jsx24(
|
|
3372
3607
|
GraphToolbar,
|
|
3373
3608
|
{
|
|
3374
3609
|
direction,
|
|
@@ -3405,7 +3640,7 @@ function GraphViewer(props) {
|
|
|
3405
3640
|
]
|
|
3406
3641
|
}
|
|
3407
3642
|
),
|
|
3408
|
-
/* @__PURE__ */
|
|
3643
|
+
/* @__PURE__ */ jsxs23(
|
|
3409
3644
|
DetailPanel,
|
|
3410
3645
|
{
|
|
3411
3646
|
isOpen: detailOpen,
|
|
@@ -3414,14 +3649,14 @@ function GraphViewer(props) {
|
|
|
3414
3649
|
isDragging: isPanelDragging,
|
|
3415
3650
|
onResizeHandleMouseDown: onResizeMouseDown,
|
|
3416
3651
|
children: [
|
|
3417
|
-
conceptOverride ? /* @__PURE__ */
|
|
3652
|
+
conceptOverride ? /* @__PURE__ */ jsx24(ConceptDetailPanel, { concept: conceptOverride }) : selectedSpecNode && graphspec ? /* @__PURE__ */ jsx24(
|
|
3418
3653
|
PipeDetailPanel,
|
|
3419
3654
|
{
|
|
3420
3655
|
node: selectedSpecNode,
|
|
3421
3656
|
spec: graphspec,
|
|
3422
3657
|
onConceptClick: handleConceptClick
|
|
3423
3658
|
}
|
|
3424
|
-
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */
|
|
3659
|
+
) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */ jsx24(
|
|
3425
3660
|
StuffNodeDetail,
|
|
3426
3661
|
{
|
|
3427
3662
|
nodeId: detailSelection.nodeId,
|