MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / flow_edge_send

Method flow_edge_send

masfactory/visualizer/runtime.py:448–492  ·  view source on GitHub ↗

Record an edge-send flow event. Args: sender: Sender node. receiver: Receiver node. edge_keys: Optional edge key mapping (used to render key labels/details). message: Optional message payload snapshot.

(
        self,
        sender: object,
        receiver: object,
        *,
        edge_keys: dict[str, object] | None = None,
        message: dict[str, object] | None = None,
    )

Source from the content-addressed store, hash-verified

446 self._record_history(payload)
447
448 def flow_edge_send(
449 self,
450 sender: object,
451 receiver: object,
452 *,
453 edge_keys: dict[str, object] | None = None,
454 message: dict[str, object] | None = None,
455 ) -> None:
456 """Record an edge-send flow event.
457
458 Args:
459 sender: Sender node.
460 receiver: Receiver node.
461 edge_keys: Optional edge key mapping (used to render key labels/details).
462 message: Optional message payload snapshot.
463 """
464 sender_id = self._resolve_node_id(sender)
465 receiver_id = self._resolve_node_id(receiver)
466 if not sender_id or not receiver_id:
467 return
468
469 keys: list[str] = []
470 keys_details: dict[str, object] | None = None
471 if isinstance(edge_keys, dict):
472 keys = [str(k) for k in edge_keys.keys()]
473 keys_details = {str(k): edge_keys.get(k) for k in edge_keys.keys()}
474
475 payload: dict[str, object] = {
476 "type": "FLOW",
477 "kind": "EDGE_SEND",
478 "ts": _now_ms(),
479 "from": sender_id,
480 "to": receiver_id,
481 }
482 if keys:
483 payload["keys"] = keys
484 if keys_details:
485 payload["keysDetails"] = self._safe_for_history(keys_details)
486 if isinstance(message, dict) and message:
487 payload["message"] = self._safe_for_history(message)
488
489 if self.is_streaming():
490 self._enqueue(payload)
491 else:
492 self._record_history(payload)
493
494 def flow_attr_pull(
495 self,

Callers

nothing calls this directly

Calls 7

_resolve_node_idMethod · 0.95
_safe_for_historyMethod · 0.95
is_streamingMethod · 0.95
_enqueueMethod · 0.95
_record_historyMethod · 0.95
_now_msFunction · 0.85
keysMethod · 0.80

Tested by

no test coverage detected