Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt

Use this file to discover all available pages before exploring further.

JobStatus

from pipecat.pipeline.job_context import JobStatus
Status of a completed job. Inherits from str so values compare naturally with plain strings.
ValueDescription
JobStatus.COMPLETEDThe job finished successfully
JobStatus.CANCELLEDThe job was cancelled by the requester
JobStatus.FAILEDThe job failed due to a logical or business error
JobStatus.ERRORThe job encountered an unexpected runtime error

WorkerActivationArgs

from pipecat.pipeline.base_worker import WorkerActivationArgs
Base activation arguments for any agent.
FieldTypeDefaultDescription
metadatadict | NoneNoneOptional structured data passed during activation

Methods

# Create from a dict (ignores unknown keys)
args = WorkerActivationArgs.from_dict({"metadata": {...}})

# Convert to a dict (excludes None values)
data = args.to_dict()

LLMWorkerActivationArgs

from pipecat.workers.llm import LLMWorkerActivationArgs
Activation arguments for LLMWorker. Extends WorkerActivationArgs.
FieldTypeDefaultDescription
metadatadict | NoneNoneOptional structured data passed during activation
messageslist | NoneNoneLLM context messages to inject on activation
run_llmbool | NoneNoneWhether to run the LLM after appending messages. Defaults to True when messages is set

JobContext

from pipecat.pipeline.job_context import JobContext
Async context manager and iterator for a single-agent job. Sends a job request on enter, waits for the response on exit. Supports async for to receive intermediate events. On normal completion, the result is available via response. On worker error or timeout, raises JobError.

Properties

PropertyTypeDescription
job_idstrThe job identifier
responsedictThe worker’s response payload

Usage

async with self.job("worker", payload=data) as j:
    async for event in j:
        print(f"[{event.type}]: {event.data}")

print(j.response)

JobGroupContext

from pipecat.pipeline.job_context import JobGroupContext
Async context manager and iterator for structured job group execution. Sends job requests on enter, waits for all responses on exit. Supports async for to receive intermediate events. On normal completion, results are available via responses. On worker error (with cancel_on_error=True) or timeout, raises JobGroupError.

Properties

PropertyTypeDescription
job_idstrThe shared job identifier for this group
responsesdict[str, dict]Collected responses keyed by worker name

Usage

async with self.job_group("w1", "w2", payload=data) as jg:
    async for event in jg:
        print(f"{event.worker_name} [{event.type}]: {event.data}")

for name, result in jg.responses.items():
    print(name, result)

JobEvent

from pipecat.pipeline.job_context import JobEvent
An event received from a worker during a single-agent job. Yielded by async for over a JobContext.
FieldTypeDescription
typestrThe event type (see constants below)
datadict | NoneOptional event payload

Event Type Constants

ConstantValueDescription
JobEvent.UPDATE"update"Progress update from a worker
JobEvent.STREAM_START"stream_start"Worker started streaming
JobEvent.STREAM_DATA"stream_data"Streaming data chunk
JobEvent.STREAM_END"stream_end"Worker finished streaming

JobGroupResponse

from pipecat.pipeline.job_context import JobGroupResponse
Collected results from a completed job group. Passed to on_job_completed.
FieldTypeDescription
job_idstrThe shared job identifier
responsesdict[str, dict]Collected responses keyed by worker name

JobGroup

from pipecat.pipeline.job_context import JobGroup
Tracks a group of agents launched together by a job request. Exposed via BaseWorker.job_groups and returned by create_job_group_and_request_job.
FieldTypeDefaultDescription
job_idstrShared identifier for all agents in this group
worker_namesset[str]Names of the agents in the group
responsesdict[str, dict]{}Collected responses keyed by worker name
timeout_taskasyncio.Task | NoneNoneOptional task that cancels the group on timeout
cancel_on_errorboolTrueWhether to cancel the group if a worker errors

Properties

PropertyTypeDescription
is_doneboolWhether the group has completed or failed

Methods

# Wait for all agents in the group to respond (raises JobGroupError on failure)
await group.wait()

JobGroupEvent

from pipecat.pipeline.job_context import JobGroupEvent
An event received from a worker during job group execution. Yielded by async for over a JobGroupContext.
FieldTypeDescription
typestrThe event type (see constants below)
worker_namestrThe name of the worker that sent the event
datadict | NoneOptional event payload

Event Type Constants

ConstantValueDescription
JobGroupEvent.UPDATE"update"Progress update from a worker
JobGroupEvent.STREAM_START"stream_start"Worker started streaming
JobGroupEvent.STREAM_DATA"stream_data"Streaming data chunk
JobGroupEvent.STREAM_END"stream_end"Worker finished streaming

WorkerReadyData

from pipecat.registry.types import WorkerReadyData
Information about a registered agent. Passed to on_worker_ready and @worker_ready handlers.
FieldTypeDescription
worker_namestrThe name of the agent
runnerstrThe name of the runner managing this agent

WorkerErrorData

from pipecat.registry.types import WorkerErrorData
Information about an agent error. Passed to on_worker_failed.
FieldTypeDescription
worker_namestrThe name of the agent that errored
errorstrDescription of the error

WorkerRegistryEntry

from pipecat.registry.types import WorkerRegistryEntry
Information about an agent in a registry snapshot.
FieldTypeDefaultDescription
namestrThe agent’s name
parentstr | NoneNoneName of the parent agent, or None for root agents
activeboolFalseWhether the agent is currently active
bridgedboolFalseWhether the agent is bridged
started_atfloat | NoneNoneUnix timestamp when the agent became ready

WorkerRegistry

from pipecat.registry import WorkerRegistry
Tracks all known agents across local and remote runners. Owned by the WorkerRunner and shared with its agents.

Properties

PropertyTypeDescription
runner_namestrThe name of the runner that owns this registry
local_workerslist[str]Names of agents registered under this runner
remote_workerslist[str]Names of agents registered under remote runners

Methods

get

def get(self, worker_name: str) -> WorkerReadyData | None
Look up a registered agent by name.

watch

async def watch(self, worker_name: str, handler: WatchHandler) -> None
Watch for a specific agent’s registration. If the agent is already registered, the handler fires immediately.
ParameterTypeDescription
worker_namestrThe agent name to watch for
handlerCallable[[WorkerReadyData], Coroutine]Async callable invoked with the agent’s data

register

async def register(self, worker_data: WorkerReadyData) -> bool
Register an agent. Returns True if the agent was newly registered, False if already known.