livekit-plugins-google 1.2.16__tar.gz → 1.2.17__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of livekit-plugins-google might be problematic. Click here for more details.

Files changed (19) hide show
  1. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/PKG-INFO +2 -2
  2. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/realtime/api_proto.py +1 -0
  3. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/realtime/realtime_api.py +14 -1
  4. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/version.py +1 -1
  5. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/pyproject.toml +1 -1
  6. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/.gitignore +0 -0
  7. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/README.md +0 -0
  8. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/__init__.py +0 -0
  9. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/beta/__init__.py +0 -0
  10. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/beta/gemini_tts.py +0 -0
  11. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/llm.py +0 -0
  12. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/log.py +0 -0
  13. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/models.py +0 -0
  14. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/py.typed +0 -0
  15. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/realtime/__init__.py +0 -0
  16. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/stt.py +0 -0
  17. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/tools.py +0 -0
  18. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/tts.py +0 -0
  19. {livekit_plugins_google-1.2.16 → livekit_plugins_google-1.2.17}/livekit/plugins/google/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: livekit-plugins-google
3
- Version: 1.2.16
3
+ Version: 1.2.17
4
4
  Summary: Agent Framework plugin for services from Google Cloud
5
5
  Project-URL: Documentation, https://docs.livekit.io
6
6
  Project-URL: Website, https://livekit.io/
@@ -22,7 +22,7 @@ Requires-Dist: google-auth<3,>=2
22
22
  Requires-Dist: google-cloud-speech<3,>=2
23
23
  Requires-Dist: google-cloud-texttospeech<3,>=2.27
24
24
  Requires-Dist: google-genai>=v1.23.0
25
- Requires-Dist: livekit-agents>=1.2.16
25
+ Requires-Dist: livekit-agents>=1.2.17
26
26
  Description-Content-Type: text/markdown
27
27
 
28
28
  # Google AI plugin for LiveKit Agents
@@ -10,6 +10,7 @@ LiveAPIModels = Literal[
10
10
  # models supported on Gemini API
11
11
  "gemini-2.0-flash-live-001",
12
12
  "gemini-live-2.5-flash-preview",
13
+ "gemini-live-2.5-flash-preview-native-audio-09-2025",
13
14
  "gemini-2.5-flash-native-audio-preview-09-2025",
14
15
  "gemini-2.5-flash-preview-native-audio-dialog",
15
16
  "gemini-2.5-flash-exp-native-audio-thinking-dialog",
@@ -80,6 +80,7 @@ class _RealtimeOptions:
80
80
  tool_behavior: NotGivenOr[types.Behavior] = NOT_GIVEN
81
81
  tool_response_scheduling: NotGivenOr[types.FunctionResponseScheduling] = NOT_GIVEN
82
82
  thinking_config: NotGivenOr[types.ThinkingConfig] = NOT_GIVEN
83
+ session_resumption: NotGivenOr[types.SessionResumptionConfig] = NOT_GIVEN
83
84
 
84
85
 
85
86
  @dataclass
@@ -142,6 +143,7 @@ class RealtimeModel(llm.RealtimeModel):
142
143
  context_window_compression: NotGivenOr[types.ContextWindowCompressionConfig] = NOT_GIVEN,
143
144
  tool_behavior: NotGivenOr[types.Behavior] = NOT_GIVEN,
144
145
  tool_response_scheduling: NotGivenOr[types.FunctionResponseScheduling] = NOT_GIVEN,
146
+ session_resumption: NotGivenOr[types.SessionResumptionConfig] = NOT_GIVEN,
145
147
  api_version: NotGivenOr[str] = NOT_GIVEN,
146
148
  conn_options: APIConnectOptions = DEFAULT_API_CONNECT_OPTIONS,
147
149
  http_options: NotGivenOr[types.HttpOptions] = NOT_GIVEN,
@@ -183,6 +185,7 @@ class RealtimeModel(llm.RealtimeModel):
183
185
  context_window_compression (ContextWindowCompressionConfig, optional): The configuration for context window compression. Defaults to None.
184
186
  tool_behavior (Behavior, optional): The behavior for tool call. Default behavior is BLOCK in Gemini Realtime API.
185
187
  tool_response_scheduling (FunctionResponseScheduling, optional): The scheduling for tool response. Default scheduling is WHEN_IDLE.
188
+ session_resumption (SessionResumptionConfig, optional): The configuration for session resumption. Defaults to None.
186
189
  thinking_config (ThinkingConfig, optional): Native audio thinking configuration.
187
190
  conn_options (APIConnectOptions, optional): The configuration for the API connection. Defaults to DEFAULT_API_CONNECT_OPTIONS.
188
191
  _gemini_tools (list[LLMTool], optional): Gemini-specific tools to use for the session. This parameter is experimental and may change.
@@ -283,6 +286,7 @@ class RealtimeModel(llm.RealtimeModel):
283
286
  conn_options=conn_options,
284
287
  http_options=http_options,
285
288
  thinking_config=thinking_config,
289
+ session_resumption=session_resumption,
286
290
  )
287
291
 
288
292
  self._sessions = weakref.WeakSet[RealtimeSession]()
@@ -387,7 +391,12 @@ class RealtimeSession(llm.RealtimeSession):
387
391
  self._response_created_futures: dict[str, asyncio.Future[llm.GenerationCreatedEvent]] = {}
388
392
  self._pending_generation_fut: asyncio.Future[llm.GenerationCreatedEvent] | None = None
389
393
 
390
- self._session_resumption_handle: str | None = None
394
+ self._session_resumption_handle: str | None = (
395
+ self._opts.session_resumption.handle
396
+ if is_given(self._opts.session_resumption)
397
+ else None
398
+ )
399
+
391
400
  self._in_user_activity = False
392
401
  self._session_lock = asyncio.Lock()
393
402
  self._num_retries = 0
@@ -515,6 +524,10 @@ class RealtimeSession(llm.RealtimeSession):
515
524
  return True
516
525
  return False
517
526
 
527
+ @property
528
+ def session_resumption_handle(self) -> str | None:
529
+ return self._session_resumption_handle
530
+
518
531
  def push_audio(self, frame: rtc.AudioFrame) -> None:
519
532
  for f in self._resample_audio(frame):
520
533
  for nf in self._bstream.write(f.data.tobytes()):
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = "1.2.16"
15
+ __version__ = "1.2.17"
@@ -27,7 +27,7 @@ dependencies = [
27
27
  "google-cloud-speech >= 2, < 3",
28
28
  "google-cloud-texttospeech >= 2.27, < 3",
29
29
  "google-genai >= v1.23.0",
30
- "livekit-agents>=1.2.16",
30
+ "livekit-agents>=1.2.17",
31
31
  ]
32
32
 
33
33
  [project.urls]