diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c4c300ca..c371bb082 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to **Pipecat** will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.0.75] - 2025-07-08 ### Added @@ -25,6 +25,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Updated `RTVIObserver` and `RTVIProcessor` to match the new RTVI 1.0.0 protocol. + This includes: + + - Deprecating support for all messages related to service configuaration and + actions. + - Adding support for obtaining and logging data about client, including its + RTVI version and optionally included system information (OS/browser/etc.) + - Adding support for handling the new `client-message` RTVI message through + either a `on_client_message` event handler or listening for a new + `RTVIClientMessageFrame` + - Adding support for responding to a `client-message` with a `server-response` + via either a direct call on the `RTVIProcessor` or via pushing a new + `RTVIServerResponseFrame` + - Adding built-in support for handling the new `append-to-context` RTVI message + which allows a client to add to the user or assistant llm context. No extra + code is required for supporting this behavior. + - Updating all JavaScript and React client RTVI examples to use versions 1.0.0 + of the clients. + + Get started migrating to RTVI protocol 1.0.0 by following the migration guide: + https://docs.pipecat.ai/client/migration-guide + - Refactored `AWSBedrockLLMService` and `AWSPollyTTSService` to work asynchronously using `aioboto3` instead of the `boto3` library. diff --git a/src/pipecat/processors/frameworks/rtvi.py b/src/pipecat/processors/frameworks/rtvi.py index a1fc9e128..06b0e0c62 100644 --- a/src/pipecat/processors/frameworks/rtvi.py +++ b/src/pipecat/processors/frameworks/rtvi.py @@ -93,10 +93,9 @@ class RTVIServiceOption(BaseModel): Defines a configurable option that can be set for an RTVI service, including its name, type, and handler function. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -112,10 +111,9 @@ class RTVIService(BaseModel): Represents a service that can be configured and used within the RTVI protocol, containing a name and list of configurable options. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -135,10 +133,9 @@ class RTVIActionArgumentData(BaseModel): Contains the name and value of an argument passed to an RTVI action. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -150,10 +147,9 @@ class RTVIActionArgument(BaseModel): Specifies the name and expected type of an argument for an RTVI action. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -166,10 +162,9 @@ class RTVIAction(BaseModel): Represents an action that can be executed within the RTVI protocol, including its service, name, arguments, and handler function. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ service: str @@ -194,10 +189,9 @@ class RTVIServiceOptionConfig(BaseModel): Contains the name and value to set for a specific service option. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -209,10 +203,9 @@ class RTVIServiceConfig(BaseModel): Contains the service name and list of option configurations to apply. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ service: str @@ -224,10 +217,9 @@ class RTVIConfig(BaseModel): Contains the full configuration for all RTVI services. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ config: List[RTVIServiceConfig] @@ -244,10 +236,9 @@ class RTVIUpdateConfig(BaseModel): Contains new configuration settings and whether to interrupt the bot. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ config: List[RTVIServiceConfig] @@ -259,10 +250,9 @@ class RTVIActionRunArgument(BaseModel): Contains the name and value of an argument to pass to an action. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ name: str @@ -274,10 +264,9 @@ class RTVIActionRun(BaseModel): Contains the service, action name, and optional arguments. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ service: str @@ -293,10 +282,9 @@ class RTVIActionFrame(DataFrame): rtvi_action_run: The action to execute. message_id: Optional message ID for response correlation. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ rtvi_action_run: RTVIActionRun @@ -431,10 +419,9 @@ class RTVIDescribeConfigData(BaseModel): Contains the list of available services and their options. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ config: List[RTVIService] @@ -445,10 +432,9 @@ class RTVIDescribeConfig(BaseModel): Sent in response to a describe-config request. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ label: RTVIMessageLiteral = RTVI_MESSAGE_LABEL @@ -462,10 +448,9 @@ class RTVIDescribeActionsData(BaseModel): Contains the list of available actions that can be executed. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ actions: List[RTVIAction] @@ -476,10 +461,9 @@ class RTVIDescribeActions(BaseModel): Sent in response to a describe-actions request. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ label: RTVIMessageLiteral = RTVI_MESSAGE_LABEL @@ -493,10 +477,9 @@ class RTVIConfigResponse(BaseModel): Sent in response to a get-config request. - DEPRECATED. - - Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Pipeline Configuration has been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ label: RTVIMessageLiteral = RTVI_MESSAGE_LABEL @@ -510,10 +493,9 @@ class RTVIActionResponseData(BaseModel): Contains the result of executing an action. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ result: ActionResult @@ -524,10 +506,9 @@ class RTVIActionResponse(BaseModel): Sent after successfully executing an action. - DEPRECATED. - - Actions have been removed as part of the RTVI protocol 1.0.0. - Use custom client and server messages instead. + .. deprecated:: 0.0.75 + Actions have been removed as part of the RTVI protocol 1.0.0. + Use custom client and server messages instead. """ label: RTVIMessageLiteral = RTVI_MESSAGE_LABEL @@ -1278,9 +1259,6 @@ class RTVIProcessor(FrameProcessor): function_name: Name of the function being called. llm: The LLM processor making the call. context: The LLM context. - - Note: - This method is deprecated. Use handle_function_call() instead. """ import warnings