ha-mcp-dev 8.5.0.dev2696__tar.gz → 8.5.0.dev2701__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 (731) hide show
  1. {ha_mcp_dev-8.5.0.dev2696/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.5.0.dev2701}/PKG-INFO +1 -1
  2. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/pyproject.toml +1 -1
  3. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/cs.json +3 -3
  4. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/de.json +3 -3
  5. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/eo.json +3 -3
  6. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/es.json +3 -3
  7. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/fr.json +3 -3
  8. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/it.json +3 -3
  9. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/ko.json +3 -3
  10. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/nl.json +3 -3
  11. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/pl.json +3 -3
  12. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/ru.json +3 -3
  13. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/sv.json +3 -3
  14. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/zh-Hans.json +3 -3
  15. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/zh-Hant.json +3 -3
  16. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_entities.py +116 -9
  17. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
  18. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/LICENSE +0 -0
  19. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/MANIFEST.in +0 -0
  20. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/README.md +0 -0
  21. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/setup.cfg +0 -0
  22. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/__init__.py +0 -0
  23. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/__main__.py +0 -0
  24. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_pypi_marker +0 -0
  25. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_rich_compat.py +0 -0
  26. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/__init__.py +0 -0
  27. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  28. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
  29. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
  30. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
  31. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
  32. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  33. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  34. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  35. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  36. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
  37. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  38. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  39. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
  40. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
  41. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  42. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
  43. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  44. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  45. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
  46. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  47. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  48. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
  49. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
  50. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  51. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  52. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  53. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  54. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  55. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  56. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  57. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
  58. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  59. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
  60. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  61. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
  62. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
  63. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  64. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
  65. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  66. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
  67. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
  68. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  69. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
  70. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  71. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  72. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  73. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  74. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  75. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
  76. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  77. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  78. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  79. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
  80. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  81. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  82. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  83. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  84. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  85. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  86. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  87. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
  88. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  89. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  90. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  91. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  92. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  93. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  94. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  95. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  96. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  97. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  98. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  99. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
  100. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  101. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  102. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  103. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  104. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  105. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  106. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  107. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  108. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  109. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  110. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
  111. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  112. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
  113. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  114. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  115. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  116. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  117. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  118. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  119. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  120. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  121. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  122. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  123. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
  124. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  125. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  126. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
  127. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
  128. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  129. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  130. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
  131. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  132. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  133. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
  134. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
  135. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  136. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  137. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
  138. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  139. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  140. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
  141. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  142. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  143. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
  144. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  145. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  146. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  147. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
  148. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
  149. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  150. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
  151. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  152. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  153. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  154. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
  155. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  156. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  157. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
  158. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  159. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  160. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
  161. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  162. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  163. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
  164. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
  165. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  166. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  167. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  168. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  169. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  170. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
  171. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  172. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
  173. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  174. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  175. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
  176. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
  177. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
  178. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  179. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
  180. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
  181. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  182. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
  183. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  184. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  185. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  186. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  187. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
  188. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  189. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  190. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  191. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
  192. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
  193. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  194. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
  195. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  196. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
  197. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  198. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
  199. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  200. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
  201. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
  202. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
  203. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
  204. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
  205. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
  206. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  207. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  208. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
  209. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
  210. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
  211. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  212. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  213. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  214. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
  215. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
  216. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  217. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  218. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
  219. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
  220. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  221. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
  222. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  223. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
  224. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
  225. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  226. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
  227. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
  228. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  229. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  230. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  231. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  232. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  233. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  234. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
  235. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
  236. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  237. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
  238. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
  239. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
  240. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  241. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
  242. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  243. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
  244. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  245. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  246. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  247. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
  248. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
  249. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
  250. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  251. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  252. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  253. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
  254. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
  255. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  256. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
  257. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
  258. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
  259. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  260. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  261. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
  262. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
  263. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
  264. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  265. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  266. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  267. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  268. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  269. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  270. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  271. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  272. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  273. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  274. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  275. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  276. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  277. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  278. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  279. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
  280. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  281. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  282. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  283. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  284. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
  285. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  286. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  287. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  288. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  289. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
  290. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  291. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  292. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
  293. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  294. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
  295. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  296. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  297. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
  298. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
  299. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
  300. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  301. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  302. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
  303. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
  304. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  305. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  306. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  307. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  308. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  309. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  310. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  311. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  312. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  313. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  314. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
  315. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
  316. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  317. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  318. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
  319. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  320. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  321. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
  322. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
  323. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  324. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
  325. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
  326. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  327. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  328. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  329. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  330. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  331. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  332. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  333. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  334. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  335. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  336. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
  337. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  338. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  339. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  340. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  341. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  342. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  343. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
  344. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  345. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
  346. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  347. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  348. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  349. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  350. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  351. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  352. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  353. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  354. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  355. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  356. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  357. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  358. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  359. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  360. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  361. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  362. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
  363. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  364. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
  365. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  366. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  367. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  368. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  369. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  370. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  371. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  372. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  373. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  374. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  375. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
  376. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  377. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
  378. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  379. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  380. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  381. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  382. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  383. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  384. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  385. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  386. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  387. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  388. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  389. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  390. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  391. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  392. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
  393. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  394. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  395. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  396. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  397. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  398. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  399. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
  400. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  401. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  402. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  403. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  404. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  405. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
  406. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
  407. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  408. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  409. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  410. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
  411. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  412. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  413. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  414. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  415. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  416. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  417. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  418. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  419. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  420. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  421. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  422. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  423. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  424. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  425. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
  426. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  427. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
  428. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  429. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  430. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  431. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  432. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  433. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  434. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  435. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  436. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  437. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/requirements.txt +0 -0
  438. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  439. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  440. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  441. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  442. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  443. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  444. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  445. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  446. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  447. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  448. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  449. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  450. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  451. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  452. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  453. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  454. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  455. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  456. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  457. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  458. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  459. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  460. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  461. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  462. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  463. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  464. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  465. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  466. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  467. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  468. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  469. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  470. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  471. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  472. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  473. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  474. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  475. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  476. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  477. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  478. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  479. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  480. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  481. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  482. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  483. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  484. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  485. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  486. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  487. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  488. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  489. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  490. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  491. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  492. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  493. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  494. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/_version.py +0 -0
  495. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/auth/__init__.py +0 -0
  496. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/auth/consent_form.py +0 -0
  497. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/auth/oidc_compat.py +0 -0
  498. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/auth/provider.py +0 -0
  499. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/backup_manager.py +0 -0
  500. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/browser_landing.py +0 -0
  501. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/client/__init__.py +0 -0
  502. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/client/rest_client.py +0 -0
  503. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/client/supervisor_client.py +0 -0
  504. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/client/websocket_client.py +0 -0
  505. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/client/websocket_listener.py +0 -0
  506. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/config.py +0 -0
  507. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  508. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  509. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  510. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  511. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  512. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  513. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/errors.py +0 -0
  514. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/ha_request_queue.py +0 -0
  515. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  516. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/http_transport.py +0 -0
  517. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/llm_exposure.py +0 -0
  518. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/log_filters.py +0 -0
  519. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/__init__.py +0 -0
  520. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/approval_queue.py +0 -0
  521. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/editing.py +0 -0
  522. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/evaluator.py +0 -0
  523. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/handlers.py +0 -0
  524. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/middleware.py +0 -0
  525. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/model.py +0 -0
  526. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/persistence.py +0 -0
  527. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/policy/value_sources.py +0 -0
  528. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/py.typed +0 -0
  529. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/read_only.py +0 -0
  530. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/redaction.py +0 -0
  531. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/renamed_tools.py +0 -0
  532. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  533. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  534. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  535. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  536. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
  537. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  538. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  539. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  540. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  541. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  542. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
  543. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
  544. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
  545. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
  546. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
  547. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
  548. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
  549. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
  550. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
  551. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
  552. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
  553. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
  554. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
  555. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
  556. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
  557. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
  558. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  559. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  560. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  561. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  562. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  563. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  564. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  565. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  566. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  567. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  568. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  569. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  570. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  571. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  572. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  573. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/server.py +0 -0
  574. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/__init__.py +0 -0
  575. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  576. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  577. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  578. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  579. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  580. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  581. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  582. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  583. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  584. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  585. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_theme.py +0 -0
  586. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  587. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  588. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  589. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  590. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/settings.css +0 -0
  591. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/settings.html +0 -0
  592. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/settings_ui/settings.js +0 -0
  593. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/smoke_test.py +0 -0
  594. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  595. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/strict_bps.py +0 -0
  596. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tool_dispatch.py +0 -0
  597. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/__init__.py +0 -0
  598. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/auto_backup.py +0 -0
  599. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/backup.py +0 -0
  600. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  601. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/best_practice_result.py +0 -0
  602. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  603. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  604. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  605. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/blueprint_write.py +0 -0
  606. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/bulk_selector.py +0 -0
  607. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_api.py +0 -0
  608. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_config_entries.py +0 -0
  609. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_config_reads.py +0 -0
  610. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  611. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_devices.py +0 -0
  612. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_registries.py +0 -0
  613. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  614. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  615. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  616. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  617. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  618. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  619. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  620. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  621. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  622. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/device_control.py +0 -0
  623. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/entity_registration.py +0 -0
  624. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  625. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/hacs_registration.py +0 -0
  626. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/helpers.py +0 -0
  627. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  628. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/log_common.py +0 -0
  629. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/log_sources.py +0 -0
  630. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  631. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  632. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/__init__.py +0 -0
  633. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/base.py +0 -0
  634. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/matter.py +0 -0
  635. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/thread.py +0 -0
  636. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  637. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/radio/zwave.py +0 -0
  638. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/reference_validator.py +0 -0
  639. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/registry.py +0 -0
  640. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  641. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/scene_discovery.py +0 -0
  642. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  643. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  644. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  645. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  646. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  647. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  648. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  649. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  650. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  651. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  652. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  653. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_addons.py +0 -0
  654. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_areas.py +0 -0
  655. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  656. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  657. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  658. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_calendar.py +0 -0
  659. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_camera.py +0 -0
  660. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_categories.py +0 -0
  661. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_code.py +0 -0
  662. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  663. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  664. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  665. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  666. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  667. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  668. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_dev.py +0 -0
  669. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_energy.py +0 -0
  670. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  671. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_groups.py +0 -0
  672. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_hacs.py +0 -0
  673. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_history.py +0 -0
  674. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_integrations.py +0 -0
  675. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_labels.py +0 -0
  676. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_logs.py +0 -0
  677. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_radio.py +0 -0
  678. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_registry.py +0 -0
  679. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_resources.py +0 -0
  680. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_search.py +0 -0
  681. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  682. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_service.py +0 -0
  683. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_services.py +0 -0
  684. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_system.py +0 -0
  685. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_themes.py +0 -0
  686. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_todo.py +0 -0
  687. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_traces.py +0 -0
  688. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_updates.py +0 -0
  689. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_utility.py +0 -0
  690. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  691. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  692. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  693. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/tools_zones.py +0 -0
  694. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/util_helpers.py +0 -0
  695. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/tools/validation_middleware.py +0 -0
  696. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transforms/__init__.py +0 -0
  697. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transforms/categorized_search.py +0 -0
  698. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transforms/component_search.py +0 -0
  699. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  700. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  701. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/transport_security.py +0 -0
  702. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/update_check.py +0 -0
  703. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/__init__.py +0 -0
  704. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/config_hash.py +0 -0
  705. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/config_write_lock.py +0 -0
  706. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  707. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/data_paths.py +0 -0
  708. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  709. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/domain_handlers.py +0 -0
  710. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/entity_membership.py +0 -0
  711. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  712. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  713. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  714. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/operation_manager.py +0 -0
  715. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/python_sandbox.py +0 -0
  716. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  717. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/skill_loader.py +0 -0
  718. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/utils/usage_logger.py +0 -0
  719. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/visibility/__init__.py +0 -0
  720. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/visibility/enforcement.py +0 -0
  721. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/visibility/model.py +0 -0
  722. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/visibility/persistence.py +0 -0
  723. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp/visibility/resolver.py +0 -0
  724. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  725. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  726. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  727. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  728. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  729. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/tests/__init__.py +0 -0
  730. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/tests/test_constants.py +0 -0
  731. {ha_mcp_dev-8.5.0.dev2696 → ha_mcp_dev-8.5.0.dev2701}/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.5.0.dev2696
3
+ Version: 8.5.0.dev2701
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.5.0.dev2696"
7
+ version = "8.5.0.dev2701"
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
@@ -542,8 +542,8 @@
542
542
  "description": "Získat informace o štítku – vypsat všechny štítky nebo získat konkrétní podle ID."
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "Získat konfiguraci scény",
546
- "description": "Načíst konfiguraci scény Home Assistant."
545
+ "title": "Získat nebo najít scény",
546
+ "description": "Získejte kompletní konfiguraci scény nebo vyhledejte a seznamte scény bez scene_id."
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "Získat konfiguraci skriptu",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "Vytvořit nebo aktualizovat událost kalendáře",
602
- "description": "Vytvořit novou událost v kalendáři."
602
+ "description": "Vytvořte novou událost v kalendáři nebo aktualizujte stávající."
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "Vytvořit nebo aktualizovat kategorii",
@@ -573,8 +573,8 @@
573
573
  "description": "Zeigt Labels oder Details zu einem bestimmten Label."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "Szene abrufen",
577
- "description": "Ruft die Konfiguration einer Home-Assistant-Szene ab."
576
+ "title": "Szenen abrufen oder finden",
577
+ "description": "Vollständige Konfiguration einer Szene abrufen oder Szenen ohne scene_id auflisten und durchsuchen."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "Skript abrufen",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "Kalenderereignis erstellen/aktualisieren",
633
- "description": "Erstellt ein neues oder aktualisiert ein bestehendes Kalenderereignis."
633
+ "description": "Ein neues Ereignis in einem Kalender erstellen oder ein bestehendes aktualisieren."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "Kategorie erstellen/aktualisieren",
@@ -542,8 +542,8 @@
542
542
  "description": "Akiru etikedan informon - listigu ĉiujn etikedojn aŭ akiru specifan per ID."
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "Akiri Scenan Agordon",
546
- "description": "Reakiru agordon de sceno de Home Assistant."
545
+ "title": "Ricevi aŭ trovi scenojn",
546
+ "description": "Ricevi la kompletan agordon de sceno, aŭ listigi kaj serĉi scenojn sen scene_id."
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "Akiri Skriptan Agordon",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "Krei aŭ Ĝisdatigi Kalendaran Eventon",
602
- "description": "Kreu novan eventon en kalendaro."
602
+ "description": "Krei novan eventon en kalendaro, aŭ ĝisdatigi ekzistantan."
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "Krei aŭ Ĝisdatigi Kategorion",
@@ -573,8 +573,8 @@
573
573
  "description": "Lista todas las etiquetas u obtiene una concreta por su ID."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "Obtener configuración de escena",
577
- "description": "Consulta la configuración de una escena de Home Assistant."
576
+ "title": "Obtener o buscar escenas",
577
+ "description": "Obtiene la configuración completa de una escena, o lista y busca escenas sin scene_id."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "Obtener configuración de script",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "Crear o actualizar evento de calendario",
633
- "description": "Crea un evento nuevo en un calendario."
633
+ "description": "Crea un nuevo evento en un calendario o actualiza uno existente."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "Crear o actualizar categoría",
@@ -573,8 +573,8 @@
573
573
  "description": "Affiche les étiquettes ou les détails d'une étiquette spécifique."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "Obtenir la scène",
577
- "description": "Récupère la configuration d'une scène Home Assistant."
576
+ "title": "Obtenir ou rechercher des scènes",
577
+ "description": "Obtenir la configuration complète d'une scène, ou lister et rechercher des scènes sans scene_id."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "Obtenir le script",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "Créer/mettre à jour un événement du calendrier",
633
- "description": "Crée un nouvel événement ou met à jour un événement de calendrier existant."
633
+ "description": "Créer un nouvel événement dans un calendrier ou mettre à jour un événement existant."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "Créer/mettre à jour la catégorie",
@@ -573,8 +573,8 @@
573
573
  "description": "Ottiene informazioni sulle etichette: le elenca tutte o ne restituisce una specifica per ID."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "Ottieni la configurazione di una scena",
577
- "description": "Recupera la configurazione di una scena di Home Assistant."
576
+ "title": "Ottieni o trova scene",
577
+ "description": "Ottieni la configurazione completa di una scena, oppure elenca e cerca scene senza scene_id."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "Ottieni la configurazione di uno script",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "Crea o aggiorna un evento del calendario",
633
- "description": "Crea un nuovo evento in un calendario."
633
+ "description": "Crea un nuovo evento in un calendario o aggiorna uno esistente."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "Crea o aggiorna una categoria",
@@ -573,8 +573,8 @@
573
573
  "description": "라벨 정보를 가져옵니다. 전체 라벨을 나열하거나 ID로 하나를 확인합니다."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "장면 설정 조회",
577
- "description": "Home Assistant 장면 설정을 가져옵니다."
576
+ "title": "장면 가져오기 또는 찾기",
577
+ "description": "장면의 전체 구성을 가져오거나, scene_id 없이 장면을 나열하고 검색합니다."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "스크립트 설정 조회",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "캘린더 일정 생성·수정",
633
- "description": "캘린더에 새 일정을 만듭니다."
633
+ "description": "캘린더에 새 일정을 만들거나 기존 일정을 업데이트합니다."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "카테고리 생성·수정",
@@ -542,8 +542,8 @@
542
542
  "description": "Haal labelinformatie op - lijst alle labels of haal een specifieke op via ID."
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "Haal Scène Config op",
546
- "description": "Haal de Home Assistant-scèneconfiguratie op."
545
+ "title": "Scènes ophalen of zoeken",
546
+ "description": "Haal de volledige configuratie van een scène op, of lijst en zoek scènes zonder scene_id."
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "Haal Script Config op",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "Maak of Werk Kalendergebeurtenis bij",
602
- "description": "Maak een nieuwe gebeurtenis in een kalender."
602
+ "description": "Maak een nieuwe gebeurtenis aan in een kalender of werk een bestaande bij."
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "Maak of Werk Categorie bij",
@@ -542,8 +542,8 @@
542
542
  "description": "Pobierz informacje o etykiecie - wyświetl wszystkie etykiety lub pobierz konkretną po ID."
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "Pobierz konfigurację sceny",
546
- "description": "Pobierz konfigurację sceny Home Assistant."
545
+ "title": "Pobierz lub znajdź sceny",
546
+ "description": "Pobierz pełną konfigurację sceny lub wyświetl listę i wyszukaj sceny bez użycia scene_id."
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "Pobierz konfigurację skryptu",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "Utwórz lub zaktualizuj wydarzenie w kalendarzu",
602
- "description": "Utwórz nowe wydarzenie w kalendarzu."
602
+ "description": "Utwórz nowe wydarzenie w kalendarzu lub zaktualizuj istniejące."
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "Utwórz lub zaktualizuj kategorię",
@@ -573,8 +573,8 @@
573
573
  "description": "Показать метки или сведения о конкретной метке."
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "Получить сцену",
577
- "description": "Получить конфигурацию сцены Home Assistant."
576
+ "title": "Получить или найти сцены",
577
+ "description": "Получить полную конфигурацию сцены либо получить список и выполнить поиск сцен без использования scene_id."
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "Получить скрипт",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "Создать или изменить событие",
633
- "description": "Создать новое или обновить событие календаря."
633
+ "description": "Создать новое событие в календаре или обновить существующее."
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "Создать или изменить категорию",
@@ -542,8 +542,8 @@
542
542
  "description": "Hämta etikettinformation - lista alla etiketter eller hämta en specifik med ID."
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "Hämta Scenkonfiguration",
546
- "description": "Hämta Home Assistant-scenkonfiguration."
545
+ "title": "Hämta eller hitta scener",
546
+ "description": "Hämta en scens kompletta konfiguration, eller lista och sök efter scener utan scene_id."
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "Hämta Skriptkonfiguration",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "Skapa eller Uppdatera Kalenderhändelse",
602
- "description": "Skapa en ny händelse i en kalender."
602
+ "description": "Skapa en ny händelse i en kalender eller uppdatera en befintlig."
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "Skapa eller Uppdatera Kategori",
@@ -573,8 +573,8 @@
573
573
  "description": "获取标签信息——列出所有标签或按 ID 查看特定标签。"
574
574
  },
575
575
  "ha_config_get_scene": {
576
- "title": "获取场景配置",
577
- "description": "获取 Home Assistant 场景配置。"
576
+ "title": "获取或查找场景",
577
+ "description": "获取场景的完整配置,或者在不提供 scene_id 的情况下列出并搜索场景。"
578
578
  },
579
579
  "ha_config_get_script": {
580
580
  "title": "获取脚本配置",
@@ -630,7 +630,7 @@
630
630
  },
631
631
  "ha_config_set_calendar_event": {
632
632
  "title": "创建或更新日历事件",
633
- "description": "在日历中创建新事件。"
633
+ "description": "在日历中创建新事件,或更新现有事件。"
634
634
  },
635
635
  "ha_config_set_category": {
636
636
  "title": "创建或更新类别",
@@ -542,8 +542,8 @@
542
542
  "description": "取得標籤資訊 - 列出所有標籤,或透過 ID 取得特定標籤。"
543
543
  },
544
544
  "ha_config_get_scene": {
545
- "title": "取得場景設定",
546
- "description": "擷取 Home Assistant 場景設定。"
545
+ "title": "取得或尋找場景",
546
+ "description": "取得場景的完整設定,或在沒有 scene_id 的情況下列出並搜尋場景。"
547
547
  },
548
548
  "ha_config_get_script": {
549
549
  "title": "取得腳本設定",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ha_config_set_calendar_event": {
601
601
  "title": "建立或更新行事曆事件",
602
- "description": "在行事曆中建立新事件。"
602
+ "description": "在行事曆中建立新事件,或更新現有事件。"
603
603
  },
604
604
  "ha_config_set_category": {
605
605
  "title": "建立或更新分類",
@@ -6,6 +6,7 @@ via the Home Assistant entity registry API.
6
6
  """
7
7
 
8
8
  import asyncio
9
+ import json
9
10
  import logging
10
11
  import re
11
12
  from typing import Annotated, Any, Literal
@@ -279,7 +280,7 @@ def _build_state_tag_fields(
279
280
  updates_made: list[str],
280
281
  enabled: bool | None,
281
282
  hidden: bool | None,
282
- parsed_aliases: list[str] | None,
283
+ parsed_aliases: list[str | None] | None,
283
284
  parsed_categories: dict[str, str | None] | None,
284
285
  final_labels: list[str] | None,
285
286
  label_operation: str,
@@ -429,6 +430,40 @@ def _parse_string_list_field(
429
430
  return None
430
431
 
431
432
 
433
+ def _parse_aliases_param(
434
+ aliases: str | list[str | None] | None,
435
+ ) -> list[str | None] | None:
436
+ """Parse aliases, keeping ``null`` entries.
437
+
438
+ HA stores the entity's own (computed) name as a ``null`` entry in
439
+ ``aliases`` (issue #2495); it must survive the round trip.
440
+ """
441
+ if aliases is None:
442
+ return None
443
+ parsed: Any = aliases
444
+ if isinstance(aliases, str):
445
+ try:
446
+ parsed = json.loads(aliases)
447
+ except (json.JSONDecodeError, RecursionError) as e:
448
+ raise_tool_error(
449
+ create_error_response(
450
+ ErrorCode.VALIDATION_INVALID_PARAMETER,
451
+ f"Invalid aliases parameter: Invalid JSON in aliases: {e}",
452
+ )
453
+ )
454
+ if not isinstance(parsed, list) or not all(
455
+ item is None or isinstance(item, str) for item in parsed
456
+ ):
457
+ raise_tool_error(
458
+ create_error_response(
459
+ ErrorCode.VALIDATION_INVALID_PARAMETER,
460
+ "Invalid aliases parameter: aliases must be a JSON array of "
461
+ "strings (null entries stand for the entity's own name)",
462
+ )
463
+ )
464
+ return parsed
465
+
466
+
432
467
  def _parse_categories_param(
433
468
  categories: dict[str, str | None] | None,
434
469
  ) -> dict[str, str | None] | None:
@@ -560,6 +595,52 @@ class EntityTools:
560
595
  return None, _extract_ws_error(result)
561
596
  return (result.get("result") or {}).get("labels") or [], None
562
597
 
598
+ async def _get_entity_aliases(self, entity_id: str) -> list[str | None]:
599
+ """Fetch the entity's current registry aliases (``null`` = own name)."""
600
+ get_msg: dict[str, Any] = {
601
+ "type": "config/entity_registry/get",
602
+ "entity_id": entity_id,
603
+ }
604
+ result = await self._client.send_websocket_message(get_msg)
605
+ if not result.get("success"):
606
+ raise_tool_error(
607
+ create_error_response(
608
+ ErrorCode.SERVICE_CALL_FAILED,
609
+ f"Failed to get current aliases for {entity_id}: "
610
+ f"{_extract_ws_error(result)}",
611
+ context={"entity_id": entity_id},
612
+ )
613
+ )
614
+ aliases: list[str | None] = (result.get("result") or {}).get("aliases") or []
615
+ return aliases
616
+
617
+ async def _resolve_final_aliases(
618
+ self,
619
+ entity_id: str,
620
+ parsed_aliases: list[str | None] | None,
621
+ use_entity_name_alias: bool | None,
622
+ ) -> tuple[list[str | None] | None, str | None]:
623
+ """Apply the own-name (``null``) alias switch; returns (aliases, note).
624
+
625
+ With no explicit switch, the registry's existing ``null`` survives a
626
+ string-only write — HA's Voice settings dialog does the same (#2495).
627
+ """
628
+ if use_entity_name_alias is None:
629
+ if parsed_aliases is None or None in parsed_aliases:
630
+ return parsed_aliases, None
631
+ if None in await self._get_entity_aliases(entity_id):
632
+ return [None, *parsed_aliases], "entity-name alias kept"
633
+ return parsed_aliases, None
634
+ source = (
635
+ parsed_aliases
636
+ if parsed_aliases is not None
637
+ else await self._get_entity_aliases(entity_id)
638
+ )
639
+ strings: list[str | None] = [a for a in source if a is not None]
640
+ if use_entity_name_alias:
641
+ return [None, *strings], "entity-name alias on"
642
+ return strings, "entity-name alias off"
643
+
563
644
  async def _resolve_final_labels(
564
645
  self,
565
646
  entity_id: str,
@@ -1013,7 +1094,7 @@ class EntityTools:
1013
1094
  icon: str | None,
1014
1095
  enabled: bool | None,
1015
1096
  hidden: bool | None,
1016
- parsed_aliases: list[str] | None,
1097
+ parsed_aliases: list[str | None] | None,
1017
1098
  parsed_categories: dict[str, str | None] | None,
1018
1099
  parsed_labels: list[str] | None,
1019
1100
  label_operation: str,
@@ -1022,6 +1103,7 @@ class EntityTools:
1022
1103
  new_device_name: str | None = None,
1023
1104
  device_class: str | None = None,
1024
1105
  parsed_options: dict[str, dict[str, Any]] | None = None,
1106
+ use_entity_name_alias: bool | None = None,
1025
1107
  ) -> dict[str, Any]:
1026
1108
  """Update a single entity. Orchestrates the phase pipeline."""
1027
1109
  async with registry_update_lock("entity", entity_id):
@@ -1029,6 +1111,9 @@ class EntityTools:
1029
1111
  final_labels = await self._resolve_final_labels(
1030
1112
  entity_id, parsed_labels, label_operation
1031
1113
  )
1114
+ parsed_aliases, alias_note = await self._resolve_final_aliases(
1115
+ entity_id, parsed_aliases, use_entity_name_alias
1116
+ )
1032
1117
 
1033
1118
  # Phase 2: Build update message for entity registry
1034
1119
  message: dict[str, Any] = {
@@ -1050,6 +1135,8 @@ class EntityTools:
1050
1135
  label_operation,
1051
1136
  parsed_labels,
1052
1137
  )
1138
+ if alias_note:
1139
+ updates_made.append(alias_note)
1053
1140
  if new_entity_id is not None:
1054
1141
  self._validate_entity_rename(
1055
1142
  entity_id, new_entity_id, message, updates_made
@@ -1066,7 +1153,7 @@ class EntityTools:
1066
1153
  ErrorCode.VALIDATION_INVALID_PARAMETER,
1067
1154
  "No updates specified",
1068
1155
  suggestions=[
1069
- "Provide at least one of: area_id, name, icon, device_class, enabled, hidden, aliases, categories, labels, options, expose_to, new_entity_id, or new_device_name"
1156
+ "Provide at least one of: area_id, name, icon, device_class, enabled, hidden, aliases, use_entity_name_alias, categories, labels, options, expose_to, new_entity_id, or new_device_name"
1070
1157
  ],
1071
1158
  )
1072
1159
  )
@@ -1619,10 +1706,28 @@ class EntityTools:
1619
1706
  ),
1620
1707
  ] = None,
1621
1708
  aliases: Annotated[
1622
- str | list[str] | None,
1709
+ str | list[str | None] | None,
1623
1710
  JSON_STRING_COERCION,
1624
1711
  Field(
1625
- description="List of voice assistant aliases for the entity (replaces existing aliases). Single entity only.",
1712
+ description=(
1713
+ "List of voice assistant aliases for the entity (replaces existing "
1714
+ "aliases). A null entry is the entity's own name (HA's 'use entity "
1715
+ "name' switch); it is kept automatically unless your list already "
1716
+ "contains null. To turn that switch off or on, use "
1717
+ "use_entity_name_alias. Single entity only."
1718
+ ),
1719
+ default=None,
1720
+ ),
1721
+ ] = None,
1722
+ use_entity_name_alias: Annotated[
1723
+ bool | None,
1724
+ Field(
1725
+ description=(
1726
+ "HA's 'use entity name' voice-alias switch. True keeps the entity's "
1727
+ "own name answering in Assist, False turns it off so only the "
1728
+ "aliases match. Omit to leave it as is. Works with or without "
1729
+ "aliases. Single entity only."
1730
+ ),
1626
1731
  default=None,
1627
1732
  ),
1628
1733
  ] = None,
@@ -1696,7 +1801,7 @@ class EntityTools:
1696
1801
 
1697
1802
  BULK OPERATIONS:
1698
1803
  When entity_id is a list, only labels, expose_to, and categories parameters are supported.
1699
- Other parameters (area_id, name, icon, device_class, options, enabled, hidden, aliases, new_entity_id, new_device_name) require single entity.
1804
+ Other parameters (area_id, name, icon, device_class, options, enabled, hidden, aliases, use_entity_name_alias, new_entity_id, new_device_name) require single entity.
1700
1805
 
1701
1806
  LABEL OPERATIONS:
1702
1807
  - label_operation="set" (default): Replace all labels with the provided list. Use [] to clear.
@@ -1785,6 +1890,7 @@ class EntityTools:
1785
1890
  "enabled": enabled,
1786
1891
  "hidden": hidden,
1787
1892
  "aliases": aliases,
1893
+ "use_entity_name_alias": use_entity_name_alias,
1788
1894
  "new_entity_id": new_entity_id,
1789
1895
  "new_device_name": new_device_name,
1790
1896
  }
@@ -1798,7 +1904,7 @@ class EntityTools:
1798
1904
  f"Bulk operations (multiple entity_ids) only support categories, labels, and expose_to. "
1799
1905
  f"Single-entity parameters provided: {non_null_single_params}",
1800
1906
  suggestions=[
1801
- "Use a single entity_id for area_id, name, icon, device_class, options, enabled, hidden, or aliases",
1907
+ "Use a single entity_id for area_id, name, icon, device_class, options, enabled, hidden, aliases, or use_entity_name_alias",
1802
1908
  "Or remove single-entity parameters to use bulk categories/labels/expose_to",
1803
1909
  ],
1804
1910
  )
@@ -1806,7 +1912,7 @@ class EntityTools:
1806
1912
 
1807
1913
  _validate_enabled_constraint(enabled, entity_ids)
1808
1914
 
1809
- parsed_aliases = _parse_string_list_field(aliases, "aliases")
1915
+ parsed_aliases = _parse_aliases_param(aliases)
1810
1916
  parsed_categories = _parse_categories_param(categories)
1811
1917
  parsed_labels = _parse_string_list_field(labels, "labels")
1812
1918
  parsed_options = _parse_options_param(options)
@@ -1842,6 +1948,7 @@ class EntityTools:
1842
1948
  new_device_name=new_device_name,
1843
1949
  device_class=device_class,
1844
1950
  parsed_options=parsed_options,
1951
+ use_entity_name_alias=use_entity_name_alias,
1845
1952
  )
1846
1953
 
1847
1954
  # Bulk case
@@ -1939,7 +2046,7 @@ class EntityTools:
1939
2046
  - hidden_by: Why hidden (null=visible, "user"/"integration"/etc)
1940
2047
  - enabled: Boolean shorthand (True if disabled_by is null)
1941
2048
  - hidden: Boolean shorthand (True if hidden_by is not null)
1942
- - aliases: Voice assistant aliases
2049
+ - aliases: Voice assistant aliases (a null entry = the entity's own name)
1943
2050
  - labels: Assigned label IDs
1944
2051
  - categories: Category assignments (dict mapping scope to category_id)
1945
2052
  - device_class: User "Show As" override (null = use original_device_class)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 8.5.0.dev2696
3
+ Version: 8.5.0.dev2701
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