MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / load_node

Method load_node

apps/application/flow/workflow_manage.py:185–224  ·  view source on GitHub ↗
(self, chat_record, start_node_id, start_node_data)

Source from the content-addressed store, hash-verified

183 return len(self.answer_list[-1]) > 0
184
185 def load_node(self, chat_record, start_node_id, start_node_data):
186 self.node_context = []
187 self.answer = chat_record.answer_text
188 self.answer_list = chat_record.answer_text_list
189 self.answer_list.append('')
190 for node_details in sorted(chat_record.details.values(), key=lambda d: d.get('index')):
191 node_id = node_details.get('node_id')
192 if node_details.get('runtime_node_id') == start_node_id:
193 def get_node_params(n):
194 is_result = False
195 if ['application-node', 'loop-node', 'tool-workflow-lib-node'].__contains__(n.type):
196 is_result = True
197 return {**n.properties.get('node_data'), 'form_data': start_node_data, 'node_data': start_node_data,
198 'child_node': self.child_node, 'is_result': is_result}
199
200 self.start_node = self.get_node_cls_by_id(node_id, node_details.get('up_node_id_list'),
201 get_node_params=get_node_params)
202 self.start_node.valid_args(
203 {**self.start_node.node_params, 'form_data': start_node_data}, self.start_node.workflow_params)
204 if self.start_node.type == 'loop-node':
205 loop_node_data = node_details.get('loop_node_data', {})
206 for k, v in node_details.get('loop_context_data').items():
207 if v is not None:
208 self.start_node.context[k] = v
209 self.start_node.context['loop_node_data'] = loop_node_data
210 self.start_node.context['current_index'] = node_details.get('current_index')
211 self.start_node.context['current_item'] = node_details.get('current_item')
212 self.start_node.context['loop_answer_data'] = node_details.get('loop_answer_data', {})
213 if self.start_node.type == 'application-node':
214 application_node_dict = node_details.get('application_node_dict', {})
215 self.start_node.context['application_node_dict'] = application_node_dict
216 self.node_context.append(self.start_node)
217 continue
218
219 node_id = node_details.get('node_id')
220 node = self.get_node_cls_by_id(node_id, node_details.get('up_node_id_list'))
221 node.valid_args(node.node_params, node.workflow_params)
222 node.save_context(node_details, self)
223 node.node_chunk.end()
224 self.node_context.append(node)
225
226 def run(self):
227 close_old_connections()

Callers 1

__init__Method · 0.95

Calls 6

get_node_cls_by_idMethod · 0.95
endMethod · 0.80
appendMethod · 0.45
getMethod · 0.45
valid_argsMethod · 0.45
save_contextMethod · 0.45

Tested by

no test coverage detected