Ctrl K
ComunidadGuías…

butler/transport/streaming_signal_ops.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Streaming tool callback best-effort helpers (P0-A)."""

from __future__ import annotations

import logging
from typing import Any, Callable

from butler.core.best_effort import safe_best_effort

logger = logging.getLogger(__name__)


def invoke_streaming_tool_callback_safe(
    callback: Callable[..., Any],
    idx: int,
    tool_id: str,
    name: str,
    args: dict[str, Any],
) -> None:
    def _run() -> None:
        callback(idx, tool_id, name, args)

    safe_best_effort(
        _run,
        label=f"streaming_signal.dispatch.{name}",
        default=None,
    )