Source code for swarmauri.core.tracing.IChainTracer

from abc import ABC, abstractmethod
from typing import Callable, List, Tuple, Dict, Any

[docs] class IChainTracer(ABC): """ Interface for a tracer supporting method chaining through a list of tuples. Each tuple in the list contains: trace context, function, args, and kwargs. """
[docs] @abstractmethod def process_chain(self, chain: List[Tuple[Any, Callable[..., Any], List[Any], Dict[str, Any]]]) -> "IChainTracer": """ Processes a sequence of operations defined in a chain. Args: chain (List[Tuple[Any, Callable[..., Any], List[Any], Dict[str, Any]]]): A list where each tuple contains: - The trace context or reference required by the function. - The function (method of IChainTracer) to execute. - A list of positional arguments for the function. - A dictionary of keyword arguments for the function. Returns: IChainTracer: Returns self to allow further method chaining. """ pass