Skip to content

Commit 4f25bbc

Browse files
authored
Merge pull request #190 from pipecat-ai/remove-deprecated-gemini-openai-transports
refactor: Removed the now deprecated openai and gemini transports
2 parents 79be8e3 + 5705fd8 commit 4f25bbc

37 files changed

Lines changed: 6 additions & 5684 deletions

.claude/skills/update-docs/SOURCE_DOC_MAPPING.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,6 @@ change: the name has left that package's public API.
4646

4747
Nothing else. Each package is small and almost entirely public surface.
4848

49-
## Base classes
50-
51-
| File | Pages to check |
52-
| --- | --- |
53-
| `transports/gemini-live-websocket-transport/src/directToLLMBaseWebSocketTransport.ts` | `api-reference/client/js/transports/gemini.mdx`. It is not re-exported from the package root, but it defines `LLMServiceOptions`, which `GeminiLLMServiceOptions` extends and which the page documents field by field. Its constructor signature is therefore observable even though the class is not. |
54-
5549
## Non-standard locations
5650

5751
| File | Page |
@@ -66,9 +60,7 @@ so use this table rather than deriving it:
6660
| Package directory | Page |
6761
| --- | --- |
6862
| `transports/daily/` | `api-reference/client/js/transports/daily.mdx` |
69-
| `transports/gemini-live-websocket-transport/` | `api-reference/client/js/transports/gemini.mdx` |
7063
| `transports/moq-transport/` | `api-reference/client/js/transports/moq.mdx` |
71-
| `transports/openai-realtime-webrtc-transport/` | `api-reference/client/js/transports/openai-webrtc.mdx` |
7264
| `transports/small-webrtc-transport/` | `api-reference/client/js/transports/small-webrtc.mdx` |
7365
| `transports/websocket-transport/` | `api-reference/client/js/transports/websocket.mdx` |
7466

.github/workflows/publish-rc.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ on:
99
type: choice
1010
options:
1111
- daily
12-
- gemini-live-websocket-transport
12+
- livekit-transport
1313
- moq-transport
14-
- openai-realtime-webrtc-transport
1514
- small-webrtc-transport
1615
- websocket-transport
1716
preid:

.github/workflows/release-please.yml

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ jobs:
1717
releases_created: ${{ steps.release.outputs.releases_created }}
1818
paths_released: ${{ steps.release.outputs.paths_released }}
1919
daily_release_created: ${{ steps.release.outputs['daily-transport--release_created'] }}
20-
gemini_release_created: ${{ steps.release.outputs['gemini-live-websocket-transport--release_created'] }}
2120
livekit_release_created: ${{ steps.release.outputs['livekit-transport--release_created'] }}
2221
moq_release_created: ${{ steps.release.outputs['moq-transport--release_created'] }}
23-
openai_release_created: ${{ steps.release.outputs['openai-realtime-webrtc-transport--release_created'] }}
2422
small_webrtc_release_created: ${{ steps.release.outputs['small-webrtc-transport--release_created'] }}
2523
websocket_release_created: ${{ steps.release.outputs['websocket-transport--release_created'] }}
2624
steps:
@@ -48,24 +46,6 @@ jobs:
4846
- run: npm publish --provenance
4947
working-directory: transports/daily
5048

51-
publish-gemini:
52-
needs: release-please
53-
if: ${{ needs.release-please.outputs.releases_created == 'true' && contains(fromJson(needs.release-please.outputs.paths_released), 'transports/gemini-live-websocket-transport') }}
54-
runs-on: ubuntu-latest
55-
permissions:
56-
contents: read
57-
id-token: write
58-
steps:
59-
- uses: actions/checkout@v4
60-
- uses: actions/setup-node@v4
61-
with:
62-
node-version: '24'
63-
registry-url: 'https://registry.npmjs.org'
64-
- run: npm install --ignore-scripts
65-
- run: npm run build -w @pipecat-ai/gemini-live-websocket-transport
66-
- run: npm publish --provenance
67-
working-directory: transports/gemini-live-websocket-transport
68-
6949
publish-livekit:
7050
needs: release-please
7151
if: ${{ needs.release-please.outputs.releases_created == 'true' && contains(fromJson(needs.release-please.outputs.paths_released), 'transports/livekit-transport') }}
@@ -102,24 +82,6 @@ jobs:
10282
- run: npm publish --provenance
10383
working-directory: transports/moq-transport
10484

105-
publish-openai:
106-
needs: release-please
107-
if: ${{ needs.release-please.outputs.releases_created == 'true' && contains(fromJson(needs.release-please.outputs.paths_released), 'transports/openai-realtime-webrtc-transport') }}
108-
runs-on: ubuntu-latest
109-
permissions:
110-
contents: read
111-
id-token: write
112-
steps:
113-
- uses: actions/checkout@v4
114-
- uses: actions/setup-node@v4
115-
with:
116-
node-version: '24'
117-
registry-url: 'https://registry.npmjs.org'
118-
- run: npm install --ignore-scripts
119-
- run: npm run build -w @pipecat-ai/openai-realtime-webrtc-transport
120-
- run: npm publish --provenance
121-
working-directory: transports/openai-realtime-webrtc-transport
122-
12385
publish-small-webrtc:
12486
needs: release-please
12587
if: ${{ needs.release-please.outputs.releases_created == 'true' && contains(fromJson(needs.release-please.outputs.paths_released), 'transports/small-webrtc-transport') }}

.release-please-manifest.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
{
22
"transports/daily": "1.6.8",
3-
"transports/gemini-live-websocket-transport": "1.5.8",
43
"transports/livekit-transport": "1.0.0",
54
"transports/moq-transport": "0.1.1",
6-
"transports/openai-realtime-webrtc-transport": "1.5.8",
75
"transports/small-webrtc-transport": "1.10.7",
86
"transports/websocket-transport": "1.7.1"
97
}

README.md

Lines changed: 5 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Docs](https://img.shields.io/badge/Documentation-blue)](https://docs.pipecat.ai/client/js/transports/transport)
44
[![Discord](https://img.shields.io/discord/1239284677165056021)](https://discord.gg/pipecat)
55

6-
A mono-repo to house the various supported Transport options to be used with the pipecat-client-web library. Currently, there are seven transports: `small-webrtc-transport`, `daily-transport`, `websocket-transport`, `gemini-live-websocket-transport`, `openai-realtime-webrtc-transport`, `livekit-transport` and `moq-transport`.
6+
A mono-repo to house the various supported Transport options to be used with the pipecat-client-web library. Currently, there are five transports: `small-webrtc-transport`, `daily-transport`, `websocket-transport`, `livekit-transport` and `moq-transport`.
77

88
## Documentation
99

@@ -132,72 +132,6 @@ Typical media flow using a LiveKitTransport:
132132
133133
```
134134

135-
### [GeminiLiveWebSocketTransport](transports/gemini-live-websocket-transport/README.md)
136-
137-
> **Deprecated:** This transport connects directly from the browser
138-
> to a third-party LLM API rather than through a Pipecat server, so
139-
> it can't use most Pipecat server-side features and drifts out of
140-
> sync with that API over time. It is no longer supported and will
141-
> not receive further updates. Published npm versions will remain
142-
> installable, but since this transport depends directly on a
143-
> third-party API that changes over time, it may stop working
144-
> correctly as that API evolves.
145-
146-
[![Docs](https://img.shields.io/badge/Documentation-blue)](https://docs.pipecat.ai/client/js/transports/gemini)
147-
[![README](https://img.shields.io/badge/README-goldenrod)](transports/gemini-live-websocket-transport/README.md)
148-
[![Demo](https://img.shields.io/badge/Demo-forestgreen)](examples/directToLLMTransports/README.md)
149-
[![NPM Version](https://img.shields.io/npm/v/@pipecat-ai/gemini-live-websocket-transport)](https://www.npmjs.com/package/@pipecat-ai/gemini-live-websocket-transport)
150-
151-
This Transport extends the [RealTimeWebSocketTransport](transports/realtime-websocket-transport/README) and connects directly to Gemini over a WebSocket connection using the Multimodal Live API. This type of transport is great for testing different services out without the need to build a server component. Just be aware that it is insecure since you will need to have access to your Gemini API Key client-side so not probably something you want to use in your production app.
152-
153-
Media flow using a GeminiLiveWebSocketTransport:
154-
155-
```
156-
Client Server
157-
┌────────────────────────────────────┐
158-
│ │
159-
│ PipecatClient │ ┌──────────────┐
160-
│ │ Media over │ │
161-
│ ┌──────────────────────────────┐ │ WebSocket │ Gemini │
162-
│ │ GeminiLiveWebSocketTransport │◄─┼────────────────┼─► Server │
163-
│ └──────────────────────────────┘ │ │ │
164-
│ │ └──────────────┘
165-
└────────────────────────────────────┘
166-
```
167-
168-
### [OpenAIRealTimeWebRTCTransport](transports/openai-realtime-webrtc-transport/README.md)
169-
170-
> **Deprecated:** This transport connects directly from the browser
171-
> to a third-party LLM API rather than through a Pipecat server, so
172-
> it can't use most Pipecat server-side features and drifts out of
173-
> sync with that API over time. It is no longer supported and will
174-
> not receive further updates. Published npm versions will remain
175-
> installable, but since this transport depends directly on a
176-
> third-party API that changes over time, it may stop working
177-
> correctly as that API evolves.
178-
179-
[![Docs](https://img.shields.io/badge/Documentation-blue)](https://docs.pipecat.ai/client/js/transports/openai-webrtc)
180-
[![README](https://img.shields.io/badge/README-goldenrod)](transports/openai-realtime-webrtc-transport/README.md)
181-
[![Demo](https://img.shields.io/badge/Demo-forestgreen)](examples/directToLLMTransports/README.md)
182-
[![NPM Version](https://img.shields.io/npm/v/@pipecat-ai/openai-realtime-webrtc-transport)](https://www.npmjs.com/package/@pipecat-ai/openai-realtime-webrtc-transport)
183-
184-
This Transport connects directly to OpenAI over a WebRTC connection using the RealTime API. This type of transport is great for testing different services out without the need to build a server component. Just be aware that it is insecure since you will need to have access to your OpenAI API Key client-side so not probably something you want to use in your production app. It does not implement the Ephemeral Token process.
185-
186-
Media flow using a OpenAIRealTimeWebRTCTransport:
187-
188-
```
189-
Client Server
190-
┌─────────────────────────────────────┐
191-
│ │
192-
│ PipecatClient │ ┌──────────────┐
193-
│ │ Media over │ │
194-
│ ┌───────────────────────────────┐ │ WebRTC │ OpenAI │
195-
│ │ OpenAIRealTimeWebRTCTransport │◄─┼────────────────┼─► Server │
196-
│ └───────────────────────────────┘ │ │ │
197-
│ │ └──────────────┘
198-
└─────────────────────────────────────┘
199-
```
200-
201135
### [MoqTransport](/transports/moq-transport/README.md)
202136

203137
[![Docs](https://img.shields.io/badge/documentation-blue)](https://docs.pipecat.ai/client/js/transports)
@@ -234,6 +168,10 @@ Typical media flow using a MoqTransport:
234168
235169
```
236170

171+
## No Longer Supported
172+
173+
`gemini-live-websocket-transport` and `openai-realtime-webrtc-transport` were removed from this repo as of their `1.5.8` releases. Both connected directly from the browser to a third-party LLM API rather than through a Pipecat server, saw essentially no adoption, and couldn't be kept in sync with those APIs as they changed, so they're no longer supported or maintained. The last published npm versions remain installable (`@pipecat-ai/gemini-live-websocket-transport@1.5.8`, `@pipecat-ai/openai-realtime-webrtc-transport@1.5.8`), but are not guaranteed to keep working as the underlying APIs evolve.
174+
237175
## Local Development
238176

239177
### Build the transport libraries

examples/directToLLMTransports/README.md

Lines changed: 0 additions & 112 deletions
This file was deleted.

examples/directToLLMTransports/README.md.bak

Lines changed: 0 additions & 34 deletions
This file was deleted.

examples/directToLLMTransports/env.example

Lines changed: 0 additions & 3 deletions
This file was deleted.

examples/directToLLMTransports/index.html

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)