ha-mcp-dev 9.0.0.dev3101__tar.gz → 9.0.0.dev3105__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 (796) hide show
  1. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/PKG-INFO +1 -1
  2. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/pyproject.toml +2 -1
  3. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/pyproject.toml.orig +2 -1
  4. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_api.py +64 -0
  5. ha_mcp_dev-9.0.0.dev3105/src/ha_mcp/tools/server_version.py +77 -0
  6. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_bug_report.py +32 -50
  7. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_dev.py +4 -5
  8. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/LICENSE +0 -0
  9. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/README.md +0 -0
  10. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/__init__.py +0 -0
  11. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/__main__.py +0 -0
  12. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_pypi_marker +0 -0
  13. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_rich_compat.py +0 -0
  14. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/__init__.py +0 -0
  15. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  16. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
  17. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
  18. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
  19. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
  20. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  21. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  22. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  23. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  24. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
  25. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  26. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  27. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
  28. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
  29. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  30. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
  31. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  32. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  33. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
  34. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev_security.py +0 -0
  35. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  36. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  37. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
  38. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
  39. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  40. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  41. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  42. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  43. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  44. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  45. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  46. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
  47. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  48. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
  49. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  50. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
  51. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
  52. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  53. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
  54. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  55. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
  56. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
  57. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  58. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
  59. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  60. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  61. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  62. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  63. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  64. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
  65. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  66. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  67. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  68. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
  69. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  70. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  71. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  72. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  73. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  74. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  75. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  76. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
  77. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  78. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  79. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  80. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  81. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  82. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  83. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  84. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  85. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  86. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  87. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  88. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
  89. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  90. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  91. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  92. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  93. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  94. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  95. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  96. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  97. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  98. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  99. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
  100. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  101. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
  102. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  103. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  104. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  105. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  106. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  107. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  108. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  109. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  110. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  111. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  112. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
  113. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
  114. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  115. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  116. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
  117. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
  118. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  119. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  120. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
  121. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  122. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  123. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
  124. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
  125. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  126. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  127. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
  128. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  129. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  130. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
  131. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  132. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  133. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
  134. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  135. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  136. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  137. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
  138. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
  139. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  140. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
  141. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  142. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  143. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  144. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
  145. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  146. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  147. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
  148. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  149. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  150. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
  151. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  152. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  153. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
  154. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
  155. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  156. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  157. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  158. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  159. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  160. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
  161. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  162. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
  163. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  164. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  165. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
  166. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
  167. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
  168. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  169. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
  170. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
  171. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  172. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
  173. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  174. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  175. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  176. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  177. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
  178. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  179. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  180. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  181. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
  182. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
  183. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  184. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
  185. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  186. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/mixins/extensions.py +0 -0
  187. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
  188. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  189. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
  190. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  191. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
  192. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
  193. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
  194. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
  195. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
  196. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
  197. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  198. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  199. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
  200. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
  201. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
  202. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  203. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  204. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  205. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
  206. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
  207. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  208. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  209. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
  210. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
  211. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  212. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
  213. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  214. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
  215. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
  216. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  217. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
  218. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
  219. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  220. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  221. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  222. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  223. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  224. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  225. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
  226. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
  227. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  228. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
  229. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
  230. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
  231. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  232. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
  233. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  234. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
  235. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  236. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  237. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  238. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
  239. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
  240. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
  241. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  242. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  243. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  244. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
  245. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
  246. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  247. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
  248. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
  249. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
  250. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  251. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  252. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
  253. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
  254. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
  255. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  256. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  257. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  258. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  259. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  260. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  261. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  262. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  263. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  264. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  265. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  266. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  267. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  268. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  269. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  270. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
  271. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  272. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  273. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  274. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  275. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
  276. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  277. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  278. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  279. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  280. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
  281. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  282. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  283. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
  284. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  285. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
  286. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  287. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  288. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
  289. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
  290. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
  291. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  292. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  293. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
  294. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
  295. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  296. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  297. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  298. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  299. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  300. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  301. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  302. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  303. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  304. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  305. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
  306. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
  307. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  308. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  309. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
  310. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  311. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  312. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
  313. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
  314. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  315. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
  316. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
  317. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  318. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  319. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  320. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  321. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  322. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  323. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  324. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  325. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  326. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  327. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
  328. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  329. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  330. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  331. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  332. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  333. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  334. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
  335. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  336. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
  337. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  338. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  339. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  340. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  341. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  342. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  343. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  344. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  345. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  346. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  347. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  348. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  349. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  350. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  351. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  352. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  353. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
  354. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  355. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
  356. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  357. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  358. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  359. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  360. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  361. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  362. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  363. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  364. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  365. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  366. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
  367. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  368. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
  369. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  370. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  371. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  372. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  373. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  374. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  375. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  376. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  377. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  378. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  379. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  380. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  381. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  382. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  383. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
  384. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  385. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  386. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  387. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  388. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  389. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  390. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
  391. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  392. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_request_clock.py +0 -0
  393. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  394. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  395. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  396. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  397. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
  398. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
  399. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  400. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  401. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  402. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
  403. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  404. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  405. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  406. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  407. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  408. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  409. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  410. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  411. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  412. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  413. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  414. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  415. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  416. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  417. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
  418. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  419. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
  420. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  421. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  422. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  423. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  424. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  425. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  426. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  427. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  428. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  429. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/requirements.txt +0 -0
  430. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  431. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  432. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  433. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  434. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  435. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  436. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  437. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  438. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  439. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  440. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  441. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  442. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  443. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  444. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  445. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  446. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  447. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  448. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  449. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  450. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  451. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  452. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  453. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  454. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  455. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  456. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  457. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  458. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  459. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  460. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  461. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  462. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  463. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  464. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  465. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  466. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  467. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  468. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  469. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  470. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  471. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  472. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  473. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  474. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  475. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  476. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  477. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  478. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  479. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  480. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  481. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  482. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  483. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  484. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  485. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  486. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/_version.py +0 -0
  487. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/app_discovery.py +0 -0
  488. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/auth/__init__.py +0 -0
  489. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/auth/consent_form.py +0 -0
  490. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/auth/oidc_compat.py +0 -0
  491. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/auth/provider.py +0 -0
  492. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_dashboards.py +0 -0
  493. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_diff.py +0 -0
  494. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_entity_ids.py +0 -0
  495. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_helper_target.py +0 -0
  496. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_integrations.py +0 -0
  497. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_manager.py +0 -0
  498. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_tags.py +0 -0
  499. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/backup_zones.py +0 -0
  500. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/browser_landing.py +0 -0
  501. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/__init__.py +0 -0
  502. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/admin_routes.py +0 -0
  503. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/models.py +0 -0
  504. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/rest_client.py +0 -0
  505. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/supervisor_client.py +0 -0
  506. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/websocket_client.py +0 -0
  507. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/client/websocket_listener.py +0 -0
  508. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config.py +0 -0
  509. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config_backup.py +0 -0
  510. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config_meta.py +0 -0
  511. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config_overrides.py +0 -0
  512. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config_registry.py +0 -0
  513. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/config_settings.py +0 -0
  514. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  515. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  516. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  517. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  518. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  519. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  520. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/errors.py +0 -0
  521. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/ha_request_queue.py +0 -0
  522. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  523. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/http_transport.py +0 -0
  524. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/image_info.py +0 -0
  525. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/llm_exposure.py +0 -0
  526. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/log_filters.py +0 -0
  527. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/__init__.py +0 -0
  528. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/approval_queue.py +0 -0
  529. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/decision_pin.py +0 -0
  530. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/decisions.py +0 -0
  531. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/editing.py +0 -0
  532. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/evaluator.py +0 -0
  533. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/events.py +0 -0
  534. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/handlers.py +0 -0
  535. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/middleware.py +0 -0
  536. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/model.py +0 -0
  537. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/mrtr.py +0 -0
  538. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/persistence.py +0 -0
  539. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/server_channels.py +0 -0
  540. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/policy/value_sources.py +0 -0
  541. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/py.typed +0 -0
  542. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/read_only.py +0 -0
  543. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/redaction.py +0 -0
  544. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/renamed_tools.py +0 -0
  545. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  546. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  547. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  548. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
  549. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  550. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  551. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  552. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  553. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  554. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  555. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  556. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  557. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  558. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  559. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  560. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
  561. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  562. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/server.py +0 -0
  563. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/server_instructions.py +0 -0
  564. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/server_lifespan.py +0 -0
  565. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/server_tool_text.py +0 -0
  566. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/__init__.py +0 -0
  567. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  568. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  569. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  570. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_oauth_callbacks.py +0 -0
  571. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  572. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  573. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  574. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  575. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  576. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  577. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  578. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_theme.py +0 -0
  579. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  580. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  581. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/az.json +0 -0
  582. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
  583. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/de.json +0 -0
  584. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  585. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
  586. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/es.json +0 -0
  587. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
  588. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/it.json +0 -0
  589. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
  590. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
  591. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
  592. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
  593. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
  594. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  595. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
  596. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
  597. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings.css +0 -0
  598. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings.html +0 -0
  599. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
  600. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
  601. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
  602. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
  603. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
  604. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
  605. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
  606. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
  607. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
  608. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/settings_ui/settings_js/10_oauth_callbacks.js +0 -0
  609. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/smoke_test.py +0 -0
  610. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  611. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/strict_bps.py +0 -0
  612. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tool_dispatch.py +0 -0
  613. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/__init__.py +0 -0
  614. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/area_messages.py +0 -0
  615. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/auto_backup.py +0 -0
  616. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/backup.py +0 -0
  617. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/backup_access.py +0 -0
  618. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/backup_on_demand.py +0 -0
  619. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  620. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/best_practice_result.py +0 -0
  621. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  622. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  623. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  624. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/blueprint_write.py +0 -0
  625. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/bug_report_config.py +0 -0
  626. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/bug_report_templates.py +0 -0
  627. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/bulk_selector.py +0 -0
  628. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/coercion.py +0 -0
  629. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_config_entries.py +0 -0
  630. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_config_reads.py +0 -0
  631. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  632. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_devices.py +0 -0
  633. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_helper_collections.py +0 -0
  634. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_registries.py +0 -0
  635. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  636. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_backup.py +0 -0
  637. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  638. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  639. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
  640. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  641. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  642. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  643. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  644. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  645. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
  646. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
  647. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/create.py +0 -0
  648. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
  649. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
  650. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/icon_route.py +0 -0
  651. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
  652. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
  653. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
  654. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
  655. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/update.py +0 -0
  656. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
  657. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
  658. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_write_errors.py +0 -0
  659. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/config_write_helpers.py +0 -0
  660. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/core_contract.py +0 -0
  661. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/dashboard_card_describe.py +0 -0
  662. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  663. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
  664. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/dev_backup.py +0 -0
  665. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/device_control.py +0 -0
  666. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/device_enrichment.py +0 -0
  667. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
  668. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/energy_preferences.py +0 -0
  669. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
  670. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/entity_registration.py +0 -0
  671. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/entity_removal.py +0 -0
  672. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/entity_update_fields.py +0 -0
  673. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  674. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/flow_helper_lookup.py +0 -0
  675. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/hacs_registration.py +0 -0
  676. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/helper_flows.py +0 -0
  677. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/helpers.py +0 -0
  678. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/history_response.py +0 -0
  679. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/integration_entry_state.py +0 -0
  680. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  681. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/log_common.py +0 -0
  682. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/log_sources.py +0 -0
  683. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  684. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/log_sources_logbook.py +0 -0
  685. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  686. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/__init__.py +0 -0
  687. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/base.py +0 -0
  688. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/matter.py +0 -0
  689. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/thread.py +0 -0
  690. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  691. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/zwave.py +0 -0
  692. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
  693. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/recorder_errors.py +0 -0
  694. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/reference_validator.py +0 -0
  695. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/registry.py +0 -0
  696. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  697. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/response_helpers.py +0 -0
  698. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/scene_discovery.py +0 -0
  699. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/__init__.py +0 -0
  700. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/base.py +0 -0
  701. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/component.py +0 -0
  702. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/entities.py +0 -0
  703. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/legacy.py +0 -0
  704. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/modes.py +0 -0
  705. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/overview.py +0 -0
  706. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/response.py +0 -0
  707. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/search/state.py +0 -0
  708. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  709. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  710. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  711. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  712. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  713. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  714. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  715. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  716. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  717. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  718. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/statistics_calendar.py +0 -0
  719. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/statistics_helpers.py +0 -0
  720. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/statistics_resets.py +0 -0
  721. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/system_restart.py +0 -0
  722. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tool_hints.py +0 -0
  723. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  724. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_addons.py +0 -0
  725. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_areas.py +0 -0
  726. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  727. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  728. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_calendar.py +0 -0
  729. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_camera.py +0 -0
  730. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_categories.py +0 -0
  731. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_code.py +0 -0
  732. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  733. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  734. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  735. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  736. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  737. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  738. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_energy.py +0 -0
  739. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_entities.py +0 -0
  740. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  741. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_groups.py +0 -0
  742. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_hacs.py +0 -0
  743. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_history.py +0 -0
  744. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_integrations.py +0 -0
  745. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_labels.py +0 -0
  746. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_logs.py +0 -0
  747. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_radio.py +0 -0
  748. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_registry.py +0 -0
  749. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_resources.py +0 -0
  750. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_search.py +0 -0
  751. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  752. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_service.py +0 -0
  753. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_services.py +0 -0
  754. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_system.py +0 -0
  755. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_themes.py +0 -0
  756. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_todo.py +0 -0
  757. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_traces.py +0 -0
  758. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_updates.py +0 -0
  759. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_utility.py +0 -0
  760. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  761. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  762. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  763. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/tools_zones.py +0 -0
  764. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/util_helpers.py +0 -0
  765. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/validation_middleware.py +0 -0
  766. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/tools/ws_waiters.py +0 -0
  767. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/__init__.py +0 -0
  768. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/categorized_search.py +0 -0
  769. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/compact_params.py +0 -0
  770. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/component_helpers.py +0 -0
  771. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/component_search.py +0 -0
  772. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  773. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  774. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/transport_security.py +0 -0
  775. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/update_check.py +0 -0
  776. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/__init__.py +0 -0
  777. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/config_hash.py +0 -0
  778. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/config_write_lock.py +0 -0
  779. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  780. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/data_paths.py +0 -0
  781. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  782. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/domain_handlers.py +0 -0
  783. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/entity_membership.py +0 -0
  784. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  785. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  786. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  787. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/operation_manager.py +0 -0
  788. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/python_sandbox.py +0 -0
  789. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  790. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/skill_loader.py +0 -0
  791. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/utils/usage_logger.py +0 -0
  792. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/visibility/__init__.py +0 -0
  793. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/visibility/enforcement.py +0 -0
  794. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/visibility/model.py +0 -0
  795. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/src/ha_mcp/visibility/persistence.py +0 -0
  796. {ha_mcp_dev-9.0.0.dev3101 → ha_mcp_dev-9.0.0.dev3105}/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.dev3101
3
+ Version: 9.0.0.dev3105
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.dev3101"
7
+ version = "9.0.0.dev3105"
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"
@@ -253,6 +253,7 @@ markers = [
253
253
  "not_on_haos_embedded: skip on the haos_embedded backend (HAOS_TEST_MODE=embedded) - provably redundant with the lane's own session backend, which enables the entry once and drives the in-process server for the whole suite; #1527",
254
254
  "requires_tools_entry: needs the File & YAML Tools config entry - skipped on E2E_NO_TOOLS_ENTRY=1 lanes (#2292)",
255
255
  "no_tools_only: runs only on E2E_NO_TOOLS_ENTRY=1 lanes (#2292)",
256
+ "requires_component_surface: needs an active ha_mcp_tools config entry - skipped on the no-tools lanes without an active server entry (plain container, HAOS inaddon, where it is absent or disabled); #2584",
256
257
  ]
257
258
  asyncio_mode = "auto"
258
259
  asyncio_default_fixture_loop_scope = "session"
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "9.0.0.dev3101"
7
+ version = "9.0.0.dev3105"
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
@@ -328,6 +328,7 @@ markers = [
328
328
  "not_on_haos_embedded: skip on the haos_embedded backend (HAOS_TEST_MODE=embedded) - provably redundant with the lane's own session backend, which enables the entry once and drives the in-process server for the whole suite; #1527",
329
329
  "requires_tools_entry: needs the File & YAML Tools config entry - skipped on E2E_NO_TOOLS_ENTRY=1 lanes (#2292)",
330
330
  "no_tools_only: runs only on E2E_NO_TOOLS_ENTRY=1 lanes (#2292)",
331
+ "requires_component_surface: needs an active ha_mcp_tools config entry - skipped on the no-tools lanes without an active server entry (plain container, HAOS inaddon, where it is absent or disabled); #2584",
331
332
  ]
332
333
 
333
334
  # Async support - session-scoped loop lets session-scoped fixtures
@@ -19,6 +19,10 @@ or somewhere in between. This module negotiates that with a single cached
19
19
  surface entirely; caps are cached as ``None`` and every consumer falls back
20
20
  to its legacy path.
21
21
 
22
+ ``read_info`` reads ``info`` fresh for callers that show a field which can
23
+ change while the client lives (the bug report's component version and webhook
24
+ auth mode); routing and gating keep using the snapshot.
25
+
22
26
  This mirrors the caller-token cache in ``tools_filesystem.py``: weak-keyed by
23
27
  client so multi-client / OAuth setups each negotiate independently and the
24
28
  entry self-evicts when a client is garbage-collected.
@@ -45,6 +49,8 @@ logger = logging.getLogger(__name__)
45
49
  # The WS command every 1.1.0+ component registers; probing it does double duty
46
50
  # (existence check + capability enumeration — see module docstring).
47
51
  INFO_COMMAND = "ha_mcp_tools/info"
52
+ # The ``result`` of an ``info`` call, as ``read_info`` returns it.
53
+ InfoResult = dict[str, Any]
48
54
 
49
55
  # HA's structured error code for a command no handler is registered for. Routing
50
56
  # keys off this (via the ``code`` attribute threaded onto
@@ -406,3 +412,61 @@ def invalidate_caps(client: Any) -> None:
406
412
  _CAPS_CACHE.pop(client, None)
407
413
  _NEGATIVE_CACHE_TS.pop(client, None)
408
414
  _TRANSIENT_NEGATIVE_TS.pop(client, None)
415
+
416
+
417
+ async def read_info(client: Any) -> InfoResult | None:
418
+ """The ``result`` of a fresh ``ha_mcp_tools/info`` call (#2584).
419
+
420
+ For callers that show a field which can change while the client lives:
421
+ the bug report's component version and webhook auth mode. Routing and
422
+ gating keep the ``get_component_caps`` snapshot, which lasts as long as the
423
+ client (for a server running outside HA, an HA restart does not end it),
424
+ while a component update changes the version and an options change the
425
+ mode. Only a component whose ``info`` the snapshot accepted is asked. The
426
+ call goes to ``send_command`` on the pooled WebSocket directly, as the
427
+ probe does, bypassing ``send_websocket_message``'s ERROR log (a report
428
+ quotes its log sections); an ``unknown_command`` drops the snapshot so the
429
+ next caller re-probes. None in that case and on any failure.
430
+ """
431
+ if await get_component_caps(client) is None:
432
+ return None
433
+ try:
434
+ ws = await get_websocket_client(
435
+ url=client.base_url,
436
+ token=client.token,
437
+ verify_ssl=getattr(client, "verify_ssl", None),
438
+ )
439
+ response = await ws.send_command(INFO_COMMAND)
440
+ except Exception as e: # noqa: BLE001
441
+ if is_unknown_command(e):
442
+ invalidate_caps(client)
443
+ logger.info("Fresh %s read failed: %s (%s)", INFO_COMMAND, e, type(e).__name__)
444
+ return None
445
+ result = response.get("result") if isinstance(response, dict) else None
446
+ return result if isinstance(result, dict) else None
447
+
448
+
449
+ async def read_component_version(client: Any, info: InfoResult | None) -> str | None:
450
+ """The component version for a report: from ``info``, else the snapshot's.
451
+
452
+ ``info`` is a ``read_info`` result. When that read failed, the snapshot
453
+ still shows the component is installed. After an ``unknown_command``,
454
+ ``read_info`` has dropped the snapshot, so the re-probe normally finds no
455
+ ``info`` either and the result is None. ``""`` when the component reports no
456
+ version; None only when there is no usable ``info``.
457
+ """
458
+ if info is not None:
459
+ return str(info.get("component_version") or "")
460
+ caps = await get_component_caps(client)
461
+ return caps.component_version if caps is not None else None
462
+
463
+
464
+ def webhook_auth(info: InfoResult | None) -> str | None:
465
+ """The server entry's webhook auth mode from a ``read_info`` result.
466
+
467
+ Python None, not the ``"none"`` mode: without ``info``, or when its
468
+ ``webhook_auth`` is missing (an older component) or not a string. The
469
+ component sends None without a running in-process server.
470
+ """
471
+ auth = info.get("webhook_auth") if info else None
472
+ return auth if isinstance(auth, str) else None
@@ -0,0 +1,77 @@
1
+ """The running ha-mcp version against the one installed on disk.
2
+
3
+ ``__version__`` is frozen when the process first imports ha_mcp, so after an
4
+ in-place update the running process keeps reporting the old version while the
5
+ disk already carries the new one. Reporting both turns a "which server am I
6
+ talking to" hunt into a single tool call.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import importlib
12
+ import logging
13
+ from typing import Any
14
+
15
+ from ha_mcp import __version__
16
+
17
+ from .._version import get_version, is_dev_version, is_embedded
18
+
19
+ logger = logging.getLogger(__name__)
20
+
21
+
22
+ def detect_installed_version() -> str | None:
23
+ """Return the installed ha-mcp version as ``get_version`` resolves it now.
24
+
25
+ That is the package metadata on disk, or ``HA_MCP_BUILD_VERSION`` when set.
26
+ None when it cannot be read.
27
+ """
28
+ try:
29
+ importlib.invalidate_caches()
30
+ except KeyError as e:
31
+ # Python 3.14 with an editable homeassistant install (the official
32
+ # container image, where the in-process server runs) raises here
33
+ # (#1891); a read without the refresh still beats none.
34
+ logger.warning("importlib.invalidate_caches() failed: %s", e)
35
+ try:
36
+ version = get_version()
37
+ except Exception as e: # noqa: BLE001
38
+ logger.info("Installed-version probe failed: %s", e)
39
+ return None
40
+ return None if version == "unknown" else version
41
+
42
+
43
+ def version_mismatch(installed: str | None) -> bool:
44
+ """True when ``installed`` is not the version this process imported.
45
+
46
+ A failed probe (None) is no mismatch.
47
+ """
48
+ return bool(installed and installed != __version__)
49
+
50
+
51
+ def running_version_report() -> tuple[dict[str, Any], list[str]]:
52
+ """``info``'s version fields, and a warning when they disagree or the
53
+ installed version cannot be read.
54
+
55
+ ``server_version`` is the running one. In-process the hint names a Home
56
+ Assistant restart, as the component's own staleness warning does.
57
+ """
58
+ installed = detect_installed_version()
59
+ mismatch = version_mismatch(installed)
60
+ fields = {
61
+ "server_version": __version__,
62
+ "installed_version": installed,
63
+ "version_mismatch": mismatch,
64
+ "is_dev_build": is_dev_version(__version__),
65
+ }
66
+ if installed is None:
67
+ return fields, [
68
+ "Could not read the installed server version; the running and "
69
+ "installed versions were not compared."
70
+ ]
71
+ if not mismatch:
72
+ return fields, []
73
+ restart = "Home Assistant" if is_embedded() else "the server"
74
+ return fields, [
75
+ f"Running {__version__}, but {installed} is installed; restart "
76
+ f"{restart} to finish applying the update."
77
+ ]
@@ -26,7 +26,7 @@ from ha_mcp._vendor.fastmcp import Context
26
26
  from ha_mcp._vendor.fastmcp.server.dependencies import get_http_headers
27
27
  from ha_mcp._vendor.fastmcp.tools import tool
28
28
 
29
- from .._version import get_version, is_embedded, is_running_in_addon
29
+ from .._version import is_embedded, is_running_in_addon
30
30
  from ..client.supervisor_client import make_supervisor_httpx_client
31
31
  from ..config import Settings, get_global_settings
32
32
  from ..errors import create_validation_error
@@ -55,13 +55,14 @@ from .bug_report_templates import (
55
55
  _suggested_title,
56
56
  )
57
57
  from .coercion import ANSI_ESCAPE_RE, JSON_STRING_COERCION, parse_string_list_param
58
- from .component_api import get_component_caps
58
+ from .component_api import InfoResult, read_component_version, read_info, webhook_auth
59
59
  from .helpers import (
60
60
  log_tool_usage,
61
61
  raise_tool_error,
62
62
  register_tool_methods,
63
63
  )
64
64
  from .response_helpers import project_fields
65
+ from .server_version import detect_installed_version, version_mismatch
65
66
  from .tool_hints import read_only_hints
66
67
 
67
68
  logger = logging.getLogger(__name__)
@@ -197,23 +198,6 @@ def _detect_installation_method() -> str:
197
198
  return "unknown"
198
199
 
199
200
 
200
- def _detect_installed_version() -> str | None:
201
- """Return the ha-mcp version installed ON DISK right now.
202
-
203
- ``__version__`` is frozen when the process first imports ha_mcp, so after
204
- an in-place update the running process keeps reporting the old version
205
- while the disk already carries the new one. Reporting both (plus
206
- ``version_mismatch``) turns a "which server am I talking to" hunt into a
207
- single tool call.
208
- """
209
- try:
210
- importlib.invalidate_caches()
211
- return get_version()
212
- except Exception as e: # noqa: BLE001
213
- logger.info("Installed-version probe failed: %s", e)
214
- return None
215
-
216
-
217
201
  def _instance_identity() -> dict[str, Any]:
218
202
  """Return process identity (id, start time, uptime).
219
203
 
@@ -684,24 +668,23 @@ class BugReportTools:
684
668
  def __init__(self, client: Any) -> None:
685
669
  self._client = client
686
670
 
687
- async def _detect_component_version(self) -> str | None:
671
+ async def _detect_component_version(self, info: InfoResult | None) -> str | None:
688
672
  """Read the ha_mcp_tools custom component's version, best-effort.
689
673
 
690
- Prefers the shared cached capability probe (``get_component_caps`` — one
691
- ``ha_mcp_tools/info`` round-trip per client): a component new enough to
692
- answer it (1.1.0+) reports its version there, so the report reuses that
693
- cached probe instead of a bespoke round-trip. A component in the
694
- 0.11.0-1.1.0 band has services but no ``info`` command (caps is None),
695
- so it falls back to the ``get_caller_token`` bootstrap service, whose
696
- response also carries the manifest version. Returns None when the
697
- component is not installed or the call fails — the report path must
698
- never break on it.
674
+ Prefers the report's fresh ``ha_mcp_tools/info`` read (``info``): the
675
+ cached capability snapshot would still hold the version running when the
676
+ client first probed, which outlives a component update on a server
677
+ running outside HA; the snapshot only stands in when the fresh read
678
+ fails. A component without a usable ``info`` (the 0.11.0-1.1.0 band has
679
+ services but no such command) falls back to the ``get_caller_token``
680
+ bootstrap service, whose response also carries the manifest version.
681
+ Returns None when the component is not installed or the call fails —
682
+ the report path must never break on it.
699
683
  """
700
- # get_component_caps never raises (it caches/returns None on every
701
- # failure mode), so no guard is needed around it.
702
- caps = await get_component_caps(self._client)
703
- if caps is not None:
704
- return caps.component_version or None
684
+ # None means no usable info.
685
+ version = await read_component_version(self._client, info)
686
+ if version is not None:
687
+ return version or None
705
688
  try:
706
689
  resp = await self._client.call_service(
707
690
  "ha_mcp_tools", "get_caller_token", {}, return_response=True
@@ -744,17 +727,15 @@ class BugReportTools:
744
727
  return "set up, but the component is pre-0.5.0 (update via HACS)"
745
728
  return "set up (ha_mcp_tools services registered)"
746
729
 
747
- async def _detect_server_entry_status(self) -> str | None:
730
+ async def _detect_server_entry_status(self, info: InfoResult | None) -> str | None:
748
731
  """Describe the in-process "HA-MCP Server" entry state, best-effort.
749
732
 
750
- Both parts of the custom component ship under the single
751
- ``ha_mcp_tools`` domain, so "the component is installed" says nothing
752
- about WHICH part is set up. The File & YAML tools part is covered by
753
- the services probe; this one classifies the domain's config entries by
754
- their flow-assigned titles to show whether the in-process server entry
755
- exists — e.g. an add-on install that erroneously also added it (a
756
- second, redundant server) becomes visible next to Installation Method.
757
- Returns None when the probe fails; the report must never break on it.
733
+ Both parts of the component share the ``ha_mcp_tools`` domain; the File
734
+ & YAML part is covered by the services probe. Entries are classified by
735
+ flow-assigned title, so e.g. an add-on install that also added a redundant
736
+ server entry shows next to Installation Method. A recognized server entry
737
+ gets the webhook auth mode when the report's ``info`` read has one.
738
+ Returns None when ``config_entries/get`` fails; the report must not break.
758
739
  """
759
740
  try:
760
741
  response = await self._client.send_websocket_message(
@@ -770,7 +751,8 @@ class BugReportTools:
770
751
  return None
771
752
  server, unrecognized = _classify_component_entries(result)
772
753
  if server:
773
- return ", ".join(server)
754
+ auth = webhook_auth(info)
755
+ return ", ".join(server) + (f", webhook auth: {auth}" if auth else "")
774
756
  if unrecognized:
775
757
  # A renamed entry cannot be classified by title — report it
776
758
  # rather than claiming the server entry is absent.
@@ -1016,17 +998,17 @@ class BugReportTools:
1016
998
  else {}
1017
999
  )
1018
1000
  user_agent = _http_user_agent()
1019
- installed_version = await asyncio.to_thread(_detect_installed_version)
1020
- component_version = await self._detect_component_version()
1001
+ installed_version = await asyncio.to_thread(detect_installed_version)
1002
+ # One read_info call, so the version and the auth mode share an answer.
1003
+ component_info = await read_info(self._client)
1004
+ component_version = await self._detect_component_version(component_info)
1021
1005
  tools_entry_status = await self._detect_tools_entry_status()
1022
- server_entry_status = await self._detect_server_entry_status()
1006
+ server_entry_status = await self._detect_server_entry_status(component_info)
1023
1007
 
1024
1008
  diagnostic_info: dict[str, Any] = {
1025
1009
  "ha_mcp_version": __version__,
1026
1010
  "installed_version": installed_version,
1027
- "version_mismatch": bool(
1028
- installed_version and installed_version != __version__
1029
- ),
1011
+ "version_mismatch": version_mismatch(installed_version),
1030
1012
  "component_version": component_version,
1031
1013
  "tools_entry_status": tools_entry_status,
1032
1014
  "server_entry_status": server_entry_status,
@@ -22,7 +22,7 @@ from pydantic import Field
22
22
  from ha_mcp._vendor.fastmcp.exceptions import ToolError
23
23
  from ha_mcp._vendor.fastmcp.tools import tool
24
24
 
25
- from .._version import get_version, is_dev_version, is_embedded, is_running_in_addon
25
+ from .._version import is_embedded, is_running_in_addon
26
26
  from ..client.rest_client import (
27
27
  HomeAssistantAPIError,
28
28
  HomeAssistantCommandError,
@@ -47,6 +47,7 @@ from .helpers import (
47
47
  raise_tool_error,
48
48
  register_tool_methods,
49
49
  )
50
+ from .server_version import running_version_report
50
51
  from .tool_hints import write_hints
51
52
 
52
53
  logger = logging.getLogger(__name__)
@@ -1885,7 +1886,7 @@ class DevTools:
1885
1886
  async def _server_info(self) -> dict[str, Any]:
1886
1887
  from ..utils.data_paths import get_data_dir
1887
1888
 
1888
- version = await asyncio.to_thread(get_version)
1889
+ versions, warnings = await asyncio.to_thread(running_version_report)
1889
1890
  if is_embedded():
1890
1891
  mode = "embedded"
1891
1892
  elif is_running_in_addon():
@@ -1893,13 +1894,11 @@ class DevTools:
1893
1894
  else:
1894
1895
  mode = "standalone"
1895
1896
  data: dict[str, Any] = {
1896
- "server_version": version,
1897
- "is_dev_build": is_dev_version(version),
1897
+ **versions,
1898
1898
  "deployment_mode": mode,
1899
1899
  "python_version": sys.version.split()[0],
1900
1900
  "data_dir": str(get_data_dir()),
1901
1901
  }
1902
- warnings: list[str] = []
1903
1902
  try:
1904
1903
  ha_config = await self._client.get_config()
1905
1904
  data["ha_version"] = ha_config.get("version")