ha-mcp-dev 8.6.0.dev2958__tar.gz → 8.6.0.dev2960__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 (768) hide show
  1. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/PKG-INFO +1 -1
  2. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/pyproject.toml +1 -1
  3. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/pyproject.toml.orig +1 -1
  4. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/az.json +43 -0
  5. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/cs.json +43 -0
  6. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/de.json +43 -0
  7. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/eo.json +43 -0
  8. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/es.json +43 -0
  9. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/fr.json +43 -0
  10. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/it.json +43 -0
  11. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/ko.json +43 -0
  12. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/nl.json +43 -0
  13. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/pl.json +43 -0
  14. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/ru.json +43 -0
  15. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/sv.json +43 -0
  16. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/zh-Hans.json +43 -0
  17. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/zh-Hant.json +43 -0
  18. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/LICENSE +0 -0
  19. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/README.md +0 -0
  20. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/__init__.py +0 -0
  21. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/__main__.py +0 -0
  22. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_pypi_marker +0 -0
  23. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_rich_compat.py +0 -0
  24. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/__init__.py +0 -0
  25. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  26. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
  27. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
  28. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
  29. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
  30. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  31. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  32. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  33. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  34. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
  35. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  36. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  37. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
  38. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
  39. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  40. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
  41. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  42. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  43. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
  44. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  45. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  46. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
  47. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
  48. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  49. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  50. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  51. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  52. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  53. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  54. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  55. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
  56. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  57. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
  58. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  59. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
  60. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
  61. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  62. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
  63. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  64. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
  65. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
  66. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  67. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
  68. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  69. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  70. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  71. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  72. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  73. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
  74. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  75. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  76. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  77. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
  78. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  79. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  80. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  81. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  82. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  83. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  84. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  85. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
  86. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  87. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  88. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  89. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  90. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  91. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  92. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  93. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  94. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  95. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  96. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  97. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
  98. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  99. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  100. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  101. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  102. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  103. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  104. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  105. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  106. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  107. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  108. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
  109. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  110. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
  111. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  112. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  113. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  114. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  115. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  116. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  117. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  118. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  119. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  120. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  121. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
  122. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
  123. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  124. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  125. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
  126. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
  127. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  128. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  129. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
  130. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  131. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  132. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
  133. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
  134. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  135. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  136. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
  137. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  138. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  139. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
  140. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  141. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  142. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
  143. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  144. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  145. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  146. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
  147. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
  148. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  149. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
  150. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  151. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  152. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  153. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
  154. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  155. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  156. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
  157. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  158. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  159. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
  160. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  161. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  162. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
  163. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
  164. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  165. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  166. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  167. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  168. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  169. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
  170. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  171. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
  172. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  173. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  174. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
  175. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
  176. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
  177. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  178. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
  179. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
  180. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  181. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
  182. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  183. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  184. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  185. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  186. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
  187. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  188. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  189. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  190. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
  191. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
  192. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  193. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
  194. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  195. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
  196. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  197. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
  198. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  199. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
  200. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
  201. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
  202. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
  203. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
  204. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
  205. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  206. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  207. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
  208. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
  209. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
  210. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  211. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  212. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  213. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
  214. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
  215. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  216. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  217. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
  218. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
  219. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  220. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
  221. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  222. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
  223. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
  224. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  225. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
  226. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
  227. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  228. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  229. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  230. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  231. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  232. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  233. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
  234. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
  235. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  236. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
  237. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
  238. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
  239. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  240. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
  241. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  242. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
  243. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  244. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  245. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  246. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
  247. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
  248. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
  249. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  250. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  251. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  252. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
  253. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
  254. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  255. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
  256. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
  257. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
  258. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  259. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  260. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
  261. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
  262. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
  263. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  264. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  265. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  266. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  267. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  268. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  269. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  270. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  271. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  272. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  273. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  274. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  275. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  276. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  277. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  278. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
  279. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  280. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  281. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  282. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  283. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
  284. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  285. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  286. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  287. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  288. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
  289. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  290. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  291. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
  292. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  293. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
  294. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  295. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  296. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
  297. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
  298. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
  299. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  300. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  301. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
  302. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
  303. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  304. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  305. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  306. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  307. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  308. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  309. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  310. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  311. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  312. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  313. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
  314. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
  315. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  316. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  317. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
  318. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  319. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  320. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
  321. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
  322. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  323. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
  324. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
  325. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  326. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  327. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  328. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  329. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  330. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  331. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  332. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  333. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  334. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  335. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
  336. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  337. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  338. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  339. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  340. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  341. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  342. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
  343. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  344. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
  345. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  346. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  347. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  348. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  349. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  350. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  351. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  352. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  353. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  354. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  355. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  356. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  357. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  358. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  359. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  360. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  361. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
  362. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  363. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
  364. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  365. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  366. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  367. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  368. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  369. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  370. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  371. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  372. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  373. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  374. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
  375. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  376. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
  377. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  378. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  379. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  380. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  381. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  382. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  383. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  384. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  385. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  386. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  387. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  388. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  389. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  390. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  391. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
  392. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  393. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  394. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  395. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  396. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  397. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  398. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
  399. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  400. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  401. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  402. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  403. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  404. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
  405. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
  406. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  407. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  408. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  409. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
  410. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  411. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  412. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  413. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  414. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  415. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  416. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  417. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  418. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  419. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  420. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  421. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  422. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  423. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  424. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
  425. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  426. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
  427. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  428. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  429. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  430. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  431. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  432. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  433. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  434. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  435. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  436. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/requirements.txt +0 -0
  437. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  438. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  439. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  440. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  441. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  442. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  443. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  444. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  445. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  446. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  447. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  448. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  449. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  450. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  451. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  452. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  453. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  454. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  455. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  456. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  457. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  458. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  459. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  460. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  461. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  462. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  463. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  464. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  465. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  466. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  467. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  468. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  469. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  470. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  471. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  472. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  473. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  474. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  475. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  476. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  477. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  478. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  479. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  480. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  481. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  482. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  483. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  484. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  485. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  486. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  487. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  488. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  489. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  490. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  491. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  492. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  493. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/_version.py +0 -0
  494. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/app_discovery.py +0 -0
  495. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/auth/__init__.py +0 -0
  496. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/auth/consent_form.py +0 -0
  497. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/auth/oidc_compat.py +0 -0
  498. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/auth/provider.py +0 -0
  499. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/backup_diff.py +0 -0
  500. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/backup_entity_ids.py +0 -0
  501. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/backup_manager.py +0 -0
  502. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/backup_tags.py +0 -0
  503. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/browser_landing.py +0 -0
  504. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/__init__.py +0 -0
  505. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/admin_routes.py +0 -0
  506. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/rest_client.py +0 -0
  507. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/supervisor_client.py +0 -0
  508. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/websocket_client.py +0 -0
  509. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/client/websocket_listener.py +0 -0
  510. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config.py +0 -0
  511. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config_backup.py +0 -0
  512. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config_meta.py +0 -0
  513. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config_overrides.py +0 -0
  514. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config_registry.py +0 -0
  515. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/config_settings.py +0 -0
  516. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  517. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  518. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  519. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  520. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  521. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  522. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/errors.py +0 -0
  523. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/ha_request_queue.py +0 -0
  524. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  525. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/http_transport.py +0 -0
  526. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/image_info.py +0 -0
  527. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/llm_exposure.py +0 -0
  528. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/log_filters.py +0 -0
  529. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/__init__.py +0 -0
  530. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/approval_queue.py +0 -0
  531. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/decision_pin.py +0 -0
  532. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/decisions.py +0 -0
  533. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/editing.py +0 -0
  534. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/evaluator.py +0 -0
  535. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/events.py +0 -0
  536. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/handlers.py +0 -0
  537. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/middleware.py +0 -0
  538. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/model.py +0 -0
  539. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/mrtr.py +0 -0
  540. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/persistence.py +0 -0
  541. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/server_channels.py +0 -0
  542. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/policy/value_sources.py +0 -0
  543. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/py.typed +0 -0
  544. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/read_only.py +0 -0
  545. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/redaction.py +0 -0
  546. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/renamed_tools.py +0 -0
  547. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  548. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  549. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  550. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
  551. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  552. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  553. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  554. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  555. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  556. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  557. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  558. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  559. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  560. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  561. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  562. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
  563. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  564. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/server.py +0 -0
  565. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/server_lifespan.py +0 -0
  566. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/server_tool_text.py +0 -0
  567. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/__init__.py +0 -0
  568. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  569. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  570. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  571. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  572. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  573. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  574. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  575. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  576. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  577. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  578. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_theme.py +0 -0
  579. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  580. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  581. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  582. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  583. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings.css +0 -0
  584. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings.html +0 -0
  585. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
  586. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
  587. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
  588. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
  589. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
  590. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
  591. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
  592. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
  593. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
  594. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/smoke_test.py +0 -0
  595. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  596. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/strict_bps.py +0 -0
  597. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tool_dispatch.py +0 -0
  598. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/__init__.py +0 -0
  599. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/area_messages.py +0 -0
  600. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/auto_backup.py +0 -0
  601. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/backup.py +0 -0
  602. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/backup_access.py +0 -0
  603. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/backup_on_demand.py +0 -0
  604. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  605. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/best_practice_result.py +0 -0
  606. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  607. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  608. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  609. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/blueprint_write.py +0 -0
  610. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/bug_report_config.py +0 -0
  611. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/bug_report_templates.py +0 -0
  612. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/bulk_selector.py +0 -0
  613. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/coercion.py +0 -0
  614. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_api.py +0 -0
  615. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_config_entries.py +0 -0
  616. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_config_reads.py +0 -0
  617. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  618. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_devices.py +0 -0
  619. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_helper_collections.py +0 -0
  620. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_registries.py +0 -0
  621. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  622. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_backup.py +0 -0
  623. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  624. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  625. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
  626. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  627. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  628. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  629. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  630. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  631. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
  632. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
  633. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/create.py +0 -0
  634. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
  635. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
  636. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
  637. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
  638. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
  639. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
  640. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/update.py +0 -0
  641. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
  642. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
  643. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_write_errors.py +0 -0
  644. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/config_write_helpers.py +0 -0
  645. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  646. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
  647. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/dev_backup.py +0 -0
  648. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/device_control.py +0 -0
  649. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/device_enrichment.py +0 -0
  650. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
  651. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
  652. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/entity_registration.py +0 -0
  653. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/entity_update_fields.py +0 -0
  654. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  655. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/hacs_registration.py +0 -0
  656. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/helpers.py +0 -0
  657. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  658. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/log_common.py +0 -0
  659. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/log_sources.py +0 -0
  660. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  661. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  662. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/__init__.py +0 -0
  663. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/base.py +0 -0
  664. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/matter.py +0 -0
  665. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/thread.py +0 -0
  666. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  667. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/zwave.py +0 -0
  668. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
  669. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/reference_validator.py +0 -0
  670. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/registry.py +0 -0
  671. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  672. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/response_helpers.py +0 -0
  673. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/scene_discovery.py +0 -0
  674. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/__init__.py +0 -0
  675. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/base.py +0 -0
  676. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/component.py +0 -0
  677. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/entities.py +0 -0
  678. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/legacy.py +0 -0
  679. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/modes.py +0 -0
  680. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/overview.py +0 -0
  681. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/response.py +0 -0
  682. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/search/state.py +0 -0
  683. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  684. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  685. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  686. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  687. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  688. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  689. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  690. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  691. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  692. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  693. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tool_hints.py +0 -0
  694. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  695. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_addons.py +0 -0
  696. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_areas.py +0 -0
  697. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  698. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  699. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  700. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_calendar.py +0 -0
  701. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_camera.py +0 -0
  702. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_categories.py +0 -0
  703. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_code.py +0 -0
  704. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  705. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  706. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  707. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  708. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  709. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  710. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_dev.py +0 -0
  711. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_energy.py +0 -0
  712. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_entities.py +0 -0
  713. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  714. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_groups.py +0 -0
  715. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_hacs.py +0 -0
  716. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_history.py +0 -0
  717. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_integrations.py +0 -0
  718. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_labels.py +0 -0
  719. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_logs.py +0 -0
  720. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_radio.py +0 -0
  721. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_registry.py +0 -0
  722. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_resources.py +0 -0
  723. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_search.py +0 -0
  724. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  725. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_service.py +0 -0
  726. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_services.py +0 -0
  727. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_system.py +0 -0
  728. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_themes.py +0 -0
  729. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_todo.py +0 -0
  730. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_traces.py +0 -0
  731. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_updates.py +0 -0
  732. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_utility.py +0 -0
  733. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  734. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  735. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  736. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/tools_zones.py +0 -0
  737. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/util_helpers.py +0 -0
  738. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/validation_middleware.py +0 -0
  739. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/tools/ws_waiters.py +0 -0
  740. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/__init__.py +0 -0
  741. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/categorized_search.py +0 -0
  742. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/component_helpers.py +0 -0
  743. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/component_search.py +0 -0
  744. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  745. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  746. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/transport_security.py +0 -0
  747. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/update_check.py +0 -0
  748. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/__init__.py +0 -0
  749. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/config_hash.py +0 -0
  750. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/config_write_lock.py +0 -0
  751. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  752. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/data_paths.py +0 -0
  753. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  754. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/domain_handlers.py +0 -0
  755. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/entity_membership.py +0 -0
  756. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  757. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  758. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  759. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/operation_manager.py +0 -0
  760. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/python_sandbox.py +0 -0
  761. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  762. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/skill_loader.py +0 -0
  763. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/utils/usage_logger.py +0 -0
  764. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/visibility/__init__.py +0 -0
  765. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/visibility/enforcement.py +0 -0
  766. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/visibility/model.py +0 -0
  767. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/visibility/persistence.py +0 -0
  768. {ha_mcp_dev-8.6.0.dev2958 → ha_mcp_dev-8.6.0.dev2960}/src/ha_mcp/visibility/resolver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 8.6.0.dev2958
3
+ Version: 8.6.0.dev2960
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Keywords: mcp,home-assistant,ai,automation,smart-home
6
6
  Author: Julien
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "8.6.0.dev2958"
7
+ version = "8.6.0.dev2960"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13,<3.15"
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "8.6.0.dev2958"
7
+ version = "8.6.0.dev2960"
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
@@ -131,6 +131,7 @@
131
131
  "features.enable_tool_search.label": "Alət axtarışını aktivləşdir",
132
132
  "features.enable_tool_search.help": "Tam alət kataloqunu axtarış əsasında alət tapma ilə əvəz edir. Başlanğıc kontekst həcmini təxminən 90% azaldaraq təqribən 5K tokenə endirir. ⚠️ Öz daxili alət axtarışı / sonradan yüklənən alətləri olan müştərilərdə (claude.ai, Claude Desktop, Claude Code) bunu AKTİVLƏŞDİRMƏYİN — iki axtarış qatı ziddiyyət yaradır və həmin müştərinin daxili alət axtarışı daha yaxşı seçimdir; bunu deaktiv saxlayın. Alətlərin sonradan yüklənməsi müştəri və model birləşməsindən asılıdır: quruluşunuz tam kataloqu əvvəlcədən yükləyirsə, bundan istifadə edin — sonradan yüklənən alətlər üçün daxili dəstəyi olmayan modellərdə (məsələn, Gemini, OpenAI ilə uyğun lokal modellər, Claude Haiku), modeldən asılı olmayaraq bütün alət sxemlərini birbaşa kontekstə daxil edən müştərilərdə (məsələn, GitHub Copilot CLI) və ya daha kiçik kontekst pəncərələrində. Bəzi Codex modellərində və ChatGPT-də də sonradan yüklənən alətlər var — bu seçimi ehtiyac olmadan aktiv saxlamamaq üçün müştərinizin/modelinizin imkanlarını birbaşa yoxlayın. Alətlər ha_search_tools vasitəsilə tapılır və kateqoriyalara ayrılmış proksilər vasitəsilə icra olunur (oxuma/yazma/silmə). Qüvvəyə minməsi üçün yenidən başlatma tələb olunur.",
133
133
  "features.tool_search_max_results.label": "Alət axtarışında maksimum nəticə sayı",
134
+ "features.tool_search_max_results.help": "Alətin axtarışı aktiv olduqda hər ha_search_tools çağırışı üçün qaytarılan gizli alətlərin maksimum sayı; həmin ən yaxşı sayda yer alan bərkidilmiş alət onun üzərinə yalnız qısa adla giriş kimi əlavə olunur. Aşağı qiymətlər (2-3) kontekst tokenlərinə qənaət edir, lakin uyğun alətləri qaçıra bilər. Yenidən başladılmalıdır.",
134
135
  "features.enable_tool_security_policies.label": "Alətlərin təhlükəsizlik siyasətlərini aktivləşdir (qabaqcıl)",
135
136
  "features.enable_tool_security_policies.help": "Ciddi nəticələr doğura bilən alət çağırışları (kilid/siqnalizasiya idarəetməsi, avtomatlaşdırmaların yazılması və s.) üçün istifadəçi təsdiqi tələb edir. Qorunan alət çağırıldıqda agent istifadəçidən veb interfeysdə Alətlərin təhlükəsizlik siyasətləri bölməsini açmağı və çağırışın davam etməsi üçün Təsdiqlə düyməsinə basmağı istəyir. Hər alət üçün qaydalar və istəyə bağlı arqument şərtləri Alətlərin təhlükəsizlik siyasətləri bölməsində konfiqurasiya olunur. Standart olaraq deaktivdir. Qüvvəyə minməsi üçün yenidən başlatma tələb olunur.",
136
137
  "features.read_only_mode.label": "Yalnız oxuma rejimi",
@@ -215,6 +216,9 @@
215
216
  "common.env_locked": "mühit dəyişəni ilə kilidlənib",
216
217
  "common.minutes_short": "{count} dəq",
217
218
  "common.bytes": "{count} bayt",
219
+ "common.range": "Aralıq {min}–{max}.",
220
+ "common.range_or_value": "Aralıq {min}–{max} və ya {value}.",
221
+ "common.restart_required": "Yenidən başlatmaq tələb olunur.",
218
222
  "common.none": "(yoxdur)",
219
223
  "notice.restart.addon": "⚠ Dəyişikliklər yadda saxlanıldı. Qüvvəyə minməsi üçün \"Restart app (add-on)\" düyməsinə basın. Deaktiv alətlər növbəti işəsalmada MCP alət siyahısından çıxarılacaq. Sonra AI müştərinizdə alət siyahısını yeniləyin; yalnız tətbiqi yenidən başlatmaq müştərinin keşdəki siyahısını yeniləmir.",
220
224
  "notice.restart.embedded": "⚠ Dəyişikliklər yadda saxlanıldı. Proses daxilindəki inteqrasiyanı yenidən yükləmək üçün \"Restart HA-MCP Server\" düyməsinə basın. Sonra AI müştərinizdə MCP alət siyahısını yeniləyin.",
@@ -251,13 +255,23 @@
251
255
  "tools.summary.disabled": "{count} deaktivdir",
252
256
  "tools.read_only.save_failed": "Yalnız oxuma rejiminin dəyişikliyi yadda saxlanılmadı. Serverdə hələ də əvvəlki dəyər saxlanılır.",
253
257
  "backup.fields.enable_auto_backup.label": "Redaktələr üçün avtomatik ehtiyat nüsxə yarat",
258
+ "backup.fields.enable_auto_backup.help": "Hər yazma və ya silmə aləti çağırışı onu dəyişməzdən əvvəl obyektin surətini saxlayın. Bu söndürüldükdə, fayl və xam YAML alətləri (ha_write_file, ha_delete_file, ha_config_set_yaml) yazmaqdan imtina edir.",
254
259
  "backup.fields.enable_snapshot_actions.label": "Tam HA arxiv (snapshot) əməliyyatlarına icazə ver",
260
+ "backup.fields.enable_snapshot_actions.help": "AI köməkçilərinə ha_manage_backup və ha_call_service daxilindəki ekvivalent ehtiyat nüsxə xidmətləri və əmrləri vasitəsilə tam Home Assistant ehtiyat nüsxələrini idarə etməyə icazə verin. Bunu söndürmək siyahıyaalma daxil olmaqla bütün ehtiyat nüsxə əməliyyatlarını bloklayır. Ehtiyat nüsxənin silinməsi yalnız ha_manage_backup vasitəsilə əlçatandır və həmçinin Ehtiyat nüsxənin silinməsinə icazə verilməsini tələb edir. Veb ayarları interfeysində şəxsin etdiyi ehtiyat nüsxələrin redaktəsi və ehtiyat nüsxə əməliyyatları əlçatan olaraq qalır.",
255
261
  "backup.fields.backup_read_only.label": "Arxiv idarəetməsini yalnız oxunaqlı edin",
262
+ "backup.fields.backup_read_only.help": "Ehtiyat nüsxə əməliyyatları aktiv olduqda AI köməkçilərinə redaktə ehtiyat nüsxələrini siyahıya almağa, baxmağa və müqayisə etməyə, həmçinin tam HA ehtiyat nüsxələrini siyahıya almağa icazə verin. ha_call_service-də ekvivalent ehtiyat nüsxə xidmətləri və əmrləri də daxil olmaqla əl ilə ehtiyat nüsxə yaratma, bərpa etmə (redaktə bərpaları daxil olmaqla) və silməni bloklayın. Avtomatik redaktədən əvvəlki ehtiyat nüsxələr davam edir. Veb ayarları interfeysində şəxsin etdiyi ehtiyat nüsxə əməliyyatları əlçatan olaraq qalır.",
263
+ "backup.fields.auto_backup_throttle_minutes.label": "Avtomatik ehtiyat nüsxə məhdudiyyəti (dəqiqə)",
264
+ "backup.fields.auto_backup_throttle_minutes.help": "Avtomatik ehtiyat nüsxənin eyni obyekti nə qədər tez-tez çəkə biləcəyi. 0 hər yazmada çəkir; 0-dan yuxarı N hər obyekt üçün hər N dəqiqədə ən çoxu bir surət çəkir.",
265
+ "backup.fields.auto_backup_retain_per_entity.label": "Avtomatik ehtiyat nüsxənin saxlanılması (obyekt üzrə)",
266
+ "backup.fields.auto_backup_retain_per_entity.help": "Obyekt başına saxlanılan ən çox ehtiyat nüsxə. Hər yeni çəkiliş bu rəqəmdən yuxarı olan ən köhnə ehtiyat nüsxələri silir.",
256
267
  "backup.fields.auto_backup_dir.label": "Ehtiyat nüsxə qovluğunu dəyiş",
257
268
  "backup.fields.auto_backup_dir.help": "Standart yer üçün boş saxlayın: tətbiqdə (əlavədə) /data/ha_mcp_backups, digər hallarda ha-mcp məlumat qovluğunun backups/ alt qovluğu; anlıq nüsxələri əvvəlki standart yerdə saxlayan qurulum həmin yerdən istifadə etməyə davam edir. İstifadə olunan qovluq ehtiyat nüsxələrin vəziyyətində göstərilir. Və ya mütləq yol daxil edin.",
258
269
  "backup.fields.auto_backup_calendar_lookahead_days.label": "Təqvimdə irəli baxış (gün)",
270
+ "backup.fields.auto_backup_calendar_lookahead_days.help": "Redaktədən əvvəlki ehtiyat nüsxələr üçün təqvim tədbirlərinin nə qədər irəlidə sorğulanacağı.",
259
271
  "backup.fields.enable_snapshot_delete.label": "Anlıq nüsxələrin silinməsinə icazə ver",
272
+ "backup.fields.enable_snapshot_delete.help": "ha_manage_backup-a tam Home Assistant ehtiyat nüsxələrini silməyə icazə verin. Yanlış dəyişiklikdən sonra ehtiyat nüsxə geri qayıtmağın son yolu ola bilər, ona görə də şəxs bunu yandırmalıdır. Planlaşdırılmış ehtiyat nüsxələr, ən yeni ehtiyat nüsxə və minimum yaşdan kiçik ehtiyat nüsxələr qorunub saxlanılır.",
260
273
  "backup.fields.snapshot_delete_min_age_days.label": "Silmək üçün anlıq nüsxənin minimum yaşı (gün)",
274
+ "backup.fields.snapshot_delete_min_age_days.help": "Ehtiyat nüsxənin silinməzdən əvvəl neçə gün yaşında olması lazımdır. 0 yaş həddini söndürür; ən yeni ehtiyat nüsxə və planlaşdırılmış ehtiyat nüsxələr qorunub saxlanılır.",
261
275
  "backup.origins.addon": "Supervisor ilə sinxronlaşdırılıb. Yadda saxladıqdan sonra yenidən başlatma tələb olunur.",
262
276
  "backup.origins.file": "Lokal olaraq saxlanılır; dərhal qüvvəyə minir.",
263
277
  "backup.origins.default": "Standart dəyər istifadə olunur; ilk yadda saxlamada onu əvəz edən lokal parametr faylı yaradılır.",
@@ -427,16 +441,29 @@
427
441
  "advanced.homeassistant_token.label": "Home Assistant tokeni",
428
442
  "advanced.homeassistant_token.help": "Yalnız göstərilir. HOMEASSISTANT_TOKEN vasitəsilə təyin edilir. Təhlükəsizlik üçün burada gizlədilir.",
429
443
  "advanced.timeout.label": "HA sorğusunun gözləmə müddəti (s)",
444
+ "advanced.timeout.help": "Sorğu üzrə HTTP vaxt aşımı.",
430
445
  "advanced.max_retries.label": "HA sorğusu üçün maksimum təkrar cəhd sayı",
446
+ "advanced.max_retries.help": "Uğursuz REST zəngi üçün yenidən cəhd büdcəsi.",
447
+ "advanced.verify_ssl.label": "TLS sertifikatlarını yoxlayın",
448
+ "advanced.verify_ssl.help": "Home Assistant serverinin TLS sertifikatını yoxlayın. Bunu yalnız etibarlı şəbəkədə, özünü imzalayan sertifikat və ya host adı uyğunsuzluğu üçün söndürün: o, nəqliyyat təhlükəsizliyini zəiflədir.",
431
449
  "advanced.fuzzy_threshold.label": "Qeyri-səlis axtarış həddi",
450
+ "advanced.fuzzy_threshold.help": "Aşağı qiymətlər daha sərbəst obyekt uyğunlaşmasına imkan verir.",
432
451
  "advanced.automation_config_time_budget.label": "Avtomatlaşdırma konfiqurasiyaları üçün vaxt limiti (s)",
452
+ "advanced.automation_config_time_budget.help": "Dərin axtarışın avtomatlaşdırma konfiqurasiyalarını əldə etməyə sərf etdiyi maksimum vaxt.",
433
453
  "advanced.script_config_time_budget.label": "Skript konfiqurasiyaları üçün vaxt limiti (s)",
454
+ "advanced.script_config_time_budget.help": "Dərin axtarışın skript konfiqurasiyalarını əldə etməyə sərf etdiyi maksimum vaxt.",
434
455
  "advanced.scene_config_time_budget.label": "Səhnə konfiqurasiyaları üçün vaxt limiti (s)",
456
+ "advanced.scene_config_time_budget.help": "Dərin axtarışın səhnə konfiqurasiyalarını əldə etməyə sərf etdiyi maksimum vaxt.",
435
457
  "advanced.individual_config_timeout.label": "Hər konfiqurasiya sorğusu üçün gözləmə müddəti (s)",
458
+ "advanced.individual_config_timeout.help": "Hər avtomatlaşdırma/skript/səhnə konfiqurasiyasının əldə edilməsi üçün vaxt aşımı.",
436
459
  "advanced.individual_fetch_batch_size.label": "Konfiqurasiya sorğuları paketinin ölçüsü",
460
+ "advanced.individual_fetch_batch_size.help": "Eyni vaxtda ID üzrə konfiqurasiya əldə etmələri. Ardıcıl HA serverlərində 1-ə doğru aşağı salın.",
437
461
  "advanced.enable_history_query_guardrails.label": "Tarixçə sorğuları üçün qoruyucu məhdudiyyətlər",
438
462
  "advanced.enable_history_query_guardrails.help": "Obyekt sayı və vaxt aralığı üzrə ehtiyatlı limitləri aşan qeydiyyatçı sorğularını rədd edir. Standart olaraq deaktivdir.",
439
463
  "advanced.ha_tool_concurrency.label": "Home Assistant alətlərinin paralel icrası",
464
+ "advanced.ha_tool_concurrency.help": "Bütün sessiyalar üzrə xarici Home Assistant alət çağırışlarında əlavə məhdudiyyət. Daxili REST, WebSocket və hər alət üzrə paylanma eynizmətliliyi (concurrency) dəyişməz qalır. 0 məhdudiyyətsiz davranışı qoruyur. Tutum üçün gözləyən çağırış 60 saniyədən sonra uğursuz olur.",
465
+ "advanced.backup_hint.label": "Ehtiyat nüsxə ipucu səviyyəsi",
466
+ "advanced.backup_hint.help": "Riskli dəyişikliklərdən əvvəl süni intellekt köməkçilərinə tam Home Assistant ehtiyat nüsxəsini təklif etməyin nə qədər güclü şəkildə bildirildiyi. O, yalnız bu ipucunu dəyişdirir; avtomatik redaktə ehtiyat nüsxələrinin öz parametrləri var.",
440
467
  "advanced.backup_hint.choices.strong": "Güclü",
441
468
  "advanced.backup_hint.choices.normal": "Normal",
442
469
  "advanced.backup_hint.choices.weak": "Zəif",
@@ -444,25 +471,41 @@
444
471
  "advanced.dashboard_screenshot_engine_url.label": "İdarə panelinin ekran görüntüsü mühərrikinin URL-i",
445
472
  "advanced.dashboard_screenshot_engine_url.help": "Ekran görüntüsü mühərrikinin əsas URL-i. Supervisor vasitəsilə avtomatik aşkarlama üçün boş saxlayın. Dərhal tətbiq edilir.",
446
473
  "advanced.enable_websocket.label": "WebSocket-i aktivləşdir",
474
+ "advanced.enable_websocket.help": "WebSocket statusunun izlənməsi. Deaktiv edilməsi sorğulamaya (polling) qayıdır və bir çox alətin işini zəiflədir.",
447
475
  "advanced.enabled_tool_modules.label": "Aktiv alət modulları",
476
+ "advanced.enabled_tool_modules.help": "Vergüllə ayrılmış modul adları və ya 'all'.",
448
477
  "advanced.enable_dashboard_partial_tools.label": "İdarə panelinin qismən yenilənməsi alətləri",
449
478
  "advanced.enable_dashboard_partial_tools.help": "Tokenlərə qənaət edən qismən idarə paneli alətləri. Alətlərdən proqram vasitəsilə istifadə edən müştərilər üçün söndürün.",
450
479
  "advanced.mcp_server_name.label": "MCP serverinin adı",
480
+ "advanced.mcp_server_name.help": "MCP əl sıxmasında bildirilir.",
451
481
  "advanced.mcp_server_version.label": "MCP serverinin versiyası",
482
+ "advanced.mcp_server_version.help": "Paket versiyasına defolt olaraq təyin edilir. Üstələmək müştəriləri çaşdıra bilər.",
452
483
  "advanced.environment.label": "Mühit",
484
+ "advanced.environment.help": "development və ya production. Jurnalın təfərrüatlılığına təsir edir.",
453
485
  "advanced.http_transport_diagnostics.label": "HTTP ötürülməsinin diaqnostikası",
486
+ "advanced.http_transport_diagnostics.help": "Eksperimental. Yüklər və ya etimadnamələr olmadan, server işləyərkən HTTP diaqnostikası üçün INFO jurnalını avtomatik olaraq aktivləşdirin. Digər jurnalçılar dəyişməz qalır; açıq Home Assistant jurnalçı üstələmələri və filtrləri hələ də tətbiq olunur. Müştəri tərəfindən alındığını təsdiqləmir. Yalnız HTTP.",
454
487
  "advanced.http_json_response.label": "Axın əvəzinə JSON cavabları",
488
+ "advanced.http_json_response.help": "Eksperimental. SSE axını əvəzinə tək bir JSON cavabı qaytarın. Bu serverdəki bütün HTTP müştərilərinə təsir edir və bu cavablar üçün axınlı gedişatı söndürür. Yalnız HTTP.",
455
489
  "advanced.log_level.label": "Jurnal səviyyəsi",
490
+ "advanced.log_level.help": "DEBUG/INFO/WARNING/ERROR/CRITICAL.",
456
491
  "advanced.debug.label": "Sazlama rejimi",
492
+ "advanced.debug.help": "Ətraflı sorğu jurnalı. Həssas məlumatları üzə çıxara bilər.",
457
493
  "advanced.code_mode_max_duration.label": "Kod rejimində maksimum müddət (s)",
494
+ "advanced.code_mode_max_duration.help": "Sandbox işə salınması üçün divar saatı büdcəsi.",
458
495
  "advanced.code_mode_max_memory.label": "Kod rejimində maksimum yaddaş (bayt)",
496
+ "advanced.code_mode_max_memory.help": "Sandbox işə salınması üçün yaddaş həddi.",
459
497
  "advanced.code_mode_max_recursion.label": "Kod rejimində maksimum rekursiya",
498
+ "advanced.code_mode_max_recursion.help": "Sandbox işə salınması üçün rekursiya dərinliyi həddi.",
460
499
  "advanced.code_mode_max_invocations.label": "Kod rejimində maksimum çağırış sayı",
500
+ "advanced.code_mode_max_invocations.help": "Sandbox işə salınması üçün API/alət çağırışı həddi.",
461
501
  "advanced.code_mode_saved_tools_path.label": "Yadda saxlanmış alətlərin yolu",
502
+ "advanced.code_mode_saved_tools_path.help": "Fərdi alətləri yenidən başladılmalar arasında saxlamaq üçün istifadə olunan JSON faylı.",
462
503
  "advanced.extra_yaml_write_keys.label": "Yazmağa icazə verilən əlavə YAML açarları",
463
504
  "advanced.extra_yaml_write_keys.help": "Bu quraşdırmada əsasən YAML ilə işləyən inteqrasiyalar (məs. alert2) üçün ha_config_set_yaml alətinin daxili açarlara əlavə olaraq yaza biləcəyi yuxarı səviyyəli açarlar. Hər sətirdə bir açar daxil edin və ya açarları vergüllə ayırın. Home Assistant-ın öz etibar sərhədini yenidən müəyyən edən açarlar heç vaxt əlavə edilə bilməz və nəzərə alınmır. Fərdi komponentin 1.2.4 və ya daha yeni versiyası tələb olunur.",
464
505
  "advanced.sidecar_pin_port.label": "Parametrlər interfeysinin köməkçi proses portu",
506
+ "advanced.sidecar_pin_port.help": "0 ilk işə salınmada boş port seçir və sonrakı yenidən başlatmalar üçün onu saxlayır; aralıqdakı port üstünlük verilən portu sabitləyir (tutulubsa boş olanına keçir).",
465
507
  "advanced.enable_dev_mode.label": "Proqramçı rejimi",
508
+ "advanced.enable_dev_mode.help": "⚠ Parametrləri dəyişdirə və işləyən serveri əvəz edə bilən gizli alətləri qeydiyyatdan keçirir. Yalnız inkişaf və sınaq üçün.",
466
509
  "advanced.dev_tools_security_policy_access.label": "Proqramçı alətlərinin təhlükəsizlik siyasətlərinə girişi",
467
510
  "advanced.dev_tools_security_policy_access.help": "⚠ Proqramçı rejimi aktiv olduqda proqramçı alətlərinə alətlərin təhlükəsizlik siyasətlərini yenidən yazmağa, ayrı-ayrı alətlər üçün təsdiq tələbləri əlavə etməyə və ya onları çıxarmağa, gözləyən təsdiq sorğularını sizin adınızdan təsdiqləməyə və ya rədd etməyə imkan verir — AI agenti öz təsdiq tələb edən çağırışlarını qəbul edə bilər. Yalnız siyasətlərin sınağı üçün. Yenidən başlatmadan qüvvəyə minir.",
468
511
  "addon.secret_path.name": "Gizli yolun əvəzlənməsi",
@@ -131,6 +131,7 @@
131
131
  "features.enable_tool_search.label": "Povolit vyhledávání nástrojů",
132
132
  "features.enable_tool_search.help": "Nahradí celý katalog nástrojů vyhledáváním. Snižuje nečinný kontext přibližně o 90 %, na zhruba 5K tokenů. ⚠️ NEPOVOLUJTE toto v klientech s vlastním vestavěným vyhledáváním nástrojů / odloženými nástroji (claude.ai, Claude Desktop, Claude Code) — dvě vrstvy vyhledávání se střetávají a vestavěné vyhledávání nástrojů klienta je tam lepší volbou; nechte to vypnuté. Zda jsou nástroje odložené, závisí na kombinaci vašeho klienta a modelu: použijte toto, když vaše nastavení načítá celý katalog předem — modely bez nativních odložených nástrojů (např. Gemini, lokální modely kompatibilní s OpenAI, Claude Haiku), klienti, kteří vkládají všechna schémata nástrojů bez ohledu na model (např. GitHub Copilot CLI), nebo menší kontextová okna. Některé modely Codex a ChatGPT také zahrnují odložené nástroje — zkontrolujte přímo svého klienta/model, abyste potvrdili jeho funkce a nenechali to zbytečně povolené. Nástroje jsou nalezeny pomocí ha_search_tools a spouštěny prostřednictvím kategorizovaných proxy (čtení/zápis/mazání). Vyžaduje restart, aby se projevilo.",
133
133
  "features.tool_search_max_results.label": "Max. výsledků vyhledávání nástrojů",
134
+ "features.tool_search_max_results.help": "Maximální počet skrytých nástrojů vrácených při volání ha_search_tools, když je povoleno vyhledávání nástrojů; připnutý nástroj, který se umístí v rámci tohoto horního počtu, je přidán jako krátká položka obsahující pouze název navíc. Nižší hodnoty (2–3) šetří tokeny kontextu, ale mohou minout relevantní nástroje. Vyžaduje restart.",
134
135
  "features.enable_tool_security_policies.label": "Povolit zásady zabezpečení nástrojů (pokročilé)",
135
136
  "features.enable_tool_security_policies.help": "Podmiňuje vysoce rizikové volání nástrojů (ovládání zámků/alarmů, zápisy automatizací atd.) schválením uživatelem. Když je volán chráněný nástroj, agent řekne uživateli, aby otevřel záložku Zásady zabezpečení nástrojů ve webovém rozhraní a klikl na Schválit, než volání pokračuje. Pravidla pro jednotlivé nástroje s volitelnými podmínkami argumentů se konfigurují na záložce Zásady zabezpečení nástrojů. Ve výchozím nastavení vypnuto. Vyžaduje restart, aby se projevilo.",
136
137
  "features.read_only_mode.label": "Režim pouze pro čtení",
@@ -215,6 +216,9 @@
215
216
  "common.env_locked": "uzamčeno prostředím",
216
217
  "common.minutes_short": "{count} min",
217
218
  "common.bytes": "{count} bajtů",
219
+ "common.range": "Rozsah {min}–{max}.",
220
+ "common.range_or_value": "Rozsah {min}–{max} nebo {value}.",
221
+ "common.restart_required": "Vyžadován restart.",
218
222
  "common.none": "(žádné)",
219
223
  "notice.restart.addon": "⚠ Změny uloženy. Kliknutím na „Restartovat aplikaci (doplněk)“ je projevíte. Zakázané nástroje budou odstraněny ze seznamu nástrojů MCP při příštím spuštění. Poté obnovte seznam nástrojů ve svém AI klientovi; samotný restart aplikace neobnoví mezipaměť seznamu klienta.",
220
224
  "notice.restart.embedded": "⚠ Změny uloženy. Klikněte na „Restartovat server HA-MCP“ pro opětovné načtení integrace v procesu. Poté obnovte seznam nástrojů MCP ve vašem AI klientovi.",
@@ -251,13 +255,23 @@
251
255
  "tools.summary.disabled": "{count} zakázáno",
252
256
  "tools.read_only.save_failed": "Změna režimu pouze pro čtení se neuložila. Server stále používá předchozí hodnotu.",
253
257
  "backup.fields.enable_auto_backup.label": "Automatické zálohování úprav",
258
+ "backup.fields.enable_auto_backup.help": "Uložit snímek entity před každým voláním nástroje pro zápis nebo smazání, které ji změní. Pokud je tato možnost vypnutá, nástroje pro práci se soubory a surovým YAML (ha_write_file, ha_delete_file, ha_config_set_yaml) odmítnou provést zápis.",
254
259
  "backup.fields.enable_snapshot_actions.label": "Povolit akce s úplnými snapshoty HA",
260
+ "backup.fields.enable_snapshot_actions.help": "Umožnit asistentům AI spravovat úplné zálohy Home Assistant prostřednictvím ha_manage_backup a odpovídajících zálohovacích služeb a příkazů v ha_call_service. Vypnutím této možnosti zablokujete všechny akce se zálohami, včetně výpisu. Smazání zálohy je k dispozici pouze prostřednictvím ha_manage_backup a vyžaduje také povolení smazání zálohy. Úpravy záloh a akce se zálohami, které uživatel provádí v uživatelském rozhraní nastavení webu, zůstávají k dispozici.",
255
261
  "backup.fields.backup_read_only.label": "Nastavit správu záloh jako jen pro čtení",
262
+ "backup.fields.backup_read_only.help": "Umožnit asistentům AI vypisovat, zobrazovat a porovnávat zálohy úprav a vypisovat úplné zálohy HA, když jsou povoleny akce se zálohami. Blokuje ruční vytváření záloh, obnovení (včetně obnovení úprav) a mazání, včetně odpovídajících zálohovacích služeb a příkazů v ha_call_service. Automatické zálohy před úpravami pokračují. Akce se zálohami, které uživatel provádí v uživatelském rozhraní nastavení webu, zůstávají k dispozici.",
263
+ "backup.fields.auto_backup_throttle_minutes.label": "Omezení frekvence automatických záloh (minuty)",
264
+ "backup.fields.auto_backup_throttle_minutes.help": "Jak často může automatická záloha zachytit stejnou entitu. Hodnota 0 zachytí každý zápis; hodnota N větší než 0 zachytí maximálně jeden snímek za N minut na entitu.",
265
+ "backup.fields.auto_backup_retain_per_entity.label": "Uchovávání automatických záloh (na entitu)",
266
+ "backup.fields.auto_backup_retain_per_entity.help": "Maximální počet uchovávaných snímků na entitu. Každý nový záznam odstraní nejstarší snímky nad toto číslo.",
256
267
  "backup.fields.auto_backup_dir.label": "Přepsání adresáře záloh",
257
268
  "backup.fields.auto_backup_dir.help": "Ponechte prázdné pro výchozí hodnotu: /data/ha_mcp_backups v aplikaci (doplňku), jinak podadresář backups datového adresáře ha-mcp; instalace, která již obsahuje zálohy pod dřívějším výchozím nastavením, jej nadále používá. Používaný adresář se zobrazuje ve stavu zálohy. Nebo zadejte absolutní cestu.",
258
269
  "backup.fields.auto_backup_calendar_lookahead_days.label": "Předstih kalendáře (dny)",
270
+ "backup.fields.auto_backup_calendar_lookahead_days.help": "Jak daleko dopředu dotazovat události kalendáře pro snímky před úpravou.",
259
271
  "backup.fields.enable_snapshot_delete.label": "Povolit smazání snímků",
272
+ "backup.fields.enable_snapshot_delete.help": "Umožnit ha_manage_backup mazat úplné zálohy Home Assistant. Záloha může být poslední záchranou po chybné změně, proto ji musí uživatel zapnout. Plánované zálohy, nejnovější záloha a zálohy mladší než minimální stáří zůstávají chráněny.",
260
273
  "backup.fields.snapshot_delete_min_age_days.label": "Minimální stáří snímku pro smazání (dny)",
274
+ "backup.fields.snapshot_delete_min_age_days.help": "Jak stará musí být záloha ve dnech, než ji bude možné smazat. Hodnota 0 vypíná časový limit; nejnovější záloha a plánované zálohy zůstávají chráněny.",
261
275
  "backup.origins.addon": "Synchronizováno se Supervisor. Po uložení je vyžadován restart.",
262
276
  "backup.origins.file": "Uloženo lokálně; projeví se okamžitě.",
263
277
  "backup.origins.default": "Používá se výchozí; první uložení vytvoří lokální soubor pro přepsání.",
@@ -427,16 +441,29 @@
427
441
  "advanced.homeassistant_token.label": "Token Home Assistant",
428
442
  "advanced.homeassistant_token.help": "Pouze zobrazení. Nastaveno přes HOMEASSISTANT_TOKEN. Zde maskováno z bezpečnostních důvodů.",
429
443
  "advanced.timeout.label": "Časový limit požadavku HA (s)",
444
+ "advanced.timeout.help": "Časový limit HTTP na jeden požadavek.",
430
445
  "advanced.max_retries.label": "Max. opakování požadavku HA",
446
+ "advanced.max_retries.help": "Rozpočet na opakování pro každé selhání volání REST.",
447
+ "advanced.verify_ssl.label": "Ověřit certifikáty TLS",
448
+ "advanced.verify_ssl.help": "Ověřit certifikát TLS serveru Home Assistant. Vypněte tuto možnost pouze v důvěryhodné síti pro autorsky podepsaný certifikát nebo neshodu názvů hostitelů: oslabuje to zabezpečení přenosu.",
431
449
  "advanced.fuzzy_threshold.label": "Prahová hodnota fuzzy vyhledávání",
450
+ "advanced.fuzzy_threshold.help": "Nižší hodnoty umožňují volnější shodu entit.",
432
451
  "advanced.automation_config_time_budget.label": "Časový rozpočet konfigurace automatizace (s)",
452
+ "advanced.automation_config_time_budget.help": "Maximální čas, který hluboké vyhledávání stráví získáváním konfigurací automatizací.",
433
453
  "advanced.script_config_time_budget.label": "Časový rozpočet konfigurace skriptu (s)",
454
+ "advanced.script_config_time_budget.help": "Maximální čas, který hluboké vyhledávání stráví získáváním konfigurací skriptů.",
434
455
  "advanced.scene_config_time_budget.label": "Časový rozpočet konfigurace scény (s)",
456
+ "advanced.scene_config_time_budget.help": "Maximální čas, který hluboké vyhledávání stráví získáváním konfigurací scén.",
435
457
  "advanced.individual_config_timeout.label": "Časový limit načítání konfigurace na požadavek (s)",
458
+ "advanced.individual_config_timeout.help": "Časový limit pro každé načtení konfigurace automatizace/skriptu/scény.",
436
459
  "advanced.individual_fetch_batch_size.label": "Velikost dávky načítání konfigurace",
460
+ "advanced.individual_fetch_batch_size.help": "Souběžné načítání konfigurací podle ID. Snižte směrem k 1 na sériových serverech HA.",
437
461
  "advanced.enable_history_query_guardrails.label": "Ochrana historických dotazů",
438
462
  "advanced.enable_history_query_guardrails.help": "Zamítat dotazy do záznamu (recorder), které překračují konzervativní limity entit a časového rozsahu. Ve výchozím nastavení vypnuto.",
439
463
  "advanced.ha_tool_concurrency.label": "Souběžnost nástrojů Home Assistant",
464
+ "advanced.ha_tool_concurrency.help": "Volitelný limit pro vnější volání nástrojů Home Assistant napříč všemi relacemi. Vnitřní souběh pro REST, WebSocket a rozbočení pro jednotlivé nástroje zůstává nezměněn. 0 zachovává neomezené chování. Volání čekající na kapacitu selže po 60 sekundách.",
465
+ "advanced.backup_hint.label": "Úroveň nápovědy zálohování",
466
+ "advanced.backup_hint.help": "Jak důrazně jsou asistenti AI vyzýváni k doporučení úplné zálohy Home Assistant před rizikovými změnami. Mění pouze tuto nápovědu; automatické zálohy úprav mají své vlastní nastavení.",
440
467
  "advanced.backup_hint.choices.strong": "Silná",
441
468
  "advanced.backup_hint.choices.normal": "Normální",
442
469
  "advanced.backup_hint.choices.weak": "Slabá",
@@ -444,25 +471,41 @@
444
471
  "advanced.dashboard_screenshot_engine_url.label": "URL adresa enginu pro snímky obrazovky panelu",
445
472
  "advanced.dashboard_screenshot_engine_url.help": "Základní URL enginu pro snímky obrazovky. Ponechte prázdné pro automatické zjišťování Supervisor. Platí okamžitě.",
446
473
  "advanced.enable_websocket.label": "Povolit WebSocket",
474
+ "advanced.enable_websocket.help": "Sledování stavu přes WebSocket. Vypnutí přepne na polling a omezí funkčnost mnoha nástrojů.",
447
475
  "advanced.enabled_tool_modules.label": "Povolené moduly nástrojů",
476
+ "advanced.enabled_tool_modules.help": "Názvy modulů oddělené čárkami nebo 'all'.",
448
477
  "advanced.enable_dashboard_partial_tools.label": "Nástroje pro částečnou aktualizaci panelu",
449
478
  "advanced.enable_dashboard_partial_tools.help": "Tokenově efektivní nástroje pro částečnou aktualizaci panelu. Zakažte pro klienty s programovým použitím nástrojů.",
450
479
  "advanced.mcp_server_name.label": "Název serveru MCP",
480
+ "advanced.mcp_server_name.help": "Hlášeno v navázání spojení MCP.",
451
481
  "advanced.mcp_server_version.label": "Verze serveru MCP",
482
+ "advanced.mcp_server_version.help": "Výchozí hodnota odpovídá verzi balíčku. Přepsání může zmást klienty.",
452
483
  "advanced.environment.label": "Prostředí",
484
+ "advanced.environment.help": "development nebo production. Ovlivňuje podrobnost protokolování.",
453
485
  "advanced.http_transport_diagnostics.label": "Diagnostika HTTP přenosu",
486
+ "advanced.http_transport_diagnostics.help": "Experimentální. Automaticky povolit protokolování INFO pro diagnostiku HTTP za běhu serveru, bez datových částí (payloads) nebo přihlašovacích údajů. Ostatní loggery zůstávají nezměněny; explicitní přepsání loggerů a filtry v Home Assistant se stále uplatňují. Potvrzení o přijetí klienta se nezjišťuje. Pouze HTTP.",
454
487
  "advanced.http_json_response.label": "Odpovědi ve formátu JSON namísto streamování",
488
+ "advanced.http_json_response.help": "Experimentální. Vrátit jedinou odpověď JSON místo datového proudu SSE. Ovlivňuje všechny klienty HTTP na tomto serveru a zakazuje streamovaný průběh pro tyto odpovědi. Pouze HTTP.",
455
489
  "advanced.log_level.label": "Úroveň protokolu",
490
+ "advanced.log_level.help": "DEBUG/INFO/WARNING/ERROR/CRITICAL.",
456
491
  "advanced.debug.label": "Režim ladění",
492
+ "advanced.debug.help": "Podrobné protokolování požadavků. Může odhalit citlivá data.",
457
493
  "advanced.code_mode_max_duration.label": "Maximální doba trvání režimu kódu (s)",
494
+ "advanced.code_mode_max_duration.help": "Časový rozpočet reálného času na jedno spuštění v sandboxu.",
458
495
  "advanced.code_mode_max_memory.label": "Maximální paměť režimu kódu (bajty)",
496
+ "advanced.code_mode_max_memory.help": "Paměťový limit na jedno spuštění v sandboxu.",
459
497
  "advanced.code_mode_max_recursion.label": "Maximální rekurze režimu kódu",
498
+ "advanced.code_mode_max_recursion.help": "Limit hloubky rekurze na jedno spuštění v sandboxu.",
460
499
  "advanced.code_mode_max_invocations.label": "Maximální počet volání režimu kódu",
500
+ "advanced.code_mode_max_invocations.help": "Limit volání rozhraní API / nástrojů na jedno spuštění v sandboxu.",
461
501
  "advanced.code_mode_saved_tools_path.label": "Cesta k uloženým nástrojům",
502
+ "advanced.code_mode_saved_tools_path.help": "Soubor JSON používaný k uchování vlastních nástrojů napříč restarty.",
462
503
  "advanced.extra_yaml_write_keys.label": "Další klíče pro zápis YAML",
463
504
  "advanced.extra_yaml_write_keys.help": "Další klíče nejvyšší úrovně, které může ha_config_set_yaml zapisovat kromě vestavěných, pro integrace primárně využívající YAML na této instalaci (např. alert2). Zadejte jeden klíč na řádek nebo oddělte klíče čárkami. Klíče, které mění vlastní hranici důvěry Home Assistant, nelze nikdy přidat a jsou ignorovány. Vyžaduje vlastní komponentu (custom component) 1.2.4 nebo novější.",
464
505
  "advanced.sidecar_pin_port.label": "Port sidecaru uživatelského rozhraní nastavení",
506
+ "advanced.sidecar_pin_port.help": "Hodnota 0 vybere volný port při prvním spuštění a ponechá si ho pro pozdější restarty; port v zadaném rozsahu zafixuje preferovaný port (pokud je obsazen, přejde na volný).",
465
507
  "advanced.enable_dev_mode.label": "Režim vývojáře",
508
+ "advanced.enable_dev_mode.help": "⚠ Registruje skryté nástroje, které mohou měnit nastavení a nahradit běžící server. Pouze pro vývoj a testování.",
466
509
  "advanced.dev_tools_security_policy_access.label": "Přístup k bezpečnostním zásadám vývojářských nástrojů",
467
510
  "advanced.dev_tools_security_policy_access.help": "⚠ Zatímco je zapnutý režim vývojáře, umožňuje vývojářským nástrojům přepisovat bezpečnostní zásady nástrojů, přidávat nebo odebírat brány schválení pro jednotlivé nástroje a schvalovat nebo zamítat čekající schválení vaším jménem — agent AI může přijímat svá vlastní řízená volání. Pouze pro testování zásad. Projeví se bez restartu.",
468
511
  "addon.secret_path.name": "Přepsání tajné cesty",
@@ -131,6 +131,7 @@
131
131
  "features.enable_tool_search.label": "Tool-Suche aktivieren",
132
132
  "features.enable_tool_search.help": "Ersetzt den vollständigen Tool-Katalog durch suchbasierte Entdeckung. Reduziert den Leerlauf-Kontext um rund 90 % auf etwa 5K Tokens. ⚠️ Aktiviere dies NICHT in Clients mit eigener integrierter Tool-Suche / aufgeschobenen Tools (claude.ai, Claude Desktop, Claude Code) – die beiden Suchebenen kollidieren, und die integrierte Tool-Suche des Clients ist dort die bessere Wahl; lasse dies ausgeschaltet. Ob Tools aufgeschoben werden, hängt von der Kombination aus Client und Modell ab: Verwende dies, wenn dein Setup den vollständigen Katalog von Anfang an lädt – Modelle ohne native aufgeschobene Tools (z. B. Gemini, lokale OpenAI-kompatible Modelle, Claude Haiku), Clients, die alle Tool-Schemata unabhängig vom Modell direkt einbetten (z. B. GitHub Copilot CLI), oder kleinere Kontextfenster. Auch einige Codex-Modelle und ChatGPT haben aufgeschobene Tools – prüfe direkt bei deinem Client/Modell, welche Features er hat, damit du dies nicht unnötig aktiviert lässt. Tools werden über ha_search_tools gefunden und über kategorisierte Proxys (read/write/delete) ausgeführt. Erfordert Neustart, um wirksam zu werden.",
133
133
  "features.tool_search_max_results.label": "Max. Tool-Suchergebnisse",
134
+ "features.tool_search_max_results.help": "Maximale Anzahl versteckter Tools, die pro ha_search_tools-Aufruf zurückgegeben werden, wenn die Tool-Suche aktiviert ist; ein angepinntes Tool, das in diesen obersten Ergebnissen landet, wird als kurzer Name-only-Eintrag zusätzlich oben hinzugefügt. Niedrigere Werte (2-3) sparen Kontex-Token, können aber relevante Tools verfehlen. Erfordert Neustart.",
134
135
  "features.enable_tool_security_policies.label": "Tool-Sicherheitsrichtlinien aktivieren (erweitert)",
135
136
  "features.enable_tool_security_policies.help": "Gating kritischer Tool-Aufrufe (Schloss-/Alarmsteuerung, Automatisierungsschreibvorgänge usw.) hinter Benutzergenehmigung. Wenn ein geschütztes Tool aufgerufen wird, weist der Agent den Benutzer an, den Tab Tool-Sicherheitsrichtlinien in der Web-UI zu öffnen und auf Genehmigen zu klicken, bevor der Aufruf fortgesetzt wird. Tool-bezogene Regeln mit optionalen Argumentbedingungen werden im Tab Tool-Sicherheitsrichtlinien konfiguriert. Standardmäßig ausgeschaltet. Erfordert Neustart, um wirksam zu werden.",
136
137
  "features.read_only_mode.label": "Nur-Lese-Modus",
@@ -215,6 +216,9 @@
215
216
  "common.env_locked": "umgebungsgesperrt",
216
217
  "common.minutes_short": "{count} Min.",
217
218
  "common.bytes": "{count} Bytes",
219
+ "common.range": "Bereich {min}–{max}.",
220
+ "common.range_or_value": "Bereich {min}–{max} oder {value}.",
221
+ "common.restart_required": "Neustart erforderlich.",
218
222
  "common.none": "(keine)",
219
223
  "notice.restart.addon": "⚠ Änderungen gespeichert. Klicke auf „App (Add-on) neu starten“, damit sie wirksam werden. Deaktivierte Tools werden beim nächsten Start aus der MCP-Tool-Liste entfernt. Aktualisiere dann die Tool-Liste in deinem KI-Client; das alleinige Neustarten der App aktualisiert nicht die zwischengespeicherte Liste des Clients.",
220
224
  "notice.restart.embedded": "⚠ Änderungen gespeichert. Klicke auf HA-MCP-Server neu starten, um die In-Process-Integration neu zu laden. Aktualisiere dann die MCP-Tool-Liste in deinem KI-Client.",
@@ -251,13 +255,23 @@
251
255
  "tools.summary.disabled": "{count} deaktiviert",
252
256
  "tools.read_only.save_failed": "Nur-Lese-Modus-Änderung wurde nicht gespeichert. Der Server hat weiterhin den vorherigen Wert.",
253
257
  "backup.fields.enable_auto_backup.label": "Automatische Backup-Bearbeitungen",
258
+ "backup.fields.enable_auto_backup.help": "Speichere einen Schnappschuss einer Entität, bevor ein Schreib- oder Lösch-Tool-Aufruf sie ändert. Solange dies deaktiviert ist, verweigern die Datei- und Raw-YAML-Tools (ha_write_file, ha_delete_file, ha_config_set_yaml) das Schreiben.",
254
259
  "backup.fields.enable_snapshot_actions.label": "Vollständige HA-Snapshot-Aktionen erlauben",
260
+ "backup.fields.enable_snapshot_actions.help": "Erlaube KI-Assistenten, vollständige Home Assistant-Schnappschüsse über ha_manage_backup sowie die entsprechenden Backup-Dienste und Befehle in ha_call_service zu verwalten. Das Deaktivieren blockiert jede Schnappschuss-Aktion, einschließlich des Auflistens. Das Löschen von Schnappschüssen ist nur über ha_manage_backup verfügbar und erfordert zudem „Schnappschuss-Löschung erlauben“. Das Bearbeiten von Backups und die Backup-Aktionen, die eine Person in der Weboberfläche der Einstellungen vornimmt, bleiben verfügbar.",
255
261
  "backup.fields.backup_read_only.label": "Backup-Verwaltung schreibgeschützt machen",
262
+ "backup.fields.backup_read_only.help": "Erlaube KI-Assistenten, Bearbeitungs-Backups aufzulisten, anzuzeigen und zu vergleichen sowie vollständige HA-Schnappschüsse aufzulisten, wenn Schnappschuss-Aktionen aktiviert sind. Blockiere das manuelle Erstellen, Wiederherstellen (einschließlich Bearbeitungs-Wiederherstellungen) und Löschen von Backups, einschließlich der entsprechenden Backup-Dienste und Befehle in ha_call_service. Automatische Backups vor Bearbeitungen laufen weiter. Die Backup-Aktionen, die eine Person in der Weboberfläche der Einstellungen vornimmt, bleiben verfügbar.",
263
+ "backup.fields.auto_backup_throttle_minutes.label": "Auto-Backup-Drosselung (Minuten)",
264
+ "backup.fields.auto_backup_throttle_minutes.help": "Wie oft das Auto-Backup dieselbe Entität erfassen darf. 0 erfasst bei jedem Schreiben; N größer als 0 erfasst höchstens einen Schnappschuss pro N Minuten und Entität.",
265
+ "backup.fields.auto_backup_retain_per_entity.label": "Auto-Backup-Aufbewahrung (pro Entität)",
266
+ "backup.fields.auto_backup_retain_per_entity.help": "Die maximale Anzahl an Schnappschüssen, die pro Entität aufbewahrt werden. Jede neue Erfassung entfernt die ältesten Schnappschüsse, die diese Anzahl überschreiten.",
256
267
  "backup.fields.auto_backup_dir.label": "Backup-Verzeichnis-Überschreibung",
257
268
  "backup.fields.auto_backup_dir.help": "Leer lassen für den Standard: /data/ha_mcp_backups im Add-on, ansonsten das Unterverzeichnis backups/ des ha-mcp-Datenverzeichnisses; eine Installation, die bereits Schnappschüsse unter dem früheren Standard speichert, verwendet diesen weiterhin. Das verwendete Verzeichnis wird im Backup-Status angezeigt. Oder gib einen absoluten Pfad ein.",
258
269
  "backup.fields.auto_backup_calendar_lookahead_days.label": "Kalender-Vorschau (Tage)",
270
+ "backup.fields.auto_backup_calendar_lookahead_days.help": "Wie weit im Voraus Kalenderereignisse für Schnappschüsse vor Bearbeitungen abgefragt werden.",
259
271
  "backup.fields.enable_snapshot_delete.label": "Snapshot-Löschung erlauben",
272
+ "backup.fields.enable_snapshot_delete.help": "Erlaube ha_manage_backup das Löschen vollständiger Home Assistant-Schnappschüsse. Ein Schnappschuss ist möglicherweise der letzte Ausweg nach einer fehlerhaften Änderung, daher muss eine Person dies aktivieren. Geplante Backups, der neueste Schnappschuss und Schnappschüsse, die jünger als das Mindestalter sind, bleiben geschützt.",
260
273
  "backup.fields.snapshot_delete_min_age_days.label": "Mindestalter des Snapshots zum Löschen (Tage)",
274
+ "backup.fields.snapshot_delete_min_age_days.help": "Wie alt ein Schnappschuss in Tagen sein muss, bevor er gelöscht werden kann. 0 deaktiviert das Alterslimit; der neueste Schnappschuss und geplante Backups bleiben geschützt.",
261
275
  "backup.origins.addon": "Mit Supervisor synchronisiert. Neustart nach dem Speichern erforderlich.",
262
276
  "backup.origins.file": "Lokal gespeichert; wirkt sofort.",
263
277
  "backup.origins.default": "Verwendet Standard; erstes Speichern erstellt eine lokale Überschreibungsdatei.",
@@ -427,16 +441,29 @@
427
441
  "advanced.homeassistant_token.label": "Home-Assistant-Token",
428
442
  "advanced.homeassistant_token.help": "Nur Anzeige. Über HOMEASSISTANT_TOKEN gesetzt. Aus Sicherheitsgründen hier maskiert.",
429
443
  "advanced.timeout.label": "HA-Anforderungs-Timeout (s)",
444
+ "advanced.timeout.help": "HTTP-Timeout pro Anfrage.",
430
445
  "advanced.max_retries.label": "Max. HA-Anforderungs-Wiederholungen",
446
+ "advanced.max_retries.help": "Wiederholungsbudget pro fehlgeschlagenem REST-Aufruf.",
447
+ "advanced.verify_ssl.label": "TLS-Zertifikate überprüfen",
448
+ "advanced.verify_ssl.help": "Überprüfe das TLS-Zertifikat des Home Assistant-Servers. Deaktiviere dies nur in einem vertrauenswürdigen Netzwerk, für ein selbstsigniertes Zertifikat oder bei einer Hostnamen-Abweichung: Dies schwächt die Transportsicherheit.",
431
449
  "advanced.fuzzy_threshold.label": "Fuzzy-Such-Schwellenwert",
450
+ "advanced.fuzzy_threshold.help": "Niedrigere Werte erlauben einen großzügigeren Entitätsabgleich.",
432
451
  "advanced.automation_config_time_budget.label": "Automatisierungskonfigurations-Zeitbudget (s)",
452
+ "advanced.automation_config_time_budget.help": "Maximale Zeit, die die Tiefensuche für das Abrufen von Automatisierungskonfigurationen aufwendet.",
433
453
  "advanced.script_config_time_budget.label": "Skriptkonfigurations-Zeitbudget (s)",
454
+ "advanced.script_config_time_budget.help": "Maximale Zeit, die die Tiefensuche für das Abrufen von Skriptkonfigurationen aufwendet.",
434
455
  "advanced.scene_config_time_budget.label": "Szenenkonfigurations-Zeitbudget (s)",
456
+ "advanced.scene_config_time_budget.help": "Maximale Zeit, die die Tiefensuche für das Abrufen von Szenenkonfigurationen aufwendet.",
435
457
  "advanced.individual_config_timeout.label": "Timeout pro Konfigurations-Abruf (s)",
458
+ "advanced.individual_config_timeout.help": "Timeout für jeden Abruf einer Automatisierungs-, Skript- oder Szenenkonfiguration.",
436
459
  "advanced.individual_fetch_batch_size.label": "Konfigurations-Abruf-Batch-Größe",
460
+ "advanced.individual_fetch_batch_size.help": "Gleichzeitige Konfigurationsabrufe pro ID. Bei seriellen HA-Servern in Richtung 1 verringern.",
437
461
  "advanced.enable_history_query_guardrails.label": "Verlauf-Abfrage-Schutzplanken",
438
462
  "advanced.enable_history_query_guardrails.help": "Recorder-Abfragen ablehnen, die konservative Entitäts- und Zeitbereichsbudgets überschreiten. Standardmäßig deaktiviert.",
439
463
  "advanced.ha_tool_concurrency.label": "Home-Assistant-Tool-Gleichzeitigkeit",
464
+ "advanced.ha_tool_concurrency.help": "Optionale Begrenzung für äußere Home Assistant-Tool-Aufrufe über alle Sitzungen hinweg. Interne REST-, WebSocket- und tool-spezifische Fan-Out-Gleichzeitigkeit bleibt unverändert. 0 belässt das Verhalten unbegrenzt. Ein Aufruf, der auf Kapazität wartet, schlägt nach 60 Sekunden fehl.",
465
+ "advanced.backup_hint.label": "Backup-Hinweisstufe",
466
+ "advanced.backup_hint.help": "Wie nachdrücklich KI-Assistenten angewiesen werden, vor riskanten Änderungen ein vollständiges Home Assistant-Backup vorzuschlagen. Ändert nur diesen Hinweis; automatische Bearbeitungs-Backups haben ihre eigene Einstellung.",
440
467
  "advanced.backup_hint.choices.strong": "Stark",
441
468
  "advanced.backup_hint.choices.normal": "Normal",
442
469
  "advanced.backup_hint.choices.weak": "Schwach",
@@ -444,25 +471,41 @@
444
471
  "advanced.dashboard_screenshot_engine_url.label": "Dashboard-Screenshot-Engine-URL",
445
472
  "advanced.dashboard_screenshot_engine_url.help": "Basis-URL der Screenshot-Engine. Lasse leer für Supervisor-Auto-Discovery. Wirkt sofort.",
446
473
  "advanced.enable_websocket.label": "WebSocket aktivieren",
474
+ "advanced.enable_websocket.help": "WebSocket-Zustandsüberwachung. Das Deaktivieren fällt auf Polling zurück und beeinträchtigt viele Tools.",
447
475
  "advanced.enabled_tool_modules.label": "Aktivierte Tool-Module",
476
+ "advanced.enabled_tool_modules.help": "Kommagetrennte Modulnamen oder 'all'.",
448
477
  "advanced.enable_dashboard_partial_tools.label": "Dashboard-Partial-Update-Tools",
449
478
  "advanced.enable_dashboard_partial_tools.help": "Token-effiziente Partial-Dashboard-Tools. Deaktiviere für Clients mit programmatischer Tool-Nutzung.",
450
479
  "advanced.mcp_server_name.label": "MCP-Servername",
480
+ "advanced.mcp_server_name.help": "Wird im MCP-Handshake gemeldet.",
451
481
  "advanced.mcp_server_version.label": "MCP-Serverversion",
482
+ "advanced.mcp_server_version.help": "Standardmäßig die Paketversion. Ein Überschreiben kann Clients verwirren.",
452
483
  "advanced.environment.label": "Umgebung",
484
+ "advanced.environment.help": "development oder production. Beeinflusst die Ausführlichkeit der Protokollierung.",
453
485
  "advanced.http_transport_diagnostics.label": "HTTP-Transportdiagnostik",
486
+ "advanced.http_transport_diagnostics.help": "Experimentell. Aktiviere automatisch die INFO-Protokollierung für HTTP-Diagnosen, während der Server läuft, ohne Payloads oder Anmeldeinformationen. Andere Logger bleiben unverändert; explizite Logger-Überschreibungen und -Filter von Home Assistant gelten weiterhin. Bestätigt nicht den Empfang durch den Client. Nur HTTP.",
454
487
  "advanced.http_json_response.label": "JSON-Antworten anstelle von Streaming",
488
+ "advanced.http_json_response.help": "Experimentell. Gib eine einzelne JSON-Antwort anstelle eines SSE-Streams zurück. Betrifft alle HTTP-Clients auf diesem Server und deaktiviert den gestreamten Fortschritt für diese Antworten. Nur HTTP.",
455
489
  "advanced.log_level.label": "Protokollierungsstufe",
490
+ "advanced.log_level.help": "DEBUG/INFO/WARNING/ERROR/CRITICAL.",
456
491
  "advanced.debug.label": "Debug-Modus",
492
+ "advanced.debug.help": "Ausführliche Anforderungsprotokollierung. Kann sensible Daten offenlegen.",
457
493
  "advanced.code_mode_max_duration.label": "Code-Modus max. Dauer (s)",
494
+ "advanced.code_mode_max_duration.help": "Zeitbudget pro Sandbox-Ausführung.",
458
495
  "advanced.code_mode_max_memory.label": "Code-Modus max. Speicher (Bytes)",
496
+ "advanced.code_mode_max_memory.help": "Speicherlimit pro Sandbox-Ausführung.",
459
497
  "advanced.code_mode_max_recursion.label": "Code-Modus max. Rekursion",
498
+ "advanced.code_mode_max_recursion.help": "Rekursionstiefenlimit pro Sandbox-Ausführung.",
460
499
  "advanced.code_mode_max_invocations.label": "Code-Modus max. Aufrufe",
500
+ "advanced.code_mode_max_invocations.help": "API-/Tool-Aufruf-Limit pro Sandbox-Ausführung.",
461
501
  "advanced.code_mode_saved_tools_path.label": "Pfad für gespeicherte Tools",
502
+ "advanced.code_mode_saved_tools_path.help": "JSON-Datei zum Speichern von benutzerdefinierten Tools über Neustarts hinweg.",
462
503
  "advanced.extra_yaml_write_keys.label": "Zusätzliche YAML-Schreib-Keys",
463
504
  "advanced.extra_yaml_write_keys.help": "Zusätzliche Top-Level-Schlüssel, die ha_config_set_yaml zusätzlich zu den integrierten für YAML-erste Integrationen auf dieser Installation schreiben kann (z. B. alert2). Gib einen Schlüssel pro Zeile ein oder trenne Schlüssel mit Kommas. Schlüssel, die Home Assistants eigene Vertrauensgrenze neu definieren, können niemals hinzugefügt werden und werden ignoriert. Erfordert die Custom Component 1.2.4 oder neuer.",
464
505
  "advanced.sidecar_pin_port.label": "Einstellungs-UI-Sidecar-Port",
506
+ "advanced.sidecar_pin_port.help": "0 wählt beim ersten Start einen freien Port und behält ihn für spätere Neustarts bei; ein Port im Bereich fixiert einen bevorzugten Port (weicht auf einen freien aus, falls dieser belegt ist).",
465
507
  "advanced.enable_dev_mode.label": "Entwicklermodus",
508
+ "advanced.enable_dev_mode.help": "⚠ Registriert versteckte Tools, die Einstellungen ändern und den laufenden Server ersetzen können. Nur für Entwicklung und Tests.",
466
509
  "advanced.dev_tools_security_policy_access.label": "Zugriff der Entwicklertools auf Sicherheitsrichtlinien",
467
510
  "advanced.dev_tools_security_policy_access.help": "⚠ Solange der Entwicklermodus aktiviert ist, können die Entwicklertools Tool-Sicherheitsrichtlinien umschreiben, Genehmigungstore pro Tool hinzufügen oder entfernen und ausstehende Genehmigungen in deinem Namen genehmigen oder ablehnen – ein KI-Agent kann seine eigenen gesperrten Aufrufe akzeptieren. Nur zum Testen von Richtlinien. Tritt ohne Neustart in Kraft.",
468
511
  "addon.secret_path.name": "Secret-Pfad Override",
@@ -131,6 +131,7 @@
131
131
  "features.enable_tool_search.label": "Ebligi ilo-serĉon",
132
132
  "features.enable_tool_search.help": "Anstataŭigi la plenan ilo-katalogon per serĉ-bazita malkovro. Reduktas neaktivan kuntekston je proksimume 90%, al ĉirkaŭ 5K ĵetonoj. ⚠️ NE ebligu ĉi tion en klientoj kun sia propra enkonstruita ilo-serĉo / prokrastitaj iloj (claude.ai, Claude Desktop, Claude Code) — la du serĉtavoloj konfliktas, kaj la enkonstruita ilo-serĉo de la kliento estas la pli bona elekto tie; lasu ĉi tion malŝaltita. Ĉu iloj estas prokrastitaj dependas de via kliento kaj modelo-kombino: uzu ĉi tion kiam via agordo ŝarĝas la plenan katalogon antaŭe — modeloj sen denaskaj prokrastitaj iloj (ekz. Gemini, OpenAI-kongruaj lokaj modeloj, Claude Haiku), klientoj kiuj enlinigas ĉiujn ilo-skemojn sendepende de modelo (ekz. GitHub Copilot CLI), aŭ pli malgrandaj kuntekstaj fenestroj. Iuj Codex-modeloj kaj ChatGPT ankaŭ inkluzivas prokrastitajn ilojn — kontrolu vian klienton/modelon rekte por konfirmi ĝiajn funkciojn, por ke vi ne lasu ĉi tion ebligita senbezone. Iloj estas trovitaj per ha_search_tools kaj ekzekutitaj per kategoriigitaj prokuriloj (legi/skribi/forigi). Postulas restartigon por ekvalidi.",
133
133
  "features.tool_search_max_results.label": "Maksimumaj rezultoj de ilo-serĉo",
134
+ "features.tool_search_max_results.help": "Maksimuma nombro de kaŝitaj iloj redonitaj po voko al ha_search_tools kiam ilserĉado estas ŝaltita; pinglita ilo kiu altas en tiu pinta nombro estas aldonita kiel mallonga eniro nur laŭ nomo super ĝi. Pli malaltaj valoroj (2-3) ŝparas kuntekstajn ĵetonojn, sed eble preterlasas rilatajn ilojn. Postulas restartigon.",
134
135
  "features.enable_tool_security_policies.label": "Ebligi Ilo-Sekurecajn Politikojn (altnivela)",
135
136
  "features.enable_tool_security_policies.help": "Gardu alt-riskajn ilo-vokojn (seruro/alarmo-kontrolo, aŭtomatigo-skriboj, ktp.) malantaŭ uzant-aprobo. Kiam gardita ilo estas vokita, la agento diras al la uzanto malfermi la langeton Ilo-Sekurecaj Politikoj en la TTT-UI kaj klaki Aprobi antaŭ ol la voko daŭras. Reguloj por ĉiu ilo kun laŭvolaj argumentaj kondiĉoj estas agorditaj en la langeto Ilo-Sekurecaj Politikoj. Malŝaltita defaŭlte. Postulas restartigon por ekvalidi.",
136
137
  "features.read_only_mode.label": "Nur-lega Reĝimo",
@@ -215,6 +216,9 @@
215
216
  "common.env_locked": "env-ŝlosita",
216
217
  "common.minutes_short": "{count} min",
217
218
  "common.bytes": "{count} bajtoj",
219
+ "common.range": "Intervalo {min}–{max}.",
220
+ "common.range_or_value": "Intervalo {min}–{max}, aŭ {value}.",
221
+ "common.restart_required": "Restartigo postulata.",
218
222
  "common.none": "(neniu)",
219
223
  "notice.restart.addon": "⚠ Ŝanĝoj konservitaj. Alklaku \"Restart app (add-on)\" por ke ili ekvalidu. Malŝaltitaj iloj estos forigitaj el la listo de MCP-iloj ĉe la sekva pravalorizado. Poste aktualigu la iloliston en via AI-kliento; restartigi la Apon sole ne aktualigas la kaŝmemoritan liston de la kliento.",
220
224
  "notice.restart.embedded": "⚠ Ŝanĝoj konservitaj. Alklaku \"Restartigi HA-MCP Servilon\" por reŝargi la enprocezan integriĝon. Poste aktualigu la MCP-iloliston en via AI-kliento.",
@@ -251,13 +255,23 @@
251
255
  "tools.summary.disabled": "{count} malŝaltitaj",
252
256
  "tools.read_only.save_failed": "Ŝanĝo de Nurlega Reĝimo ne konserviĝis. La servilo ankoraŭ havas la antaŭan valoron.",
253
257
  "backup.fields.enable_auto_backup.label": "Aŭtomataj sekurkopioj de redaktoj",
258
+ "backup.fields.enable_auto_backup.help": "Konservi momentfoton de ento antaŭ ol ĉiu skriba aŭ foriga ilvoko ŝanĝas ĝin. Dum ĉi tio estas malŝaltita, la dosieraj kaj krud-YAML-aj iloj (ha_write_file, ha_delete_file, ha_config_set_yaml) rifuzas skribi.",
254
259
  "backup.fields.enable_snapshot_actions.label": "Permesi plenajn akompanajn agojn de HA-momentfotoj",
260
+ "backup.fields.enable_snapshot_actions.help": "Permesi al AI-asistantoj administri plenajn momentfotojn de Home Assistant per ha_manage_backup kaj la ekvivalentaj momentfotaj servoj kaj komandoj en ha_call_service. Malŝalti ĉi tion blokas ĉiun momentfoton, inkluzive de listigado. Forigo de momentfotoj nur disponeblas per ha_manage_backup kaj ankaŭ postulas Permesi forigon de momentfotoj. Redakti momentfotojn kaj la momentfotajn agojn kiujn homo faras en la retejaj agordaj agordoj restas disponeblaj.",
255
261
  "backup.fields.backup_read_only.label": "Igi rezervadministradon nur-legebla",
262
+ "backup.fields.backup_read_only.help": "Permesi al AI-asistantoj listigi, vidi kaj kompari redaktajn momentfotojn, kaj listigi plenajn HA-momentfotojn kiam momentfotaj agoj estas ebligitaj. Bloki manan kreadon, restarigon (inkluzive de redaktaj restarigoj) kaj forigon de momentfotoj, inkluzive de la ekvivalentaj momentfotaj servoj kaj komandoj en ha_call_service. Aŭtomataj antaŭredaktaj momentfotoj daŭras. La momentfotaj agoj kiujn homo faras en la retejaj agordaj agordoj restas disponeblaj.",
263
+ "backup.fields.auto_backup_throttle_minutes.label": "Limigo de aŭtomataj momentfotoj (minutoj)",
264
+ "backup.fields.auto_backup_throttle_minutes.help": "Kiom ofte aŭtomata momentfoto povas kapti la saman enton. 0 kaptas ĉe ĉiu skribo; N super 0 kaptas maksimume unu momentfoton po N minutoj po ento.",
265
+ "backup.fields.auto_backup_retain_per_entity.label": "Konservado de aŭtomataj momentfotoj (po ento)",
266
+ "backup.fields.auto_backup_retain_per_entity.help": "La plej multaj momentfotoj konservitaj po ento. Ĉiu nova kapto forigas la plej malnovajn momentfotojn super ĉi tiu nombro.",
256
267
  "backup.fields.auto_backup_dir.label": "Anstataŭa sekurkopia dosierujo",
257
268
  "backup.fields.auto_backup_dir.help": "Lasu malplena por la defaŭlto: /data/ha_mcp_backups en la aplikaĵo (aldonaĵo), alie la subdosierujo backups/ de la ha-mcp datendosierujo; instalado, kiu jam konservas momentfotojn sub la pli frua defaŭlto, plu uzas ĝin. La uzata dosierujo estas montrata en la sekurkopia statuso. Aŭ enmetu absolutan vojon.",
258
269
  "backup.fields.auto_backup_calendar_lookahead_days.label": "Kalendara antaŭvido (tagoj)",
270
+ "backup.fields.auto_backup_calendar_lookahead_days.help": "Kiom longe antaŭen demandi kalendarajn eventojn por antaŭredaktaj momentfotoj.",
259
271
  "backup.fields.enable_snapshot_delete.label": "Permesi forigon de momentfotoj",
272
+ "backup.fields.enable_snapshot_delete.help": "Permesi al ha_manage_backup forigi plenajn momentfotojn de Home Assistant. Momentfoto eble estas la lasta ebleco reen post erara ŝanĝo, do homo devas ŝalti ĉi tion. Planitaj momentfotoj, la plej nova momentfoto kaj momentfotoj pli junaj ol la minimuma aĝo restas protektitaj.",
260
273
  "backup.fields.snapshot_delete_min_age_days.label": "Minimuma aĝo de momentfoto por forigi (tagoj)",
274
+ "backup.fields.snapshot_delete_min_age_days.help": "Kiom malnova devas esti momentfoto, en tagoj, antaŭ ol ĝi povas esti forigita. 0 malŝaltas la aĝlimon; la plej nova momentfoto kaj planitaj momentfotoj restas protektitaj.",
261
275
  "backup.origins.addon": "Sinkronigita al Supervisor. Restartigo necesas post konservado.",
262
276
  "backup.origins.file": "Konservita loke; ekvalidas tuj.",
263
277
  "backup.origins.default": "Uzante defaŭlton; unua konservado kreas lokan anstataŭigan dosieron.",
@@ -427,16 +441,29 @@
427
441
  "advanced.homeassistant_token.label": "Ĵetono de Home Assistant",
428
442
  "advanced.homeassistant_token.help": "Nur montro. Agordita per HOMEASSISTANT_TOKEN. Maskita ĉi tie por sekureco.",
429
443
  "advanced.timeout.label": "Limtempo de HA-peto (s)",
444
+ "advanced.timeout.help": "HTTP-tempolimo po peto.",
430
445
  "advanced.max_retries.label": "Maksimumaj reprovoj de HA-peto",
446
+ "advanced.max_retries.help": "Buĝeto de reprovoj po malsukcesa REST-voko.",
447
+ "advanced.verify_ssl.label": "Konfirmi TLS-atestilojn",
448
+ "advanced.verify_ssl.help": "Konfirmi la TLS-atestilon de la servilo de Home Assistant. Malŝaltu ĉi tion nur ĉe fidinda reto, por memsubskribita atestilo aŭ mita gastnomo: ĝi malfortigas transportan sekurecon.",
431
449
  "advanced.fuzzy_threshold.label": "Sojlo de neklara serĉo",
450
+ "advanced.fuzzy_threshold.help": "Pli malaltaj valoroj permesas pli malstriktan entan kongruon.",
432
451
  "advanced.automation_config_time_budget.label": "Tempa buĝeto por aŭtomatiga agordo (s)",
452
+ "advanced.automation_config_time_budget.help": "Maksimuma tempo, kiun profunda serĉo pasigas akirante aŭtomatigajn agordojn.",
433
453
  "advanced.script_config_time_budget.label": "Tempa buĝeto por skripta agordo (s)",
454
+ "advanced.script_config_time_budget.help": "Maksimuma tempo, kiun profunda serĉo pasigas akirante skriptajn agordojn.",
434
455
  "advanced.scene_config_time_budget.label": "Tempa buĝeto por scena agordo (s)",
456
+ "advanced.scene_config_time_budget.help": "Maksimuma tempo, kiun profunda serĉo pasigas akirante scenajn agordojn.",
435
457
  "advanced.individual_config_timeout.label": "Limtempo por akirado de agordo por ĉiu peto (s)",
458
+ "advanced.individual_config_timeout.help": "Tempolimo por ĉiu akiro de aŭtomatiga/skripta/scena agordo.",
436
459
  "advanced.individual_fetch_batch_size.label": "Grandeco de agorda akira aro",
460
+ "advanced.individual_fetch_batch_size.help": "Samtempaj agordakiroj po ID. Malaltigu al 1 ĉe seriilaj HA-serviloj.",
437
461
  "advanced.enable_history_query_guardrails.label": "Protektaj gvidlinioj por historikurioj",
438
462
  "advanced.enable_history_query_guardrails.help": "Malakcepti registrilajn kuriojn, kiuj superas konservativajn entajn kaj tempintervalajn buĝetojn. Malŝaltite defaŭlte.",
439
463
  "advanced.ha_tool_concurrency.label": "Konkureco de hejmaŭtomatigaj iloj de Home Assistant",
464
+ "advanced.ha_tool_concurrency.help": "Laŭvola limo pri eksteraj Home Assistant ilvokoj tra ĉiuj seancoj. Interna REST, WebSocket, kaj samtempeco de disbranĉigo po ilo estas senŝanĝaj. 0 konservas senliman konduton. Voko atendanta kapaciton malsukcesas post 60 sekundoj.",
465
+ "advanced.backup_hint.label": "Nivelo de konsilo pri momentfotoj",
466
+ "advanced.backup_hint.help": "Kiom forte oni diras al AI-asistantoj sugesti plenan momentfoton de Home Assistant antaŭ riskaj ŝanĝoj. Ĝi ŝanĝas nur ĉi tiun konsilon; aŭtomataj redaktaj momentfotoj havas sian propran agordon.",
440
467
  "advanced.backup_hint.choices.strong": "Forta",
441
468
  "advanced.backup_hint.choices.normal": "Normala",
442
469
  "advanced.backup_hint.choices.weak": "Malforta",
@@ -444,25 +471,41 @@
444
471
  "advanced.dashboard_screenshot_engine_url.label": "URL de panelo-ekrankopiga motoro",
445
472
  "advanced.dashboard_screenshot_engine_url.help": "Baza URL de la ekrankopiga motoro. Lasu malplena por aŭtomata malkovro de Supervisor. Aplikiĝas tuj.",
446
473
  "advanced.enable_websocket.label": "Ebligi WebSocket",
474
+ "advanced.enable_websocket.help": "Monitorado de WebSocket-stato. Malŝalto falas al balotado kaj malbonigas multajn ilojn.",
447
475
  "advanced.enabled_tool_modules.label": "Ebligitaj il-moduloj",
476
+ "advanced.enabled_tool_modules.help": "Komo-dividitaj modulnomoj, aŭ 'all'.",
448
477
  "advanced.enable_dashboard_partial_tools.label": "Iloj por parta ĝisdatigo de panelo",
449
478
  "advanced.enable_dashboard_partial_tools.help": "Ĵeton-efikaj iloj por parta panelo. Malebligu por klientoj kun programa il-uzo.",
450
479
  "advanced.mcp_server_name.label": "Nomo de MCP-servilo",
480
+ "advanced.mcp_server_name.help": "Raportita en la MCP-manskuado.",
451
481
  "advanced.mcp_server_version.label": "Versio de MCP-servilo",
482
+ "advanced.mcp_server_version.help": "Defaŭltas al la paka versio. Anstataŭigo eble konfuzos klientojn.",
452
483
  "advanced.environment.label": "Medio",
484
+ "advanced.environment.help": "development aŭ production. Efikas al la babilemo de protokolado.",
453
485
  "advanced.http_transport_diagnostics.label": "Diagnostiko de HTTP-transporto",
486
+ "advanced.http_transport_diagnostics.help": "Eksperimenta. Aŭtomate ebligi INFO-protokoladon por HTTP-diagnozoj dum la servilo rulas, sen pagŝarĝoj aŭ akreditaĵoj. Aliaj protokoliloj estas senŝanĝaj; eksplicitaj Home Assistant protokolilaj anstataŭigoj kaj filtriloj ankoraŭ validas. Ne konfirmas klientan ricevon. Nur HTTP.",
454
487
  "advanced.http_json_response.label": "JSON-respondoj anstataŭ fluado",
488
+ "advanced.http_json_response.help": "Eksperimenta. Redakti ununuran JSON-respondon anstataŭ SSE-fluo. Efikas al ĉiuj HTTP-klientoj ĉe ĉi tiu servilo kaj malŝaltas fluantan progreson por ĉi tiuj respondoj. Nur HTTP.",
455
489
  "advanced.log_level.label": "Nivelo de registrado",
490
+ "advanced.log_level.help": "DEBUG/INFO/WARNING/ERROR/CRITICAL.",
456
491
  "advanced.debug.label": "Sencimiga reĝimo",
492
+ "advanced.debug.help": "Vervosa petprotokolado. Eble elmetas sentemajn datumojn.",
457
493
  "advanced.code_mode_max_duration.label": "Maksimuma daŭro de koda reĝimo (s)",
494
+ "advanced.code_mode_max_duration.help": "Mura horloĝa buĝeto po sablokesta rultempo.",
458
495
  "advanced.code_mode_max_memory.label": "Maksimuma memoro de koda reĝimo (bajtoj)",
496
+ "advanced.code_mode_max_memory.help": "Memorlimo po sablokesta rultempo.",
459
497
  "advanced.code_mode_max_recursion.label": "Maksimuma rekursio de koda reĝimo",
498
+ "advanced.code_mode_max_recursion.help": "Limigo de rikura profundo po sablokesta rultempo.",
460
499
  "advanced.code_mode_max_invocations.label": "Maksimumaj alvokoj de koda reĝimo",
500
+ "advanced.code_mode_max_invocations.help": "API/ilvoka limo po sablokesta rultempo.",
461
501
  "advanced.code_mode_saved_tools_path.label": "Vojo de konservitaj iloj",
502
+ "advanced.code_mode_saved_tools_path.help": "JSON-dosiero uzata por persisti proprajn ilojn tra restartigoj.",
462
503
  "advanced.extra_yaml_write_keys.label": "Ekstraj YAML-skribaj ŝlosiloj",
463
504
  "advanced.extra_yaml_write_keys.help": "Kromaj ĉefnivelaj ŝlosiloj, kiujn ha_config_set_yaml povas skribi krom la enkonstruitaj, por YAML-unuaj integriĝoj en ĉi tiu instalo (ekz. alert2). Enigu unu ŝlosilon por ĉiu linio aŭ disigu ŝlosilojn per komoj. Ŝlosiloj, kiuj redefinas la propran fidlimon de Home Assistant, neniam povas esti aldoniĝaj kaj estas ignoritaj. Postulas la propran komponaĵon 1.2.4 aŭ pli novan.",
464
505
  "advanced.sidecar_pin_port.label": "Flankveturila pordo de Agorda UI",
506
+ "advanced.sidecar_pin_port.help": "0 elektas liberan pordon ĉe unua komenco kaj konservas ĝin por postaj restartigoj; pordo en la intervalo pinglas preferatan pordon (falas al libera se okupata).",
465
507
  "advanced.enable_dev_mode.label": "Disvolva reĝimo",
508
+ "advanced.enable_dev_mode.help": "⚠ Registras kaŝitajn ilojn kiuj povas ŝanĝi agordojn kaj anstataŭigi la rulantan servilon. Nur por disvolvo kaj testado.",
466
509
  "advanced.dev_tools_security_policy_access.label": "Aliro al sekureca politiko de disvolvaj iloj",
467
510
  "advanced.dev_tools_security_policy_access.help": "⚠ Dum la disvolva reĝimo estas ŝaltita, permesas al la disvolvaj iloj reverki ilajn sekurecajn politikojn, aldoni aŭ forigi aprobo-pordojn por ĉiu ilo, kaj aprobi aŭ nei atendajn aprobojn je via nomo — AI-agento povas akcepti siajn proprajn porditajn vokojn. Nur por testado de politikoj. Efektiviĝas sen restartigo.",
468
511
  "addon.secret_path.name": "Anstataŭigo de sekreta vojo",