Update node and edge IDs, refactor node ID generation, and fix async bug in build_vertex_stream function (#1546)
* Update node and edge IDs in PageComponent and reactflowUtils * Merge remote-tracking branch 'origin/zustand/io/migration' into fixGroup * Refactor node ID generation and update node IDs in selection * Update flowStore.ts and reactflowUtils.ts * Fix async bug in build_vertex_stream function * Add check for missing id in vertex data * Fix exception message for missing vertex id * Update code: Added VertexLayerElementType type and modified updateIds function
This commit is contained in:
parent
c175395cd7
commit
a6625bbad5
8 changed files with 152 additions and 84 deletions
|
|
@ -202,7 +202,7 @@ async def build_vertex_stream(
|
|||
async def stream_vertex():
|
||||
try:
|
||||
if not session_id:
|
||||
cache = chat_service.get_cache(flow_id)
|
||||
cache = await chat_service.get_cache(flow_id)
|
||||
if not cache:
|
||||
# If there's no cache
|
||||
raise ValueError(f"No cache found for {flow_id}.")
|
||||
|
|
@ -252,7 +252,7 @@ async def build_vertex_stream(
|
|||
raise ValueError(f"No result found for vertex {vertex_id}")
|
||||
|
||||
except Exception as exc:
|
||||
logger.error(f"Error building vertex: {exc}")
|
||||
logger.exception(f"Error building vertex: {exc}")
|
||||
yield str(StreamData(event="error", data={"error": str(exc)}))
|
||||
finally:
|
||||
logger.debug("Closing stream")
|
||||
|
|
|
|||
|
|
@ -377,7 +377,10 @@ class Graph:
|
|||
|
||||
# Remove vertices that are not in the other graph
|
||||
for vertex_id in removed_vertex_ids:
|
||||
self.remove_vertex(vertex_id)
|
||||
try:
|
||||
self.remove_vertex(vertex_id)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
# The order here matters because adding the vertex is required
|
||||
# if any of them have edges that point to any of the new vertices
|
||||
|
|
@ -741,8 +744,11 @@ class Graph:
|
|||
vertex_data = vertex["data"]
|
||||
vertex_type: str = vertex_data["type"] # type: ignore
|
||||
vertex_base_type: str = vertex_data["node"]["template"]["_type"] # type: ignore
|
||||
if "id" not in vertex_data:
|
||||
raise ValueError(f"Vertex data for {vertex_data['display_name']} does not contain an id")
|
||||
|
||||
VertexClass = self._get_vertex_class(vertex_type, vertex_base_type, vertex_data["id"])
|
||||
|
||||
vertex_instance = VertexClass(vertex, graph=self)
|
||||
vertex_instance.set_top_level(self.top_level_vertices)
|
||||
vertices.append(vertex_instance)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue