homeassistant-stubs 2025.2.0b0__py3-none-any.whl → 2025.2.0b2__py3-none-any.whl

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.
@@ -10,3 +10,4 @@ CONNECTION_TEST_DATA: HassKey[dict[str, asyncio.Event]]
10
10
 
11
11
  class AssistSatelliteEntityFeature(IntFlag):
12
12
  ANNOUNCE = 1
13
+ START_CONVERSATION = 2
@@ -7,10 +7,11 @@ from abc import abstractmethod
7
7
  from collections.abc import AsyncIterable
8
8
  from dataclasses import dataclass
9
9
  from enum import StrEnum
10
- from homeassistant.components import media_source as media_source, stt as stt, tts as tts
10
+ from homeassistant.components import conversation as conversation, media_source as media_source, stt as stt, tts as tts
11
11
  from homeassistant.components.assist_pipeline import AudioSettings as AudioSettings, OPTION_PREFERRED as OPTION_PREFERRED, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineStage as PipelineStage, async_get_pipeline as async_get_pipeline, async_get_pipelines as async_get_pipelines, async_pipeline_from_audio_stream as async_pipeline_from_audio_stream, vad as vad
12
12
  from homeassistant.components.media_player import async_process_play_media_url as async_process_play_media_url
13
13
  from homeassistant.core import Context as Context, callback as callback
14
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
14
15
  from homeassistant.helpers import entity as entity
15
16
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
16
17
  from typing import Any, Final, Literal, final
@@ -55,6 +56,7 @@ class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
55
56
  _conversation_id_time: float | None
56
57
  _run_has_tts: bool
57
58
  _is_announcing: bool
59
+ _extra_system_prompt: str | None
58
60
  _wake_word_intercept_future: asyncio.Future[str | None] | None
59
61
  _attr_tts_options: dict[str, Any] | None
60
62
  _pipeline_task: asyncio.Task | None
@@ -76,6 +78,8 @@ class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
76
78
  async def async_intercept_wake_word(self) -> str | None: ...
77
79
  async def async_internal_announce(self, message: str | None = None, media_id: str | None = None) -> None: ...
78
80
  async def async_announce(self, announcement: AssistSatelliteAnnouncement) -> None: ...
81
+ async def async_internal_start_conversation(self, start_message: str | None = None, start_media_id: str | None = None, extra_system_prompt: str | None = None) -> None: ...
82
+ async def async_start_conversation(self, start_announcement: AssistSatelliteAnnouncement) -> None: ...
79
83
  async def async_accept_pipeline_from_satellite(self, audio_stream: AsyncIterable[bytes], start_stage: PipelineStage = ..., end_stage: PipelineStage = ..., wake_word_phrase: str | None = None) -> None: ...
80
84
  async def _cancel_running_pipeline(self) -> None: ...
81
85
  @abstractmethod
@@ -1,9 +1,9 @@
1
1
  from .agent import BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupAgentPlatformProtocol as BackupAgentPlatformProtocol, LocalBackupAgent as LocalBackupAgent
2
- from .manager import BackupManager, BackupManagerError as BackupManagerError, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, WrittenBackup as WrittenBackup
2
+ from .manager import BackupManager, BackupManagerError as BackupManagerError, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
3
3
  from .models import AddonInfo as AddonInfo, AgentBackup as AgentBackup, Folder as Folder
4
4
  from homeassistant.core import HomeAssistant, callback
5
5
 
6
- __all__ = ['AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupManagerError', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'NewBackup', 'RestoreBackupEvent', 'WrittenBackup', 'async_get_manager']
6
+ __all__ = ['AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupManagerError', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupState', 'WrittenBackup', 'async_get_manager']
7
7
 
8
8
  @callback
9
9
  def async_get_manager(hass: HomeAssistant) -> BackupManager: ...
@@ -13,6 +13,9 @@ class BackupAgentUnreachableError(BackupAgentError):
13
13
  error_code: str
14
14
  _message: str
15
15
 
16
+ class BackupNotFound(BackupAgentError):
17
+ error_code: str
18
+
16
19
  class BackupAgent(abc.ABC, metaclass=abc.ABCMeta):
17
20
  domain: str
18
21
  name: str
@@ -33,6 +36,8 @@ class BackupAgent(abc.ABC, metaclass=abc.ABCMeta):
33
36
  class LocalBackupAgent(BackupAgent, metaclass=abc.ABCMeta):
34
37
  @abc.abstractmethod
35
38
  def get_backup_path(self, backup_id: str) -> Path: ...
39
+ @abc.abstractmethod
40
+ def get_new_backup_path(self, backup: AgentBackup) -> Path: ...
36
41
 
37
42
  class BackupAgentPlatformProtocol(Protocol):
38
43
  async def async_get_backup_agents(self, hass: HomeAssistant, **kwargs: Any) -> list[BackupAgent]: ...
@@ -1,4 +1,4 @@
1
- from .agent import BackupAgent as BackupAgent, LocalBackupAgent as LocalBackupAgent
1
+ from .agent import BackupAgent as BackupAgent, BackupNotFound as BackupNotFound, LocalBackupAgent as LocalBackupAgent
2
2
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from .models import AgentBackup as AgentBackup
4
4
  from .util import read_backup as read_backup
@@ -17,14 +17,15 @@ class CoreLocalBackupAgent(LocalBackupAgent):
17
17
  unique_id: str
18
18
  _hass: Incomplete
19
19
  _backup_dir: Incomplete
20
- _backups: dict[str, AgentBackup]
20
+ _backups: dict[str, tuple[AgentBackup, Path]]
21
21
  _loaded_backups: bool
22
22
  def __init__(self, hass: HomeAssistant) -> None: ...
23
23
  async def _load_backups(self) -> None: ...
24
- def _read_backups(self) -> dict[str, AgentBackup]: ...
24
+ def _read_backups(self) -> dict[str, tuple[AgentBackup, Path]]: ...
25
25
  async def async_download_backup(self, backup_id: str, **kwargs: Any) -> AsyncIterator[bytes]: ...
26
26
  async def async_upload_backup(self, *, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], backup: AgentBackup, **kwargs: Any) -> None: ...
27
27
  async def async_list_backups(self, **kwargs: Any) -> list[AgentBackup]: ...
28
28
  async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup | None: ...
29
29
  def get_backup_path(self, backup_id: str) -> Path: ...
30
+ def get_new_backup_path(self, backup: AgentBackup) -> Path: ...
30
31
  async def async_delete_backup(self, backup_id: str, **kwargs: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.2.0b0
3
+ Version: 2025.2.0b2
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
6
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
@@ -18,7 +18,7 @@ Classifier: Topic :: Home Automation
18
18
  Classifier: Topic :: Software Development
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: <3.14,>=3.13
21
- Requires-Dist: homeassistant==2025.2.0b0
21
+ Requires-Dist: homeassistant==2025.2.0b2
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)
@@ -360,8 +360,8 @@ homeassistant-stubs/components/assist_pipeline/vad.pyi,sha256=SXT9aO_K4KHSwr0qyN
360
360
  homeassistant-stubs/components/assist_pipeline/websocket_api.pyi,sha256=koSTGGUVhuuxMk56tXRuEB4uRrNhEKfkYzIuie0G-rk,2401
361
361
  homeassistant-stubs/components/assist_satellite/__init__.pyi,sha256=bda61RsyxhxCbWoE_3KIdjxW42ur1hwBZlsbdW1_3aI,697
362
362
  homeassistant-stubs/components/assist_satellite/connection_test.pyi,sha256=n6GR9JSJPI4QQidvpAnjq70Wyv8eKjFMxnd-yyYl-kc,530
363
- homeassistant-stubs/components/assist_satellite/const.pyi,sha256=mcIx4crRylcE35mhOjMBbLlLPvVRrFYs49RWZt3VgAc,449
364
- homeassistant-stubs/components/assist_satellite/entity.pyi,sha256=rkCvP4QyYLrHUkwX7waXyQ1hrJ6i-tHoQsVVhuaxJWs,4179
363
+ homeassistant-stubs/components/assist_satellite/const.pyi,sha256=zxePYfB_Dl-090bOIkxzuwWVk_hdM7xNfaD7cM6V8FQ,476
364
+ homeassistant-stubs/components/assist_satellite/entity.pyi,sha256=uxHFkBzqB6lnjn4xYeaIF5c0pM3nTWTpgim3VOlLPX0,4607
365
365
  homeassistant-stubs/components/assist_satellite/errors.pyi,sha256=roq9cFMrbiJ4-OGqUVmD3SzW88R3CedlPADk_JX5MIU,183
366
366
  homeassistant-stubs/components/assist_satellite/intent.pyi,sha256=4-2OhqoBiHDXJj_DKXzSzrGHOSFvkYrFYakOwVS_FHc,561
367
367
  homeassistant-stubs/components/assist_satellite/websocket_api.pyi,sha256=C8uU0dRDbbnTrONT0zj27OrLs0h4oJ7n2f9lXkYhnEc,1362
@@ -411,9 +411,9 @@ homeassistant-stubs/components/axis/hub/config.pyi,sha256=XdvjJsdRPVG1rx8AXEwsCG
411
411
  homeassistant-stubs/components/axis/hub/entity_loader.pyi,sha256=XgpSlOIFJ1kZM4w9d53MqdtK3xgZxnlQRYOw0BIvIwE,971
412
412
  homeassistant-stubs/components/axis/hub/event_source.pyi,sha256=2MWGaVgI5mHf_gEO1ds6qaZYNx5vD5xMINhcjbBJK1o,1182
413
413
  homeassistant-stubs/components/axis/hub/hub.pyi,sha256=mulaCc4i9ZIxA8la7aIObtE4AJtjQBsKzr61mj_CMqU,1544
414
- homeassistant-stubs/components/backup/__init__.pyi,sha256=9TBIi32WURSTOB09hO80dvrPxni6kRhoWcsYaSjvWME,1250
415
- homeassistant-stubs/components/backup/agent.pyi,sha256=i1Geh-xIGSJYIIbEf-axYwiioaTxTby4jZGjk5pXRsU,1753
416
- homeassistant-stubs/components/backup/backup.pyi,sha256=4MTrHJFgFMv8i00HnkqejfgfSL_Yfg1hXypHPz_yYMQ,1567
414
+ homeassistant-stubs/components/backup/__init__.pyi,sha256=IV8yiUhMPagJ6I-IWKK1kTTMgQa004J33IPkIH3kcBQ,1314
415
+ homeassistant-stubs/components/backup/agent.pyi,sha256=DpkW5FNDAA9T9AbxAVQOdjUu_YvBfLFJiT2Mg3sZVCs,1906
416
+ homeassistant-stubs/components/backup/backup.pyi,sha256=QB50md9OqenXxY7MO5fdi6iHmQy4tXUI3T9ewCYdGW8,1695
417
417
  homeassistant-stubs/components/backup/config.pyi,sha256=byGi--EOmOm2ZwyygMm5AjFgyyM16GaCjwMVke3rF_I,5520
418
418
  homeassistant-stubs/components/backup/const.pyi,sha256=N3Hb5USpEK0tHJxtqdrgroGNitCuldDGckqVOVk2yX8,308
419
419
  homeassistant-stubs/components/backup/http.pyi,sha256=kDUEQMLnTwCH6vQNPkKxwHP9nRPF-LKtaT67lB_1f6g,1560
@@ -4018,7 +4018,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
4018
4018
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
4019
4019
  homeassistant-stubs/util/yaml/loader.pyi,sha256=9MJS3AZNCemqAEU41KVJox1f16OceP64SNXE1-Z37kU,4117
4020
4020
  homeassistant-stubs/util/yaml/objects.pyi,sha256=EmJiT8WnVUHa5dkbYzXtWzu5mhO1YG5bBnEAIF0XLAU,665
4021
- homeassistant_stubs-2025.2.0b0.dist-info/METADATA,sha256=RDxYdNYfbQFdQbsRLVD_xc8d-rMveEuv10E4r2xi5ds,2956
4022
- homeassistant_stubs-2025.2.0b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4023
- homeassistant_stubs-2025.2.0b0.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4024
- homeassistant_stubs-2025.2.0b0.dist-info/RECORD,,
4021
+ homeassistant_stubs-2025.2.0b2.dist-info/METADATA,sha256=oUW39X222lmdwONk8Yj33Q5sPqGROwlH7wcFixnve6U,2956
4022
+ homeassistant_stubs-2025.2.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4023
+ homeassistant_stubs-2025.2.0b2.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4024
+ homeassistant_stubs-2025.2.0b2.dist-info/RECORD,,