ha-mcp-dev 8.3.0.dev2411__tar.gz → 8.3.0.dev2413__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.
Files changed (279) hide show
  1. {ha_mcp_dev-8.3.0.dev2411/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.3.0.dev2413}/PKG-INFO +1 -1
  2. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/pyproject.toml +1 -1
  3. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/cs.json +1 -1
  4. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/de.json +1 -1
  5. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/eo.json +1 -1
  6. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/es.json +1 -1
  7. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/fr.json +1 -1
  8. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/it.json +1 -1
  9. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/ko.json +1 -1
  10. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/nl.json +1 -1
  11. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/pl.json +1 -1
  12. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/ru.json +1 -1
  13. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/sv.json +1 -1
  14. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/zh-Hans.json +1 -1
  15. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
  16. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/LICENSE +0 -0
  17. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/MANIFEST.in +0 -0
  18. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/README.md +0 -0
  19. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/setup.cfg +0 -0
  20. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/__init__.py +0 -0
  21. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/__main__.py +0 -0
  22. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_pypi_marker +0 -0
  23. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_rich_compat.py +0 -0
  24. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/__init__.py +0 -0
  25. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/requirements.txt +0 -0
  26. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  27. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  28. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  29. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  30. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  31. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  32. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  33. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  34. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  35. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  36. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  37. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  38. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  39. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  40. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  41. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  42. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  43. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  44. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  45. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  46. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  47. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  48. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  49. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  50. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  51. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  52. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  53. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  54. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  55. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  56. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  57. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  58. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  59. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  60. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  61. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  62. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  63. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  64. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  65. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  66. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  67. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  68. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  69. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  70. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  71. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  72. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  73. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  74. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  75. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  76. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  77. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  78. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  79. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  80. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  81. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  82. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/_version.py +0 -0
  83. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/auth/__init__.py +0 -0
  84. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/auth/consent_form.py +0 -0
  85. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/auth/oidc_compat.py +0 -0
  86. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/auth/provider.py +0 -0
  87. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/backup_manager.py +0 -0
  88. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/browser_landing.py +0 -0
  89. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/client/__init__.py +0 -0
  90. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/client/rest_client.py +0 -0
  91. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/client/supervisor_client.py +0 -0
  92. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/client/websocket_client.py +0 -0
  93. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/client/websocket_listener.py +0 -0
  94. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/config.py +0 -0
  95. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  96. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  97. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  98. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  99. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  100. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  101. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/errors.py +0 -0
  102. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  103. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/llm_exposure.py +0 -0
  104. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/__init__.py +0 -0
  105. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/approval_queue.py +0 -0
  106. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/editing.py +0 -0
  107. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/evaluator.py +0 -0
  108. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/handlers.py +0 -0
  109. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/middleware.py +0 -0
  110. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/model.py +0 -0
  111. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/persistence.py +0 -0
  112. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/policy/value_sources.py +0 -0
  113. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/py.typed +0 -0
  114. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/read_only.py +0 -0
  115. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/redaction.py +0 -0
  116. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/renamed_tools.py +0 -0
  117. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  118. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  119. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  120. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  121. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
  122. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  123. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  124. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  125. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  126. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  127. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  128. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  129. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  130. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  131. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  132. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  133. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  134. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  135. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  136. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  137. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  138. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  139. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  140. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  141. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  142. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/server.py +0 -0
  143. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/__init__.py +0 -0
  144. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  145. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  146. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  147. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  148. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  149. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  150. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  151. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  152. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  153. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_theme.py +0 -0
  154. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  155. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  156. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  157. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/settings.css +0 -0
  158. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/settings.html +0 -0
  159. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/settings_ui/settings.js +0 -0
  160. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/smoke_test.py +0 -0
  161. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  162. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/strict_bps.py +0 -0
  163. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/__init__.py +0 -0
  164. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/auto_backup.py +0 -0
  165. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/backup.py +0 -0
  166. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  167. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/best_practice_result.py +0 -0
  168. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  169. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/bulk_selector.py +0 -0
  170. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_api.py +0 -0
  171. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_config_entries.py +0 -0
  172. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_config_reads.py +0 -0
  173. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_devices.py +0 -0
  174. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_registries.py +0 -0
  175. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  176. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  177. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  178. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  179. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  180. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  181. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  182. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  183. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/device_control.py +0 -0
  184. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  185. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/hacs_registration.py +0 -0
  186. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/helpers.py +0 -0
  187. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  188. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/__init__.py +0 -0
  189. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/base.py +0 -0
  190. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/matter.py +0 -0
  191. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/thread.py +0 -0
  192. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  193. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/radio/zwave.py +0 -0
  194. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/reference_validator.py +0 -0
  195. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/registry.py +0 -0
  196. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  197. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  198. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  199. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  200. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  201. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  202. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  203. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  204. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  205. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  206. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  207. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_addons.py +0 -0
  208. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_areas.py +0 -0
  209. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  210. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  211. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  212. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_calendar.py +0 -0
  213. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_camera.py +0 -0
  214. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_categories.py +0 -0
  215. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_code.py +0 -0
  216. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  217. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  218. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  219. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  220. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  221. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  222. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_dev.py +0 -0
  223. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_energy.py +0 -0
  224. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_entities.py +0 -0
  225. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  226. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_groups.py +0 -0
  227. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_hacs.py +0 -0
  228. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_history.py +0 -0
  229. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_integrations.py +0 -0
  230. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_labels.py +0 -0
  231. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_radio.py +0 -0
  232. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_registry.py +0 -0
  233. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_resources.py +0 -0
  234. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_search.py +0 -0
  235. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  236. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_service.py +0 -0
  237. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_services.py +0 -0
  238. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_system.py +0 -0
  239. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_themes.py +0 -0
  240. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_todo.py +0 -0
  241. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_traces.py +0 -0
  242. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_updates.py +0 -0
  243. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_utility.py +0 -0
  244. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  245. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  246. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  247. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/tools_zones.py +0 -0
  248. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/util_helpers.py +0 -0
  249. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/tools/validation_middleware.py +0 -0
  250. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/transforms/__init__.py +0 -0
  251. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/transforms/categorized_search.py +0 -0
  252. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  253. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/transport_security.py +0 -0
  254. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/update_check.py +0 -0
  255. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/__init__.py +0 -0
  256. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/config_hash.py +0 -0
  257. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/config_write_lock.py +0 -0
  258. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/data_paths.py +0 -0
  259. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/domain_handlers.py +0 -0
  260. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/entity_membership.py +0 -0
  261. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  262. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  263. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/operation_manager.py +0 -0
  264. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/python_sandbox.py +0 -0
  265. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/skill_loader.py +0 -0
  266. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/utils/usage_logger.py +0 -0
  267. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/visibility/__init__.py +0 -0
  268. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/visibility/enforcement.py +0 -0
  269. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/visibility/model.py +0 -0
  270. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/visibility/persistence.py +0 -0
  271. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp/visibility/resolver.py +0 -0
  272. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  273. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  274. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  275. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  276. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  277. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/tests/__init__.py +0 -0
  278. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/tests/test_constants.py +0 -0
  279. {ha_mcp_dev-8.3.0.dev2411 → ha_mcp_dev-8.3.0.dev2413}/tests/test_env_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 8.3.0.dev2411
3
+ Version: 8.3.0.dev2413
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "8.3.0.dev2411"
7
+ version = "8.3.0.dev2413"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  # Upper bound widened to <3.15 so the package installs on Home Assistant's
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Smazat všechny zálohy odpovídající: {filters}?",
286
286
  "backup.bulk.deleted": "Smazáno {count} záloh",
287
287
  "filesystem.custom.title": "Vlastní adresáře souborového systému (pokročilé)",
288
- "filesystem.custom.help": "Další adresáře (jeden na řádek), do kterých mohou souborové nástroje <strong>číst a zapisovat</strong>. Podporovány jsou relativní cesty konfigurace a povolené sourozenecké svazky HAOS. Projeví se okamžitě.",
288
+ "filesystem.custom.help": "Další cesty (jedna na řádek), ke kterým mohou nástroje pro práci se soubory <strong>číst a zapisovat</strong>. Podporovány jsou relativní cesty ke konfiguraci a povolené vedlejší svazky HAOS. Každá položka umožňuje přístup k dané cestě a všemu pod ní; názvy souborů relativní ke konfiguraci, jako například <code>sensor.yaml</code>, lze zadat přímo. Projeví se okamžitě.",
289
289
  "filesystem.custom.blocked": "Vždy blokováno: {paths}, procházení cest (<code>..</code>) a absolutní cesty mimo povolené svazky HAOS.",
290
290
  "filesystem.custom.enable_first": "Povolte beta funkce a nástroje souborového systému výše pro úpravy.",
291
291
  "filesystem.custom.unavailable": "Vlastní adresáře jsou momentálně nedostupné.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Alle Backups löschen, die übereinstimmen: {filters}?",
286
286
  "backup.bulk.deleted": "Gelöschte Backups: {count}",
287
287
  "filesystem.custom.title": "Benutzerdefinierte Dateisystem-Verzeichnisse (erweitert)",
288
- "filesystem.custom.help": "Zusätzliche Verzeichnisse (eines pro Zeile), die Datei-Tools <strong>lesen und schreiben</strong> können. Relative Konfigurationspfade und erlaubte HAOS-Geschwister-Volumes werden unterstützt. Wirkt sofort.",
288
+ "filesystem.custom.help": "Zusätzliche Pfade (einer pro Zeile), die Dateitools <strong>lesen und schreiben</strong> dürfen. Relative Konfigurationspfade und erlaubte HAOS-Geschwistervolumen werden unterstützt. Jeder Eintrag erlaubt diesen Pfad und alles darunter; konfigurationsrelative Dateinamen wie <code>sensor.yaml</code> können direkt eingegeben werden. Gilt sofort.",
289
289
  "filesystem.custom.blocked": "Immer blockiert: {paths}, Pfad-Traversierung (<code>..</code>) und absolute Pfade außerhalb erlaubter HAOS-Volumes.",
290
290
  "filesystem.custom.enable_first": "Aktiviere zuerst Beta-Funktionen und Dateisystem-Tools oben zum Bearbeiten.",
291
291
  "filesystem.custom.unavailable": "Benutzerdefinierte Verzeichnisse sind derzeit nicht verfügbar.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Forigi ĉiujn sekurkopiojn kongruantajn: {filters}?",
286
286
  "backup.bulk.deleted": "Forigitaj {count} sekurkopio(j)n",
287
287
  "filesystem.custom.title": "Propraj dosiersistemaj dosierujoj (altnivela)",
288
- "filesystem.custom.help": "Ekstraj dosierujoj (unu po linio), kiujn dosieraj iloj povas <strong>legi kaj skribi</strong>. Relativaj agordaj vojoj kaj permesitaj HAOS-frataj volumoj estas subtenataj. Aplikiĝas tuj.",
288
+ "filesystem.custom.help": "Ekstraj vojoj (po unu en ĉiu linio) al kiuj dosieraj iloj rajtas <strong>legi kaj skribi</strong>. Relativaj agordaj vojoj kaj permesitaj frataj volumoj de HAOS estas subtenataj. Ĉiu eniro permesas tiun vojon kaj ĉion sub ĝi; agord-relativaj dosiernomoj, kiel <code>sensor.yaml</code>, povas esti enmetitaj rekte. Aplikiĝas tuj.",
289
289
  "filesystem.custom.blocked": "Ĉiam blokita: {paths}, trairo de vojo (<code>..</code>), kaj absolutaj vojoj ekster permesitaj HAOS-volumoj.",
290
290
  "filesystem.custom.enable_first": "Ebligu beta-funkciojn kaj dosiersistemajn ilojn supre por redakti.",
291
291
  "filesystem.custom.unavailable": "Propraj dosierujoj estas nuntempe neatingeblaj.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "¿Eliminar todas las copias de seguridad que coinciden con: {filters}?",
286
286
  "backup.bulk.deleted": "Se han eliminado {count} copia(s) de seguridad",
287
287
  "filesystem.custom.title": "Directorios de sistema de archivos personalizados (avanzado)",
288
- "filesystem.custom.help": "Directorios adicionales (uno por línea) en los que las herramientas de archivos pueden <strong>leer y escribir</strong>. Se admiten rutas relativas a la configuración y los volúmenes hermanos de HAOS permitidos. Se aplica de inmediato.",
288
+ "filesystem.custom.help": "Rutas adicionales (una por línea) que las herramientas de archivos pueden <strong>leer y escribir</strong>. Se admiten rutas de configuración relativas y volúmenes paralelos permitidos de HAOS. Cada entrada permite esa ruta y todo lo que esté por debajo; los nombres de archivo relativos a la configuración, como <code>sensor.yaml</code>, se pueden introducir directamente. Se aplica de inmediato.",
289
289
  "filesystem.custom.blocked": "Siempre bloqueados: {paths}, el recorrido de rutas (<code>..</code>) y las rutas absolutas fuera de los volúmenes de HAOS permitidos.",
290
290
  "filesystem.custom.enable_first": "Activa arriba las funciones beta y las herramientas de sistema de archivos para poder editar.",
291
291
  "filesystem.custom.unavailable": "Los directorios personalizados no están disponibles ahora mismo.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Supprimer toutes les sauvegardes correspondant à : {filters} ?",
286
286
  "backup.bulk.deleted": "{count} sauvegarde(s) supprimée(s)",
287
287
  "filesystem.custom.title": "Répertoires de système de fichiers personnalisés (avancé)",
288
- "filesystem.custom.help": "Répertoires supplémentaires (un par ligne) que les outils de fichiers peuvent <strong>lire et écrire</strong>. Les chemins de configuration relatifs et les volumes frères HAOS autorisés sont pris en charge. S'applique immédiatement.",
288
+ "filesystem.custom.help": "Chemins supplémentaires (un par ligne) que les outils de fichiers peuvent <strong>lire et écrire</strong>. Les chemins de configuration relatifs et les volumes frères HAOS autorisés sont pris en charge. Chaque entrée autorise ce chemin et tout ce qu'il contient ; les noms de fichiers relatifs à la configuration, tels que <code>sensor.yaml</code>, peuvent être saisis directement. S'applique immédiatement.",
289
289
  "filesystem.custom.blocked": "Toujours bloqués : {paths}, les traversées de chemin (<code>..</code>) et les chemins absolus en dehors des volumes HAOS autorisés.",
290
290
  "filesystem.custom.enable_first": "Activez d'abord les fonctionnalités bêta et les outils de système de fichiers ci-dessus pour modifier.",
291
291
  "filesystem.custom.unavailable": "Les répertoires personnalisés sont actuellement indisponibles.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Eliminare tutti i backup che corrispondono a: {filters}?",
286
286
  "backup.bulk.deleted": "Backup eliminati: {count}",
287
287
  "filesystem.custom.title": "Cartelle personalizzate del filesystem (avanzato)",
288
- "filesystem.custom.help": "Cartelle aggiuntive (una per riga) che gli strumenti per i file possono <strong>leggere e scrivere</strong>. Sono supportati i percorsi relativi alla configurazione e i volumi HAOS adiacenti consentiti. Ha effetto immediato.",
288
+ "filesystem.custom.help": "Percorsi aggiuntivi (uno per riga) che gli strumenti di file possono <strong>leggere e scrivere</strong>. Sono supportati i percorsi di configurazione relativi e i volumi aff Infatti HAOS consentiti. Ogni voce consente l'accesso a quel percorso e a tutto ciò che si trova al di sotto; i nomi di file relativi alla configurazione, come <code>sensor.yaml</code>, possono essere inseriti direttamente. Ha effetto immediato.",
289
289
  "filesystem.custom.blocked": "Sempre bloccati: {paths}, il path traversal (<code>..</code>) e i percorsi assoluti al di fuori dei volumi HAOS consentiti.",
290
290
  "filesystem.custom.enable_first": "Attiva le funzioni beta e gli strumenti per il filesystem qui sopra per poter modificare.",
291
291
  "filesystem.custom.unavailable": "Le cartelle personalizzate non sono al momento disponibili.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "다음 조건에 맞는 백업을 모두 삭제할까요? {filters}",
286
286
  "backup.bulk.deleted": "백업 {count}개를 삭제했습니다",
287
287
  "filesystem.custom.title": "사용자 지정 파일 시스템 디렉터리(고급)",
288
- "filesystem.custom.help": "파일 도구가 <strong>읽고 쓸 수 있는</strong> 추가 디렉터리입니다(한 줄에 하나). 설정 디렉터리 기준 상대 경로와 허용된 HAOS 형제 볼륨을 지원합니다. 즉시 적용됩니다.",
288
+ "filesystem.custom.help": "파일 도구가 <strong>읽고 쓸 수 있는</strong> 추가 경로입니다(줄당 하나). 상대 설정 경로 및 허용된 HAOS 상위 볼륨이 지원됩니다. 각 항목은 해당 경로 및 그 하위의 모든 항목을 허용하며, <code>sensor.yaml</code>과 같은 설정 상대 파일 이름을 직접 입력할 수 있습니다. 즉시 적용됩니다.",
289
289
  "filesystem.custom.blocked": "항상 차단됨: {paths}, 경로 탈출(<code>..</code>), 허용된 HAOS 볼륨 밖의 절대 경로.",
290
290
  "filesystem.custom.enable_first": "편집하려면 위에서 베타 기능과 파일 시스템 도구를 켜세요.",
291
291
  "filesystem.custom.unavailable": "현재 사용자 지정 디렉터리를 사용할 수 없습니다.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Alle backups verwijderen die overeenkomen met: {filters}?",
286
286
  "backup.bulk.deleted": "{count} backup(s) verwijderd",
287
287
  "filesystem.custom.title": "Aangepaste bestandssysteemmappen (geavanceerd)",
288
- "filesystem.custom.help": "Extra mappen (één per regel) die bestandstools mogen <strong>lezen en schrijven</strong>. Relatieve configuratiepaden en toegestane HAOS-siblingvolumes worden ondersteund. Wordt onmiddellijk toegepast.",
288
+ "filesystem.custom.help": "Extra paden (één per regel) die bestandstools mogen <strong>lezen en schrijven</strong>. Relatieve configuratiepaden en toegestane HAOS-sibling-volumes worden ondersteund. Elke invoer geeft toegang tot dat pad en alles daaronder; configuratie-gerelateerde bestandsnamen, zoals <code>sensor.yaml</code>, kunnen direct worden ingevoerd. Is direct van kracht.",
289
289
  "filesystem.custom.blocked": "Altijd geblokkeerd: {paths}, padtraversal (<code>..</code>), en absolute paden buiten toegestane HAOS-volumes.",
290
290
  "filesystem.custom.enable_first": "Schakel bètafuncties en bestandssysteemtools hierboven in om te bewerken.",
291
291
  "filesystem.custom.unavailable": "Aangepaste mappen zijn momenteel niet beschikbaar.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Usunąć wszystkie kopie zapasowe pasujące do: {filters}?",
286
286
  "backup.bulk.deleted": "Usunięto {count} kopii zapasowych",
287
287
  "filesystem.custom.title": "Niestandardowe katalogi systemu plików (zaawansowane)",
288
- "filesystem.custom.help": "Dodatkowe katalogi (jeden na linię), do których narzędzia plików mogą <strong>odczytywać i zapisywać</strong>. Obsługiwane są względne ścieżki konfiguracji i dozwolone woluminy równorzędne HAOS. Obowiązuje natychmiast.",
288
+ "filesystem.custom.help": "Dodatkowe ścieżki (po jednej w linii), do których narzędzia plikowe mogą <strong>mieć dostęp do odczytu i zapisu</strong>. Obsługiwane są względne ścieżki konfiguracji oraz dozwolone wolumeny pokrewne HAOS. Każdy wpis zezwala na tę ścieżkę oraz wszystko, co się w niej znajduje; nazwy plików względne dla konfiguracji, takie jak <code>sensor.yaml</code>, można wpisywać bezpośrednio. Wchodzi w życie natychmiast.",
289
289
  "filesystem.custom.blocked": "Zawsze blokowane: {paths}, przechodzenie po ścieżkach (<code>..</code>) oraz ścieżki bezwzględne poza dozwolonymi woluminami HAOS.",
290
290
  "filesystem.custom.enable_first": "Włącz funkcje beta i narzędzia systemu plików powyżej, aby edytować.",
291
291
  "filesystem.custom.unavailable": "Niestandardowe katalogi są obecnie niedostępne.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Удалить все копии, соответствующие фильтрам: {filters}?",
286
286
  "backup.bulk.deleted": "Удалено копий: {count}",
287
287
  "filesystem.custom.title": "Пользовательские каталоги файловой системы (расширенно)",
288
- "filesystem.custom.help": "Дополнительные каталоги, по одному в строке, которые файловые инструменты могут <strong>читать и изменять</strong>. Действует сразу.",
288
+ "filesystem.custom.help": "Дополнительные пути (по одному на строку), к которым инструменты работы с файлами могут <strong>получать доступ на чтение и запись</strong>. Поддерживаются относительные пути конфигурации и разрешенные смежные разделы HAOS. Каждая запись открывает доступ к указанному пути и всему, что находится внутри него; имена файлов относительно конфигурации, например <code>sensor.yaml</code>, можно вводить напрямую. Применяется немедленно.",
289
289
  "filesystem.custom.blocked": "Всегда заблокированы: {paths}, выход за пределы пути (<code>..</code>) и абсолютные пути вне разрешённых томов HAOS.",
290
290
  "filesystem.custom.enable_first": "Сначала включите бета-функции и инструменты файловой системы.",
291
291
  "filesystem.custom.unavailable": "Пользовательские каталоги сейчас недоступны.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "Ta bort alla säkerhetskopior som matchar: {filters}?",
286
286
  "backup.bulk.deleted": "Tog bort {count} säkerhetskopia(or)",
287
287
  "filesystem.custom.title": "Anpassade filsystemkataloger (avancerat)",
288
- "filesystem.custom.help": "Extra kataloger (en per rad) som filverktyg får <strong>läsa och skriva</strong>. Relativa konfigurationssökvägar och tillåtna HAOS-syskonvolymer stöds. Tillämpas omedelbart.",
288
+ "filesystem.custom.help": "Extra sökvägar (en per rad) som filverktyg får <strong>läsa och skriva</strong> till. Relativa konfigurationssökvägar och tillåtna tillhörande HAOS-volymer stöds. Varje post tillåter den sökvägen och allt under den; konfigurationsrelativa filnamn, som <code>sensor.yaml</code>, kan anges direkt. Gäller omedelbart.",
289
289
  "filesystem.custom.blocked": "Alltid blockerad: {paths}, sökvägsgenomgång (<code>..</code>), och absoluta sökvägar utanför tillåtna HAOS-volymer.",
290
290
  "filesystem.custom.enable_first": "Aktivera beta-funktioner och filsystemverktyg ovan för att redigera.",
291
291
  "filesystem.custom.unavailable": "Anpassade kataloger är för närvarande otillgängliga.",
@@ -285,7 +285,7 @@
285
285
  "backup.bulk.confirm": "删除所有匹配以下条件的备份:{filters}?",
286
286
  "backup.bulk.deleted": "已删除 {count} 个备份",
287
287
  "filesystem.custom.title": "自定义文件系统目录(高级)",
288
- "filesystem.custom.help": "文件工具可以<strong>读和写</strong>的额外目录(每行一个)。支持相对配置路径和允许的 HAOS 同级卷。立即生效。",
288
+ "filesystem.custom.help": "文件工具可<strong>读取和写入</strong>的额外路径(每行一个)。支持相对配置路径和允许的 HAOS 同级卷。每个条目允许访问该路径及其下的所有内容;可以直接输入配置相对文件名,例如 <code>sensor.yaml</code>。立即生效。",
289
289
  "filesystem.custom.blocked": "始终被阻止:{paths}、路径穿越(<code>..</code>)以及允许 HAOS 卷之外的绝对路径。",
290
290
  "filesystem.custom.enable_first": "请先在上方启用测试版功能和文件系统工具才能编辑。",
291
291
  "filesystem.custom.unavailable": "自定义目录当前不可用。",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 8.3.0.dev2411
3
+ Version: 8.3.0.dev2413
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT