WithoutBroadcasting

Skip broadcasting of given stream events for an agent

Description: Skips broadcasting of the given stream event classes while an agent response is streaming.

Namespace: Laravel\Ai\Attributes\WithoutBroadcasting

Added in: laravel/ai v0.10.0

Usage

use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;
use Laravel\Ai\Streaming\Events\TextDelta;

// Before:
class ReportAgent implements Agent
{
    use Promptable;
}
// Every stream event, including each TextDelta, is broadcast.
use Laravel\Ai\Attributes\WithoutBroadcasting;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;
use Laravel\Ai\Streaming\Events\TextDelta;

// After:
#[WithoutBroadcasting(TextDelta::class)]
class ReportAgent implements Agent
{
    use Promptable;
}

You may pass multiple events:

#[WithoutBroadcasting(TextDelta::class, ToolCall::class)]
class ReportAgent implements Agent
{
    use Promptable;
}