ha-mcp-dev 9.0.0.dev3218__tar.gz → 9.0.0.dev3222__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 (813) hide show
  1. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/PKG-INFO +1 -1
  2. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/pyproject.toml +1 -1
  3. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/pyproject.toml.orig +1 -1
  4. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/az.json +2 -2
  5. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/cs.json +2 -2
  6. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/de.json +2 -2
  7. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/eo.json +2 -2
  8. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/es.json +2 -2
  9. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/fr.json +2 -2
  10. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/it.json +2 -2
  11. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/ko.json +2 -2
  12. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/nl.json +2 -2
  13. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/pl.json +2 -2
  14. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/ru.json +2 -2
  15. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/sv.json +2 -2
  16. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/zh-Hans.json +2 -2
  17. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/zh-Hant.json +2 -2
  18. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/LICENSE +0 -0
  19. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/README.md +0 -0
  20. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/__init__.py +0 -0
  21. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/__main__.py +0 -0
  22. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_pypi_marker +0 -0
  23. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_rich_compat.py +0 -0
  24. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/__init__.py +0 -0
  25. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  26. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
  27. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
  28. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
  29. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
  30. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  31. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  32. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  33. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  34. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
  35. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  36. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  37. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
  38. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
  39. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  40. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
  41. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  42. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  43. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
  44. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev_security.py +0 -0
  45. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  46. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  47. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
  48. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
  49. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  50. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  51. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  52. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  53. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  54. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  55. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  56. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
  57. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  58. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
  59. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  60. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
  61. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
  62. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  63. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
  64. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  65. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
  66. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
  67. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  68. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
  69. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  70. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  71. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  72. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  73. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  74. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
  75. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  76. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  77. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  78. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
  79. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  80. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  81. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  82. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  83. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  84. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  85. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  86. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/mixins/skills.py +0 -0
  87. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
  88. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  89. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  90. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  91. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  92. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  93. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  94. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  95. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  96. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  97. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  98. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  99. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
  100. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  101. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  102. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  103. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  104. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  105. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  106. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  107. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  108. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  109. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  110. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
  111. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  112. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
  113. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  114. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  115. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  116. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  117. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  118. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  119. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  120. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  121. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  122. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  123. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
  124. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
  125. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  126. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  127. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
  128. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
  129. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  130. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  131. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
  132. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  133. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  134. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
  135. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
  136. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  137. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  138. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
  139. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  140. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  141. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
  142. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  143. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  144. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
  145. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  146. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  147. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  148. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
  149. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
  150. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  151. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
  152. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  153. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  154. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  155. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
  156. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  157. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  158. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
  159. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  160. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  161. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
  162. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  163. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  164. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
  165. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
  166. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  167. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  168. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  169. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  170. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  171. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
  172. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  173. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
  174. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  175. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  176. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
  177. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
  178. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
  179. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  180. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
  181. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
  182. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  183. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
  184. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  185. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  186. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  187. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  188. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
  189. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  190. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  191. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  192. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
  193. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
  194. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  195. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
  196. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  197. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/mixins/extensions.py +0 -0
  198. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
  199. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  200. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
  201. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  202. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
  203. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
  204. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
  205. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
  206. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
  207. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
  208. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  209. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  210. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
  211. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
  212. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
  213. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  214. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  215. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  216. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
  217. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
  218. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  219. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  220. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
  221. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
  222. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  223. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
  224. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  225. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
  226. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
  227. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  228. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
  229. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
  230. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  231. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  232. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  233. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  234. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  235. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  236. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
  237. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
  238. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  239. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
  240. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
  241. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
  242. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  243. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
  244. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  245. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
  246. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/__init__.py +0 -0
  247. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/_constants.py +0 -0
  248. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/_resources.py +0 -0
  249. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/_snapshot.py +0 -0
  250. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/_source.py +0 -0
  251. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/client.py +0 -0
  252. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/extension.py +0 -0
  253. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/skills/models.py +0 -0
  254. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  255. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  256. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  257. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
  258. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
  259. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
  260. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  261. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  262. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  263. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
  264. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
  265. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  266. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
  267. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
  268. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
  269. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  270. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  271. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
  272. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
  273. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
  274. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  275. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  276. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  277. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  278. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  279. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  280. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  281. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  282. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  283. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  284. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  285. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  286. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  287. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  288. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  289. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
  290. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  291. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  292. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  293. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  294. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
  295. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  296. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  297. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  298. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  299. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
  300. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  301. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  302. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
  303. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  304. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
  305. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  306. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  307. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
  308. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
  309. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
  310. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  311. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  312. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
  313. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
  314. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  315. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  316. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  317. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  318. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  319. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  320. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  321. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  322. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  323. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  324. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
  325. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
  326. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  327. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  328. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
  329. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  330. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  331. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
  332. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
  333. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  334. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
  335. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
  336. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  337. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  338. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  339. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  340. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  341. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  342. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  343. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  344. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  345. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  346. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
  347. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  348. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  349. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  350. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  351. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  352. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  353. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
  354. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  355. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
  356. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  357. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  358. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  359. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  360. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  361. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  362. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  363. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  364. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  365. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  366. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  367. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  368. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  369. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  370. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  371. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  372. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
  373. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  374. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
  375. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  376. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  377. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  378. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  379. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  380. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  381. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  382. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  383. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  384. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  385. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
  386. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  387. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
  388. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  389. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  390. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  391. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  392. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  393. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  394. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  395. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  396. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  397. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  398. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  399. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  400. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  401. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  402. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
  403. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  404. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  405. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  406. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  407. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  408. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  409. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
  410. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  411. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_request_clock.py +0 -0
  412. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  413. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  414. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  415. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  416. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
  417. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
  418. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  419. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  420. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  421. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
  422. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  423. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  424. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  425. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  426. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  427. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  428. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  429. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  430. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  431. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  432. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  433. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  434. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  435. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  436. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
  437. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  438. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
  439. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  440. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  441. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  442. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  443. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  444. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  445. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  446. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  447. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  448. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/requirements.txt +0 -0
  449. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  450. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  451. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  452. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  453. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  454. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  455. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  456. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  457. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  458. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  459. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  460. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  461. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  462. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  463. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  464. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  465. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  466. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  467. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  468. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  469. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  470. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  471. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  472. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  473. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  474. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  475. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  476. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  477. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  478. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  479. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  480. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  481. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  482. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  483. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  484. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  485. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  486. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  487. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  488. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  489. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  490. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  491. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  492. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  493. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  494. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  495. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  496. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  497. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  498. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  499. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  500. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  501. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  502. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  503. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  504. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  505. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/_version.py +0 -0
  506. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/app_discovery.py +0 -0
  507. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/auth/__init__.py +0 -0
  508. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/auth/consent_form.py +0 -0
  509. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/auth/iss_stamp.py +0 -0
  510. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/auth/oidc_compat.py +0 -0
  511. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/auth/provider.py +0 -0
  512. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_dashboards.py +0 -0
  513. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_diff.py +0 -0
  514. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_entity_ids.py +0 -0
  515. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_helper_target.py +0 -0
  516. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_integrations.py +0 -0
  517. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_manager.py +0 -0
  518. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_tags.py +0 -0
  519. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/backup_zones.py +0 -0
  520. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/browser_landing.py +0 -0
  521. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/__init__.py +0 -0
  522. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/admin_routes.py +0 -0
  523. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/error_log_journald.py +0 -0
  524. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/models.py +0 -0
  525. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/rest_client.py +0 -0
  526. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/supervisor_client.py +0 -0
  527. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/websocket_client.py +0 -0
  528. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/client/websocket_listener.py +0 -0
  529. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config.py +0 -0
  530. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config_backup.py +0 -0
  531. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config_meta.py +0 -0
  532. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config_overrides.py +0 -0
  533. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config_registry.py +0 -0
  534. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/config_settings.py +0 -0
  535. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  536. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  537. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  538. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  539. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  540. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  541. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/errors.py +0 -0
  542. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/ha_request_queue.py +0 -0
  543. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  544. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/http_transport.py +0 -0
  545. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/image_info.py +0 -0
  546. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/llm_exposure.py +0 -0
  547. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/log_filters.py +0 -0
  548. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/__init__.py +0 -0
  549. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/approval_queue.py +0 -0
  550. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/decision_pin.py +0 -0
  551. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/decisions.py +0 -0
  552. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/editing.py +0 -0
  553. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/evaluator.py +0 -0
  554. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/events.py +0 -0
  555. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/handlers.py +0 -0
  556. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/middleware.py +0 -0
  557. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/model.py +0 -0
  558. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/mrtr.py +0 -0
  559. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/persistence.py +0 -0
  560. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/server_channels.py +0 -0
  561. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/policy/value_sources.py +0 -0
  562. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/py.typed +0 -0
  563. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/read_only.py +0 -0
  564. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/redaction.py +0 -0
  565. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/renamed_tools.py +0 -0
  566. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  567. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  568. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  569. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
  570. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  571. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  572. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  573. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  574. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  575. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  576. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  577. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  578. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  579. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  580. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  581. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
  582. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  583. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/server.py +0 -0
  584. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/server_instructions.py +0 -0
  585. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/server_lifespan.py +0 -0
  586. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/server_tool_text.py +0 -0
  587. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/__init__.py +0 -0
  588. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  589. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  590. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  591. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_oauth_callbacks.py +0 -0
  592. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  593. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  594. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  595. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  596. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  597. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  598. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  599. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_theme.py +0 -0
  600. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  601. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  602. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  603. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  604. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings.css +0 -0
  605. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings.html +0 -0
  606. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
  607. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
  608. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
  609. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
  610. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
  611. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
  612. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
  613. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
  614. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
  615. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/settings_ui/settings_js/10_oauth_callbacks.js +0 -0
  616. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/smoke_test.py +0 -0
  617. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  618. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/strict_bps.py +0 -0
  619. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tool_dispatch.py +0 -0
  620. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/__init__.py +0 -0
  621. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/addon_connection_hints.py +0 -0
  622. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/area_messages.py +0 -0
  623. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/auto_backup.py +0 -0
  624. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/backup.py +0 -0
  625. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/backup_access.py +0 -0
  626. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/backup_on_demand.py +0 -0
  627. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/backup_snapshot.py +0 -0
  628. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/backup_snapshot_restore.py +0 -0
  629. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  630. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/best_practice_result.py +0 -0
  631. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  632. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  633. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  634. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/blueprint_write.py +0 -0
  635. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/bug_report_config.py +0 -0
  636. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/bug_report_templates.py +0 -0
  637. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/bulk_selector.py +0 -0
  638. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/coercion.py +0 -0
  639. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_api.py +0 -0
  640. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_config_entries.py +0 -0
  641. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_config_reads.py +0 -0
  642. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  643. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_devices.py +0 -0
  644. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_helper_collections.py +0 -0
  645. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_registries.py +0 -0
  646. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  647. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_backup.py +0 -0
  648. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  649. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  650. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
  651. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  652. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  653. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  654. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  655. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  656. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_file_visibility.py +0 -0
  657. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
  658. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
  659. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/create.py +0 -0
  660. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
  661. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
  662. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/icon_route.py +0 -0
  663. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
  664. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
  665. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
  666. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
  667. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/update.py +0 -0
  668. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
  669. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
  670. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_write_errors.py +0 -0
  671. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/config_write_helpers.py +0 -0
  672. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/core_contract.py +0 -0
  673. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/dashboard_card_describe.py +0 -0
  674. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  675. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
  676. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/dev_backup.py +0 -0
  677. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/device_control.py +0 -0
  678. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/device_enrichment.py +0 -0
  679. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
  680. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/energy_preferences.py +0 -0
  681. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
  682. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/entity_registration.py +0 -0
  683. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/entity_removal.py +0 -0
  684. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/entity_update_fields.py +0 -0
  685. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  686. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/flow_helper_lookup.py +0 -0
  687. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/hacs_registration.py +0 -0
  688. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/helper_flows.py +0 -0
  689. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/helpers.py +0 -0
  690. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/history_response.py +0 -0
  691. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/integration_entry_state.py +0 -0
  692. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  693. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/log_common.py +0 -0
  694. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/log_sources.py +0 -0
  695. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  696. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/log_sources_logbook.py +0 -0
  697. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  698. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/__init__.py +0 -0
  699. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/base.py +0 -0
  700. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/matter.py +0 -0
  701. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/thread.py +0 -0
  702. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  703. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/zwave.py +0 -0
  704. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
  705. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/recorder_errors.py +0 -0
  706. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/reference_validator.py +0 -0
  707. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/registry.py +0 -0
  708. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  709. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/response_helpers.py +0 -0
  710. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/scene_discovery.py +0 -0
  711. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/__init__.py +0 -0
  712. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/base.py +0 -0
  713. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/component.py +0 -0
  714. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/entities.py +0 -0
  715. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/legacy.py +0 -0
  716. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/modes.py +0 -0
  717. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/overview.py +0 -0
  718. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/response.py +0 -0
  719. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/search/state.py +0 -0
  720. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/server_version.py +0 -0
  721. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  722. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  723. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  724. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  725. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  726. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  727. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  728. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  729. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  730. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  731. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/statistics_calendar.py +0 -0
  732. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/statistics_helpers.py +0 -0
  733. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/statistics_resets.py +0 -0
  734. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/system_restart.py +0 -0
  735. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tool_hints.py +0 -0
  736. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  737. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_addons.py +0 -0
  738. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_areas.py +0 -0
  739. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  740. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  741. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  742. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_calendar.py +0 -0
  743. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_camera.py +0 -0
  744. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_categories.py +0 -0
  745. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_code.py +0 -0
  746. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  747. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  748. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  749. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  750. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  751. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  752. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_dev.py +0 -0
  753. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_energy.py +0 -0
  754. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_entities.py +0 -0
  755. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  756. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_groups.py +0 -0
  757. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_hacs.py +0 -0
  758. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_history.py +0 -0
  759. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_integrations.py +0 -0
  760. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_labels.py +0 -0
  761. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_logs.py +0 -0
  762. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_radio.py +0 -0
  763. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_registry.py +0 -0
  764. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_resources.py +0 -0
  765. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_search.py +0 -0
  766. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  767. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_service.py +0 -0
  768. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_services.py +0 -0
  769. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_system.py +0 -0
  770. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_themes.py +0 -0
  771. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_todo.py +0 -0
  772. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_traces.py +0 -0
  773. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_updates.py +0 -0
  774. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_utility.py +0 -0
  775. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  776. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  777. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  778. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/tools_zones.py +0 -0
  779. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/util_helpers.py +0 -0
  780. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/validation_middleware.py +0 -0
  781. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/tools/ws_waiters.py +0 -0
  782. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/__init__.py +0 -0
  783. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/categorized_search.py +0 -0
  784. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/compact_params.py +0 -0
  785. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/component_helpers.py +0 -0
  786. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/component_search.py +0 -0
  787. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  788. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  789. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/transport_security.py +0 -0
  790. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/update_check.py +0 -0
  791. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/__init__.py +0 -0
  792. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/config_hash.py +0 -0
  793. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/config_write_lock.py +0 -0
  794. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  795. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/data_paths.py +0 -0
  796. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  797. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/domain_handlers.py +0 -0
  798. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/entity_membership.py +0 -0
  799. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  800. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  801. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  802. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/operation_manager.py +0 -0
  803. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/python_sandbox.py +0 -0
  804. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  805. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/skill_loader.py +0 -0
  806. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/utils/usage_logger.py +0 -0
  807. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/__init__.py +0 -0
  808. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/config_files.py +0 -0
  809. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/enforcement.py +0 -0
  810. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/identifier_aliases.py +0 -0
  811. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/model.py +0 -0
  812. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/src/ha_mcp/visibility/persistence.py +0 -0
  813. {ha_mcp_dev-9.0.0.dev3218 → ha_mcp_dev-9.0.0.dev3222}/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: 9.0.0.dev3218
3
+ Version: 9.0.0.dev3222
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 = "9.0.0.dev3218"
7
+ version = "9.0.0.dev3222"
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 = "9.0.0.dev3218"
7
+ version = "9.0.0.dev3222"
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
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Məcburi tətbiq rejimi (aşağıda) olmadan bu, girişə nəzarət deyil, artıq nəticələrin azaldılmasıdır: gizli obyekt entity_id vasitəsilə birbaşa oxunduqda yenə qaytarılır və avtomatlaşdırma, idarə paneli və şablon məzmununda görünür. Təhlükəsizlik sərhədi kimi təkcə süzgəcə güvənməyin.",
104
104
  "visibility.enabled": "Obyektlərin görünürlük süzgəcini aktivləşdir",
105
105
  "visibility.enforce.title": "Məcburi tətbiq rejimi",
106
- "visibility.enforce.help": "Süzgəcin təsirini axtarış və icmal nəticələrini səliqəyə salmaqdan bütün alət oxumalarına genişləndirir; standart olaraq ha_report_issue istisnadır. Gizli obyektin birbaşa oxunması “not found” qaytarır, onu üzə çıxaracaq məzmunun oxunması isə rədd edilir. Hesabat aləti üçün istisna aşağıda idarə olunur. Bu, təsadüfi üzə çıxmanın qarşısını mümkün qədər alan gizlətmədir, gücləndirilmiş təhlükəsizlik sərhədi deyil.",
106
+ "visibility.enforce.help": "Süzgəci səliqəyə salınmış axtarış və icmal ekranından standart olaraq ha_report_issue istisna olmaqla hər oxuma alətinə şamil edir. Gizli obyektin birbaşa oxunması \"tapılmadı\" qaytarır və onu üzə çıxaracaq məzmunun oxunması rədd edilir. Hesabat aləti istisnası aşağıda idarə olunur. Təsadüfi ifşaya qarşı ən yaxşı səylə gizlətmədir, möhkəmləndirilmiş təhlükəsizlik sərhədi deyil. O, həm də lazımdan çoxunu rədd edə bilər: yalnız gizli skriptin, səhnənin və ya avtomatlaşdırmanın açarını və ya ID-sini paylaşan oxuma da rədd edilə bilər.",
107
107
  "visibility.enforce.only_enforced": "Gizli obyektləri bütün alət oxumalarında oxunmaz et (standart olaraq problem hesabatları istisna olmaqla)",
108
108
  "visibility.enforce.report_issue_help": "Bu seçim deaktiv olduqda ha_report_issue və onun bütün diaqnostik çıxışı—jurnallar da daxil olmaqla—hər çağırışda məcburi tətbiq rejimindən kənarda qalır, hətta görünürlük məlumatları sağlam olduqda və ya əlçatan olmadıqda belə. Bu aləti də digər oxumalar kimi yoxlamaq və rədd etmək üçün seçimi aktivləşdirin.",
109
109
  "visibility.enforce.restrict_report_issue": "Məcburi tətbiq rejimini ha_report_issue alətinə tətbiq et",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Fərdi alətlər üçün təcrid olunmuş mühiti aktivləşdir (beta)",
161
161
  "features.enable_code_mode.help": "Beta funksiya. Heç bir daxili alət sorğunu yerinə yetirə bilmədikdə AI köməkçilərinə təhlükəsiz, təcrid olunmuş mühitdə fərdi Python kodu yaratmağa, işə salmağa, yadda saxlamağa və silməyə imkan verən ha_manage_custom_tool alətini aktivləşdirir. Kod fayl sisteminə və ya sərbəst şəbəkə girişinə malik olmayan təcrid olunmuş interpretatorda işləyir. Təcrid olunmuş mühitdəki kod HA REST API-yə müraciət edə (api_get/api_post), WebSocket əmrləri göndərə (ws_send), mövcud MCP alətlərini çağıra (call_tool) və ya yadda saxlanılmış aləti çıxara (delete_saved_tool) bilər. Yadda saxlanılmış alətlər standart olaraq /data/saved_tools.json faylında saxlanılır, buna görə tətbiq (əlavə) yenidən başladıldıqda qorunur və qoşula bilən hər müştəriyə görünür. Məlum məhdudiyyətlər üçün docs/beta.md faylına baxın. Qüvvəyə minməsi üçün yenidən başlatma tələb olunur. Yuxarıdakı (və veb interfeysdəki) əsas \"Enable beta features\" seçiminin aktiv olması TƏLƏB OLUNUR — əks halda bu alt seçim buradakı dəyərindən asılı olmayaraq icra zamanı nəzərə alınmır.",
162
162
  "features.enable_lite_docstrings.label": "Alətlərin qısa sənədləşmə mətnlərini aktivləşdir (beta)",
163
- "features.enable_lite_docstrings.help": "Beta funksiya. 15 geniş həcmli ha-mcp alətinin (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) sənədləşmə mətnlərini sxem və nümunə təfərrüatları üçün ha_get_skill_guide alətinə (və ya onun skill:// resursuna) yönləndirən daha qısa variantlarla əvəz edir. Bir istisna var: ha_report_issue bunun əvəzinə öz cavabının instructions sahəsinə yönləndirir. Ehtiyat nüsxə ipucu parametrinin tənzimlənməsi qısa mətn rejimində də qüvvədə qalır. XƏBƏRDARLIQ: bu, başlanğıc token istifadəsini azaldır, lakin LLM performansını pisləşdirə bilər — qısaldılmış təsvirlər LLM-in təfərrüatlar üçün həqiqətən bacarıq alətini çağırmasına və ya bacarıq resursunu oxumasına əsaslanır, buna isə zəmanət yoxdur (bəzi modellər əlavə alət çağırışını ötürəcək və nəticədə əvvəlkindən daha az təlimata malik olacaq). MCP resurslarını dəstəkləyən müştəri ilə və ya enable_tool_search ilə birlikdə istifadəsi daha uyğundur. Qüvvəyə minməsi üçün yenidən başlatma tələb olunur. Yuxarıdakı (və veb interfeysdəki) əsas \"Enable beta features\" seçiminin aktiv olması TƏLƏB OLUNUR — əks halda bu alt seçim buradakı dəyərindən asılı olmayaraq icra zamanı nəzərə alınmır.",
163
+ "features.enable_lite_docstrings.help": "Beta xüsusiyyəti. 15 ağır ha-mcp alətindəki (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) sənəd sətirlərini sxem və nümunə təfərrüatını ha_get_skill_guide alətinə (və ya onun skill:// resursuna) ötürən daha qısa variantlarla əvəz edir. Bir istisna: ha_report_issue əvəzində öz cavabının təlimatlar sahəsinə müraciət edir. XƏBƏRDARLIQ: bu, boşta qalan token istifadəsini azaldır, lakin LLM performansını aşağı sala bilər — qısaldılmış təsvirlər LLM-in təfərrüat üçün həqiqətən bacarıq alətini çağıracağına və ya bacarıq resursunu oxuyacağına əsaslanır ki, bu da zəmanətli deyil (bəzi modellər əlavə alət zəngini ötürəcək və əvvəlkindən daha az təlimatla qalacaqlar). MCP resurslarını dəstəkləyən müştəri və ya enable_tool_search ilə birlikdə istifadə edilməsi tövsiyə olunur. Qüvvəyə minməsi üçün yenidən başladılması tələb olunur. İşləməsi üçün yuxarıdakı (və veb interfeysdəki) əsas \"Enable beta features\" keçidinin açıq olması TƏLƏB OLUNUR — əks halda, bu alt bayraq buradakı dəyərindən asılı olmayaraq işləmə vaxtı nəzərə alınmır.",
164
164
  "features.enable_dashboard_screenshot.label": "İdarə panelinin ekran görüntüsü rejimini aktivləşdir (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Beta funksiya — standart olaraq deaktivdir. AI köməkçilərinin müxtəlif ekran ölçülərinə uyğunlaşan bir və ya daha çox Lovelace şəklini yoxlaya bilməsi üçün (məsələn, indicə yaratdıqları idarə panelini yoxlamaq məqsədilə) ha_get_dashboard_screenshot alətini, həmçinin idarə panelini oxuma/yazma alətlərinə include_screenshot / return_screenshot seçimlərini əlavə edir. Adları sabit olan görünüşləri, mobil/planşet/masaüstü görüntü dəstlərini və PNG/JPEG/WebP/BMP çıxışını dəstəkləyir. Görüntü yaratma ayrıca, istəyə bağlı mühərrikdə — balloob tərəfindən hazırlanmış \"Puppet\" tətbiqində (əlavəsində), qrafik interfeyssiz Chromium-da — işləyir; onu bir dəfə quraşdırırsınız (balloob repozitoriyasını tətbiq mağazasına əlavə edib \"Puppet\" tətbiqini quraşdırın) və uzunmüddətli giriş tokeni verirsiniz; Docker/Container qurulumlarında həmin mühərriki köməkçi proses kimi işə salıb HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL təyin edirsiniz. Ağır komponentlər yalnız bu seçimi aktivləşdirib mühərriki də quraşdırdıqda quraşdırılır. Qüvvəyə minməsi üçün yenidən başlatma tələb olunur. Yuxarıdakı (və veb interfeysdəki) əsas \"Enable beta features\" seçiminin aktiv olması TƏLƏB OLUNUR — əks halda bu alt seçim buradakı dəyərindən asılı olmayaraq icra zamanı nəzərə alınmır.",
166
166
  "actions.restart_server": "HA-MCP serverini yenidən başlat",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Bez režimu vynucení (níže) jde o redukci šumu, nikoli o řízení přístupu: skrytá entita je stále vrácena přímým čtením jejího entity_id a stále se objevuje v obsahu automatizací, řídicích panelů a šablon. Nespoléhejte se na samotný filtr jako na bezpečnostní hranici.",
104
104
  "visibility.enabled": "Povolit filtr viditelnosti entit",
105
105
  "visibility.enforce.title": "Režim vynucení",
106
- "visibility.enforce.help": "Rozšiřuje filtr z úklidu vyhledávání a přehledu na každé čtení nástroje kromě ha_report_issue ve výchozím nastavení. Přímé čtení skryté entity vrátí „nenalezeno“ a čtení obsahu, které by ji zobrazil, je odmítnuto. Výjimka pro nástroj hlášení se ovládá níže. Jedná se o snahu o skrytí před náhodným vystavením na základě nejlepších možností, nikoli o zabezpečenou bezpečnostní hranici.",
106
+ "visibility.enforce.help": "Rozšiřuje filtr z přehledového a úklidového vyhledávání na všechna čtení nástrojů kromě ha_report_issue ve výchozím nastavení. Přímé čtení skryté entity vrátí „nenalezeno“ a čtení obsahu, které by ji odhalilo, je odmítnuto. Výjimka pro nástroj pro hlášení se ovládá níže. Jde o snahu o skrytí před náhodným vystavením, nikoli o zabezpečenou bezpečnostní hranici. Může také odmítnout více, než je nutné: čtení, které sdílí pouze klíč nebo ID skrytého skriptu, scény nebo automatizace, může být rovněž odmítnuto.",
107
107
  "visibility.enforce.only_enforced": "Udělat skryté entity nečitelnými napříč čteními nástrojů (kromě hlášení problémů ve výchozím nastavení)",
108
108
  "visibility.enforce.report_issue_help": "Dokud je toto vypnuto, ha_report_issue a veškerý jeho diagnostický výstup – včetně protokolů – zůstávají mimo režim vynucení při každém volání, a to i když jsou data o viditelnosti v pořádku nebo nedostupná. Zapněte toto nastavení pro prohledání a odmítnutí tohoto nástroje stejně jako u jiných čtení.",
109
109
  "visibility.enforce.restrict_report_issue": "Použít režim vynucení na ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Povolit sandbox vlastních nástrojů (beta)",
161
161
  "features.enable_code_mode.help": "Funkce v beta verzi. Povoluje nástroj ha_manage_custom_tool, který umožňuje AI asistentům vytvářet, spouštět, ukládat a mazat vlastní kód v Pythonu v zabezpečeném sandboxu, když žádný vestavěný nástroj nedokáže požadavek zpracovat. Kód běží v izolovaném interpretu bez přístupu k souborovému systému nebo libovolné síti. Kód v sandboxu může přistupovat k REST API HA (api_get/api_post), odesílat příkazy WebSocket (ws_send), volat existující nástroje MCP (call_tool) nebo odstranit uložený nástroj (delete_saved_tool). Uložené nástroje se ve výchozím nastavení ukládají do /data/saved_tools.json, takže přežijí restarty aplikace (doplňku) a jsou viditelné pro každého klienta, který se může připojit. Známá omezení naleznete v docs/beta.md. K projevům změn je vyžadován restart. VYŽADUJE, aby byl výše uvedený hlavní přepínač „Enable beta features“ zapnutý (a to i ve webovém rozhraní) – v opačném případě bude tento dílčí příznak za běhu ignorován bez ohledu na jeho hodnotu zde.",
162
162
  "features.enable_lite_docstrings.label": "Povolit zjednodušené docstringy nástrojů (beta)",
163
- "features.enable_lite_docstrings.help": "Beta funkce. Nahrazuje dokumentační řetězce u 15 náročných nástrojů ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) kratšími variantami, které odsouvají podrobnosti schémat a příkladů na nástroj ha_get_skill_guide (nebo jeho zdroj skill://). Jedna výjimka: ha_report_issue se odkazuje na pole instructions ve své vlastní odpovědi. Ladění nastavení Backup-hint funguje v úsporném režimu (lite mode) i nadále. VAROVÁNÍ: toto snižuje spotřebu tokenů v klidovém stavu, ale může snížit výkon LLM — zkrácené popisy spoléhají na to, že LLM skutečně zavolá nástroj dovedností nebo si přečte zdroj dovedností pro podrobnosti, což není zaručeno (některé modely přeskočí dodatečné volání nástroje a skončí s menší nápovědou než dříve). Nejlépe se používá s klientem, který podporuje zdroje MCP nebo s enable_tool_search. Vyžaduje restart, aby se projevilo. VYŽADUJE, aby hlavní přepínač \"Povolit beta funkce\" výše (a ve webovém rozhraní) byl zapnutý — jinak bude tento podpříznak za běhu ignorován bez ohledu na jeho hodnotu zde.",
163
+ "features.enable_lite_docstrings.help": "Funkce v beta verzi. Nahrazuje dokumentační řetězce u 15 náročných nástrojů ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) kratšími variantami, které přenášejí podrobnosti o schématu a příkladech na nástroj ha_get_skill_guide (nebo jeho zdroj skill://). Jedna výjimka: ha_report_issue odkazuje na pole pokynů ve vlastní odpovědi. VAROVÁNÍ: toto snižuje spotřebu tokenů v klidovém stavu, ale může snížit výkon LLM — ořezané popisy spoléhají na to, že LLM skutečně zavolá nástroj dovednosti nebo si přečte zdroj dovednosti pro podrobnosti, což není zaručeno (některé modely přeskočí dodatečné volání nástroje a skončí s menší podporou než dříve). Nejlépe se používá s klientem, který podporuje zdroje MCP nebo s enable_tool_search. Vyžaduje restart, aby se projevilo. VYŽADUJE, aby byl hlavní přepínač \"Enable beta features\" nahoře (a ve webovém rozhraní) zapnutý — jinak bude tento dílčí příznak za běhu ignorován bez ohledu na jeho hodnotu zde.",
164
164
  "features.enable_dashboard_screenshot.label": "Povolit režim snímání obrazovky dashboardu (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Funkce v beta verzi – ve výchozím nastavení zakázána. Přidává nástroj ha_get_dashboard_screenshot a volby include_screenshot / return_screenshot k nástrojům pro získání/nastavení nástěnek, takže AI asistenti mohou kontrolovat jeden nebo více responzivních obrázků Lovelace (např. pro ověření právě vytvořené nástěnky). Podporuje stabilní pojmenované pohledy, dávky pro mobily/tablety/desktopy a výstup v PNG/JPEG/WebP/BMP. Vykreslování běží v samostatném volitelném enginu – „Puppet“ aplikaci (doplňku) od ballooba, což je headless Chromium –, který nainstalujete jednou (přidáte balloobův repozitář do obchodu s aplikacemi a nainstalujete „Puppet“) a poskytnete mu přístupový token s dlouhou platností; v nasazeních Docker/Container tento engine spustíte jako vedlejší kontejner (sidecar) a nastavíte proměnnou HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Nic náročného se neinstaluje, dokud obojí nepovolíte a nenainstalujete daný engine. K projevům změn je vyžadován restart. VYŽADUJE, aby byl výše uvedený hlavní přepínač „Enable beta features“ zapnutý (a to i ve webovém rozhraní) – v opačném případě bude tento dílčí příznak za běhu ignorován bez ohledu na jeho hodnotu zde.",
166
166
  "actions.restart_server": "Restartovat server HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Ohne den Erzwingungsmodus (unten) ist dies Rauschreduzierung, keine Zugriffskontrolle: Eine versteckte Entität wird weiterhin durch ein direktes Lesen ihrer entity_id zurückgegeben und erscheint weiterhin in Automatisierungs-, Dashboard- und Template-Inhalten. Verlasse dich nicht allein auf den Filter als Sicherheitsgrenze.",
104
104
  "visibility.enabled": "Entitäts-Sichtbarkeitsfilter aktivieren",
105
105
  "visibility.enforce.title": "Erzwingungsmodus",
106
- "visibility.enforce.help": "Erweitert den Filter von der Übersicht und dem Aufräumen der Suche standardmäßig auf jeden Tool-Lesevorgang außer ha_report_issue. Ein direkter Lesevorgang einer ausgeblendeten Entität gibt „nicht gefunden“ zurück, und ein Inhaltslesevorgang, der eine solche anzeigen würde, wird verweigert. Die Ausnahme für das Berichts-Tool wird unten gesteuert. Best-Effort-Verbergen gegen zufällige Exposition, keine gehärtete Sicherheitsgrenze.",
106
+ "visibility.enforce.help": "Erweitert den Filter von der übersichtlichen Suche und Übersicht standardmäßig auf jeden Lese-Tool-Aufruf außer ha_report_issue. Ein direkter Lesezugriff auf eine ausgeblendete Entität gibt „nicht gefunden“ zurück, und ein Inhaltslesevorgang, der eine solche anzeigen würde, wird verweigert. Die Ausnahme für das Bericht-Tool wird unten gesteuert. Best-Effort-Versteckung gegen beiläufige Offenlegung, keine gehärtete Sicherheitsgrenze. Es kann auch mehr als nötig verweigern: Ein Lesezugriff, der nur den Schlüssel oder die ID eines ausgeblendeten Skripts, einer Szene oder Automatisierung teilt, wird möglicherweise ebenfalls verweigert.",
107
107
  "visibility.enforce.only_enforced": "Versteckte Entitäten bei Tool-Lesevorgängen unlesbar machen (standardmäßig außer Fehlerberichten)",
108
108
  "visibility.enforce.report_issue_help": "Solange dies deaktiviert ist, bleiben ha_report_issue und all seine Diagnoseausgaben – einschließlich Protokolle – bei jedem Aufruf außerhalb des Erzwingungsmodus, selbst wenn die Sichtbarkeitsdaten intakt oder nicht verfügbar sind. Aktiviere dies, um dieses Tool wie andere Lesevorgänge zu scannen und zu verweigern.",
109
109
  "visibility.enforce.restrict_report_issue": "Erzwingungsmodus auf ha_report_issue anwenden",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Benutzerdefinierte Tool-Sandbox aktivieren (Beta)",
161
161
  "features.enable_code_mode.help": "Beta-Funktion. Aktiviert das ha_manage_custom_tool-Tool, mit dem KI-Assistenten benutzerdefinierten Python-Code in einer sicheren Sandbox erstellen, ausführen, speichern und löschen können, wenn kein integriertes Tool die Anfrage verarbeiten kann. Code läuft in einem isolierten Interpreter ohne Dateisystem oder beliebigen Netzwerkzugriff. Sandbox-Code kann die HA REST API aufrufen (api_get/api_post), WebSocket-Befehle senden (ws_send), bestehende MCP-Tools aufrufen (call_tool) oder ein gespeichertes Tool löschen (delete_saved_tool). Gespeicherte Tools bleiben standardmäßig in /data/saved_tools.json erhalten, sodass sie Neustarts der App (Add-on) überstehen, und sind für jeden Client sichtbar, der eine Verbindung herstellen kann. Bekannte Einschränkungen findest du in docs/beta.md. Erfordert einen Neustart, um wirksam zu werden. ERFORDERT, dass der Hauptschalter \"Beta-Funktionen aktivieren\" oben (und im Web-UI) eingeschaltet ist — andernfalls wird dieses Unterflag zur Laufzeit unabhängig von seinem Wert hier ignoriert.",
162
162
  "features.enable_lite_docstrings.label": "Lite-Tool-Docstrings aktivieren (Beta)",
163
- "features.enable_lite_docstrings.help": "Beta-Funktion. Ersetzt die Docstrings von 15 speicherintensiven ha-mcp-Tools (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) durch kürzere Varianten, die Schema- und Beispieldetails auf das ha_get_skill_guide-Tool (oder dessen skill://-Ressource) auslagern. Eine Ausnahme: ha_report_issue verweist stattdessen auf das instructions-Feld seiner eigenen Antwort. Die Anpassung der Backup-Hinweis-Einstellung gilt weiterhin im Lite-Modus. WARNUNG: Dies reduziert die Token-Nutzung im Ruhezustand, kann jedoch die LLM-Leistung beeinträchtigen — die gekürzten Beschreibungen verlassen sich darauf, dass das LLM tatsächlich das Skill-Tool aufruft oder die Skill-Ressource für Details liest, was nicht garantiert ist (einige Modelle überspringen den zusätzlichen Tool-Aufruf und erhalten dadurch weniger Hilfestellung als zuvor). Am besten in Kombination mit einem Client, der MCP-Ressourcen unterstützt oder mit enable_tool_search. Erfordert einen Neustart, um wirksam zu werden. ERFORDERT, dass der übergeordnete Schalter „Enable beta features“ oben (und in der Web-UI) aktiviert ist — andernfalls wird dieses Unter-Flag zur Laufzeit unabhängig von seinem Wert hier ignoriert.",
163
+ "features.enable_lite_docstrings.help": "Beta-Funktion. Ersetzt die Docstrings von 15 umfangreichen ha-mcp-Tools (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) durch kürzere Varianten, die Schema- und Beispieldetails auf das ha_get_skill_guide-Tool (oder dessen skill://-Ressource) auslagern. Eine Ausnahme: ha_report_issue verweist stattdessen auf das instructions-Feld der eigenen Antwort. WARNUNG: Dies reduziert die Token-Nutzung im Leerlauf, kann jedoch die LLM-Leistung beeinträchtigen – die gekürzten Beschreibungen hängen davon ab, dass das LLM tatsächlich das Skill-Tool aufruft oder die Skill-Ressource für Details liest, was nicht garantiert ist (einige Modelle überspringen den zusätzlichen Tool-Aufruf und erhalten dadurch weniger Anleitung als zuvor). Lässt sich am besten mit einem Client kombinieren, der MCP-Ressourcen unterstützt oder enable_tool_search nutzt. Erfordert einen Neustart, um wirksam zu werden. ERFORDERT, dass der Hauptschalter „Enable beta features“ oben (und in der Web-UI) eingeschaltet ist – andernfalls wird dieses Unter-Flag zur Laufzeit unabhängig von seinem Wert hier ignoriert.",
164
164
  "features.enable_dashboard_screenshot.label": "Dashboard-Screenshot-Modus aktivieren (Beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Beta-Funktion — standardmäßig deaktiviert. Fügt das Tool ha_get_dashboard_screenshot sowie die Optionen include_screenshot / return_screenshot zu den Dashboard-Get/Set-Tools hinzu, sodass KI-Assistenten ein oder mehrere responsive Lovelace-Bilder überprüfen können (z. B. um ein gerade erst erstelltes Dashboard zu überprüfen). Unterstützt stabile benannte Ansichten, Mobil-/Tablet-/Desktop-Batches sowie PNG/JPEG/WebP/BMP-Ausgaben. Das Rendern erfolgt in einer separaten, optionalen Engine — balloobs \"Puppet\" App (Add-on), headless Chromium —, die du einmalig installierst (füge balloobs Repository dem App-Store hinzu, installiere dann \"Puppet\") und mit einem langlebigen Zugriffstoken versiehst; bei Docker/Container-Bereitstellungen führst du diese Engine als Sidecar aus und setzt HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Es wird nichts Schweres installiert, es sei denn, du aktivierst dies und installierst die Engine. Erfordert einen Neustart, um wirksam zu werden. ERFORDERT, dass der Hauptschalter \"Beta-Funktionen aktivieren\" oben (und im Web-UI) eingeschaltet ist — andernfalls wird dieses Unterflag zur Laufzeit unabhängig von seinem Wert hier ignoriert.",
166
166
  "actions.restart_server": "HA-MCP-Server neu starten",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Sen deviga reĝimo (malsupre), ĉi tio estas bruo-redukto, ne alirkontrolo: kaŝita ento estas ankoraŭ redonita per rekta legado de ĝia entity_id kaj ankoraŭ aperas en aŭtomatigo, panelo kaj ŝablona enhavo. Ne fidu nur je la filtrilo kiel sekureca limo.",
104
104
  "visibility.enabled": "Ebligi filtrilon de enta videbleco",
105
105
  "visibility.enforce.title": "Deviga reĝimo",
106
- "visibility.enforce.help": "Etendas la filtrilon de ordigado de serĉado kaj superrigardo al ĉiu illegado krom ha_report_issue defaŭlte. Rekta legado de kaŝita ento redonas “ne trovita”, kaj enhava legado kiu elmontrus tian enton estas rifuzita. La escepto de la raport-ilo estas regata sube. Plejforta kaŝado kontraŭ hazarda elmontro, ne fortika sekureca limo.",
106
+ "visibility.enforce.help": "Etendas la filtrilon de malpleniga serĝo kaj superrigardo al ĉiu illegado krom ha_report_issue defaŭlte. Rekta legado de kaŝita unuo revenigas “ne trovita”, kaj enhavolegado, kiu elmontrus tian, estas rifuzita. La escepto por la raportilo estas regata malsupre. Plejforta kaŝado kontraŭ hazarda elmontro, ne fortika sekureca limo. Ĝi ankaŭ povas rifuzi pli ol necesas: legado kiu nur dividas la ŝlosilon aŭ identigilon de kaŝita skripto, sceno aŭ aŭtomatigo eble estos rifuzita ankaŭ.",
107
107
  "visibility.enforce.only_enforced": "Maliberi legadon de kaŝitaj entoj tra ĉiuj illegadoj (krom problemnotoj defaŭlte)",
108
108
  "visibility.enforce.report_issue_help": "Dum ĉi tio estas malŝaltita, ha_report_issue kaj ĉiuj ĝiaj diagnozaj eliraĵoj—inkluzive de protokoloj—restas ekster la deviga reĝimo je ĉiu voko, eĉ kiam videblecaj datumoj estas sanaj aŭ nehaveblaj. Ŝaltu ĝin por skani kaj rifuzi tiun ilon kiel aliajn legadojn.",
109
109
  "visibility.enforce.restrict_report_issue": "Apliki devigan reĝimon al ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Ebligi kutiman ilon sandbokson (beta)",
161
161
  "features.enable_code_mode.help": "Beta-funkcio. Ebligas la ilon ha_manage_custom_tool, kiu permesas al AI-asistantoj krei, ruli, konservi kaj forigi personigitajn Python-kodojn en sekura sablokesto kiam neniu enkonstruita ilo povas trakti la peton. Kodo ruliĝas en izolita interpretilo sen dosiersistemo aŭ propra reta aliro. Sablokesta kodo povas trafi la HA REST API (api_get/api_post), sendi WebSocket-komandojn (ws_send), voki ekzistantajn MCP-ilojn (call_tool), aŭ forigi konservitan ilon (delete_saved_tool). Konservitaj iloj persistas al /data/saved_tools.json defaŭlte por ke ili postvivu restartigojn de la apo (aldonaĵo), kaj estas videblaj al ajna kliento kiu povas konektiĝi. Vidu docs/beta.md por konataj limigoj. Postulas restartigon por ekvalidi. POSTULAS ke la ĉefa ŝaltilo \"Enable beta features\" supre (kaj en la TTT-interfaco) estu ŝaltita — alie ĉi tiu subflago estas ignorata dum rultempo sendepende de sia valoro ĉi tie.",
162
162
  "features.enable_lite_docstrings.label": "Ebligi malpezajn ilajn dokumentŝnurojn (beta)",
163
- "features.enable_lite_docstrings.help": "Beta-funkcio. Anstataŭigas la dokumentajn signovicojn ĉe 15 pezaj ha-mcp-iloj (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) per pli mallongaj variantoj, kiuj prokrastas la detalojn de skemo kaj ekzemplo al la ilo ha_get_skill_guide (aŭ ĝia risurco skill://). Unu escepto: ha_report_issue prokrastas anstataŭe al la instrukcia kampo de sia propra respondo. Agordi la konservan konsilon (Backup-hint) ankoraŭ validas en malpeza reĝimo. ATENTO: ĉi tio malpliigas la uzadon de neaktivaj signetoj (tokens), sed povas malbonigi la LLM-efikecon — la fortonĉitaj priskriboj dependas de tio, ke la LLM fakte vokas la lertan ilon aŭ legas la lertan risurcon por detaloj, kio ne estas garantiita (kelkaj modeloj preterlasos la ekstran ilvokon kaj finos kun malpli da gvidado ol antaŭe). Plej bone uzata kune kun kliento kiu subtenas MCP-risurcojn aŭ kun enable_tool_search. Postulas restartigon por ekvalidi. POSTULAS, ke la ĉefa ŝaltilo \"Enable beta features\" supre (kaj en la reta interfaco) estu enŝaltita — alie ĉi tiu sub-flago estas ignorata dum rulado sendepende de sia valoro ĉi tie.",
163
+ "features.enable_lite_docstrings.help": "Beta-funkcio. Anstataŭigas la dokumentajn ĉenojn (docstrings) ĉe 15 pezaj ha-mcp-iloj (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) per pli mallongaj variantoj, kiuj transdonas skemon kaj ekzemplajn detalojn al la ilo ha_get_skill_guide (aŭ ĝia risurco skill://). Unu escepto: ha_report_issue transdonas tion al la kampo instructions de sia propra respondo anstataŭe. ⚠ ATENTO: ĉi tio malpliigas la uzadon de neaktivaj signetoj (tokens), sed povas malbonigi la LLM-efikecon — la tonditaj priskriboj dependas de tio, ke la LLM fakte vokas la kapablan ilon aŭ legas la kapablan risurcon por detaloj, kio ne estas garantiita (kelkaj modeloj preterlasos la ekstran ilovokon kaj finos kun malpli da gvidado ol antaŭe). Plej bone parigite kun kliento kiu subtenas MCP-risurcojn aŭ kun enable_tool_search. Postulas restartigon por efiki. POSTULAS ke la ĉefa ŝaltilo \"Enable beta features\" supre (kaj en la reta interfaco) estu ŝaltita — alie ĉi tiu sub-flago estas ignorata dum rultempo negrave de sia valoro ĉi tie.",
164
164
  "features.enable_dashboard_screenshot.label": "Ebligi panelan ekrankaptan reĝimon (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Beta-funkcio — malŝaltita defaŭlte. Aldonas la ilon ha_get_dashboard_screenshot plus opciojn include_screenshot / return_screenshot ĉe la panelaj get/set-iloj, por ke AI-asistantoj povu inspekti unu aŭ pli respondemajn Lovelace-bildojn (ekz. por kontroli panelon kiun ili ĝuste kreis). Subtenas stabilajn nomitajn vidojn, poŝtelefonajn/tabulkomputilajn/tabulajn arojn, kaj PNG/JPEG/WebP/BMP-eligon. Teksturigo ruliĝas en aparta, libervola motoro — la \"Puppet\" App (aldonaĵo) de balloob, senkapa Chromium — kiun vi instalas unufoje (aldonu la deponejon de balloob al la Aldona Butiko, poste instalu \"Puppet\") kaj donas longdaŭran alirtokonon; ĉe Docker/Container-deplojoj vi ruli tiun motoron kiel flankan ujon kaj agordas HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Neniopeza estas instalita krom se vi kaj ebligas ĉi tion kaj instalas la motoron. Postulas restartigon por ekvalidi. POSTULAS ke la ĉefa ŝaltilo \"Enable beta features\" supre (kaj en la TTT-interfaco) estu ŝaltita — alie ĉi tiu subflago estas ignorata dum rultempo sendepende de sia valoro ĉi tie.",
166
166
  "actions.restart_server": "Restartigi HA-MCP Servilon",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Sin el modo de aplicación estricta (abajo), esto reduce ruido, no controla el acceso: una entidad oculta se sigue devolviendo en una lectura directa de su entity_id y sigue apareciendo en el contenido de automatizaciones, paneles y plantillas. No confíes en el filtro por sí solo como frontera de seguridad.",
104
104
  "visibility.enabled": "Activar el filtro de visibilidad de entidades",
105
105
  "visibility.enforce.title": "Modo de aplicación estricta",
106
- "visibility.enforce.help": "Amplía el filtro de búsqueda y resumen para ocultar elementos en todas las lecturas de herramientas, excepto ha_report_issue de forma predeterminada. Una lectura directa de una entidad oculta devuelve \"no encontrado\", y se rechaza una lectura de contenido que muestre alguna. La excepción de la herramienta de informes se controla a continuación. Ocultación de mejor esfuerzo contra la exposición incidental, no es un límite de seguridad reforzado.",
106
+ "visibility.enforce.help": "Amplía el filtro de búsqueda y vista general de limpieza a todas las lecturas de herramientas, excepto ha_report_issue de forma predeterminada. Una lectura directa de una entidad oculta devuelve \"no encontrado\", y se rechaza una lectura de contenido que muestre una. La excepción de la herramienta de informes se controla a continuación. Ocultación de mejor esfuerzo contra la exposición incidental, no un límite de seguridad reforzado. También puede rechazar más de lo necesario: una lectura que solo comparta la clave o el ID de un script, escena o automatización ocultos también puede ser rechazada.",
107
107
  "visibility.enforce.only_enforced": "Hacer que las entidades ocultas no se puedan leer en las lecturas de herramientas (excepto en los informes de problemas de forma predeterminada)",
108
108
  "visibility.enforce.report_issue_help": "Mientras esto esté desactivado, ha_report_issue y toda su salida de diagnóstico (incluidos los registros) quedan fuera del modo de aplicación en cada llamada, incluso cuando los datos de visibilidad son correctos o no están disponibles. Actívalo para escanear y rechazar esa herramienta como las demás lecturas.",
109
109
  "visibility.enforce.restrict_report_issue": "Aplicar el modo de aplicación a ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Activar el entorno aislado de herramientas personalizadas (beta)",
161
161
  "features.enable_code_mode.help": "Función beta. Habilita la herramienta ha_manage_custom_tool, que permite a los asistentes de IA crear, ejecutar, guardar y eliminar código Python personalizado en un espacio aislado seguro cuando ninguna herramienta integrada puede manejar la solicitud. El código se ejecuta en un intérprete aislado sin acceso al sistema de archivos ni red arbitraria. El código del espacio aislado puede acceder a la API REST de HA (api_get/api_post), enviar comandos WebSocket (ws_send), llamar a herramientas MCP existentes (call_tool) o eliminar una herramienta guardada (delete_saved_tool). Las herramientas guardadas persisten en /data/saved_tools.json por defecto para sobrevivir a los reinicios de la app (add-on), y son visibles para cualquier cliente que pueda conectarse. Consulta docs/beta.md para conocer las limitaciones conocidas. Requiere reiniciar para que surta efecto. REQUIERE que el interruptor principal \"Enable beta features\" de arriba (y en la interfaz web) esté activado; de lo contrario, este subindicador se ignorará en tiempo de ejecución independientemente de su valor aquí.",
162
162
  "features.enable_lite_docstrings.label": "Activar descripciones de herramientas reducidas (beta)",
163
- "features.enable_lite_docstrings.help": "Función beta. Reemplaza las cadenas de documentación en 15 herramientas pesadas de ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) con variantes más cortas que delegan los detalles de esquemas y ejemplos a la herramienta ha_get_skill_guide (o su recurso skill://). Una excepción: ha_report_issue delega al campo instructions de su propia respuesta en su lugar. El ajuste de la opción Backup-hint sigue funcionando en modo lite. ADVERTENCIA: esto reduce el uso de tokens en reposo, pero puede disminuir el rendimiento del LLM; las descripciones recortadas dependen de que el LLM realmente llame a la herramienta de habilidades o lea el recurso de habilidades para obtener detalles, lo cual no está garantizado (algunos modelos omitirán la llamada adicional a la herramienta y terminarán con menos orientación que antes). Se combina mejor con un cliente que admita recursos MCP o con enable_tool_search. Requiere reiniciar para surtir efecto. REQUIRES el interruptor maestro \"Enable beta features\" de arriba (y en la interfaz web) activado; de lo contrario, esta subopción se ignorará en tiempo de ejecución independientemente de su valor aquí.",
163
+ "features.enable_lite_docstrings.help": "Función beta. Reemplaza las cadenas de documentación en 15 herramientas pesadas de ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) con variantes más cortas que delegan los detalles del esquema y ejemplos en la herramienta ha_get_skill_guide (o su recurso skill://). Una excepción: ha_report_issue delega en el campo instructions de su propia respuesta en su lugar. ADVERTENCIA: esto reduce el uso de tokens inactivos, pero puede degradar el rendimiento del LLM; las descripciones recortadas dependen de que el LLM realmente llame a la herramienta de habilidades o lea el recurso de habilidades para obtener detalles, lo cual no está garantizado (algunos modelos omitirán la llamada a herramienta adicional y terminarán con menos orientación que antes). Se combina mejor con un cliente que admita recursos MCP o con enable_tool_search. Requiere reiniciar para surtir efecto. REQUIERE que el interruptor principal \"Enable beta features\" de arriba (y en la interfaz web) esté activado; de lo contrario, este subindicador se ignorará en tiempo de ejecución independientemente de su valor aquí.",
164
164
  "features.enable_dashboard_screenshot.label": "Activar el modo de captura de pantalla de paneles (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Función beta: deshabilitada por defecto. Añade la herramienta ha_get_dashboard_screenshot además de las opciones include_screenshot / return_screenshot en las herramientas de obtención/configuración de paneles, para que los asistentes de IA puedan inspeccionar una o más imágenes adaptables de Lovelace (por ejemplo, para verificar un panel que acaban de crear). Soporta vistas con nombre estables, lotes para móvil/tablet/escritorio y salida PNG/JPEG/WebP/BMP. El renderizado se ejecuta en un motor opcional independiente (la App (add-on) \"Puppet\" de balloob, Chromium sin interfaz gráfica), que instalas una vez (añadiendo el repositorio de balloob a la tienda de aplicaciones e instalando \"Puppet\") y le proporcionas un token de acceso de larga duración; en implementaciones de Docker/Container, ejecutas ese motor como un sidecar y configuras HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. No se instala nada pesado a menos que habilites esto e instales el motor. Requiere reiniciar para que surta efecto. REQUIERE que el interruptor principal \"Enable beta features\" de arriba (y en la interfaz web) esté activado; de lo contrario, este subindicador se ignorará en tiempo de ejecución independientemente de su valor aquí.",
166
166
  "actions.restart_server": "Reiniciar el servidor HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Sans le mode d'application (ci-dessous), il s'agit d'une réduction du bruit, pas d'un contrôle d'accès : une entité masquée est toujours renvoyée par une lecture directe de son entity_id et apparaît toujours dans le contenu des automatisations, tableaux de bord et modèles. Ne vous fiez pas uniquement au filtre comme barrière de sécurité.",
104
104
  "visibility.enabled": "Activer le filtre de visibilité des entités",
105
105
  "visibility.enforce.title": "Mode d'application",
106
- "visibility.enforce.help": "Étend par défaut le filtre de l'encombrement de la recherche et de la vue d'ensemble à toutes les lectures d'outils, à l'exception de ha_report_issue. La lecture directe d'une entité masquée renvoie \"introuvable\", et toute lecture de contenu qui en ferait apparaître une est refusée. L'exception pour l'outil de rapport est contrôlée ci-dessous. Il s'agit d'une dissimulation au mieux contre l'exposition accidentelle, et non d'une limite de sécurité renforcée.",
106
+ "visibility.enforce.help": "Éend le filtre de la recherche d'allègement et de la vue d'ensemble à toutes les lectures d'outils, sauf ha_report_issue par défaut. Une lecture directe d'une entité masquée renvoie « non trouvé », et une lecture de contenu qui en afficherait une est refusée. L'exception de l'outil de rapport est contrôlée ci-dessous. Dissimulation au mieux contre l'exposition accidentelle, et non une frontière de sécurité renforcée. Elle peut également refuser plus que nécessaire : une lecture qui partage seulement la clé ou l'ID d'un script, d'une scène ou d'une automatisation masqués peut également être refusée.",
107
107
  "visibility.enforce.only_enforced": "Rendre les entités masquées illisibles lors des lectures d'outils (sauf les rapports de problèmes par défaut)",
108
108
  "visibility.enforce.report_issue_help": "Lorsque cette option est désactivée, ha_report_issue et l'ensemble de ses sorties de diagnostic (y compris les journaux) restent en dehors du mode d'application à chaque appel, même lorsque les données de visibilité sont saines ou indisponibles. Activez-le pour analyser et refuser cet outil comme les autres lectures.",
109
109
  "visibility.enforce.restrict_report_issue": "Appliquer le mode d'application à ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Activer le bac à sable d'outils personnalisés (bêta)",
161
161
  "features.enable_code_mode.help": "Fonctionnalité bêta. Active l'outil ha_manage_custom_tool, qui permet aux assistants IA de créer, exécuter, enregistrer et supprimer du code Python personnalisé dans un bac à sable sécurisé lorsqu'aucun outil intégré ne peut traiter la demande. Le code s'exécute dans un interpréteur isolé sans accès au système de fichiers ni accès réseau arbitraire. Le code du bac à sable peut appeler l'API REST HA (api_get/api_post), envoyer des commandes WebSocket (ws_send), appeler des outils MCP existants (call_tool) ou supprimer un outil enregistré (delete_saved_tool). Les outils enregistrés persistent dans /data/saved_tools.json par défaut afin de survivre aux redémarrages de l'application (add-on), et sont visibles par tout client capable de se connecter. Voir docs/beta.md pour les limitations connues. Nécessite un redémarrage pour prendre effet. NÉCESSITE que l'interrupteur principal \"Activer les fonctionnalités bêta\" ci-dessus (et dans l'interface Web) soit activé — sinon ce sous-paramètre est ignoré à l'exécution quelle que soit sa valeur ici.",
162
162
  "features.enable_lite_docstrings.label": "Activer les docstrings allégées des outils (bêta)",
163
- "features.enable_lite_docstrings.help": "Fonctionnalité bêta. Remplace les docstrings de 15 outils ha-mcp lourds (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) par des variantes plus courtes qui reportent les détails des schémas et des exemples vers l'outil ha_get_skill_guide (ou sa ressource skill://). Une exception : ha_report_issue se réfère plutôt au champ d'instructions de sa propre réponse. Le réglage de l'indice de sauvegarde (Backup-hint) s'applique toujours en mode léger. AVERTISSEMENT : cela réduit l'utilisation des jetons au repos, mais peut dégrader les performances du LLM — les descriptions réduites reposent sur le fait que le LLM appelle effectivement l'outil de compétence ou lit la ressource de compétence pour obtenir les détails, ce qui n'est pas garanti (certains modèles omettront l'appel d'outil supplémentaire et se retrouveront avec moins de conseils qu'avant). Idéalement associé à un client prenant en charge les ressources MCP ou avec enable_tool_search. Nécessite un redémarrage pour prendre effet. NÉCESSITE que l'option principale \"Enable beta features\" ci-dessus (et dans l'interface web) soit activée — sinon, ce sous-indicateur est ignoré à l'exécution quelle que soit sa valeur ici.",
163
+ "features.enable_lite_docstrings.help": "Fonctionnalité bêta. Remplace les chaînes de documentation (docstrings) sur 15 outils ha-mcp lourds (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) par des variantes plus courtes qui reportent les détails du schéma et des exemples sur l'outil ha_get_skill_guide (ou sa ressource skill://). Une exception : ha_report_issue renvoie au champ instructions de sa propre réponse à la place. AVERTISSEMENT : cela réduit l'utilisation des jetons au repos, mais peut dégrader les performances du LLM — les descriptions réduites reposent sur le fait que le LLM appelle réellement l'outil de compétence ou lit la ressource de compétence pour obtenir les détails, ce qui n'est pas garanti (certains modèles ignoreront l'appel d'outil supplémentaire et se retrouveront avec moins de conseils qu'auparavant). Idéalement associé à un client qui prend en charge les ressources MCP ou avec enable_tool_search. Nécessite un redémarrage pour prendre effet. NÉCESSITE que le bouton principal « Enable beta features » ci-dessus (et dans l'interface web) soit activé — sinon, ce sous-indicateur est ignoré à l'exécution, quelle que soit sa valeur ici.",
164
164
  "features.enable_dashboard_screenshot.label": "Activer le mode capture d'écran du tableau de bord (bêta)",
165
165
  "features.enable_dashboard_screenshot.help": "Fonctionnalité bêta — désactivée par défaut. Ajoute l'outil ha_get_dashboard_screenshot ainsi que les options include_screenshot / return_screenshot sur les outils de get/set de tableau de bord, afin que les assistants IA puissent inspecter une ou plusieurs images Lovelace responsives (par exemple pour vérifier un tableau de bord qu'ils viennent de créer). Prend en charge les vues nommées stables, les lots mobile/tablette/bureau et la sortie PNG/JPEG/WebP/BMP. Le rendu s'exécute dans un moteur séparé optionnel — l'application (add-on) \"Puppet\" de balloob, Chromium sans tête — que vous installez une seule fois (ajoutez le dépôt de balloob à la boutique d'applications, puis installez \"Puppet\") et à laquelle vous donnez un jeton d'accès longue durée ; sur les déploiements Docker/Container, vous exécutez ce moteur en tant que sidecar et définissez HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Rien de lourd n'est installé à moins que vous n'activiez à la fois cette option et n'installiez le moteur. Nécessite un redémarrage pour prendre effet. NÉCESSITE que l'interrupteur principal \"Activer les fonctionnalités bêta\" ci-dessus (et dans l'interface Web) soit activé — sinon ce sous-paramètre est ignoré à l'exécution quelle que soit sa valeur ici.",
166
166
  "actions.restart_server": "Redémarrer le serveur HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Senza la modalità di applicazione rigorosa (qui sotto) questo riduce il rumore, non controlla l'accesso: un'entità nascosta viene comunque restituita da una lettura diretta del suo entity_id e compare ancora nei contenuti di automazioni, dashboard e template. Non considerare il filtro da solo come un confine di sicurezza.",
104
104
  "visibility.enabled": "Attiva il filtro di visibilità delle entità",
105
105
  "visibility.enforce.title": "Modalità di applicazione rigorosa",
106
- "visibility.enforce.help": "Estende il filtro dalla ricerca di pulizia e dalla panoramica a ogni lettura di strumenti, tranne ha_report_issue per impostazione predefinita. Una lettura diretta di un'entità nascosta restituisce \"non trovato\", e una lettura di contenuti che ne mostrerebbe una viene rifiutata. L'eccezione dello strumento di segnalazione è controllata di seguito. Copertura basata sul massimo sforzo contro l'esposizione accidentale, non un confine di sicurezza blindato.",
106
+ "visibility.enforce.help": "Estende il filtro dalla ricerca di alleggerimento e dalla panoramica a ogni lettura di strumenti tranne ha_report_issue per impostazione predefinita. Una lettura diretta di un'entità nascosta restituisce \"non trovato\" e una lettura di contenuti che ne mostrerebbe una viene rifiutata. L'eccezione dello strumento di segnalazione è controllata di seguito. Occultamento a massimo sforzo contro l'esposizione accidentale, non un confine di sicurezza blindato. Può anche rifiutare più del necessario: una lettura che condivide solo la chiave o l'ID di uno script, una scena o un'automazione nascosti potrebbe essere rifiutata anch'essa.",
107
107
  "visibility.enforce.only_enforced": "Rendi le entità nascoste illeggibili in tutte le letture degli strumenti (tranne i rapporti di problemi per impostazione predefinita)",
108
108
  "visibility.enforce.report_issue_help": "Mentre questo è disattivato, ha_report_issue e tutta la sua emissione diagnostica, inclusi i log, rimangono al di fuori della modalità di applicazione a ogni chiamata, anche quando i dati di visibilità sono integri o non disponibili. Attivalo per scansionare e rifiutare tale strumento come le altre letture.",
109
109
  "visibility.enforce.restrict_report_issue": "Applica la modalità di applicazione a ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Attiva la sandbox per strumenti personalizzati (beta)",
161
161
  "features.enable_code_mode.help": "Funzionalità beta. Abilita lo strumento ha_manage_custom_tool, che consente agli assistenti IA di creare, eseguire, salvare ed eliminare codice Python personalizzato in un ambiente sicuro isolato (sandbox) quando nessun🇹 strumento integrato è in grado di gestire la richiesta. Il codice viene eseguito in un interprete isolato senza accesso al filesystem o di rete arbitrario. Il codice nella sandbox può raggiungere l'API REST di HA (api_get/api_post), inviare comandi WebSocket (ws_send), chiamare strumenti MCP esistenti (call_tool) o rimuovere uno strumento salvato (delete_saved_tool). Gli strumenti salvati persistono in /data/saved_tools.json per impostazione predefinita in modo da sopravvivere ai riavvii dell'applicazione (add-on) e sono visibili a qualsiasi client in grado di connettersi. Vedi docs/beta.md per le limitazioni note. Richiede il riavvio per avere effetto. RICHIEDE che l'interruttore principale \"Enable beta features\" sopra (e nell'interfaccia web) sia attivo, altrimenti questo sotto-parametro viene ignorato in esecuzione indipendentemente dal valore impostato qui.",
162
162
  "features.enable_lite_docstrings.label": "Attiva le docstring ridotte degli strumenti (beta)",
163
- "features.enable_lite_docstrings.help": "Funzione beta. Sostituisce le docstring su 15 strumenti ha-mcp pesanti (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) con varianti più brevi che rimandano i dettagli di schema ed esempio allo strumento ha_get_skill_guide (o alla sua risorsa skill://). Un'eccezione: ha_report_issue rimanda invece al campo delle istruzioni della propria risposta. La regolazione dell'impostazione del suggerimento di backup si applica comunque in modalità ridotta. ATTENZIONE: questo riduce l'utilizzo di token inattivi, ma potrebbe peggiorare le prestazioni del LLM — le descrizioni ridotte si affidano al fatto che il LLM chiami effettivamente lo strumento di competenza o legga la risorsa di competenza per i dettagli, cosa non garantita (alcuni modelli salteranno la chiamata allo strumento extra e finiranno con meno indicazioni rispetto a prima). Ideale in abbinamento a un client che supporta le risorse MCP o con enable_tool_search. Richiede il riavvio per avere effetto. RICHIEDE che l'interruttore principale \"Enable beta features\" sopra (e nell'interfaccia web) sia attivo — altrimenti questo sotto-flag viene ignorato in esecuzione indipendentemente dal suo valore qui.",
163
+ "features.enable_lite_docstrings.help": "Funzionalità beta. Sostituisce le stringhe di documentazione su 15 strumenti pesanti di ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) con varianti più brevi che rimandano i dettagli di schema ed esempio allo strumento ha_get_skill_guide (o alla sua risorsa skill://). Un'eccezione: ha_report_issue rimanda invece al campo delle istruzioni della propria risposta. ATTENZIONE: questo riduce l'utilizzo di token inattivi, ma potrebbe ridurre le prestazioni del LLM; le descrizioni ridotte si basano sul fatto che il LLM chiami effettivamente lo strumento di competenza o legga la risorsa di competenza per i dettagli, il che non è garantito (alcuni modelli salteranno la chiamata extra allo strumento e finiranno con meno indicazioni rispetto a prima). Ideale se abbinato a un client che supporta le risorse MCP o con enable_tool_search. Richiede il riavvio per avere effetto. RICHIEDE che l'interruttore principale \"Enable beta features\" sopra (e nell'interfaccia utente web) sia attivo, altrimenti questo sotto-flag viene ignorato in esecuzione indipendentemente dal suo valore qui.",
164
164
  "features.enable_dashboard_screenshot.label": "Attiva la modalità screenshot delle dashboard (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Funzionalità beta — disattivata per impostazione predefinita. Aggiunge lo strumento ha_get_dashboard_screenshot oltre alle opzioni include_screenshot / return_screenshot sugli strumenti di lettura/scrittura delle dashboard, in modo che gli assistenti IA possano ispezionare una o più immagini Lovelace responsive (ad es. per verificare una dashboard appena creata). Supporta viste denominate stabili, batch per cellulare/tablet/desktop e output in formato PNG/JPEG/WebP/BMP. Il rendering viene eseguito in un motore separato e opzionale — l'applicazione (add-on) \"Puppet\" di balloob, Chromium senza interfaccia grafica — che installi una volta (aggiungi il repository di balloob all'App store, quindi installa \"Puppet\") e a cui fornisci un token di accesso a lungo termine; sulle distribuzioni Docker/Container esegui quel motore come sidecar e imposti HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Nessun componente pesante viene installato a meno che tu non abiliti questa funzione e installi il motore. Richiede il riavvio per avere effetto. RICHIEDE che l'interruttore principale \"Enable beta features\" sopra (e nell'interfaccia web) sia attivo, altrimenti questo sotto-parametro viene ignorato in esecuzione indipendentemente dal valore impostato qui.",
166
166
  "actions.restart_server": "Riavvia il server HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "아래의 강제 모드를 켜지 않으면 이것은 접근 제어가 아니라 노이즈 감소일 뿐입니다. 숨긴 엔티티도 entity_id를 직접 조회하면 그대로 반환되고, 자동화·대시보드·템플릿 내용에도 여전히 나타납니다. 이 필터만으로 보안 경계를 삼지 마세요.",
104
104
  "visibility.enabled": "엔티티 표시 범위 필터 사용",
105
105
  "visibility.enforce.title": "강제 모드",
106
- "visibility.enforce.help": "검색과 개요의 정리 수준을 넘어, 기본적으로 ha_report_issue를 제외한 모든 도구 조회로 필터를 확장합니다. 숨긴 엔티티를 직접 조회하면 “찾을 수 없음”이 반환되고, 해당 엔티티가 드러나는 콘텐츠 조회는 거부됩니다. 리포트 도구 예외는 아래에서 제어합니다. 우발적 노출을 최대한 막아 주는 수준이며, 견고한 보안 경계는 아닙니다.",
106
+ "visibility.enforce.help": "검색 및 개요 숨기기를 넘어 ha_report_issue를 제외한 모든 도구 읽기에 기본적으로 필터를 확장합니다. 숨겨진 엔티티를 직접 읽으면 \"찾을 수 없음\"이 반환되며, 이를 노출할 수 있는 콘텐츠 읽기는 거부됩니다. 보고 도구 예외는 아래에서 제어됩니다. 보안 경계가 아니라 우발적 노출에 대한 최선의 은폐 기능을 제공합니다. 숨겨진 스크립트, 장면 또는 자동화의 키나 ID만 공유하는 읽기 작업도 거부되는 등 필요 이상으로 거부될 수 있습니다.",
107
107
  "visibility.enforce.only_enforced": "숨긴 엔티티를 모든 도구 조회에서 읽을 수 없게 하기(기본적으로 이슈 리포트는 제외)",
108
108
  "visibility.enforce.report_issue_help": "이 옵션이 꺼져 있는 동안에는 ha_report_issue와 로그를 포함한 모든 진단 출력이, 표시 범위 데이터가 정상이든 사용할 수 없든 관계없이 매 호출마다 강제 모드에서 제외됩니다. 켜면 다른 조회와 마찬가지로 해당 도구도 검사하고 거부합니다.",
109
109
  "visibility.enforce.restrict_report_issue": "ha_report_issue에도 강제 모드 적용",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "사용자 지정 도구 샌드박스 사용(베타)",
161
161
  "features.enable_code_mode.help": "베타 기능입니다. ha_manage_custom_tool 도구를 켜서, 내장 도구로 처리할 수 없는 요청이 있을 때 AI 어시스턴트가 안전한 샌드박스에서 사용자 지정 파이썬 코드를 만들고 실행하고 저장하고 삭제할 수 있게 합니다. 코드는 파일 시스템 접근이나 임의 네트워크 접근이 없는 격리된 인터프리터에서 실행됩니다. 샌드박스 코드는 HA REST API 호출(api_get/api_post), WebSocket 명령 전송(ws_send), 기존 MCP 도구 호출(call_tool), 저장된 도구 삭제(delete_saved_tool)를 할 수 있습니다. 저장된 도구는 기본적으로 /data/saved_tools.json에 보관되어 앱(애드온)을 다시 시작해도 유지되며, 접속할 수 있는 모든 클라이언트에 보입니다. 알려진 제한 사항은 docs/beta.md를 참고하세요. 적용하려면 다시 시작해야 합니다. 위(그리고 웹 UI)의 \"베타 기능 사용\" 마스터 토글이 켜져 있어야 하며, 그렇지 않으면 여기 값과 관계없이 이 하위 플래그는 런타임에서 무시됩니다.",
162
162
  "features.enable_lite_docstrings.label": "간소화된 도구 설명문 사용(베타)",
163
- "features.enable_lite_docstrings.help": "베타 기능입니다. 15개의 무거운 ha-mcp 도구(ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue)의 독스트링을 스키마 및 예제 세부 정보를 ha_get_skill_guide 도구(또는 skill:// 리소스)로 위임하는 더 짧은 버전으로 바꿉니다. 예외: ha_report_issue는 대신 자체 응답의 instructions 필드로 위임합니다. 백업 힌트 설정 미세 조정은 간소화 모드에서도 계속 적용됩니다. 경고: 유휴 토큰 사용량이 줄어들지만 LLM 성능이 저하될 수 있습니다. 축소된 설명은 LLM이 실제로 스킬 도구를 호출하거나 상세 정보를 위해 스킬 리소스를 읽는 것에 의존하지만, 이는 보장되지 않습니다(일부 모델은 추가 도구 호출을 건너뛰고 이전보다 안내를 덜 받게 될 수 있음). MCP 리소스를 지원하는 클라이언트나 enable_tool_search와 함께 사용하는 것이 가장 좋습니다. 적용하려면 재시작이 필요합니다. 위의(및 웹 UI의) 마스터 \"베타 기능 활성화\" 토글이 켜져 있어야 합니다. 그렇지 않으면 여기서의 값과 상관없이 런타임에 이 하위 플래그가 무시됩니다.",
163
+ "features.enable_lite_docstrings.help": "베타 기능입니다. 15개의 대형 ha-mcp 도구(ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue)의 독string을 스키마 및 예제 세부 정보를 ha_get_skill_guide 도구(또는 skill:// 리소스)로 미루는 더 짧은 버전으로 교체합니다. 단, ha_report_issue는 예외적으로 자체 응답의 instructions 필드를 따릅니다. 경고: 유휴 토큰 사용량이 줄어들지만 LLM 성능이 저하될 수 있습니다. 축소된 설명은 LLM이 실제로 스킬 도구를 호출하거나 상세 정보를 위해 스킬 리소스를 읽는 것에 의존하지만, 이는 보장되지 않습니다(일부 모델은 추가 도구 호출을 건너뛰고 이전보다 적은 지침을 얻게 될 수 있습니다). MCP 리소스를 지원하는 클라이언트 또는 enable_tool_search와 함께 사용하는 것이 가장 좋습니다. 적용하려면 재시작이 필요합니다. 상단(및 웹 UI)의 마스터 \"베타 기능 사용\" 토글이 켜져 있어야 합니다. 그렇지 않으면 여기서의 설정 값과 관계없이 런타임에 이 하위 플래그가 무시됩니다.",
164
164
  "features.enable_dashboard_screenshot.label": "대시보드 스크린샷 모드 사용(베타)",
165
165
  "features.enable_dashboard_screenshot.help": "베타 기능이며 기본값은 꺼짐입니다. ha_get_dashboard_screenshot 도구와 함께 대시보드 조회/설정 도구에 include_screenshot / return_screenshot 옵션을 추가해, AI 어시스턴트가 반응형 Lovelace 이미지를 한 장 이상 확인할 수 있게 합니다(예: 방금 만든 대시보드 검증). 고정된 이름의 뷰, 모바일/태블릿/데스크톱 일괄 촬영, PNG/JPEG/WebP/BMP 출력을 지원합니다. 렌더링은 별도로 선택해 설치하는 엔진, 즉 balloob의 \"Puppet\" 앱(애드온)(헤드리스 Chromium)에서 실행되며, 한 번 설치하고(앱 스토어에 balloob 저장소를 추가한 뒤 \"Puppet\" 설치) 장기 액세스 토큰을 부여하면 됩니다. 도커/컨테이너 배포에서는 그 엔진을 사이드카로 실행하고 HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL을 설정하세요. 이 옵션을 켜고 엔진을 설치하기 전에는 무거운 구성요소가 전혀 설치되지 않습니다. 적용하려면 다시 시작해야 합니다. 위(그리고 웹 UI)의 \"베타 기능 사용\" 마스터 토글이 켜져 있어야 하며, 그렇지 않으면 여기 값과 관계없이 이 하위 플래그는 런타임에서 무시됩니다.",
166
166
  "actions.restart_server": "HA-MCP 서버 다시 시작",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Zonder afdwingmodus (hieronder) is dit ruisonderdrukking, geen toegangscontrole: een verborgen entiteit wordt nog steeds geretourneerd door een directe uitlezing van zijn entity_id en verschijnt nog steeds in automatisering, dashboard en sjablooninhoud. Vertrouw niet alleen op het filter als een beveiligingsgrens.",
104
104
  "visibility.enabled": "Schakel filter voor entiteitszichtbaarheid in",
105
105
  "visibility.enforce.title": "Afdwingmodus",
106
- "visibility.enforce.help": "Breidt het filter van opschoning van zoekopdrachten en overzichten standaard uit naar elke tool-gelezen data behalve ha_report_issue. Een directe lezing van een verborgen entiteit retourneert \"niet gevonden\", en een inhoudsgelezen data die er een zou tonen, wordt geweigerd. De uitzondering voor het rapportageregelingsmiddel wordt hieronder beheerd. Dit is een inspanningsverplichting ter verberging tegen incidentele blootstelling, geen harde beveiligingsgrens.",
106
+ "visibility.enforce.help": "Breidt het filter van opschoonzoekopdrachten en overzicht standaard uit naar elke tool-read behalve ha_report_issue. Een directe read van een verborgen entiteit geeft \"niet gevonden\" terug, en een inhouds-read die er een zou tonen wordt geweigerd. De uitzondering voor de rapportagetool wordt hieronder geregeld. Dit is een poging tot verberging tegen incidentele blootstelling, geen harde beveiligingsgrens. Het kan ook meer weigeren dan nodig: een read die alleen de sleutel of ID van een verborgen script, scène of automatisering deelt, kan eveneens worden geweigerd.",
107
107
  "visibility.enforce.only_enforced": "Maak verborgen entiteiten onleesbaar bij alle tool-lezingen (standaard uitgezonderd foutmeldingen)",
108
108
  "visibility.enforce.report_issue_help": "Terwijl dit is uitgeschakeld, blijven ha_report_issue en al zijn diagnostische uitvoer — inclusief logboeken — bij elke aanroep buiten de afdwingmodus, zelfs wanneer zichtbaarheidsgegevens gezond of niet beschikbaar zijn. Schakel dit in om dat hulpprogramma te scannen en te weigeren net als andere lezingen.",
109
109
  "visibility.enforce.restrict_report_issue": "Pas afdwingmodus toe op ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Aangepaste tool-sandbox inschakelen (bèta)",
161
161
  "features.enable_code_mode.help": "Bètafunctie. Schakelt de tool ha_manage_custom_tool in, waarmee AI-assistenten aangepaste Python-code kunnen maken, uitvoeren, opslaan en verwijderen in een veilige sandbox wanneer geen enkele ingebouwde tool het verzoek kan afhandelen. Code wordt uitgevoerd in een geïsoleerde interpreter zonder bestandsysteem of willekeurige netwerktoegang. Sandbox-code kan de HA REST API aanroepen (api_get/api_post), WebSocket-commando's verzenden (ws_send), bestaande MCP-tools aanroepen (call_tool) of een opgeslagen tool verwijderen (delete_saved_tool). Opgeslagen tools worden standaard opgeslagen in /data/saved_tools.json zodat ze herstarten van de app (add-on) overleven, en zijn zichtbaar voor elke client die verbinding kan maken. Zie docs/beta.md voor bekende beperkingen. Vereist herstart om van kracht te worden. VEREIST dat de hoofdschakelaar \"Bètafuncties inschakelen\" hierboven (en in de web-ui) aan staat — anders wordt deze sub-vlag tijdens runtime genegeerd, ongeacht de waarde hiervan.",
162
162
  "features.enable_lite_docstrings.label": "Lite tool-docstrings inschakelen (bèta)",
163
- "features.enable_lite_docstrings.help": "Bètafunctie. Vervangt de docstrings van 15 zware ha-mcp tools (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) door kortere varianten die schema- en voorbeeldgegevens verplaatsen naar de ha_get_skill_guide tool (of de bijbehorende skill:// bron). Één uitzondering: ha_report_issue verwijst in plaats daarvan naar het instructieveld van zijn eigen reactie. Het aanpassen van de Back-up-hintinstelling werkt nog steeds in de lite-modus. WAARSCHUWING: dit vermindert het verbruik van inactieve tokens, maar kan de prestaties van de LLM verminderen — de ingekorte beschrijvingen vertrouwen erop dat de LLM daadwerkelijk de skill-tool aanroept of de skill-bron leest voor details, wat niet gegarandeerd is (sommige modellen slaan de extra tool-aanroep over en krijgen zo minder begeleiding dan voorheen). Werkt het best in combinatie met een client die MCP-bronnen ondersteunt of met enable_tool_search. Vereist een herstart om van kracht te worden. VEREIST dat de hoofdoptie \"Bètafuncties inschakelen\" hierboven (en in de web-interface) is ingeschakeld — anders wordt deze sub-vlag op het moment van uitvoering genegeerd, ongeacht de waarde hier.",
163
+ "features.enable_lite_docstrings.help": "Bètafunctie. Vervangt de docstrings op 15 zware ha-mcp-tools (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) door kortere varianten die schema- en voorbeeldgegevens uitstellen naar de ha_get_skill_guide-tool (of de skill://-resource). Eén uitzondering: ha_report_issue verwijst in plaats daarvan naar het instructieveld van zijn eigen reactie. WAARSCHUWING: dit vermindert het inactieve tokengebruik, maar kan de LLM-prestaties verslechteren — de ingekorte beschrijvingen vertrouwen erop dat de LLM daadwerkelijk de skill-tool aanroept of de skill-resource leest voor details, wat niet gegarandeerd is (sommige modellen slaan de extra tool-aanroep over en eindigen met minder begeleiding dan voorheen). Werkt het best in combinatie met een client die MCP-resources ondersteunt of met enable_tool_search. Vereist een herstart om van kracht te worden. VEREIST dat de hoofd-schakelaar \"Enable beta features\" hierboven (en in de web-UI) is ingeschakeld — anders wordt deze sub-vlag tijdens runtime genegeerd, ongeacht de waarde hiervan.",
164
164
  "features.enable_dashboard_screenshot.label": "Dashboard-screenshotmodus inschakelen (bèta)",
165
165
  "features.enable_dashboard_screenshot.help": "Bètafunctie — standaard uitgeschakeld. Voegt de tool ha_get_dashboard_screenshot toe plus include_screenshot / return_screenshot-opties op de dashboard get/set-tools, zodat AI-assistenten een of meer responsieve Lovelace-afbeeldingen kunnen inspecteren (bijv. om een dashboard te verifiëren dat ze zojuist hebben gemaakt). Ondersteunt stabiele benoemde weergaven, mobiele/tablet/desktop-batches en PNG/JPEG/WebP/BMP-uitvoer. Rendering wordt uitgevoerd in een afzonderlijke, optionele engine — balloob's \"Puppet\" App (add-on), headless Chromium — die je eenmalig installeert (voeg balloob's repository toe aan de App Store, installeer vervolgens \"Puppet\") en waaraan je een langlevend toegangstoken geeft; op Docker/Container-implementaties voer je die engine uit als een sidecar en stel je HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL in. Er wordt niets zwaars geïnstalleerd tenzij je dit inschakelt én de engine installeert. Vereist herstart om van kracht te worden. VEREIST dat de hoofdschakelaar \"Bètafuncties inschakelen\" hierboven (en in de web-ui) aan staat — anders wordt deze sub-vlag tijdens runtime genegeerd, ongeacht de waarde hiervan.",
166
166
  "actions.restart_server": "Herstart HA-MCP Server",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Bez trybu wymuszenia (poniżej), jest to redukcja szumu, a nie kontrola dostępu: ukryta encja jest nadal zwracana przez bezpośredni odczyt jej entity_id i nadal pojawia się w automatyzacjach, panelach i zawartości szablonów. Nie polegaj wyłącznie na filtrze jako granicy bezpieczeństwa.",
104
104
  "visibility.enabled": "Włącz filtr widoczności encji",
105
105
  "visibility.enforce.title": "Tryb wymuszenia",
106
- "visibility.enforce.help": "Rozszerza domyślnie filtr z ukrywania w wyszukiwaniu i przeglądzie na każdy odczyt narzędzia, z wyjątkiem ha_report_issue. Bezpośredni odczyt ukrytej encji zwraca „nie znaleziono”, a odczyt zawartości, który by ją ujawnił, jest odrzucany. Wyjątek dotyczący narzędzia raportowania jest kontrolowany poniżej. Ukrywanie w najlepszej wierze przed przypadkowym ujawnieniem, a nie twarda granica bezpieczeństwa.",
106
+ "visibility.enforce.help": "Rozszerza domyślny filtr z uporządkowanego wyszukiwania i przeglądu na każdy odczyt narzędzia z wyjątkiem ha_report_issue. Bezpośredni odczyt ukrytej encji zwraca komunikat „nie znaleziono”, a odczyt zawartości, który by ją ujawnił, jest odrzucany. Wyjątek dotyczący narzędzia raportowania jest kontrolowany poniżej. Jest to ukrywanie w miarę możliwości przed przypadkowym ujawnieniem, a nie twarda granica bezpieczeństwa. Może również odrzucać więcej, niż to konieczne: odczyt, który udostępnia jedynie klucz lub identyfikator ukrytego skryptu, sceny lub automatyzacji, również może zostać odrzucony.",
107
107
  "visibility.enforce.only_enforced": "Uczyń ukryte encje nieczytelnymi we wszystkich odczytach narzędzi (domyślnie z wyjątkiem raportów błędów)",
108
108
  "visibility.enforce.report_issue_help": "Gdy ta opcja jest wyłączona, ha_report_issue oraz wszystkie jego dane diagnostyczne — w tym logi — pozostają poza trybem egzekwowania przy każdym wywołaniu, nawet gdy dane widoczności są poprawne lub niedostępne. Włącz tę opcję, aby skanować i odrzucać to narzędzie podobnie jak inne odczyty.",
109
109
  "visibility.enforce.restrict_report_issue": "Zastosuj tryb egzekwowania do ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Włącz piaskownicę niestandardowych narzędzi (beta)",
161
161
  "features.enable_code_mode.help": "Funkcja w wersji beta. Włącza narzędzie ha_manage_custom_tool, które pozwala asystentom AI tworzyć, uruchamiać, zapisywać i usuwać niestandardowy kod w języku Python w bezpiecznej piaskownicy (sandbox), gdy żadne wbudowane narzędzie nie jest w stanie obsłużyć żądania. Kod uruchamia się w odizolowanym interpreterze bez dostępu do systemu plików ani nieograniczonego dostępu do sieci. Kod w piaskownicy może wywoływać API REST HA (api_get/api_post), wysyłać polecenia WebSocket (ws_send), wywoływać istniejące narzędzia MCP (call_tool) lub usuwać zapisane narzędzie (delete_saved_tool). Zapisane narzędzia są domyślnie zachowywane w /data/saved_tools.json, dzięki czemu przetrwają ponowne uruchomienie aplikacji (dodatku), i są widoczne dla każdego klienta, który może się połączyć. Znane ograniczenia opisano w pliku docs/beta.md. Wymaga ponownego uruchomienia, aby zacząć obowiązywać. WYMAGA, aby główny przełącznik \"Włącz funkcje beta\" powyżej (i w interfejsie webowym) był włączony — w przeciwnym razie ta podflaga jest ignorowana w czasie wykonywania niezależnie od jej wartości.",
162
162
  "features.enable_lite_docstrings.label": "Włącz uproszczone docstringi narzędzi (beta)",
163
- "features.enable_lite_docstrings.help": "Funkcja w fazie beta. Zastępuje opisy (docstringi) w 15 ciężkich narzędziach ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) krótszymi wariantami, które oddelegowują szczegóły schematów i przykładów do narzędzia ha_get_skill_guide (lub jego zasobu skill://). Jeden wyjątek: ha_report_issue oddelegowuje te informacje do pola instrukcji we własnej odpowiedzi. Dostosowanie ustawienia podpowiedzi kopii zapasowej nadal działa w trybie uproszczonym. OSTRZEŻENIE: zmniejsza to zużycie tokenów w stanie bezczynności, ale może pogorszyć wydajność LLM — okrojone opisy polegają na tym, że LLM faktycznie wywoła narzędzie umiejętności lub odczyta zasób umiejętności w celu uzyskania szczegółów, co nie jest gwarantowane (niektóre modele pomijają dodatkowe wywołanie narzędzia i kończą z mniejszą ilością wskazówek niż wcześniej). Najlepiej stosować w parze z klientem obsługującym zasoby MCP lub z włączonym enable_tool_search. Wymaga ponownego uruchomienia, aby zacząć działać. WYMAGA, aby główny przełącznik \"Włącz funkcje beta\" powyżej (i w interfejsie WWW) był włączony — w przeciwnym razie ta podflaga zostanie zignorowana podczas działania, niezależnie od jej wartości tutaj.",
163
+ "features.enable_lite_docstrings.help": "Funkcja w wersji beta. Zastępuje opisy (docstrings) w 15 zasobożernych narzędziach ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) krótszymi wariantami, które przenoszą szczegóły schematów i przykładów do narzędzia ha_get_skill_guide (lub jego zasobu skill://). Jeden wyjątek: ha_report_issue odsyła do pola instrukcji we własnej odpowiedzi. OSTRZEŻENIE: zmniejsza to zużycie tokenów w stanie bezczynności, ale może pogorszyć wydajność LLM — okrojone opisy polegają na tym, że LLM faktycznie wywoła narzędzie umiejętności lub przeczyta zasób umiejętności w celu uzyskania szczegółów, co nie jest gwarantowane (niektóre modele pominięto dodatkowe wywołanie narzędzia i ostatecznie otrzymają mniej wskazówek niż wcześniej). Najlepiej stosować z klientem obsługującym zasoby MCP lub z opcją enable_tool_search. Wymaga ponownego uruchomienia, aby zaczęło obowiązywać. WYMAGA, aby główny przełącznik „Enable beta features” powyżej (oraz w interfejsie WWW) był włączony — w przeciwnym razie ta pod-flaga jest ignorowana w czasie wykonywania, niezależnie od jej wartości.",
164
164
  "features.enable_dashboard_screenshot.label": "Włącz tryb zrzutów ekranu pulpitu nawigacyjnego (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Funkcja w wersji beta — domyślnie wyłączona. Dodaje narzędzie ha_get_dashboard_screenshot oraz opcje include_screenshot / return_screenshot w narzędziach pobierania/ustawiania pulpitów, dzięki czemu asystenci AI mogą sprawdzać jeden lub więcej responsywnych obrazów Lovelace (np. w celu zweryfikowania właśnie utworzonego pulpitu). Obsługuje stabilne nazwane widoki, partie mobilne/tabletowe/desktopowe oraz wyjście w formacie PNG/JPEG/WebP/BMP. Renderowanie odbywa się w osobnym, opcjonalnym silniku — aplikacji (dodatku) \"Puppet\" autorstwa balloob, bezgłowym Chromium — który instalujesz raz (dodajesz repozytorium balloob do sklepu z aplikacjami, a następnie instalujesz \"Puppet\") i przekazujesz długoterminowy token dostępu; w przypadku wdrożeń na Dockerze/Containerze uruchamiasz ten silnik jako kontener pomocniczy (sidecar) i ustawiasz zmienną HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Żadne duże komponenty nie są instalowane, dopóki zarówno nie włączysz tej opcji, jak i nie zainstalujesz silnika. Wymaga ponownego uruchomienia, aby zacząć obowiązywać. WYMAGA, aby główny przełącznik \"Włącz funkcje beta\" powyżej (i w interfejsie webowym) był włączony — w przeciwnym razie ta podflaga jest ignorowana w czasie wykonywania niezależnie od jej wartości.",
166
166
  "actions.restart_server": "Uruchom ponownie serwer HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Без режима принудительного скрытия (ниже) это уменьшение информационного шума, а не ограничение доступа: скрытая сущность всё ещё возвращается при прямом запросе по entity_id и остаётся видимой в автоматизациях, панелях и шаблонах. Не полагайтесь на один лишь фильтр как на средство безопасности.",
104
104
  "visibility.enabled": "Включить фильтр видимости сущностей",
105
105
  "visibility.enforce.title": "Режим принудительного скрытия",
106
- "visibility.enforce.help": "Расширяет фильтр из поиска, загромождающего интерфейс, и обзора на чтение каждого инструмента, кроме ha_report_issue, по умолчанию. Прямое чтение скрытой сущности возвращает «не найдено», а чтение содержимого, которое должно её показать, отклоняется. Исключение для инструмента отчетов управляется ниже. Это скрытие на основе лучших усилий от случайного раскрытия, а не защищенный рубеж безопасности.",
106
+ "visibility.enforce.help": "Расширяет фильтр с очистки результатов поиска и обзора на все чтение инструментов по умолчанию, кроме ha_report_issue. Прямое чтение скрытой сущности возвращает сообщение «не найдено», а содержащее ее чтение отклоняется. Исключение для инструмента отчетов настраивается ниже. Это маскировка для защиты от случайного раскрытия, а не надежная граница безопасности. Она также может отклонять больше, чем нужно: чтение, затрагивающее только ключ или ID скрытого скрипта, сценария или автоматизации, тоже может быть отклонено.",
107
107
  "visibility.enforce.only_enforced": "Сделать скрытые сущности недоступными для чтения во всех инструментах (кроме отчетов о проблемах по умолчанию)",
108
108
  "visibility.enforce.report_issue_help": "Пока эта функция отключена, ha_report_issue и весь ее диагностический вывод, включая логи, не участвуют в режиме принудительного применения при каждом вызове, даже когда данные о видимости в норме или недоступны. Включите ее, чтобы сканировать и отклонять этот инструмент так же, как и другие запросы на чтение.",
109
109
  "visibility.enforce.restrict_report_issue": "Применить режим принудительного применения к ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Включить песочницу пользовательских инструментов (бета)",
161
161
  "features.enable_code_mode.help": "Бета-функция. Включает инструмент ha_manage_custom_tool, который позволяет ИИ-ассистентам создавать, запускать, сохранять и удалять пользовательский код на Python в защищенной песочнице, когда ни один встроенный инструмент не может справиться с запросом. Код выполняется в изолированном интерпретаторе без доступа к файловой системе или произвольного сетевого доступа. Код в песочнице может обращаться к REST API HA (api_get/api_post), отправлять команды WebSocket (ws_send), вызывать существующие MCP-инструменты (call_tool) или удалять сохраненный инструмент (delete_saved_tool). Сохраненные инструменты по умолчанию сохраняются в /data/saved_tools.json, поэтому они переживают перезапуски приложения (аддона) и видны любому клиенту, который может подключиться. См. docs/beta.md для известных ограничений. Требуется перезапуск для вступления в силу. ТРЕБУЕТСЯ, чтобы главный переключатель «Включить бета-функции» выше (и в веб-интерфейсе) был включен — в противном случае этот субобъект игнорируется во время выполнения независимо от его значения здесь.",
162
162
  "features.enable_lite_docstrings.label": "Включить сокращённые строки документации инструментов (бета)",
163
- "features.enable_lite_docstrings.help": "Бета-функция. Заменяет строки документации для 15 тяжелых инструментов ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) на более короткие варианты, которые переносят подробности схем и примеров в инструмент ha_get_skill_guide (или его ресурс skill://). Одно исключение: ha_report_issue переносит детали в поле инструкций собственного ответа. Настройка подсказки резервного копирования по-прежнему работает в облегченном режиме. ПРЕДУПРЕЖДЕНИЕ: это снижает расход токенов в режиме простоя, но может ухудшить производительность LLM — сокращенные описания полагаются на то, что LLM действительно вызовет инструмент навыка или прочитает ресурс навыка для получения подробностей, что не гарантировано (некоторые модели пропустят дополнительный вызов инструмента и в итоге получат меньше подсказок, чем раньше). Лучше всего использовать в паре с клиентом, поддерживающим ресурсы MCP или с включенным enable_tool_search. Требуется перезапуск, чтобы изменения вступили в силу. ТРЕБУЕТСЯ, чтобы главный переключатель \"Enable beta features\" выше (и в веб-интерфейсе) был включен — в противном случае этот подфлаг игнорируется во время выполнения независимо от его значения здесь.",
163
+ "features.enable_lite_docstrings.help": "Бета-функция. Заменяет строки документации для 15 тяжелых инструментов ha-mcp (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) на более короткие варианты, переносящие подробности схем и примеров в инструмент ha_get_skill_guide (или его ресурс skill://). Одно исключение: ha_report_issue использует поле instructions в своем собственном ответе. ВНИМАНИЕ: это снижает расход токенов в режиме простоя, но может ухудшить работу LLM — сокращенные описания предполагают, что LLM действительно вызовет инструмент навыков или прочитает соответствующий ресурс для получения деталей, что не гарантировано (некоторые модели пропустят дополнительный вызов инструмента и в итоге получат меньше инструкций, чем раньше). Лучше всего использовать с клиентом, поддерживающим ресурсы MCP, или с включенным параметром enable_tool_search. Требует перезапуска. ТРЕБУЕТ включения главного переключателя «Включить бета-функции» выше (и в веб-интерфейсе), иначе этот вспомогательный флаг будет проигнорирован во время работы независимо от его текущего значения.",
164
164
  "features.enable_dashboard_screenshot.label": "Включить режим снимков панели (бета)",
165
165
  "features.enable_dashboard_screenshot.help": "Бета-функция — отключена по умолчанию. Добавляет инструмент ha_get_dashboard_screenshot, а также параметры include_screenshot / return_screenshot в инструменты получения/установки дашборда, чтобы ИИ-ассистенты могли просматривать одно или несколько адаптивных изображений Lovelace (например, чтобы проверить созданный ими дашборд). Поддерживает стабильные именованные виды, пакеты для мобильных устройств/планшетов/ПК и вывод в форматах PNG/JPEG/WebP/BMP. Рендеринг выполняется в отдельном опциональном движке — приложении (аддоне) «Puppet» от balloob, представляющем собой Chromium без графического интерфейса, который вы устанавливаете один раз (добавьте репозиторий balloob в магазин приложений, затем установите «Puppet») и предоставляете ему долговечный токен доступа; в развертываниях Docker/Container вы запускаете этот движок как сайдкар и задаете HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Ничего тяжелого не устанавливается, пока вы одновременно не включите это и не установите движок. Требуется перезапуск для вступления в силу. ТРЕБУЕТСЯ, чтобы главный переключатель «Включить бета-функции» выше (и в веб-интерфейсе) был включен — в противном случае этот субобъект игнорируется во время выполнения независимо от его значения здесь.",
166
166
  "actions.restart_server": "Перезапустить сервер HA-MCP",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "Utan tvingande läge (nedan) är detta brusreducering, inte åtkomstkontroll: en dold entitet returneras fortfarande vid en direkt läsning av dess entity_id och visas fortfarande i innehåll för automatisering, instrumentpaneler och mallar. Förlita dig inte enbart på filtret som en säkerhetsgräns.",
104
104
  "visibility.enabled": "Aktivera entitets synlighetsfilter",
105
105
  "visibility.enforce.title": "Tvingande läge",
106
- "visibility.enforce.help": "Utökar filtret från att rensa sökningar och översikter till att som standard gälla alla verktygsläsningar förutom ha_report_issue. En direkt läsning av en dold entitet returnerar \"ej hittad\", och en innehållsläsning som skulle visa en sådan nekas. Undantaget för rapportverktyget styrs nedan. Bästa möjliga döljande mot oavsiktlig exponering, inte en härdad säkerhetsgräns.",
106
+ "visibility.enforce.help": "Utökar filtret från att rensa sökningar och översikter till att som standard gälla alla verktygsläsningar förutom ha_report_issue. En direkt läsning av en dold entitet returnerar \"hittades inte\", och en innehållsläsning som skulle visa en sådan nekas. Undantaget för rapportverktyget styrs nedan. Bästa möjliga döljande mot oavsiktlig exponering, inte en säkerhetsgräns. Den kan också neka mer än nödvändigt: en läsning som bara delar nyckeln eller ID:t för ett dolt skript, en dold scen eller automatisering kan också nekas.",
107
107
  "visibility.enforce.only_enforced": "Gör dolda entiteter oläsbara vid alla verktygsläsandet (förutom felrapporter som standard)",
108
108
  "visibility.enforce.report_issue_help": "Medan detta är avstängt förblir ha_report_issue och all dess diagnostiska utdata – inklusive loggar – utanför tvingande läge vid varje anrop, även när synlighetsdata är felfri eller otillgänglig. Slå på det för att skanna och neka det verktyget liksom andra läsningar.",
109
109
  "visibility.enforce.restrict_report_issue": "Tillämpa tvingande läge på ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "Aktivera sandlåda för anpassade verktyg (beta)",
161
161
  "features.enable_code_mode.help": "Betafunktion. Aktiverar verktyget ha_manage_custom_tool, som låter AI-assistenter skapa, köra, spara och ta bort anpassad Python-kod i en säker sandlåda när inget inbyggt verktyg kan hantera begäran. Koden körs i en isolerad tolkningsmiljö utan åtkomst till filsystem eller godtyckligt nätverk. Sandlådekod kan nå HA REST API (api_get/api_post), skicka WebSocket-kommandon (ws_send), anropa befintliga MCP-verktyg (call_tool) eller ta bort ett sparat verktyg (delete_saved_tool). Sparade verktyg sparas i /data/saved_tools.json som standard så att de överlever omstart av appen (tillägget), och är synliga för alla klienter som kan ansluta. Se docs/beta.md för kända begränsningar. Kräver omstart för att träda i kraft. KRÄVER att huvudreglaget \"Enable betafeatures\" ovan (och i webbgränssnittet) är på – annars ignoreras denna underflagga vid körning oavsett dess värde här.",
162
162
  "features.enable_lite_docstrings.label": "Aktivera lätta verktygsdocstrings (beta)",
163
- "features.enable_lite_docstrings.help": "Betafunktion. Ersätter docstrings på 15 tunga ha-mcp-verktyg (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) med kortare varianter som flyttar schema- och exempletaljer till ha_get_skill_guide-verktyget (eller dess skill://-resurs). Ett undantag: ha_report_issue hänvisar till instruktionsfältet i sitt eget svar istället. Justering av säkerhetskopieringsinställningen gäller fortfarande i lättlöst läge. VARNING: detta minskar tokenanvändningen vid inaktivitet, men kan försämra LLM-prestandan — de nedskurna beskrivningarna förlitar sig på att LLM faktiskt anropar färdighetsverktyget eller läser färdighetsresursen för detaljer, vilket inte garanteras (vissa modeller hoppar över det extra verktygsanropet och hamnar med mindre vägledning än tidigare). Passar bäst med en klient som stöder MCP-resurser eller med enable_tool_search. Kräver omstart för att träda i kraft. KRÄVER att masterreglaget \"Enable beta features\" ovan (och i webbgränssnittet) är aktiverat — annars ignoreras denna underflagga vid körning oavsett dess värde här.",
163
+ "features.enable_lite_docstrings.help": "Betafunktion. Ersätter dokumentationssträngarna på 15 tunga ha-mcp-verktyg (ha_config_get_automation, ha_config_set_automation, ha_config_get_script, ha_config_set_script, ha_config_get_scene, ha_config_set_scene, ha_config_list_helpers, ha_config_set_helper, ha_config_get_dashboard, ha_config_set_dashboard, ha_call_service, ha_config_set_yaml, ha_search, ha_manage_backup, ha_report_issue) med kortare varianter som flyttar schema- och exempletaljer till verktyget ha_get_skill_guide (eller dess skill://-resurs). Ett undantag: ha_report_issue hänvisar till fältet instructions i sitt eget svar istället. VARNING: detta minskar tokenanvändningen vid inaktivitet, men kan försämra LLM-prestandan – de kortare beskrivningarna förlitar sig på att LLM:en faktiskt anropar skill-verktyget eller läser skill-resursen för detaljer, vilket inte är garanterat (vissa modeller hoppar över det extra verktygsanropet och slutar med mindre vägledning än tidigare). Passar bäst med en klient som stöder MCP-resurser eller med enable_tool_search. Kräver omstart för att träda i kraft. KRÄVER att huvudreglaget \"Enable beta features\" ovan (och i webbgränssnittet) är aktiverat – annars ignoreras denna underordnade flagga vid körning oavsett dess värde här.",
164
164
  "features.enable_dashboard_screenshot.label": "Aktivera skärmbildsläge för instrumentpanel (beta)",
165
165
  "features.enable_dashboard_screenshot.help": "Betafunktion – av som standard. Lägger till verktyget ha_get_dashboard_screenshot samt alternativen include_screenshot / return_screenshot på instrumentpanelens hämta-/sättverktyg, så att AI-assistenter kan granska en eller flera responsiva Lovelace-bilder (t.ex. för att verifiera en instrumentpanel de nyss skapade). Stöder stabila namngivna vyer, mobil-/surfplatta-/skrivbordsbatchar samt PNG/JPEG/WebP/BMP-utdata. Renderingen körs i en separat, frivillig motor – balloobs \"Puppet\"-app (tillägg), headless Chromium – som du installerar en gång (lägg till balloobs förråd i App Store och installera sedan \"Puppet\") och ger en långlivad åtkomsttoken; på Docker-/Container-distributioner kör du den motorn som en sidovagn (sidecar) och ställer in HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL. Inget tungt installeras om du inte både aktiverar detta och installerar motorn. Kräver omstart för att träda i kraft. KRÄVER att huvudreglaget \"Enable betafeatures\" ovan (och i webbgränssnittet) är på – annars ignoreras denna underflagga vid körning oavsett dess värde här.",
166
166
  "actions.restart_server": "Starta om HA-MCP-servern",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "在未启用下方的强制模式时,这只是降噪,而非访问控制:被隐藏的实体仍会在直接读取其 entity_id 时返回,并仍会出现在自动化、仪表盘和模板内容中。请勿仅依赖此过滤器作为安全边界。",
104
104
  "visibility.enabled": "启用实体可见性过滤器",
105
105
  "visibility.enforce.title": "强制模式",
106
- "visibility.enforce.help": "默认将过滤范围从精简搜索和概览扩展到除 ha_report_issue 之外的所有工具读取。直接读取隐藏实体会返回“未找到”,而会暴露隐藏实体的正文读取则会被拒绝。报告工具的例外情况在下方控制。这是针对偶然暴露的尽力隐蔽,而非强固的安全边界。",
106
+ "visibility.enforce.help": "默认将筛选范围从精简搜索和概览扩展到除 ha_report_issue 之外的所有工具读取操作。直接读取隐藏实体会返回“未找到”,而会暴露出隐藏实体的批量内容读取则会被拒绝。报告工具的例外情况在下方控制。这是一种针对偶发暴露的尽力而为的隐藏机制,而非硬化的安全边界。它也可能会拒绝超出需求的内容:仅共享隐藏脚本、场景或自动化键或 ID 的读取操作也可能会被拒绝。",
107
107
  "visibility.enforce.only_enforced": "使隐藏实体在所有工具读取中均不可读(默认故障排除报告除外)",
108
108
  "visibility.enforce.report_issue_help": "当此选项关闭时,ha_report_issue 及其所有诊断输出(包括日志)在每次调用时都不受强制模式约束,即使可见性数据正常或不可用。开启此选项以像其他读取一样扫描并拒绝该工具。",
109
109
  "visibility.enforce.restrict_report_issue": "将强制模式应用于 ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "启用自定义工具沙箱(测试版)",
161
161
  "features.enable_code_mode.help": "Beta 功能。启用 ha_manage_custom_tool 工具,当没有内置工具可以处理请求时,该工具允许 AI 助手在安全沙箱中创建、运行、保存和删除自定义 Python 代码。代码在隔离的解释器中运行,无法访问文件系统或任意网络。沙箱代码可以调用 HA REST API (api_get/api_post)、发送 WebSocket 命令 (ws_send)、调用现有的 MCP 工具 (call_tool) 或删除已保存的工具 (delete_saved_tool)。保存的工具默认持久化到 /data/saved_tools.json,以便在应用(附加组件)重启后依然保留,并且可对任何能连接的客户端可见。已知限制请参见 docs/beta.md。需要重启才能生效。要求上方(以及 Web UI 中)的主“启用 Beta 功能”开关处于开启状态 — 否则此子标志在运行时将被忽略,无论此处的值为何。",
162
162
  "features.enable_lite_docstrings.label": "启用精简工具文档字符串(测试版)",
163
- "features.enable_lite_docstrings.help": "Beta 功能。将 15 个较重的 ha-mcp 工具(ha_config_get_automation、ha_config_set_automation、ha_config_get_script、ha_config_set_script、ha_config_get_scene、ha_config_set_scene、ha_config_list_helpers、ha_config_set_helper、ha_config_get_dashboard、ha_config_set_dashboard、ha_call_service、ha_config_set_yaml、ha_search、ha_manage_backup、ha_report_issue)的文档字符串替换为更短的变体,将架构和示例详情推迟到 ha_get_skill_guide 工具(或其 skill:// 资源)。有一个例外:ha_report_issue 转为推迟到其自身响应的 instructions 字段。调整备份提示设置在轻量模式下仍然适用。警告:这减少了空闲状态下的 Token 使用量,但可能会降低 LLM 性能 — 精简后的描述依赖于 LLM 实际调用技能工具或读取技能资源来获取详情,但这无法保证(某些模型会跳过额外的工具调用,最终得到的指导比以前少)。最好与支持 MCP 资源的客户端或启用 enable_tool_search 搭配使用。需要重启才能生效。要求必须开启上方(以及 Web UI 中的)主“启用 Beta 功能”开关 — 否则此子标志在运行时将被忽略,无论其在此处的值如何。",
163
+ "features.enable_lite_docstrings.help": "Beta 功能。将 15 个大型 ha-mcp 工具(ha_config_get_automation、ha_config_set_automation、ha_config_get_script、ha_config_set_script、ha_config_get_scene、ha_config_set_scene、ha_config_list_helpers、ha_config_set_helper、ha_config_get_dashboard、ha_config_set_dashboard、ha_call_service、ha_config_set_yaml、ha_search、ha_manage_backup、ha_report_issue)上的文档字符串替换为较短的变体,将架构和示例详细信息推迟到 ha_get_skill_guide 工具(或其 skill:// 资源)。有一个例外:ha_report_issue 改为推迟到其自身响应的 instructions 字段。警告:这减少了空闲 Token 的使用,但可能会降低 LLM 的性能 —— 裁剪后的描述依赖于 LLM 实际调用技能工具或读取技能资源以获取详细信息,这无法保证(某些模型会跳过额外的工具调用,最终获得的指导比以前更少)。最适合与支持 MCP 资源的客户端或 enable_tool_search 搭配使用。需要重新启动才能生效。要求上方(以及 Web UI 中)的主“Enable beta features”开关处于开启状态 —— 否则此子标志在运行时将被忽略,无论其在此处的值如何。",
164
164
  "features.enable_dashboard_screenshot.label": "启用仪表盘截图模式(测试版)",
165
165
  "features.enable_dashboard_screenshot.help": "Beta 功能 — 默认禁用。添加了 ha_get_dashboard_screenshot 工具以及仪表盘获取/设置工具上的 include_screenshot / return_screenshot 选项,使 AI 助手能够检查一个或多个响应式 Lovelace 图像(例如验证刚刚创建的仪表盘)。支持稳定的命名视图、手机/平板/电脑批处理以及 PNG/JPEG/WebP/BMP 输出。渲染在单独的可选引擎中运行(balloob 的“Puppet”App(加载项)、无头 Chromium)——您只需安装一次(将 balloob 的仓库添加到 App 商店,然后安装“Puppet”)并提供一个长期访问令牌;在 Docker/Container 部署中,您可以将该引擎作为边车(sidecar)运行并设置 HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL。除非您同时启用此功能并安装引擎,否则不会安装任何笨重的组件。需要重启才能生效。要求上方(以及网页 UI 中的)主“启用 beta 功能”开关必须开启 —— 否则此子标志在运行时将被忽略,无论此处的值如何。",
166
166
  "actions.restart_server": "重启 HA-MCP 服务器",
@@ -103,7 +103,7 @@
103
103
  "visibility.boundary": "在沒有強制模式(如下所示)的情況下,這只是降噪而非存取控制:隱藏的實體仍然會透過直接讀取其 entity_id 來回傳,並且仍然會出現在自動化、儀表板和範本內容中。請勿僅依賴此過濾器作為安全性邊界。",
104
104
  "visibility.enabled": "啟用實體能見度過濾器",
105
105
  "visibility.enforce.title": "強制模式",
106
- "visibility.enforce.help": "預設將過濾器的範圍從整理搜尋和概覽擴展到除了 ha_report_issue 之外的所有工具讀取。直接讀取隱藏實體會回傳「找不到」,而會顯示該實體的內容讀取將會被拒絕。報告工具的例外情況控制如下。這是為了防止偶發暴露的盡力而為隱蔽,而非強化安全性邊界。",
106
+ "visibility.enforce.help": "預設將過濾範圍從精簡搜尋與總覽擴展到除了 ha_report_issue 之外的所有工具讀取。直接讀取隱藏實體會傳回「找不到」,而會顯示該實體的內容讀取將會被拒絕。報告工具的例外情況控制在下方。這是針對偶發暴露的盡力隱藏,而非強化的安全性邊界。它也可能會拒絕過多的內容:僅共用隱藏腳本、情境或自動化金鑰或 ID 的讀取也可能會被拒絕。",
107
107
  "visibility.enforce.only_enforced": "使隱藏實體在所有工具讀取中皆無法讀取(預設的議題回報除外)",
108
108
  "visibility.enforce.report_issue_help": "當此功能關閉時,ha_report_issue 及其所有診斷輸出(包含記錄)在每次呼叫時都不受強制模式限制,即使能見度資料正常或無法取得亦然。開啟此功能以像其他讀取一樣掃描並拒絕該工具。",
109
109
  "visibility.enforce.restrict_report_issue": "將強制模式套用到 ha_report_issue",
@@ -160,7 +160,7 @@
160
160
  "features.enable_code_mode.label": "啟用自訂工具沙盒 (beta)",
161
161
  "features.enable_code_mode.help": "測試版功能。啟用 ha_manage_custom_tool 工具,當沒有內建工具能處理請求時,讓 AI 程式助理能在安全沙盒中建立、執行、儲存和刪除自訂 Python 程式碼。程式碼在沒有檔案系統或任意網路存取權的隔離解譯器中執行。沙盒程式碼可以存取 HA REST API (api_get/api_post)、傳送 WebSocket 命令 (ws_send)、呼叫現有的 MCP 工具 (call_tool),或移除已儲存的工具 (delete_saved_tool)。已儲存的工具預設會持久化至 /data/saved_tools.json,以便在應用程式(附加元件)重新啟動後保留,並且對任何可以連線的用戶端可見。已知限制請參閱 docs/beta.md。需要重新啟動才能生效。需要上方(以及網頁 UI 中)的「Enable beta features」主開關處於開啟狀態 —— 否則此子旗標在執行階段將被忽略,無論其在此處的值為何。",
162
162
  "features.enable_lite_docstrings.label": "啟用精簡工具說明字串 (beta)",
163
- "features.enable_lite_docstrings.help": "測試版功能。將 15 個較大型的 ha-mcp 工具(ha_config_get_automation、ha_config_set_automation、ha_config_get_script、ha_config_set_script、ha_config_get_scene、ha_config_set_scene、ha_config_list_helpers、ha_config_set_helper、ha_config_get_dashboard、ha_config_set_dashboard、ha_call_service、ha_config_set_yaml、ha_search、ha_manage_backup、ha_report_issue)的說明文件替換為較短的變體,將結構描述與範例詳細資料延後至 ha_get_skill_guide 工具(或其 skill:// 資源)。有一個例外:ha_report_issue 則改為延後至其自身回應的指令欄位。微調備份提示設定在精簡模式下依然適用。警告:這會減少閒置 Token 的使用量,但可能會降低 LLM 的效能 — 簡短的描述依賴 LLM 實際呼叫技能工具或讀取技能資源來取得詳細資料,這無法獲得保證(某些模型會跳過額外的工具呼叫,導致獲得的指引比以前少)。最適合與支援 MCP 資源的用戶端或 enable_tool_search 一同使用。需要重新啟動才能生效。需要開啟上方(以及網頁 UI 中的)主「啟用測試版功能」切換開關 — 否則此子旗標在執行階段將被忽略,無論其在此處的值為何。",
163
+ "features.enable_lite_docstrings.help": "Beta 功能。將 15 個大型 ha-mcp 工具(ha_config_get_automation、ha_config_set_automation、ha_config_get_script、ha_config_set_script、ha_config_get_scene、ha_config_set_scene、ha_config_list_helpers、ha_config_set_helper、ha_config_get_dashboard、ha_config_set_dashboard、ha_call_service、ha_config_set_yaml、ha_search、ha_manage_backup、ha_report_issue)上的說明字串(docstrings)替換為較短的變體,將結構描述和範例詳細資訊延遲至 ha_get_skill_guide 工具(或其 skill:// 資源)。有一個例外:ha_report_issue 改為延遲至其自身回應的 instructions 欄位。警告:這會減少閒置 Token 的使用量,但可能會降低 LLM 的效能 — 經裁剪的描述依賴 LLM 實際呼叫技能工具或讀取技能資源來取得詳細資訊,這並無法保證(有些模型會略過額外的工具呼叫,導致獲得的指引比以前少)。最適合與支援 MCP 資源或啟用 enable_tool_search 的客戶端搭配使用。需要重新啟動才能生效。需要開啟上方(以及網頁 UI 中)的主開關「啟用 Beta 功能」— 否則此子旗標在執行階段將被忽略,無論此處的值為何。",
164
164
  "features.enable_dashboard_screenshot.label": "啟用儀表板截圖模式 (測試版)",
165
165
  "features.enable_dashboard_screenshot.help": "測試版功能 — 預設為停用。新增 ha_get_dashboard_screenshot 工具,以及儀表板取得/設定工具上的 include_screenshot / return_screenshot 選項,讓 AI 助理可以檢查一個或幾個響應式 Lovelace 影像(例如驗證他們剛建立的儀表板)。支援穩定的具名檢視、手機/平板/電腦批次處理,以及 PNG/JPEG/WebP/BMP 輸出。渲染會在獨立的選用引擎中執行(balloob 的「Puppet」App(附加元件)、無頭 Chromium)— 您只需要安裝一次(將 balloob 的儲存庫加入 App 商店,然後安裝「Puppet」)並提供長期存取權杖;在 Docker/Container 部署中,您可以將該引擎作為 sidecar 執行並設定 HAMCP_DASHBOARD_SCREENSHOT_ENGINE_URL。除非您同時啟用此功能並安裝引擎,否則不會安裝任何大型元件。需要重新啟動才能生效。需要開啟上方(以及網頁 UI 中的)主「啟用測試版功能」切換開關 — 否則此子旗標在執行階段將被忽略,無論其在此處的值為何。",
166
166
  "actions.restart_server": "重新啟動 HA-MCP 伺服器",