Skip to content

Commit ae03ee9

Browse files
committed
feat(integrations): Add LiveKit runner for voice and telephony
ADK had no first-party connector for realtime media, so reaching a live agent over WebRTC or SIP meant hand-rolling a bridge onto LiveRequestQueue. LiveKitRunner takes an already-connected rtc.Room and bridges it to an unmodified Runner over the transport-agnostic LiveRequestQueue -> run_live() -> Event contract, publishing on LiveKit's standard channels so their client SDKs render an ADK agent unchanged.
1 parent 98896eb commit ae03ee9

30 files changed

Lines changed: 5482 additions & 5 deletions

constraints-3.10.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile pyproject.toml --all-extras --python-version 3.10 --no-emit-package google-adk --exclude-newer 2026-08-10 --index-url https://pypi.org/simple -o constraints-3.10.txt
2+
# uv pip compile pyproject.toml --all-extras --python-version 3.10 --no-emit-package google-adk --exclude-newer 2026-08-17 --index-url https://pypi.org/simple -o constraints-3.10.txt
33
a2a-sdk==1.1.2
44
# via
55
# -c constraints-3.10.txt.stable.tmp
@@ -17,6 +17,7 @@ aiofiles==25.1.0
1717
# via
1818
# -c constraints-3.10.txt.stable.tmp
1919
# daytona
20+
# livekit
2021
aiohappyeyeballs==2.7.1
2122
# via
2223
# -c constraints-3.10.txt.stable.tmp
@@ -35,6 +36,7 @@ aiohttp==3.14.1
3536
# kubernetes
3637
# langchain-community
3738
# litellm
39+
# livekit-api
3840
# llama-index-core
3941
# python-socketio
4042
# toolbox-core
@@ -887,6 +889,18 @@ litellm==1.85.7
887889
# -c constraints-3.10.txt.stable.tmp
888890
# google-adk (pyproject.toml)
889891
# google-cloud-aiplatform
892+
livekit==1.1.14
893+
# via
894+
# -c constraints-3.10.txt.stable.tmp
895+
# google-adk (pyproject.toml)
896+
livekit-api==1.2.0
897+
# via
898+
# -c constraints-3.10.txt.stable.tmp
899+
# google-adk (pyproject.toml)
900+
livekit-protocol==1.1.22
901+
# via
902+
# -c constraints-3.10.txt.stable.tmp
903+
# livekit-api
890904
llama-index-core==0.14.23
891905
# via
892906
# -c constraints-3.10.txt.stable.tmp
@@ -1006,6 +1020,7 @@ numpy==2.2.6
10061020
# via
10071021
# -c constraints-3.10.txt.stable.tmp
10081022
# langchain-community
1023+
# livekit
10091024
# llama-index-core
10101025
# pandas
10111026
# rouge-score
@@ -1195,6 +1210,7 @@ pathspec==1.1.1
11951210
pillow==12.3.0
11961211
# via
11971212
# -c constraints-3.10.txt.stable.tmp
1213+
# google-adk (pyproject.toml)
11981214
# llama-index-core
11991215
pip==26.1.2
12001216
# via
@@ -1291,6 +1307,9 @@ protobuf==6.33.6
12911307
# googleapis-common-protos
12921308
# grpc-google-iam-v1
12931309
# grpcio-status
1310+
# livekit
1311+
# livekit-api
1312+
# livekit-protocol
12941313
# opentelemetry-proto
12951314
# proto-plus
12961315
pyarrow==25.0.0
@@ -1367,6 +1386,7 @@ pyink==25.12.0
13671386
pyjwt==2.13.0
13681387
# via
13691388
# -c constraints-3.10.txt.stable.tmp
1389+
# livekit-api
13701390
# mcp
13711391
# oci
13721392
# redis
@@ -1786,6 +1806,12 @@ tqdm==4.69.0
17861806
# llama-index-core
17871807
# nltk
17881808
# openai
1809+
types-protobuf==7.34.1.20260816
1810+
# via
1811+
# -c constraints-3.10.txt.stable.tmp
1812+
# livekit
1813+
# livekit-api
1814+
# livekit-protocol
17891815
typing-extensions==4.16.0
17901816
# via
17911817
# -c constraints-3.10.txt.stable.tmp

constraints-3.11.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile pyproject.toml --all-extras --python-version 3.11 --no-emit-package google-adk --exclude-newer 2026-08-09 --index-url https://pypi.org/simple -o constraints-3.11.txt
2+
# uv pip compile pyproject.toml --all-extras --python-version 3.11 --no-emit-package google-adk --exclude-newer 2026-08-17 --index-url https://pypi.org/simple -o constraints-3.11.txt
33
a2a-sdk==1.1.1
44
# via
55
# -c constraints-3.11.txt.stable.tmp
@@ -18,6 +18,7 @@ aiofiles==24.1.0
1818
# -c constraints-3.11.txt.stable.tmp
1919
# crewai
2020
# daytona
21+
# livekit
2122
aiohappyeyeballs==2.7.1
2223
# via
2324
# -c constraints-3.11.txt.stable.tmp
@@ -37,6 +38,7 @@ aiohttp==3.14.1
3738
# kubernetes
3839
# langchain-community
3940
# litellm
41+
# livekit-api
4042
# llama-index-core
4143
# python-socketio
4244
# toolbox-core
@@ -1006,6 +1008,18 @@ litellm==1.85.7
10061008
# -c constraints-3.11.txt.stable.tmp
10071009
# google-adk (pyproject.toml)
10081010
# google-cloud-aiplatform
1011+
livekit==1.1.14
1012+
# via
1013+
# -c constraints-3.11.txt.stable.tmp
1014+
# google-adk (pyproject.toml)
1015+
livekit-api==1.2.0
1016+
# via
1017+
# -c constraints-3.11.txt.stable.tmp
1018+
# google-adk (pyproject.toml)
1019+
livekit-protocol==1.1.22
1020+
# via
1021+
# -c constraints-3.11.txt.stable.tmp
1022+
# livekit-api
10091023
llama-index-core==0.14.23
10101024
# via
10111025
# -c constraints-3.11.txt.stable.tmp
@@ -1136,6 +1150,7 @@ numpy==2.4.6
11361150
# chromadb
11371151
# lancedb
11381152
# langchain-community
1153+
# livekit
11391154
# llama-index-core
11401155
# onnxruntime
11411156
# pandas
@@ -1373,6 +1388,7 @@ pendulum==3.2.0
13731388
pillow==12.3.0
13741389
# via
13751390
# -c constraints-3.11.txt.stable.tmp
1391+
# google-adk (pyproject.toml)
13761392
# llama-index-core
13771393
# pdfplumber
13781394
pip==26.1.2
@@ -1480,6 +1496,9 @@ protobuf==6.33.6
14801496
# googleapis-common-protos
14811497
# grpc-google-iam-v1
14821498
# grpcio-status
1499+
# livekit
1500+
# livekit-api
1501+
# livekit-protocol
14831502
# onnxruntime
14841503
# opentelemetry-proto
14851504
# proto-plus
@@ -1576,6 +1595,7 @@ pyjwt==2.13.0
15761595
# crewai
15771596
# crewai-cli
15781597
# crewai-core
1598+
# livekit-api
15791599
# mcp
15801600
# oci
15811601
# redis
@@ -2056,6 +2076,12 @@ typer==0.27.0
20562076
# -c constraints-3.11.txt.stable.tmp
20572077
# chromadb
20582078
# instructor
2079+
types-protobuf==7.34.1.20260816
2080+
# via
2081+
# -c constraints-3.11.txt.stable.tmp
2082+
# livekit
2083+
# livekit-api
2084+
# livekit-protocol
20592085
typing-extensions==4.16.0
20602086
# via
20612087
# -c constraints-3.11.txt.stable.tmp

constraints-3.12.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile pyproject.toml --all-extras --python-version 3.12 --no-emit-package google-adk --exclude-newer 2026-08-10 --index-url https://pypi.org/simple -o constraints-3.12.txt
2+
# uv pip compile pyproject.toml --all-extras --python-version 3.12 --no-emit-package google-adk --exclude-newer 2026-08-17 --index-url https://pypi.org/simple -o constraints-3.12.txt
33
a2a-sdk==1.1.1
44
# via
55
# -c constraints-3.12.txt.stable.tmp
@@ -17,6 +17,7 @@ aiofiles==25.1.0
1717
# via
1818
# -c constraints-3.12.txt.stable.tmp
1919
# daytona
20+
# livekit
2021
aiohappyeyeballs==2.7.1
2122
# via
2223
# -c constraints-3.12.txt.stable.tmp
@@ -35,6 +36,7 @@ aiohttp==3.14.1
3536
# kubernetes
3637
# langchain-community
3738
# litellm
39+
# livekit-api
3840
# llama-index-core
3941
# python-socketio
4042
# toolbox-core
@@ -871,6 +873,18 @@ litellm==1.85.7
871873
# -c constraints-3.12.txt.stable.tmp
872874
# google-adk (pyproject.toml)
873875
# google-cloud-aiplatform
876+
livekit==1.1.14
877+
# via
878+
# -c constraints-3.12.txt.stable.tmp
879+
# google-adk (pyproject.toml)
880+
livekit-api==1.2.0
881+
# via
882+
# -c constraints-3.12.txt.stable.tmp
883+
# google-adk (pyproject.toml)
884+
livekit-protocol==1.1.22
885+
# via
886+
# -c constraints-3.12.txt.stable.tmp
887+
# livekit-api
874888
llama-index-core==0.14.23
875889
# via
876890
# -c constraints-3.12.txt.stable.tmp
@@ -994,6 +1008,7 @@ numpy==2.5.1
9941008
# via
9951009
# -c constraints-3.12.txt.stable.tmp
9961010
# langchain-community
1011+
# livekit
9971012
# llama-index-core
9981013
# pandas
9991014
# rouge-score
@@ -1183,6 +1198,7 @@ pathspec==1.1.1
11831198
pillow==12.3.0
11841199
# via
11851200
# -c constraints-3.12.txt.stable.tmp
1201+
# google-adk (pyproject.toml)
11861202
# llama-index-core
11871203
pip==26.1.2
11881204
# via
@@ -1279,6 +1295,9 @@ protobuf==6.33.6
12791295
# googleapis-common-protos
12801296
# grpc-google-iam-v1
12811297
# grpcio-status
1298+
# livekit
1299+
# livekit-api
1300+
# livekit-protocol
12821301
# opentelemetry-proto
12831302
# proto-plus
12841303
pyarrow==25.0.0
@@ -1355,6 +1374,7 @@ pyink==25.12.0
13551374
pyjwt==2.13.0
13561375
# via
13571376
# -c constraints-3.12.txt.stable.tmp
1377+
# livekit-api
13581378
# mcp
13591379
# oci
13601380
# redis
@@ -1765,6 +1785,12 @@ tqdm==4.69.0
17651785
# llama-index-core
17661786
# nltk
17671787
# openai
1788+
types-protobuf==7.34.1.20260816
1789+
# via
1790+
# -c constraints-3.12.txt.stable.tmp
1791+
# livekit
1792+
# livekit-api
1793+
# livekit-protocol
17681794
typing-extensions==4.16.0
17691795
# via
17701796
# -c constraints-3.12.txt.stable.tmp

constraints-3.13.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile pyproject.toml --all-extras --python-version 3.13 --no-emit-package google-adk --exclude-newer 2026-08-10 --index-url https://pypi.org/simple -o constraints-3.13.txt
2+
# uv pip compile pyproject.toml --all-extras --python-version 3.13 --no-emit-package google-adk --exclude-newer 2026-08-17 --index-url https://pypi.org/simple -o constraints-3.13.txt
33
a2a-sdk==1.1.1
44
# via
55
# -c constraints-3.13.txt.stable.tmp
@@ -17,6 +17,7 @@ aiofiles==25.1.0
1717
# via
1818
# -c constraints-3.13.txt.stable.tmp
1919
# daytona
20+
# livekit
2021
aiohappyeyeballs==2.7.1
2122
# via
2223
# -c constraints-3.13.txt.stable.tmp
@@ -35,6 +36,7 @@ aiohttp==3.14.1
3536
# kubernetes
3637
# langchain-community
3738
# litellm
39+
# livekit-api
3840
# llama-index-core
3941
# python-socketio
4042
# toolbox-core
@@ -863,6 +865,18 @@ litellm==1.85.7
863865
# -c constraints-3.13.txt.stable.tmp
864866
# google-adk (pyproject.toml)
865867
# google-cloud-aiplatform
868+
livekit==1.1.14
869+
# via
870+
# -c constraints-3.13.txt.stable.tmp
871+
# google-adk (pyproject.toml)
872+
livekit-api==1.2.0
873+
# via
874+
# -c constraints-3.13.txt.stable.tmp
875+
# google-adk (pyproject.toml)
876+
livekit-protocol==1.1.22
877+
# via
878+
# -c constraints-3.13.txt.stable.tmp
879+
# livekit-api
866880
llama-index-core==0.14.23
867881
# via
868882
# -c constraints-3.13.txt.stable.tmp
@@ -986,6 +1000,7 @@ numpy==2.5.1
9861000
# via
9871001
# -c constraints-3.13.txt.stable.tmp
9881002
# langchain-community
1003+
# livekit
9891004
# llama-index-core
9901005
# pandas
9911006
# rouge-score
@@ -1175,6 +1190,7 @@ pathspec==1.1.1
11751190
pillow==12.3.0
11761191
# via
11771192
# -c constraints-3.13.txt.stable.tmp
1193+
# google-adk (pyproject.toml)
11781194
# llama-index-core
11791195
pip==26.1.2
11801196
# via
@@ -1271,6 +1287,9 @@ protobuf==6.33.6
12711287
# googleapis-common-protos
12721288
# grpc-google-iam-v1
12731289
# grpcio-status
1290+
# livekit
1291+
# livekit-api
1292+
# livekit-protocol
12741293
# opentelemetry-proto
12751294
# proto-plus
12761295
pyarrow==25.0.0
@@ -1347,6 +1366,7 @@ pyink==25.12.0
13471366
pyjwt==2.13.0
13481367
# via
13491368
# -c constraints-3.13.txt.stable.tmp
1369+
# livekit-api
13501370
# mcp
13511371
# oci
13521372
# redis
@@ -1756,6 +1776,12 @@ tqdm==4.69.0
17561776
# llama-index-core
17571777
# nltk
17581778
# openai
1779+
types-protobuf==7.34.1.20260816
1780+
# via
1781+
# -c constraints-3.13.txt.stable.tmp
1782+
# livekit
1783+
# livekit-api
1784+
# livekit-protocol
17591785
typing-extensions==4.16.0
17601786
# via
17611787
# -c constraints-3.13.txt.stable.tmp

0 commit comments

Comments
 (0)