@agentscope-ai/flow 0.0.1 → 0.0.2

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.
@@ -106,10 +106,10 @@ function BaseNode(props) {
106
106
  }
107
107
  }, [props.id]);
108
108
  var nodeResult = useMemo(function () {
109
- var _taskStore$node_resul;
109
+ var _taskStore$nodeResult;
110
110
  if (!taskStore) return null;
111
- return ((_taskStore$node_resul = taskStore.node_results) === null || _taskStore$node_resul === void 0 ? void 0 : _taskStore$node_resul.find(function (item) {
112
- return item.node_id === props.id;
111
+ return ((_taskStore$nodeResult = taskStore.nodeResults) === null || _taskStore$nodeResult === void 0 ? void 0 : _taskStore$nodeResult.find(function (item) {
112
+ return item.nodeId === props.id;
113
113
  })) || null;
114
114
  }, [props.id, taskStore]);
115
115
  var actionMenus = useMemo(function () {
@@ -167,7 +167,7 @@ function BaseNode(props) {
167
167
  }
168
168
  }, /*#__PURE__*/React.createElement("div", {
169
169
  ref: containerRef,
170
- className: classNames('spark-flow-node-container', props.className, _defineProperty({}, "spark-flow-node-container-".concat(nodeResult === null || nodeResult === void 0 ? void 0 : nodeResult.node_status), !!nodeResult && showResults))
170
+ className: classNames('spark-flow-node-container', props.className, _defineProperty({}, "spark-flow-node-container-".concat(nodeResult === null || nodeResult === void 0 ? void 0 : nodeResult.nodeStatus), !!nodeResult && showResults))
171
171
  }, /*#__PURE__*/React.createElement("div", {
172
172
  className: "flex-justify-between"
173
173
  }, /*#__PURE__*/React.createElement("div", {
@@ -180,7 +180,7 @@ function BaseNode(props) {
180
180
  },
181
181
  className: "spark-flow-node-label flex-1 w-1"
182
182
  }, props.data.label)), !!nodeResult && showResults ? /*#__PURE__*/React.createElement(NodeStatusIcon, {
183
- status: nodeResult.node_status
183
+ status: nodeResult.nodeStatus
184
184
  }) : props.disableAction ? null : /*#__PURE__*/React.createElement("div", {
185
185
  onClick: function onClick(e) {
186
186
  e.stopPropagation();
@@ -38,13 +38,13 @@ export default /*#__PURE__*/memo(function CheckListBtn() {
38
38
  nodes.forEach(function (item) {
39
39
  var nodeInfo = nodeSchemaMap[item.type];
40
40
  if (!(nodeInfo !== null && nodeInfo !== void 0 && nodeInfo.checkValid)) return;
41
- var error_msgs = nodeInfo.checkValid(item.data);
42
- if (error_msgs.length > 0) {
41
+ var errorMsgs = nodeInfo.checkValid(item.data);
42
+ if (errorMsgs.length > 0) {
43
43
  list.push({
44
- node_id: item.id,
45
- error_msgs: error_msgs,
46
- node_type: item.type,
47
- node_name: item.data.label
44
+ nodeId: item.id,
45
+ errorMsgs: errorMsgs,
46
+ nodeType: item.type,
47
+ nodeName: item.data.label
48
48
  });
49
49
  }
50
50
  });
@@ -89,24 +89,24 @@ export default /*#__PURE__*/memo(function CheckListBtn() {
89
89
  }, checkList.map(function (item) {
90
90
  return /*#__PURE__*/React.createElement("div", {
91
91
  onClick: function onClick() {
92
- handleNodeClickByNodeId(item.node_id);
92
+ handleNodeClickByNodeId(item.nodeId);
93
93
  setShowCheckList(false);
94
94
  },
95
- key: item.node_id,
95
+ key: item.nodeId,
96
96
  className: "spark-flow-node-check-container"
97
97
  }, /*#__PURE__*/React.createElement("div", {
98
98
  className: "spark-flow-node-check-container-header"
99
99
  }, /*#__PURE__*/React.createElement(FlowIcon, {
100
100
  size: "small",
101
- nodeType: item.node_type
101
+ nodeType: item.nodeType
102
102
  }), /*#__PURE__*/React.createElement(Typography.Text, {
103
103
  ellipsis: {
104
- tooltip: item.node_name
104
+ tooltip: item.nodeName
105
105
  },
106
106
  className: "spark-flow-node-check-container-header-title"
107
- }, item.node_name)), /*#__PURE__*/React.createElement("div", {
107
+ }, item.nodeName)), /*#__PURE__*/React.createElement("div", {
108
108
  className: "spark-flow-node-check-container-content"
109
- }, item.error_msgs.map(function (msg, index) {
109
+ }, item.errorMsgs.map(function (msg, index) {
110
110
  return /*#__PURE__*/React.createElement("div", {
111
111
  className: "spark-flow-node-check-container-content-item",
112
112
  key: index
@@ -2,7 +2,7 @@ import { IConditionItem } from "../../types/work-flow";
2
2
  import React from 'react';
3
3
  import { IVarTreeItem } from '../variable-tree-select';
4
4
  import './index.less';
5
- export declare const operatorLabelRender: (val: string) => "<" | ">" | "=" | "" | "" | "≤" | "∋" | "∌" | undefined;
5
+ export declare const operatorLabelRender: (val: string) => "=" | "" | ">" | "" | "<" | "≤" | "∋" | "∌" | undefined;
6
6
  export interface IConditionItemProps {
7
7
  value: IConditionItem;
8
8
  onChange: (value: Partial<IConditionItem>) => void;
@@ -8,7 +8,7 @@ import { filterVarItemsByType } from "../../hooks";
8
8
  import { Divider, Flex, Select } from 'antd';
9
9
  import React, { useMemo } from 'react';
10
10
  import { OPERATOR_OPTS_MAP } from "../../constant";
11
- import { VALUE_FROM_OPTIONS, variableFromLabelRender, VariableSelector } from "../custom-inputs-control";
11
+ import { valueFrom_OPTIONS, variableFromLabelRender, VariableSelector } from "../custom-inputs-control";
12
12
  import { VariableBaseInput } from "../variable-input";
13
13
  import "./index.less";
14
14
  var getRightType = function getRightType(type) {
@@ -80,12 +80,12 @@ export default function ConditionItem(props) {
80
80
  style: {
81
81
  width: 60
82
82
  },
83
- options: VALUE_FROM_OPTIONS,
84
- value: props.value.right.value_from,
83
+ options: valueFrom_OPTIONS,
84
+ value: props.value.right.valueFrom,
85
85
  onChange: function onChange(val) {
86
86
  return props.onChange({
87
87
  right: _objectSpread(_objectSpread({}, props.value.right), {}, {
88
- value_from: val,
88
+ valueFrom: val,
89
89
  value: void 0
90
90
  })
91
91
  });
@@ -98,7 +98,7 @@ export default function ConditionItem(props) {
98
98
  }), /*#__PURE__*/React.createElement(Divider, {
99
99
  className: "spark-flow-condition-item-divider",
100
100
  type: "vertical"
101
- }), props.value.right.value_from === 'refer' && /*#__PURE__*/React.createElement("div", {
101
+ }), props.value.right.valueFrom === 'refer' && /*#__PURE__*/React.createElement("div", {
102
102
  className: "flex-1"
103
103
  }, /*#__PURE__*/React.createElement(VariableSelector, {
104
104
  disabled: props.disabled,
@@ -111,7 +111,7 @@ export default function ConditionItem(props) {
111
111
  right: _objectSpread(_objectSpread({}, props.value.right), val)
112
112
  });
113
113
  }
114
- })), props.value.right.value_from === 'input' && /*#__PURE__*/React.createElement("div", {
114
+ })), props.value.right.valueFrom === 'input' && /*#__PURE__*/React.createElement("div", {
115
115
  className: "flex-1"
116
116
  }, /*#__PURE__*/React.createElement(VariableBaseInput, {
117
117
  disabled: props.disabled,
@@ -126,7 +126,7 @@ export default function ConditionItem(props) {
126
126
  type: props.value.right.type
127
127
  })));
128
128
  }
129
- }, [props.value, props.disabled, props.onChange]);
129
+ }, [props.value, props.disabled, props.onChange, memoRightVariableListByType]);
130
130
  return /*#__PURE__*/React.createElement("div", {
131
131
  className: "spark-flow-condition-item"
132
132
  }, /*#__PURE__*/React.createElement(Flex, {
@@ -143,7 +143,7 @@ export default function ConditionItem(props) {
143
143
  props.onChange({
144
144
  left: _objectSpread(_objectSpread({}, props.value.left), val),
145
145
  right: props.value.left.type === val.type ? props.value.right : {
146
- value_from: props.value.right.value_from,
146
+ valueFrom: props.value.right.valueFrom,
147
147
  value: void 0,
148
148
  type: getRightType(val.type)
149
149
  },
@@ -9,6 +9,7 @@ import { SparkPlusLine } from '@agentscope-ai/icons';
9
9
  import { Handle, Position } from '@xyflow/react';
10
10
  import React, { useState } from 'react';
11
11
  import { PopoverNodeMenu } from "../node-menu";
12
+ import classNames from 'classnames';
12
13
  export default function SourceHandle(props) {
13
14
  var _useState = useState(false),
14
15
  _useState2 = _slicedToArray(_useState, 2),
@@ -34,7 +35,7 @@ export default function SourceHandle(props) {
34
35
  e.stopPropagation();
35
36
  e.preventDefault();
36
37
  },
37
- className: "spark-flow-source-handle flex-center ".concat(open ? 'spark-flow-source-handle-open' : '', " ").concat(props.className),
38
+ className: classNames('spark-flow-source-handle', 'flex-center', open ? 'spark-flow-source-handle-open' : '', props.className),
38
39
  type: "source",
39
40
  position: Position.Right,
40
41
  id: props.handleId
@@ -48,7 +48,7 @@ export declare const VariableSelector: React.MemoExoticComponent<(props: {
48
48
  }) => React.JSX.Element>;
49
49
  export declare const VariableFormComp: React.MemoExoticComponent<(props: IVariableFormCompProps) => React.JSX.Element | undefined>;
50
50
  export declare const variableFromLabelRender: (value: string) => React.JSX.Element | null;
51
- export declare const VALUE_FROM_OPTIONS: {
51
+ export declare const valueFrom_OPTIONS: {
52
52
  label: React.JSX.Element;
53
53
  value: string;
54
54
  }[];
@@ -35,7 +35,7 @@ export var variableLabelRender = function variableLabelRender(_ref) {
35
35
  dm: '无效变量'
36
36
  }));
37
37
  }
38
- if (value.value_from !== 'refer' || !value.value || !nodeInfo) {
38
+ if (value.valueFrom !== 'refer' || !value.value || !nodeInfo) {
39
39
  return null;
40
40
  }
41
41
  return /*#__PURE__*/React.createElement("div", {
@@ -164,7 +164,7 @@ export var VariableSelector = /*#__PURE__*/memo(function (props) {
164
164
  }));
165
165
  });
166
166
  export var VariableFormComp = /*#__PURE__*/memo(function (props) {
167
- if (props.data.value_from === 'clear') return /*#__PURE__*/React.createElement(Input, {
167
+ if (props.data.valueFrom === 'clear') return /*#__PURE__*/React.createElement(Input, {
168
168
  className: "flex-1",
169
169
  disabled: true,
170
170
  placeholder: $i18n.get({
@@ -172,7 +172,7 @@ export var VariableFormComp = /*#__PURE__*/memo(function (props) {
172
172
  dm: '不需要输入值'
173
173
  })
174
174
  });
175
- if (props.data.value_from === 'refer') return /*#__PURE__*/React.createElement(VariableSelector, {
175
+ if (props.data.valueFrom === 'refer') return /*#__PURE__*/React.createElement(VariableSelector, {
176
176
  disabled: props.disabled,
177
177
  value: props.data,
178
178
  onChange: props.onChange,
@@ -180,7 +180,7 @@ export var VariableFormComp = /*#__PURE__*/memo(function (props) {
180
180
  enabledTypes: props.enabledTypes,
181
181
  disabledTypes: props.disabledTypes
182
182
  });
183
- if (props.data.value_from === 'input') {
183
+ if (props.data.valueFrom === 'input') {
184
184
  if (props.typeSwitchDisabled) {
185
185
  return /*#__PURE__*/React.createElement("div", {
186
186
  className: "flex-1"
@@ -215,7 +215,7 @@ export var variableFromLabelRender = function variableFromLabelRender(value) {
215
215
  });
216
216
  return null;
217
217
  };
218
- export var VALUE_FROM_OPTIONS = [{
218
+ export var valueFrom_OPTIONS = [{
219
219
  label: /*#__PURE__*/React.createElement("div", {
220
220
  className: "flex items-center gap-[8px]"
221
221
  }, /*#__PURE__*/React.createElement(SparkQuotationLine, {
@@ -244,7 +244,7 @@ export default /*#__PURE__*/memo(function CustomInputsControl(props) {
244
244
  var changeRowValue = useCallback(function (ind, payload) {
245
245
  var newVal = value.map(function (item, index) {
246
246
  if (index === ind) {
247
- if (payload.value_from === 'input' && !payload.type) {
247
+ if (payload.valueFrom === 'input' && !payload.type) {
248
248
  payload.type = 'String';
249
249
  }
250
250
  return _objectSpread(_objectSpread({}, item), payload);
@@ -256,7 +256,7 @@ export default /*#__PURE__*/memo(function CustomInputsControl(props) {
256
256
  var handleAddVar = useCallback(function () {
257
257
  props.onChange([].concat(_toConsumableArray(value), [{
258
258
  key: '',
259
- value_from: 'refer',
259
+ valueFrom: 'refer',
260
260
  type: props.defaultType || 'String'
261
261
  }]));
262
262
  }, [props.defaultType, props.onChange, value]);
@@ -317,15 +317,15 @@ export default /*#__PURE__*/memo(function CustomInputsControl(props) {
317
317
  width: 60
318
318
  },
319
319
  className: "flex-shrink-0 spark-flow-variable-from-select",
320
- value: item.value_from,
320
+ value: item.valueFrom,
321
321
  onChange: function onChange(val) {
322
322
  return changeRowValue(index, {
323
- value_from: val,
323
+ valueFrom: val,
324
324
  value: void 0
325
325
  });
326
326
  },
327
327
  disabled: props.disabled,
328
- options: VALUE_FROM_OPTIONS,
328
+ options: valueFrom_OPTIONS,
329
329
  labelRender: function labelRender(props) {
330
330
  return variableFromLabelRender(props.value);
331
331
  },
@@ -63,8 +63,8 @@ export default /*#__PURE__*/memo(function FlowBaseEdge(_ref) {
63
63
  var _getCommonConfig = getCommonConfig(),
64
64
  antPrefix = _getCommonConfig.antPrefix;
65
65
  var colorList = useMemo(function () {
66
- if (edgeData._source_node_status && edgeData._target_node_status) {
67
- if (edgeData._source_node_status === 'success' && edgeData._target_node_status === 'success') {
66
+ if (edgeData._source_nodeStatus && edgeData._target_nodeStatus) {
67
+ if (edgeData._source_nodeStatus === 'success' && edgeData._target_nodeStatus === 'success') {
68
68
  return [{
69
69
  color: '#30A46C',
70
70
  opacity: 0.5,
@@ -75,7 +75,7 @@ export default /*#__PURE__*/memo(function FlowBaseEdge(_ref) {
75
75
  offset: 100
76
76
  }];
77
77
  }
78
- if (edgeData._source_node_status === 'success' && edgeData._target_node_status === 'fail') {
78
+ if (edgeData._source_nodeStatus === 'success' && edgeData._target_nodeStatus === 'fail') {
79
79
  return [{
80
80
  color: '#30A46C',
81
81
  opacity: 1,
@@ -90,7 +90,7 @@ export default /*#__PURE__*/memo(function FlowBaseEdge(_ref) {
90
90
  offset: 100
91
91
  }];
92
92
  }
93
- if (edgeData._source_node_status === 'success' || edgeData._source_node_status === 'executing' && edgeData._target_node_status === 'executing') {
93
+ if (edgeData._source_nodeStatus === 'success' || edgeData._source_nodeStatus === 'executing' && edgeData._target_nodeStatus === 'executing') {
94
94
  return [{
95
95
  color: '#30A46C',
96
96
  opacity: 1,
@@ -135,22 +135,22 @@ export default /*#__PURE__*/memo(function FlowBaseEdge(_ref) {
135
135
  }, [edgeData, selected]);
136
136
  var isAnimated = useMemo(function () {
137
137
  var _ref2;
138
- if (edgeData._source_node_status === 'executing' && edgeData._target_node_status === 'executing') return true;
139
- return edgeData._source_node_status === 'success' && !((_ref2 = ['fail', 'success']) !== null && _ref2 !== void 0 && _ref2.includes(edgeData._target_node_status || ''));
138
+ if (edgeData._source_nodeStatus === 'executing' && edgeData._target_nodeStatus === 'executing') return true;
139
+ return edgeData._source_nodeStatus === 'success' && !((_ref2 = ['fail', 'success']) !== null && _ref2 !== void 0 && _ref2.includes(edgeData._target_nodeStatus || ''));
140
140
  }, [edgeData]);
141
141
  var markerEndColor = useMemo(function () {
142
- if (edgeData._source_node_status && edgeData._target_node_status) {
143
- if (edgeData._source_node_status === 'success' && edgeData._target_node_status === 'success') {
142
+ if (edgeData._source_nodeStatus && edgeData._target_nodeStatus) {
143
+ if (edgeData._source_nodeStatus === 'success' && edgeData._target_nodeStatus === 'success') {
144
144
  return {
145
145
  stroke: '#30A46C'
146
146
  };
147
147
  }
148
- if (edgeData._source_node_status === 'success' && edgeData._target_node_status === 'fail') {
148
+ if (edgeData._source_nodeStatus === 'success' && edgeData._target_nodeStatus === 'fail') {
149
149
  return {
150
150
  stroke: '#F23139'
151
151
  };
152
152
  }
153
- if (edgeData._source_node_status === 'success') {
153
+ if (edgeData._source_nodeStatus === 'success') {
154
154
  return {
155
155
  stroke: '#615CED'
156
156
  };
@@ -168,7 +168,7 @@ export default /*#__PURE__*/memo(function FlowBaseEdge(_ref) {
168
168
  return {
169
169
  stroke: "var(--".concat(antPrefix, "-color-mauve)")
170
170
  };
171
- }, [edgeData._hover, selected, getCommonConfig, edgeData._source_node_status, edgeData._target_node_status]);
171
+ }, [edgeData._hover, selected, getCommonConfig, edgeData._source_nodeStatus, edgeData._target_nodeStatus, antPrefix]);
172
172
  return /*#__PURE__*/React.createElement(React.Fragment, null, !animated && /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("marker", {
173
173
  id: "".concat(id, "-arrow"),
174
174
  markerWidth: "20",
@@ -74,14 +74,14 @@ export var ConfigPanel = /*#__PURE__*/memo(function (_ref) {
74
74
  onNodeDelete(selectedNodeData.id);
75
75
  break;
76
76
  case 'id':
77
- copy(selectedNode.id);
77
+ copy(selectedNodeData.id);
78
78
  message.success($i18n.get({
79
79
  id: 'spark-flow.components.FlowPanel.ConfigPanel.copySuccess',
80
80
  dm: '复制成功'
81
81
  }));
82
82
  break;
83
83
  }
84
- }, [selectedNodeData === null || selectedNodeData === void 0 ? void 0 : selectedNodeData.id, selectedNodeData === null || selectedNodeData === void 0 ? void 0 : selectedNodeData.data.label]);
84
+ }, [selectedNodeData, setState, onNodeCopy, onNodeDelete]);
85
85
  useEffect(function () {
86
86
  setState({
87
87
  isEditing: false
@@ -54,12 +54,12 @@ export default /*#__PURE__*/memo(function JudgeForm(props) {
54
54
  logic: 'and',
55
55
  conditions: [{
56
56
  left: {
57
- value_from: 'refer',
57
+ valueFrom: 'refer',
58
58
  type: 'String',
59
59
  value: void 0
60
60
  },
61
61
  right: {
62
- value_from: 'input',
62
+ valueFrom: 'input',
63
63
  type: 'String',
64
64
  value: void 0
65
65
  },
@@ -75,12 +75,12 @@ export default /*#__PURE__*/memo(function JudgeForm(props) {
75
75
  changeBranchItem(branchId, {
76
76
  conditions: [].concat(_toConsumableArray(targetBranch.conditions || []), [{
77
77
  left: {
78
- value_from: 'refer',
78
+ valueFrom: 'refer',
79
79
  type: 'String',
80
80
  value: void 0
81
81
  },
82
82
  right: {
83
- value_from: 'input',
83
+ valueFrom: 'input',
84
84
  type: 'String',
85
85
  value: void 0
86
86
  },
@@ -171,7 +171,7 @@ export var NodeMenu = /*#__PURE__*/memo(function (props) {
171
171
  parentId: parentId
172
172
  }, props.source, props.target);
173
173
  }
174
- }, [props.parentId, props.source, props.target, props.onSelect, nodes]);
174
+ }, [props.parentId, props.source, props.target, props.onSelect, nodes, nodesReadOnly, onAddNewNodeWithSource]);
175
175
  return /*#__PURE__*/React.createElement("div", {
176
176
  className: "spark-flow-node-menu h-full flex flex-col"
177
177
  }, /*#__PURE__*/React.createElement("div", {
@@ -96,15 +96,15 @@ var NodeResultPanel = function NodeResultPanel(props) {
96
96
  var errorInfoContent = useMemo(function () {
97
97
  if (isBatch) {
98
98
  var _props$data$batches3;
99
- return (_props$data$batches3 = props.data.batches[batchIndex - 1]) === null || _props$data$batches3 === void 0 ? void 0 : _props$data$batches3.error_info;
99
+ return (_props$data$batches3 = props.data.batches[batchIndex - 1]) === null || _props$data$batches3 === void 0 ? void 0 : _props$data$batches3.errorInfo;
100
100
  }
101
- return props.data.error_info;
101
+ return props.data.errorInfo;
102
102
  }, [props.data, batchIndex]);
103
103
  return /*#__PURE__*/React.createElement("div", {
104
104
  onClick: function onClick(e) {
105
105
  e.stopPropagation();
106
106
  },
107
- className: classNames("spark-flow-node-result-panel nodrag spark-flow-node-result-panel-".concat(props.data.node_status), _defineProperty({}, 'spark-flow-node-result-panel-hidden', !expand))
107
+ className: classNames("spark-flow-node-result-panel nodrag spark-flow-node-result-panel-".concat(props.data.nodeStatus), _defineProperty({}, 'spark-flow-node-result-panel-hidden', !expand))
108
108
  }, /*#__PURE__*/React.createElement("div", {
109
109
  className: "spark-flow-node-result-header flex flex-col gap-[4px]",
110
110
  onClick: function onClick(e) {
@@ -119,9 +119,9 @@ var NodeResultPanel = function NodeResultPanel(props) {
119
119
  className: "flex-center gap-[8px]"
120
120
  }, /*#__PURE__*/React.createElement("span", {
121
121
  className: "spark-flow-node-result-status"
122
- }, statusNameMap[props.data.node_status]), /*#__PURE__*/React.createElement("span", {
122
+ }, statusNameMap[props.data.nodeStatus]), /*#__PURE__*/React.createElement("span", {
123
123
  className: "spark-flow-node-result-time"
124
- }, props.data.node_exec_time)), props.data.node_status !== 'skip' && /*#__PURE__*/React.createElement(SparkUpLine, {
124
+ }, props.data.nodeExecTime)), props.data.nodeStatus !== 'skip' && /*#__PURE__*/React.createElement(SparkUpLine, {
125
125
  className: "text-base spark-flow-node-result-expand-icon"
126
126
  })), expand && isBatch && /*#__PURE__*/React.createElement(Pagination, {
127
127
  current: batchIndex,
@@ -138,7 +138,7 @@ var NodeResultPanel = function NodeResultPanel(props) {
138
138
  onClick: function onClick(e) {
139
139
  return e.stopPropagation();
140
140
  }
141
- }), expand && props.data.node_status === 'fail' && /*#__PURE__*/React.createElement(Typography.Text, {
141
+ }), expand && props.data.nodeStatus === 'fail' && /*#__PURE__*/React.createElement(Typography.Text, {
142
142
  ellipsis: {
143
143
  tooltip: {
144
144
  title: errorInfoContent,
@@ -52,21 +52,21 @@ function TaskStatus() {
52
52
  });
53
53
  var copyRequestId = useCallback(function () {
54
54
  if (!taskStore) return;
55
- copy(taskStore.request_id);
55
+ copy(taskStore.requestId);
56
56
  message.success($i18n.get({
57
57
  id: 'spark-flow.components.TaskStatus.index.requestIdCopied',
58
58
  dm: 'Request ID 已复制'
59
59
  }));
60
- }, [taskStore === null || taskStore === void 0 ? void 0 : taskStore.request_id]);
60
+ }, [taskStore === null || taskStore === void 0 ? void 0 : taskStore.requestId]);
61
61
  var dataSource = useMemo(function () {
62
62
  var list = [];
63
- taskStore.node_results.forEach(function (item) {
63
+ taskStore.nodeResults.forEach(function (item) {
64
64
  var _item$usages;
65
65
  if ((_item$usages = item.usages) !== null && _item$usages !== void 0 && _item$usages.length) {
66
66
  var _item$usages2;
67
67
  var tokenMap = ((_item$usages2 = item.usages) === null || _item$usages2 === void 0 ? void 0 : _item$usages2.reduce(function (acc, cur) {
68
- acc.input += cur.prompt_tokens;
69
- acc.output += cur.completion_tokens;
68
+ acc.input += cur.promptTokens;
69
+ acc.output += cur.completionTokens;
70
70
  return acc;
71
71
  }, {
72
72
  input: 0,
@@ -76,14 +76,14 @@ function TaskStatus() {
76
76
  output: 0
77
77
  };
78
78
  list.push(_objectSpread({
79
- id: item.node_id,
80
- name: item.node_name,
81
- type: item.node_type
79
+ id: item.nodeId,
80
+ name: item.nodeName,
81
+ type: item.nodeType
82
82
  }, tokenMap));
83
83
  }
84
84
  });
85
85
  return list;
86
- }, [taskStore.node_results]);
86
+ }, [taskStore.nodeResults]);
87
87
  var columns = useMemo(function () {
88
88
  return [{
89
89
  title: $i18n.get({
@@ -129,7 +129,7 @@ function TaskStatus() {
129
129
  }];
130
130
  }, []);
131
131
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
132
- className: classNames("spark-flow-task-status flex-justify-between spark-flow-task-status-".concat(taskStore.task_status), {
132
+ className: classNames("spark-flow-task-status flex-justify-between spark-flow-task-status-".concat(taskStore.taskStatus), {
133
133
  'spark-flow-task-status-hidden-results': !showResults
134
134
  })
135
135
  }, /*#__PURE__*/React.createElement("div", {
@@ -137,8 +137,8 @@ function TaskStatus() {
137
137
  }, /*#__PURE__*/React.createElement("div", {
138
138
  className: "flex items-center gap-[8px]"
139
139
  }, /*#__PURE__*/React.createElement(NodeStatusIcon, {
140
- status: taskStore.task_status
141
- }), /*#__PURE__*/React.createElement("span", null, statusNameMap[taskStore.task_status]), /*#__PURE__*/React.createElement("span", null, taskStore.task_exec_time)), /*#__PURE__*/React.createElement("div", {
140
+ status: taskStore.taskStatus
141
+ }), /*#__PURE__*/React.createElement("span", null, statusNameMap[taskStore.taskStatus]), /*#__PURE__*/React.createElement("span", null, taskStore.taskExecTime)), /*#__PURE__*/React.createElement("div", {
142
142
  className: "flex items-center gap-[4px]"
143
143
  }, /*#__PURE__*/React.createElement(Popover, {
144
144
  placement: "bottom",
@@ -170,7 +170,7 @@ function TaskStatus() {
170
170
  className: "font-medium"
171
171
  }, "Request ID"), /*#__PURE__*/React.createElement("div", {
172
172
  className: "flex gap-[4px] items-center"
173
- }, taskStore.request_id, /*#__PURE__*/React.createElement(SparkCopyLine, {
173
+ }, taskStore.requestId, /*#__PURE__*/React.createElement(SparkCopyLine, {
174
174
  className: "cursor-pointer",
175
175
  onClick: copyRequestId,
176
176
  size: 16
@@ -20,10 +20,10 @@ export var useEdgesInteraction = function useEdgesInteraction() {
20
20
  var source = item.source,
21
21
  target = item.target;
22
22
  var sourceNodeResult = cacheNodeResult[source] || val.find(function (v) {
23
- return v.node_id === source;
23
+ return v.nodeId === source;
24
24
  });
25
25
  var targetNodeResult = cacheNodeResult[target] || val.find(function (v) {
26
- return v.node_id === target;
26
+ return v.nodeId === target;
27
27
  });
28
28
  if (!cacheNodeResult[source]) {
29
29
  cacheNodeResult[source] = sourceNodeResult;
@@ -32,17 +32,17 @@ export var useEdgesInteraction = function useEdgesInteraction() {
32
32
  cacheNodeResult[target] = targetNodeResult;
33
33
  }
34
34
  if (!!sourceNodeResult && !!targetNodeResult) return _objectSpread(_objectSpread({}, item), {}, {
35
- animated: targetNodeResult.node_status === 'executing',
35
+ animated: targetNodeResult.nodeStatus === 'executing',
36
36
  data: _objectSpread(_objectSpread({}, item.data), {}, {
37
- _source_node_status: sourceNodeResult.node_status,
38
- _target_node_status: targetNodeResult.node_status
37
+ _source_nodeStatus: sourceNodeResult.nodeStatus,
38
+ _target_nodeStatus: targetNodeResult.nodeStatus
39
39
  })
40
40
  });
41
41
  return _objectSpread(_objectSpread({}, item), {}, {
42
42
  animated: false,
43
43
  data: _objectSpread(_objectSpread({}, item.data), {}, {
44
- _source_node_status: undefined,
45
- _target_node_status: undefined
44
+ _source_nodeStatus: undefined,
45
+ _target_nodeStatus: undefined
46
46
  })
47
47
  });
48
48
  });
@@ -56,8 +56,8 @@ export var useEdgesInteraction = function useEdgesInteraction() {
56
56
  return _objectSpread(_objectSpread({}, item), {}, {
57
57
  animated: false,
58
58
  data: _objectSpread(_objectSpread({}, item.data), {}, {
59
- _source_node_status: undefined,
60
- _target_node_status: undefined
59
+ _source_nodeStatus: undefined,
60
+ _target_nodeStatus: undefined
61
61
  })
62
62
  });
63
63
  });
@@ -10,7 +10,7 @@ export var useFlowDebugInteraction = function useFlowDebugInteraction() {
10
10
  hiddenEdgeStatus = _useEdgesInteraction.hiddenEdgeStatus;
11
11
  var updateTaskStore = useCallback(function (val) {
12
12
  setTaskStore(val);
13
- updateEdgeByNodeResults(val.node_results);
13
+ updateEdgeByNodeResults(val.nodeResults);
14
14
  }, [setTaskStore, updateEdgeByNodeResults]);
15
15
  var clearTaskStore = useCallback(function () {
16
16
  setTaskStore(void 0);
@@ -534,10 +534,10 @@ export var useNodesInteraction = function useNodesInteraction() {
534
534
  }
535
535
  sourceHandle = _newNode.id;
536
536
  if (_newNode.type === 'Classifier') {
537
- sourceHandle = "".concat(_newNode.id, "_").concat(_newNode.data.node_param.conditions[0].id);
537
+ sourceHandle = "".concat(_newNode.id, "_").concat(_newNode.data.nodeParam.conditions[0].id);
538
538
  }
539
539
  if (_newNode.type === 'Judge') {
540
- sourceHandle = "".concat(_newNode.id, "_").concat(_newNode.data.node_param.branches[0].id);
540
+ sourceHandle = "".concat(_newNode.id, "_").concat(_newNode.data.nodeParam.branches[0].id);
541
541
  }
542
542
  newEdges.push(generateEdge({
543
543
  source: source.id,
@@ -181,11 +181,11 @@ export var useNodesOutputParams = function useNodesOutputParams() {
181
181
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
182
182
  var outputParams = [];
183
183
  Object.keys(nodesMap).forEach(function (nodeId) {
184
- var _node$data$output_par;
184
+ var _node$data$outputPara;
185
185
  var node = nodesMap[nodeId];
186
- if (((_node$data$output_par = node.data.output_params) === null || _node$data$output_par === void 0 ? void 0 : _node$data$output_par.length) > 0) {
186
+ if (((_node$data$outputPara = node.data.outputParams) === null || _node$data$outputPara === void 0 ? void 0 : _node$data$outputPara.length) > 0) {
187
187
  var varItems = buildOutputParamsTree(_objectSpread({
188
- outputParams: node.data.output_params,
188
+ outputParams: node.data.outputParams,
189
189
  nodeId: nodeId
190
190
  }, options));
191
191
  if (varItems.length > 0) {
@@ -213,8 +213,8 @@ export var useNodesOutputParams = function useNodesOutputParams() {
213
213
  value: '${sys.query}',
214
214
  type: 'String'
215
215
  }, {
216
- label: 'history_list',
217
- value: '${sys.history_list}',
216
+ label: 'historyList',
217
+ value: '${sys.historyList}',
218
218
  type: 'Array<String>'
219
219
  }]
220
220
  }];
@@ -12,10 +12,10 @@ export var useNodesReadOnly = function useNodesReadOnly() {
12
12
  var getNodesReadOnly = useCallback(function () {
13
13
  var _workflowStore$getSta = workflowStore.getState(),
14
14
  taskStore = _workflowStore$getSta.taskStore;
15
- return [WorkflowRunningStatus.Running, WorkflowRunningStatus.Paused].includes((taskStore === null || taskStore === void 0 ? void 0 : taskStore.task_status) || '') || readyOnly;
15
+ return [WorkflowRunningStatus.Running, WorkflowRunningStatus.Paused].includes((taskStore === null || taskStore === void 0 ? void 0 : taskStore.taskStatus) || '') || readyOnly;
16
16
  }, [workflowStore, readyOnly]);
17
17
  return {
18
- nodesReadOnly: [WorkflowRunningStatus.Running, WorkflowRunningStatus.Paused].includes((taskStore === null || taskStore === void 0 ? void 0 : taskStore.task_status) || '') || readyOnly,
18
+ nodesReadOnly: [WorkflowRunningStatus.Running, WorkflowRunningStatus.Paused].includes((taskStore === null || taskStore === void 0 ? void 0 : taskStore.taskStatus) || '') || readyOnly,
19
19
  getNodesReadOnly: getNodesReadOnly
20
20
  };
21
21
  };
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { default as CodeInput } from './components/code-input';
7
7
  export { operatorLabelRender } from './components/condition-item';
8
8
  export { default as SourceHandle } from './components/custom-handle/source-handle';
9
9
  export { default as TargetHandle } from './components/custom-handle/target-handle';
10
- export { default as CustomInputsControl, VALUE_FROM_OPTIONS, VariableFormComp, VariableSelector, variableFromLabelRender, } from './components/custom-inputs-control';
10
+ export { default as CustomInputsControl, valueFrom_OPTIONS, VariableFormComp, VariableSelector, variableFromLabelRender, } from './components/custom-inputs-control';
11
11
  export * from './components/custom-outputs-form';
12
12
  export { default as DraggableWithHandle } from './components/draggable-with-handle';
13
13
  export { default as DragPanel } from './components/drag-panel';
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ export { default as CodeInput } from "./components/code-input";
6
6
  export { operatorLabelRender } from "./components/condition-item";
7
7
  export { default as SourceHandle } from "./components/custom-handle/source-handle";
8
8
  export { default as TargetHandle } from "./components/custom-handle/target-handle";
9
- export { default as CustomInputsControl, VALUE_FROM_OPTIONS, VariableFormComp, VariableSelector, variableFromLabelRender } from "./components/custom-inputs-control";
9
+ export { default as CustomInputsControl, valueFrom_OPTIONS, VariableFormComp, VariableSelector, variableFromLabelRender } from "./components/custom-inputs-control";
10
10
  export * from "./components/custom-outputs-form";
11
11
  export { default as DraggableWithHandle } from "./components/draggable-with-handle";
12
12
  export { default as DragPanel } from "./components/drag-panel";
@@ -45,8 +45,8 @@ export interface IPointItem {
45
45
  }
46
46
  export interface IEdgeData {
47
47
  _hover?: boolean;
48
- _source_node_status?: IWorkFlowStatus;
49
- _target_node_status?: IWorkFlowStatus;
48
+ _source_nodeStatus?: IWorkFlowStatus;
49
+ _target_nodeStatus?: IWorkFlowStatus;
50
50
  }
51
51
  export interface INodeDataOutputParamItem {
52
52
  id?: string;
@@ -54,7 +54,7 @@ export interface INodeDataOutputParamItem {
54
54
  type?: IValueType;
55
55
  desc?: string;
56
56
  required?: boolean;
57
- value_from?: 'refer' | 'input' | 'clear';
57
+ valueFrom?: 'refer' | 'input' | 'clear';
58
58
  properties?: INodeDataOutputParamItem[];
59
59
  }
60
60
  export interface INodeDataInputParamItem {
@@ -62,15 +62,15 @@ export interface INodeDataInputParamItem {
62
62
  key: string;
63
63
  type?: IValueType;
64
64
  value?: string;
65
- value_from?: 'refer' | 'input' | 'clear';
65
+ valueFrom?: 'refer' | 'input' | 'clear';
66
66
  /** Whether the parameter is required */
67
67
  required?: boolean;
68
68
  }
69
69
  export type IWorkFlowNodeData<T = any> = {
70
70
  label: string;
71
- input_params: INodeDataInputParamItem[];
72
- output_params: INodeDataOutputParamItem[];
73
- node_param: T;
71
+ inputParams: INodeDataInputParamItem[];
72
+ outputParams: INodeDataOutputParamItem[];
73
+ nodeParam: T;
74
74
  desc?: string;
75
75
  };
76
76
  export interface IConditionItem {
@@ -85,10 +85,10 @@ export interface IBranchItem {
85
85
  conditions?: IConditionItem[];
86
86
  }
87
87
  export interface ICheckListItem {
88
- node_id: string;
89
- node_type: string;
90
- node_name: string;
91
- error_msgs: {
88
+ nodeId: string;
89
+ nodeType: string;
90
+ nodeName: string;
91
+ errorMsgs: {
92
92
  label: string;
93
93
  error: string;
94
94
  }[];
@@ -112,12 +112,12 @@ export interface IUserInputItem {
112
112
  required?: boolean;
113
113
  }
114
114
  export interface IWorkFlowTaskResultItem {
115
- node_type: string;
116
- node_name: string;
117
- node_id: string;
115
+ nodeType: string;
116
+ nodeName: string;
117
+ nodeId: string;
118
118
  node_content: string | IUserInputItem[];
119
- node_status: IWorkFlowStatus;
120
- parent_node_id?: string;
119
+ nodeStatus: IWorkFlowStatus;
120
+ parent_nodeId?: string;
121
121
  }
122
122
  export interface IWorkFlowNodeResultItem {
123
123
  is_batch: boolean;
@@ -128,23 +128,23 @@ export interface IWorkFlowNodeResultItem {
128
128
  input?: string;
129
129
  output?: string;
130
130
  usages?: {
131
- prompt_tokens: number;
132
- completion_tokens: number;
131
+ promptTokens: number;
132
+ completionTokens: number;
133
133
  total_tokens: number;
134
134
  }[];
135
135
  batches: IWorkFlowNodeResultItem[];
136
136
  is_multi_branch: boolean;
137
137
  multi_branch_results?: {
138
- condition_id: string;
139
- target_ids: string[];
138
+ conditionId: string;
139
+ targetIds: string[];
140
140
  }[];
141
- node_id: string;
142
- node_name: string;
143
- node_type: string;
144
- node_status: IWorkFlowStatus;
145
- parent_node_id?: string;
141
+ nodeId: string;
142
+ nodeName: string;
143
+ nodeType: string;
144
+ nodeStatus: IWorkFlowStatus;
145
+ parent_nodeId?: string;
146
146
  output_type: 'json' | 'text';
147
- node_exec_time: string;
147
+ nodeExecTime: string;
148
148
  try_catch?: {
149
149
  happened: boolean;
150
150
  strategy: string;
@@ -173,16 +173,16 @@ export interface IWorkFlowNodeResultItem {
173
173
  };
174
174
  }[];
175
175
  };
176
- error_info?: string;
176
+ errorInfo?: string;
177
177
  }
178
178
  export interface IWorkFlowTaskProcess {
179
179
  task_id: string;
180
180
  conversation_id?: string;
181
- request_id: string;
182
- task_status: IWorkFlowStatus;
181
+ requestId: string;
182
+ taskStatus: IWorkFlowStatus;
183
183
  task_results: IWorkFlowTaskResultItem[];
184
184
  error_code?: string;
185
- error_info?: string;
186
- task_exec_time: string;
187
- node_results: IWorkFlowNodeResultItem[];
185
+ errorInfo?: string;
186
+ taskExecTime: string;
187
+ nodeResults: IWorkFlowNodeResultItem[];
188
188
  }
@@ -205,9 +205,9 @@ export var layoutFlow = /*#__PURE__*/function () {
205
205
  };
206
206
  }();
207
207
  export var getParentInputParams = function getParentInputParams(node) {
208
- var input_params = node.data.input_params;
208
+ var inputParams = node.data.inputParams;
209
209
  var list = [];
210
- input_params.forEach(function (item) {
210
+ inputParams.forEach(function (item) {
211
211
  var _item$type;
212
212
  if ((_item$type = item.type) !== null && _item$type !== void 0 && _item$type.includes('Array') && !!item.value) {
213
213
  var arrayType = item.type.replace(/^Array<(.+)>$/, '$1');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentscope-ai/flow",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "A powerful and flexible flow canvas rendering engine designed for AI applications. Provides comprehensive workflow visualization and interaction capabilities for platforms like Bailian and AgentScope, enabling seamless creation and management of complex AI agent workflows with an intuitive drag-and-drop interface.",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",