ha-mcp-dev 8.7.0.dev3043__tar.gz → 8.7.0.dev3047__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 (785) hide show
  1. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/PKG-INFO +2 -2
  2. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/pyproject.toml +2 -2
  3. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/pyproject.toml.orig +2 -2
  4. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +52 -50
  5. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/VENDORED +1 -1
  6. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/__init__.py +1 -1
  7. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/app.py +1 -1
  8. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/config.py +14 -2
  9. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +100 -41
  10. ha_mcp_dev-8.7.0.dev3047/src/ha_mcp/_vendor/fastmcp/cli/apps_dev_security.py +168 -0
  11. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +2 -2
  12. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/client.py +1 -1
  13. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +2 -2
  14. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +1 -1
  15. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +2 -2
  16. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +126 -2
  17. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/run.py +2 -2
  18. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +3 -5
  19. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +10 -4
  20. ha_mcp_dev-8.7.0.dev3047/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +180 -0
  21. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +4 -1
  22. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +17 -3
  23. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +2 -1
  24. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +5 -0
  25. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +8 -1
  26. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +4 -0
  27. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +6 -2
  28. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +71 -4
  29. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/http.py +67 -17
  30. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +30 -2
  31. ha_mcp_dev-8.7.0.dev3047/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +48 -0
  32. ha_mcp_dev-8.7.0.dev3047/src/ha_mcp/_vendor/fastmcp/server/mixins/extensions.py +238 -0
  33. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +34 -11
  34. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +15 -0
  35. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +28 -3
  36. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +92 -4
  37. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +156 -21
  38. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +38 -12
  39. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +7 -2
  40. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +3 -1
  41. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +5 -17
  42. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +4 -1
  43. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +17 -4
  44. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/server.py +115 -153
  45. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +30 -25
  46. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +14 -2
  47. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +8 -1
  48. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +1 -1
  49. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +3 -3
  50. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +216 -91
  51. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +295 -66
  52. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +1 -1
  53. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +67 -71
  54. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +101 -9
  55. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +33 -3
  56. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +10 -2
  57. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +24 -23
  58. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +2 -2
  59. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/VENDORED +1 -1
  60. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/cli/claude.py +1 -1
  61. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/cli/cli.py +1 -1
  62. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +2 -2
  63. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +4 -4
  64. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/client.py +39 -3
  65. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/session.py +1 -1
  66. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/session_group.py +5 -1
  67. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/stdio.py +5 -4
  68. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +50 -15
  69. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +14 -4
  70. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +3 -3
  71. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +4 -4
  72. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +12 -1
  73. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +9 -2
  74. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +13 -4
  75. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +3 -0
  76. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +2 -2
  77. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +6 -2
  78. ha_mcp_dev-8.7.0.dev3047/src/ha_mcp/_vendor/mcp/shared/_request_clock.py +81 -0
  79. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +4 -1
  80. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +9 -3
  81. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +36 -16
  82. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +1 -1
  83. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/VENDORED +1 -1
  84. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/requirements.txt +3 -3
  85. ha_mcp_dev-8.7.0.dev3043/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -121
  86. ha_mcp_dev-8.7.0.dev3043/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -46
  87. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/LICENSE +0 -0
  88. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/README.md +0 -0
  89. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/__init__.py +0 -0
  90. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/__main__.py +0 -0
  91. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_pypi_marker +0 -0
  92. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_rich_compat.py +0 -0
  93. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/__init__.py +0 -0
  94. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  95. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
  96. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  97. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  98. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  99. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  100. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  101. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  102. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
  103. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  104. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
  105. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  106. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  107. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  108. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  109. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  110. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  111. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  112. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  113. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  114. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  115. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  116. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
  117. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  118. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
  119. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  120. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  121. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  122. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
  123. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  124. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  125. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  126. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  127. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  128. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  129. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
  130. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  131. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  132. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  133. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
  134. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  135. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  136. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  137. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  138. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  139. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  140. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  141. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  142. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  143. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  144. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  145. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  146. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  147. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  148. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  149. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  150. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  151. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  152. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
  153. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  154. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  155. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  156. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  157. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  158. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  159. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  160. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  161. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  162. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  163. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  164. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  165. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  166. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  167. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  168. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  169. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  170. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  171. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  172. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  173. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  174. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
  175. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
  176. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  177. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  178. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
  179. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
  180. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  181. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  182. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
  183. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  184. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  185. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
  186. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
  187. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  188. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  189. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
  190. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  191. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  192. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  193. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  194. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
  195. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  196. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  197. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  198. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  199. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  200. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  201. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  202. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
  203. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  204. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  205. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  206. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  207. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
  208. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  209. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  210. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
  211. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
  212. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  213. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  214. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  215. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  216. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  217. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
  218. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  219. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  220. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  221. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
  222. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
  223. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  224. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  225. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
  226. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  227. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  228. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  229. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  230. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
  231. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  232. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  233. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  234. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
  235. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  236. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  237. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  238. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  239. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
  240. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  241. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  242. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
  243. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
  244. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
  245. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  246. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  247. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  248. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
  249. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  250. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  251. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
  252. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  253. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  254. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
  255. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
  256. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  257. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  258. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  259. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  260. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  261. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  262. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  263. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
  264. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
  265. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  266. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
  267. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
  268. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  269. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
  270. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  271. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
  272. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  273. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  274. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  275. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
  276. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
  277. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  278. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  279. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  280. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
  281. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  282. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
  283. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
  284. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  285. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  286. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  287. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  288. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  289. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  290. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  291. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  292. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  293. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  294. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  295. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  296. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  297. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  298. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  299. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  300. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  301. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  302. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  303. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  304. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  305. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  306. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  307. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  308. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
  309. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  310. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  311. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  312. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  313. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  314. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  315. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  316. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  317. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  318. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  319. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  320. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  321. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  322. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  323. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  324. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  325. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  326. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  327. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  328. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  329. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  330. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  331. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  332. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  333. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  334. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  335. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  336. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  337. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  338. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  339. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  340. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  341. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  342. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  343. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  344. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  345. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  346. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  347. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  348. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  349. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  350. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  351. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  352. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  353. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  354. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  355. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  356. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  357. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  358. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  359. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  360. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  361. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  362. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  363. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  364. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  365. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  366. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  367. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  368. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  369. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  370. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  371. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  372. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  373. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  374. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  375. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  376. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  377. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  378. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  379. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  380. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  381. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  382. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  383. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  384. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  385. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  386. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  387. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  388. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  389. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  390. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  391. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  392. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  393. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  394. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  395. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  396. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  397. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  398. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  399. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  400. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  401. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  402. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  403. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  404. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  405. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  406. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  407. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  408. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  409. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  410. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  411. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  412. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  413. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  414. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  415. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  416. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  417. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  418. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  419. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  420. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  421. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  422. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  423. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  424. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  425. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  426. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  427. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  428. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  429. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  430. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  431. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  432. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  433. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  434. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  435. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  436. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  437. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  438. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  439. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  440. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  441. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  442. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  443. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  444. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  445. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  446. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  447. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  448. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  449. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  450. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  451. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  452. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  453. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  454. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  455. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  456. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  457. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  458. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  459. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  460. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  461. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  462. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  463. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  464. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  465. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  466. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  467. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  468. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  469. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  470. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  471. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  472. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  473. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  474. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  475. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  476. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  477. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  478. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  479. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  480. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  481. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  482. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  483. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  484. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/_version.py +0 -0
  485. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/app_discovery.py +0 -0
  486. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/auth/__init__.py +0 -0
  487. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/auth/consent_form.py +0 -0
  488. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/auth/oidc_compat.py +0 -0
  489. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/auth/provider.py +0 -0
  490. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/backup_diff.py +0 -0
  491. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/backup_entity_ids.py +0 -0
  492. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/backup_integrations.py +0 -0
  493. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/backup_manager.py +0 -0
  494. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/backup_tags.py +0 -0
  495. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/browser_landing.py +0 -0
  496. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/__init__.py +0 -0
  497. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/admin_routes.py +0 -0
  498. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/rest_client.py +0 -0
  499. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/supervisor_client.py +0 -0
  500. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/websocket_client.py +0 -0
  501. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/client/websocket_listener.py +0 -0
  502. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config.py +0 -0
  503. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config_backup.py +0 -0
  504. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config_meta.py +0 -0
  505. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config_overrides.py +0 -0
  506. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config_registry.py +0 -0
  507. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/config_settings.py +0 -0
  508. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  509. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  510. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  511. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  512. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  513. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  514. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/errors.py +0 -0
  515. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/ha_request_queue.py +0 -0
  516. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  517. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/http_transport.py +0 -0
  518. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/image_info.py +0 -0
  519. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/llm_exposure.py +0 -0
  520. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/log_filters.py +0 -0
  521. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/__init__.py +0 -0
  522. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/approval_queue.py +0 -0
  523. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/decision_pin.py +0 -0
  524. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/decisions.py +0 -0
  525. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/editing.py +0 -0
  526. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/evaluator.py +0 -0
  527. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/events.py +0 -0
  528. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/handlers.py +0 -0
  529. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/middleware.py +0 -0
  530. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/model.py +0 -0
  531. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/mrtr.py +0 -0
  532. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/persistence.py +0 -0
  533. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/server_channels.py +0 -0
  534. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/policy/value_sources.py +0 -0
  535. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/py.typed +0 -0
  536. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/read_only.py +0 -0
  537. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/redaction.py +0 -0
  538. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/renamed_tools.py +0 -0
  539. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  540. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  541. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  542. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
  543. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  544. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  545. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  546. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  547. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  548. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  549. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  550. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  551. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  552. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  553. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  554. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
  555. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  556. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/server.py +0 -0
  557. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/server_lifespan.py +0 -0
  558. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/server_tool_text.py +0 -0
  559. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/__init__.py +0 -0
  560. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  561. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  562. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  563. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  564. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  565. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  566. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  567. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  568. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  569. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  570. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_theme.py +0 -0
  571. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  572. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  573. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/az.json +0 -0
  574. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
  575. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/de.json +0 -0
  576. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  577. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
  578. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/es.json +0 -0
  579. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
  580. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/it.json +0 -0
  581. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
  582. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
  583. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
  584. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
  585. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
  586. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  587. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
  588. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
  589. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings.css +0 -0
  590. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings.html +0 -0
  591. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
  592. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
  593. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
  594. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
  595. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
  596. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
  597. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
  598. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
  599. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
  600. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/smoke_test.py +0 -0
  601. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  602. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/strict_bps.py +0 -0
  603. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tool_dispatch.py +0 -0
  604. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/__init__.py +0 -0
  605. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/area_messages.py +0 -0
  606. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/auto_backup.py +0 -0
  607. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/backup.py +0 -0
  608. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/backup_access.py +0 -0
  609. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/backup_on_demand.py +0 -0
  610. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  611. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/best_practice_result.py +0 -0
  612. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  613. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  614. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  615. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/blueprint_write.py +0 -0
  616. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/bug_report_config.py +0 -0
  617. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/bug_report_templates.py +0 -0
  618. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/bulk_selector.py +0 -0
  619. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/coercion.py +0 -0
  620. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_api.py +0 -0
  621. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_config_entries.py +0 -0
  622. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_config_reads.py +0 -0
  623. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  624. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_devices.py +0 -0
  625. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_helper_collections.py +0 -0
  626. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_registries.py +0 -0
  627. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  628. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_backup.py +0 -0
  629. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  630. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  631. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
  632. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  633. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  634. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  635. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  636. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  637. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
  638. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
  639. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/create.py +0 -0
  640. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
  641. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
  642. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
  643. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
  644. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
  645. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
  646. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/update.py +0 -0
  647. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
  648. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
  649. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_write_errors.py +0 -0
  650. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/config_write_helpers.py +0 -0
  651. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/core_contract.py +0 -0
  652. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/dashboard_card_describe.py +0 -0
  653. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  654. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
  655. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/dev_backup.py +0 -0
  656. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/device_control.py +0 -0
  657. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/device_enrichment.py +0 -0
  658. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
  659. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/energy_preferences.py +0 -0
  660. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
  661. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/entity_registration.py +0 -0
  662. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/entity_update_fields.py +0 -0
  663. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  664. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/flow_helper_lookup.py +0 -0
  665. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/hacs_registration.py +0 -0
  666. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/helper_flows.py +0 -0
  667. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/helpers.py +0 -0
  668. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/history_response.py +0 -0
  669. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  670. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/log_common.py +0 -0
  671. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/log_sources.py +0 -0
  672. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  673. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  674. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/__init__.py +0 -0
  675. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/base.py +0 -0
  676. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/matter.py +0 -0
  677. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/thread.py +0 -0
  678. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  679. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/zwave.py +0 -0
  680. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
  681. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/recorder_errors.py +0 -0
  682. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/reference_validator.py +0 -0
  683. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/registry.py +0 -0
  684. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  685. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/response_helpers.py +0 -0
  686. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/scene_discovery.py +0 -0
  687. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/__init__.py +0 -0
  688. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/base.py +0 -0
  689. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/component.py +0 -0
  690. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/entities.py +0 -0
  691. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/legacy.py +0 -0
  692. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/modes.py +0 -0
  693. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/overview.py +0 -0
  694. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/response.py +0 -0
  695. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/search/state.py +0 -0
  696. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  697. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  698. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  699. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  700. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  701. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  702. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  703. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  704. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  705. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  706. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/statistics_helpers.py +0 -0
  707. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/statistics_resets.py +0 -0
  708. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/system_restart.py +0 -0
  709. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tool_hints.py +0 -0
  710. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  711. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_addons.py +0 -0
  712. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_areas.py +0 -0
  713. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  714. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  715. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  716. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_calendar.py +0 -0
  717. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_camera.py +0 -0
  718. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_categories.py +0 -0
  719. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_code.py +0 -0
  720. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  721. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  722. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  723. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  724. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  725. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  726. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_dev.py +0 -0
  727. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_energy.py +0 -0
  728. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_entities.py +0 -0
  729. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  730. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_groups.py +0 -0
  731. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_hacs.py +0 -0
  732. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_history.py +0 -0
  733. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_integrations.py +0 -0
  734. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_labels.py +0 -0
  735. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_logs.py +0 -0
  736. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_radio.py +0 -0
  737. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_registry.py +0 -0
  738. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_resources.py +0 -0
  739. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_search.py +0 -0
  740. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  741. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_service.py +0 -0
  742. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_services.py +0 -0
  743. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_system.py +0 -0
  744. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_themes.py +0 -0
  745. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_todo.py +0 -0
  746. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_traces.py +0 -0
  747. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_updates.py +0 -0
  748. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_utility.py +0 -0
  749. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  750. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  751. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  752. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/tools_zones.py +0 -0
  753. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/util_helpers.py +0 -0
  754. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/validation_middleware.py +0 -0
  755. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/tools/ws_waiters.py +0 -0
  756. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/__init__.py +0 -0
  757. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/categorized_search.py +0 -0
  758. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/compact_params.py +0 -0
  759. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/component_helpers.py +0 -0
  760. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/component_search.py +0 -0
  761. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  762. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  763. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/transport_security.py +0 -0
  764. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/update_check.py +0 -0
  765. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/__init__.py +0 -0
  766. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/config_hash.py +0 -0
  767. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/config_write_lock.py +0 -0
  768. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  769. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/data_paths.py +0 -0
  770. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  771. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/domain_handlers.py +0 -0
  772. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/entity_membership.py +0 -0
  773. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  774. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  775. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  776. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/operation_manager.py +0 -0
  777. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/python_sandbox.py +0 -0
  778. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  779. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/skill_loader.py +0 -0
  780. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/utils/usage_logger.py +0 -0
  781. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/visibility/__init__.py +0 -0
  782. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/visibility/enforcement.py +0 -0
  783. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/visibility/model.py +0 -0
  784. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/visibility/persistence.py +0 -0
  785. {ha_mcp_dev-8.7.0.dev3043 → ha_mcp_dev-8.7.0.dev3047}/src/ha_mcp/visibility/resolver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 8.7.0.dev3043
3
+ Version: 8.7.0.dev3047
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
@@ -20,7 +20,7 @@ Requires-Dist: authlib>=1.6.11
20
20
  Requires-Dist: cyclopts>=4.0.0
21
21
  Requires-Dist: exceptiongroup>=1.2.2
22
22
  Requires-Dist: griffelib>=2.0.0
23
- Requires-Dist: httpx2>=2.5.0
23
+ Requires-Dist: httpx2>=2.10.0
24
24
  Requires-Dist: joserfc>=1.5.0
25
25
  Requires-Dist: jsonref>=1.1.0
26
26
  Requires-Dist: jsonschema>=4.20.0
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "8.7.0.dev3043"
7
+ version = "8.7.0.dev3047"
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"
@@ -33,7 +33,7 @@ dependencies = [
33
33
  "cyclopts>=4.0.0",
34
34
  "exceptiongroup>=1.2.2",
35
35
  "griffelib>=2.0.0",
36
- "httpx2>=2.5.0",
36
+ "httpx2>=2.10.0",
37
37
  "joserfc>=1.5.0",
38
38
  "jsonref>=1.1.0",
39
39
  "jsonschema>=4.20.0",
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "8.7.0.dev3043"
7
+ version = "8.7.0.dev3047"
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
@@ -36,7 +36,7 @@ dependencies = [
36
36
  "cyclopts>=4.0.0",
37
37
  "exceptiongroup>=1.2.2",
38
38
  "griffelib>=2.0.0",
39
- "httpx2>=2.5.0",
39
+ "httpx2>=2.10.0",
40
40
  "joserfc>=1.5.0",
41
41
  "jsonref>=1.1.0",
42
42
  "jsonschema>=4.20.0",
@@ -1,25 +1,26 @@
1
1
  43070e2d4e532684de521b885f385d0841030efa2b1a20bafb76133a5e1379c1 LICENSE
2
2
  21859d4324326a6fb383cfd827626db2278088d4659000a8569f55262309a894 REQUIRES.txt
3
- e12f954d5272b6d9e098942fc232a0e1993b945b0d7184b0b850df99afafcc79 VENDORED
4
- 3cf3adee844fb112711cfb37a8974f76b7d47b678721e180ff4ae21cada26343 __init__.py
3
+ 37ed62a077baf7706de1f4818e0947a191be920c2fa146f6303d12a0b9a0a42e VENDORED
4
+ 33578dbbbf641862000fb89e15d4313aed849c9f44540bdddae3a28d7a308531 __init__.py
5
5
  2ae9ce0d217923abf551b6f8bcf08e516529b9a6abab160bab5d8c9b7e245c3d _compat.py
6
6
  0fe101433a655a48e5fd1dde0c75879f3a74f9092d2b935bd71fad19bcfb77a1 _install_hints.py
7
7
  a9c59fe78564360444de04484a2b0906569fb58408be3c968be3f81a5e3015a4 _warnings.py
8
8
  d0d1090ec6c6b80434d6f69d834ac018a10466834c67d119399438b8f3bd78f2 apps/__init__.py
9
- 5bc366f21426e0bee8637c971912d7c7a0b9fb281b93e94b30f1c02951536a03 apps/app.py
9
+ d5a7cf7be1b90a54cb2aa34b4c52f16a627365756bae2799f8a1e8bfc19e3be1 apps/app.py
10
10
  43c543658ba0dfdd7622b42c6d9c1bd18ac1b5516d6f64e984bc21f5491968cc apps/approval.py
11
11
  ebc30d58d7be55717fdd0d2c8c3691e2d42e5e7ae7a6edca6a1aaeef06a6390e apps/choice.py
12
- 524a0892d82e25b29916f777fcd965663d24d88a8c8645a16dce777635d2cc03 apps/config.py
12
+ f37ca3568e62ff272436263dba64baf712c4ee05e9c92c047c697f1fc8e6cebf apps/config.py
13
13
  bed87b113844d5811bd107a5cb773eb007cd3e4164e8612e5352123025e0c484 apps/file_upload.py
14
14
  8b2e94be32a1e5753d06cd79af72f10f73f6959069db664f25d490f16f2450fc apps/form.py
15
15
  28cfe9189bce13f2a36ec6c93c4229570b7fb9d1bfbdcb3c4c0dfef998a80b1f apps/generative.py
16
16
  1f3d55a17ea1a14a11eb4f4c47ae4a23bf27180135879c4a681619c616d4c84d cli/__init__.py
17
17
  f7e802853b93ea231afe35bf6512bb8659f6ce31f5e2d788cbec70206b73ec6c cli/__main__.py
18
- 0b1d648a0661951dbd14271cf269cb14e90fada2b49247f380e689e38675680e cli/apps_dev.py
18
+ 4bd9a6ab3a2584ad11e1f77883dfb1c7c9f80be9fd0c31ce89cce16a31f55375 cli/apps_dev.py
19
+ 25706d223a4a0bf6aeee9d998b6c2cc35a43f599b26b8da10188ffd632488412 cli/apps_dev_security.py
19
20
  69c000d140b8cd9e48a0feddf08fd5a7d8735f719f7443f34cb89caeea58d29f cli/auth.py
20
21
  c0b3e37538968d37ff03613bee536e83840c5a7bd6003fdac39b17e1f210fc15 cli/cimd.py
21
- 1fe70ae806e363ae356a266f784e5d909a2c0f1e6e1429dbc7accbb949ecaff5 cli/cli.py
22
- 0d2a801516155bad78baef538706428a7b35ff861817d479b51d25761f164093 cli/client.py
22
+ f5c5f74589d41ae9d2dfb38a047f524fbcec324316c5ee22ec546140dd5820b2 cli/cli.py
23
+ ae79984f424d4e2502e6ad4a9f30f73adc1a17ade703394f628b7fb0832f799a cli/client.py
23
24
  e957afa2f01583177872973ad9ee3870b59353ef03aaaf716a27454c3c1be945 cli/deploy/__init__.py
24
25
  f0b119ec65bcfbadbe610b676fb3054c7dd55bd1ef8bd37325afe1f9c85e696b cli/deploy/authentication.py
25
26
  4e8d460c536d638ed6ddf1f44e21723b5aef4df3d822a80da791f0d96bf7d50c cli/deploy/command.py
@@ -31,15 +32,15 @@ e7b738e649d73217fc6e2f131ebed95c629f87946046647cb63e62299b51bb03 cli/deploy/sta
31
32
  e2ccacdd93ce5498809b611d628f0cd002d860eaa36376d659d4f8dab355f269 cli/discovery.py
32
33
  90d7a90e51c318ae78302431e2ebbb7193ea8089b9ade66f92693db1999b4cd3 cli/generate.py
33
34
  3064643d52a2ee08d78b9c9f859e7e6365841ddc8a4ee3cb32bab5adf86c241b cli/install/__init__.py
34
- 938a4bcc3cf7526ce1baab5c610dcca6463e444380a6eeb011c41245e24d4839 cli/install/claude_code.py
35
- c4133e8eb4a5e756077a772ea2927b8ff070bcdab5300e6a7ff31806693b97ed cli/install/claude_desktop.py
35
+ bed3123c8e5ef639b4aba8c12b023cd75076101e7c4ac69759fb28675ead764a cli/install/claude_code.py
36
+ 53ccf776aee80eda7c0ade5a9e5d5e6482ef96fe76385cea302fed3969440dd3 cli/install/claude_desktop.py
36
37
  16276f0330a8762a549378892038fea1ac8ccbfbe603fbe1a239dbb4d493409b cli/install/cursor.py
37
- 8d26dc0765afaafeca92d0a7b4f52b16341713f0ff4328edc91e6d53d0dcadc0 cli/install/gemini_cli.py
38
+ dfaff2c1daef9ffdbbbbbabd616ad128d26b749e1faf17d868a52d0616b8df78 cli/install/gemini_cli.py
38
39
  c033cdb08bb526c2ea5fb8f1d5574318188d6d88bdf3a549f495e03376d492a0 cli/install/goose.py
39
40
  3728ec9ce609f4d64beab73584f480e6b469e58b3a2874f33e25e74645831f44 cli/install/mcp_json.py
40
- 5d0101298b75c3659207c44bec52776fb9572273231387e36da69e7586f9b543 cli/install/shared.py
41
+ 2a5e03919735ef98f08380a6ed9001d7a99321bbb926522954b53b553d37d887 cli/install/shared.py
41
42
  fc192e680cf06cc032ec80bfd663adbbfd80650b4a48fe4bfce5b71516c72f25 cli/install/stdio.py
42
- a3ebfd05cef2262d642d425a94a8d9310bfcbd9a65567bbf995dfe3dd6085393 cli/run.py
43
+ 5acfbc12c60d32a091fced0bb0750f3a4be7e9ccf246ff8b6849357831d1cbdf cli/run.py
43
44
  be600c67653ad9248ffe5e8d35a93f466276afdcf5b1a193629217fd722f61ad client/__init__.py
44
45
  c2ccfa385e1ac971ca62bb3411f7922b773c2ebbf717368150ae9f9849cc996b client/_sdk_context_shim.py
45
46
  c1bb592687a240305e777178e6684d08f788a6c1559b1c4ee3086160268c934a client/auth/__init__.py
@@ -57,7 +58,7 @@ a7fe536d6fc5dbad6a2c8d34b3b8074a0c28e7572ee69c7d816ef8fd4617f2e9 client/group.p
57
58
  01e24f9b114fd85aacd62fb99631adedb23e5293e9e72cfc9b2680035364c7a9 client/mixins/__init__.py
58
59
  a286df8775a6de31aa19ff6f26002a6f612a9ab36acf4e8629b52da44e406da4 client/mixins/prompts.py
59
60
  26c5c96f8ffa53ebf035667efde96418750eebeb016c6d79ab2f5f4fe087718e client/mixins/resources.py
60
- c78ce42cd9e3496947d582c548d9852dad251407635b1f44ba2ff41ed60a0b6b client/mixins/tools.py
61
+ 5340ddf323fdeb1e011000050f52c3abb26dc7bb957a3ef68d8a8ce0f3d65a5f client/mixins/tools.py
61
62
  e418845c0228e016596d96d1a962f2d0ccb814f7b769ee0b08e9f158de44fe89 client/oauth_callback.py
62
63
  c3a98f99610d06c9b95fd9df0f7acefacbfc4756a9f62bbd0a64df880ccd01ca client/progress.py
63
64
  5aa421cd60f10be7bdab46641ade22e90e41bf6a6226cb2d26814fb53ffcf406 client/roots.py
@@ -80,9 +81,9 @@ e5a5146354d214ab73d69bd32d20ea9140a41a4baa31f31936c2de68da848007 contrib/bulk_t
80
81
  c6f19249a5174d0adcdf57ab0688b51a1ec18a480e9621130e26154cfdeb2f16 contrib/bulk_tool_caller/__init__.py
81
82
  14b9a331bddba2e12bdb816424a9bdad1de247d10e0b79fbd4a98aec27104efe contrib/bulk_tool_caller/bulk_tool_caller.py
82
83
  796edc6dd7736036cb6f13eeafe5e73d9577319364de1361c856fc322f281f11 contrib/bulk_tool_caller/example.py
83
- b2979e924c754bee190f5b4d960b56e2a47cd87cd8c29fae692dd07f24eaf73f contrib/component_manager/README.md
84
+ fd6536eb022a9fd828ee088b1bc18b55e050b15b3011d9f33ebc409968cd6624 contrib/component_manager/README.md
84
85
  9bee27be06ce8083646442ab477ef772e9a642785d5d58342e8069ef5e927fdf contrib/component_manager/__init__.py
85
- c390368130792fa78bafe56820ab990351c77a20c64c7a0f2a06eff85fcfab37 contrib/component_manager/component_manager.py
86
+ 971b25b708b8dec0c43a87a30616bc507a939d9a248e954ee6f3d280b13b3ee4 contrib/component_manager/component_manager.py
86
87
  9c0b76ef099a63ba6d402770561a92ffd88e1b5b4b45c91c0647767ba5b2e0bc contrib/component_manager/example.py
87
88
  7fa8a77bacfd92e131d6a2a163d8f3ac7eac0308f5a16a5770b5c6bcad063159 contrib/mcp_mixin/README.md
88
89
  cd914794019ec542420cb020e29ec21990e66fe9a03dd375c55bf4b51e2683b2 contrib/mcp_mixin/__init__.py
@@ -111,24 +112,24 @@ f62be5cd46be03e6f4fdaacfc5c5a6acf729516f528e56e146c0aa83a6204e61 resources/type
111
112
  ab8636d8b6e57e37ed6b8f6243f03d231bae8a0666eeb43b90be481aa1f679c1 server/auth/auth.py
112
113
  2d2ec9ec41e3e6716a2f4b214dabecf3e10a167652546bfa692570c640647263 server/auth/cimd.py
113
114
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/handlers/__init__.py
114
- e52df6b15b5b66edad8e11c71bf32d8f9cacba628a1d7a9ed97e440f6a491296 server/auth/handlers/authorize.py
115
+ bd6cc8b7e5728f65e4ec8c9ee976533bfe7d712a63d4009b672c84d1a94125b9 server/auth/handlers/authorize.py
115
116
  690754c201248ff04a5c73899d9b0b1d2911507eac7d9bd649133b8185c07002 server/auth/identity_assertion.py
116
117
  314d030761e61f91af73267efd894b6af291faa8fa1c1fa41eb15f8f0217ebed server/auth/jwt_issuer.py
117
118
  4d4f873e248431b4e9105f67fad77952dba1b902e411eafbd8cf3db37cf7291d server/auth/middleware.py
118
119
  482e01b4ecc8af2714eb1bc50cc7afa0bdbadab1e583171cb9aa70fa2b270af0 server/auth/oauth_proxy/__init__.py
119
120
  5f490615f239c44e861b7860fbdabc02e4a768587e9e77259b7695b2628576d3 server/auth/oauth_proxy/consent.py
120
121
  66c2b86e445bb5e930eae7ec7c495a20e752ceec57af059fd96de66ebf2fcce0 server/auth/oauth_proxy/models.py
121
- aa221b963ec2dc1466a4acc0fc41f440a4f1c1926fede489dd1bbc56f3f1cea0 server/auth/oauth_proxy/proxy.py
122
- c20a999e75dbfbd5801ccf0172127b316f8bca1807fb3ca282cadcdc0a37295e server/auth/oauth_proxy/ui.py
122
+ 4903684b5c5b1b883079ff3f1f151d32e8383bf5755e6233b6b539b7cbaaba82 server/auth/oauth_proxy/proxy.py
123
+ 0e44df9ec0fb91a209674a1e201345d925161e509c537e996fda7bb5b0c78677 server/auth/oauth_proxy/ui.py
123
124
  a7dfed182cd72300a09136f500738cafd81960807b474fd184143a24fa0898d9 server/auth/oauth_proxy/upstream.py
124
- 99d06bf47c740b3b42b84269058d6ee71c52fabea047aec8189ca150aa8edd2b server/auth/oidc_proxy.py
125
+ 662eebf05ebf0cade5e9dfb63b8cba4158a0ac180a6ff75f70ec96a801daf56b server/auth/oidc_proxy.py
125
126
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/providers/__init__.py
126
127
  2309357e391e3ca50f368b87581c915f5da83103d6fe8b157fc3f6365ae940f6 server/auth/providers/auth0.py
127
128
  2096389558eb1eb799a5e69379dcfffcad2ee0fe7a9bb98b632871581c456cce server/auth/providers/aws.py
128
129
  c027201a5debfd00665fda478a361ac1dcda47cd4c1501edad09ecbfed0a94c7 server/auth/providers/azure.py
129
130
  0afe32ad1950f740d1e5798444fa79a39251e1173f214cd71d1a7202d4e1b492 server/auth/providers/clerk.py
130
131
  b682ebb2419462e9bb506f2bf473d8ae33febcce4055df5dd506a4845c81e47f server/auth/providers/debug.py
131
- 0b86ffe4e0b1f06c040b264dbd88a44943ed9d15392419f55956503d83760642 server/auth/providers/descope.py
132
+ 565367bc78820801144af6a22e54e249644beacdb215812e88e3e0344c7e99a9 server/auth/providers/descope.py
132
133
  d98f08e8041870f3effa331b2837d0073c26079872dd34b501c0804669625442 server/auth/providers/discord.py
133
134
  df69c87adbdc2caee72185bdeaf55d19bf5308f94b2756343177556878f44ae2 server/auth/providers/github.py
134
135
  32ccc82663080f5d3e0c423e8c9bdb58b6b560291d60a17c289ad399e410e059 server/auth/providers/google.py
@@ -143,15 +144,15 @@ f858f390ad6ca87990e548cdca584cef57fc93a0d2d36b4f5353dad2c4c0f7bf server/auth/pr
143
144
  df16f6cf532f38b87318d06d7c0f97717699614ada54fcfb53701d5281ed6cc5 server/auth/providers/supabase.py
144
145
  3da61543f26146cf2597089f17580ad4a9e5d3423e92425ecc2b1a8a6c9bceda server/auth/providers/workos.py
145
146
  9ed8d6fec5e0ca8fdb9716cd0f80f178a0814ed34b2202770f509c1fe96305e5 server/auth/redirect_validation.py
146
- 0a6d55566e2c33fe15c31969dd68547181205bce148486dcb6183f314abf4141 server/auth/ssrf.py
147
+ 8db12964a2f64b576d72858ad4d21aa27e5e8325101cd575762cb1dd56f01a22 server/auth/ssrf.py
147
148
  871c89e8a16ca2a3cd030b94108abb0bf15d8addab05b398f959da8445f4e6a9 server/caching.py
148
149
  38f783123395ffa153bc91af5db1ffac86eceaa249333d2991a59e057a2f4af1 server/completions.py
149
150
  542477c828645b4fd2c08bafb7fa1ee4f8721a3f07744af05d9035c8852a1554 server/context.py
150
- 66e9338f10e07693891eaf68c5654a5a41fdec4e54a3a3a8917d3899613e662f server/dependencies.py
151
+ f3ad7d6f25b95f3d9ba189d1b72842df9f9ac311d6739da04d795f2c55068b6d server/dependencies.py
151
152
  3affb1031ddcf7f6f02322075340ee46ff21f3cb74f0d3c2f48d21cdc4cd0899 server/elicitation.py
152
153
  e0497cf65d8a93849bf2873b94e18abaff2d8a9a879d24db9af22d52548bb696 server/event_store.py
153
- 29bc8c6a594ec12a859fcf54658bedc59e7e3a507e861b3a79a72ca5d2fdb83c server/extensions.py
154
- bc157f88e7854f970ba57108745eeb72c04a95fc593a102b6c8a54f5c01e8998 server/http.py
154
+ 295d07943099c96d594d17aa592bae0c3014ed751f6a2a9541bb5b724e873b85 server/extensions.py
155
+ 5c16b9f01889ef7e782276b24bffeb7c6f5fbbfe91e0fb574f1505803afb664a server/http.py
155
156
  c939ec1886308f99257b07aaa73a4781565d5d3e170fc13b0d8b36f4735a4fda server/lifespan.py
156
157
  9ad85391f6cdd905a7168a579afdf423bf9600d5067b09123ac201295e6c1126 server/low_level.py
157
158
  dc669c15efc3c6bdeb531a6267860c141bb86d64e49c0ee586805c4866bd0c01 server/middleware/__init__.py
@@ -162,21 +163,22 @@ d9d61213e77f496a3d73f2b5115af44732dbdf30bd5ea78d4c3c0d86abd8ad21 server/middlew
162
163
  d55654f305388914c045482ffaea32832fdfc57f17f90f558901ab422fe04cc2 server/middleware/logging.py
163
164
  f866f0fd1fe052a9835c23197ed868ac270727bec9f443d76a35d3d10cc7bdce server/middleware/middleware.py
164
165
  54745915b9fa8e6b8202a3a0a06d821f84fe81306d185d6f943f6b4f3797a3c8 server/middleware/ping.py
165
- 954f892d9f577e268751578436c0f4b4aac3a187e478276650480db31bd30d33 server/middleware/rate_limiting.py
166
+ b5cfa6d7148c34b40b9c685059f5227236b210e0295bfe56d9a3da03b86de3ac server/middleware/rate_limiting.py
166
167
  0c5f1dc9f3f0930e4a5776c2602b8d50c86d536d22e8a00b48a8b05f900663bb server/middleware/response_limiting.py
167
168
  94bff173e12b2c3e65a657ef779f872325846d9860341624710ef82855c03240 server/middleware/timing.py
168
- c065a1287db24cd7662162f6f56a36500a58a9412182348046e3aff4a3750c76 server/middleware/tool_injection.py
169
+ aefe367cf4119f62a497224bd39effb9e876a4cb15032558256e7bd749f7c1cc server/middleware/tool_injection.py
169
170
  7dbadca2563c9c44dbd242d6f75f53df1827b5ca24e09c76a26a63c450768467 server/mixins/__init__.py
170
- 6272edf875b7f0926b26d97f924fd4f1bd06eb80ef6f90cc18e507df7eedab94 server/mixins/lifespan.py
171
+ 46368f2ede13b030da757d4ec2a105eb2332e05c435d6e140a8caf9de4f55246 server/mixins/extensions.py
172
+ 10ccc0151a0590a6e0d1a6c611d71b6941b8942de975c094b791d201fd6f0f1e server/mixins/lifespan.py
171
173
  52af4cd66251d312a9c2cc3dd822bf25512f2b8a39f2571dc6e7dd5184ffa56c server/mixins/mcp_operations.py
172
- ff3963b066eceb0e5a81fd16fbdd0f414e11aeac73959ef7761b121a767fb939 server/mixins/transport.py
174
+ 962233287dd9c3166103ba1b4125f7aa1d7895b03111857a59681f109050249a server/mixins/transport.py
173
175
  cd4f7cade13e4a23391117605bbbd4e9d9f66c43d949c09e4fef05ff279a5a32 server/providers/__init__.py
174
- adad3883f3554739df02cbda56f8fa2c50fbd0259c6cc4dd0c6c84281b2043ed server/providers/addressing.py
175
- cd022ac9e2a9846c76ed95be96b136f36a1d4a9edcde1b73e62062ba43622556 server/providers/aggregate.py
176
- 93f53dffe65b9751b73dfbb7ae2efd21c50a47392e7acf0a477f6618d2ef3a82 server/providers/base.py
177
- 174acc648b9862c5e744f6dc0085fcb4b30578cf7e0e772af846217587b41bcb server/providers/fastmcp_provider.py
176
+ 60c8b27855ed49b56faf1935097a5d9cda837b3ff7e3f8c7e0f7949dddef3bf9 server/providers/addressing.py
177
+ 4c47a9a72686e7a673223ec68d838b74c7208e91a302ffda7440701da73ccf58 server/providers/aggregate.py
178
+ 6f992abff4c667c8822274487de7041cee62fbfd8c6f3e1b5e3d108638f652c5 server/providers/base.py
179
+ ef179352ecdff09a70c303773238667b1f827b6f1ea968b7074de94dadcac399 server/providers/fastmcp_provider.py
178
180
  ae7b241be3607f9702aa8ea5907f7c60fd184403df3914c8c8e69932b5956b27 server/providers/filesystem.py
179
- 0f2e2b16740711527589a4315799c19fb2496337a71b77b9820ead3ab256a729 server/providers/filesystem_discovery.py
181
+ f73fc9e2b36a4a8aa8cbc78819709ec41ec73a3f5dbddc4e7e7d23e7a040197c server/providers/filesystem_discovery.py
180
182
  0f0702f2501537c34982eba9d930afde4d22638d1623ce6691198ce46f5c3d34 server/providers/local_provider/__init__.py
181
183
  5b0058ec22c9ed8b5c2b3833e7e6beb34066f73f1818df1b62741ddb369b7edf server/providers/local_provider/decorators/__init__.py
182
184
  101c860292375904bb89f3f8e4590eb9537f232f4aab4e207ac96f9bad229241 server/providers/local_provider/decorators/prompts.py
@@ -185,20 +187,20 @@ ae7b241be3607f9702aa8ea5907f7c60fd184403df3914c8c8e69932b5956b27 server/provide
185
187
  91d662fa33ab5c71a889e5be59135dd2780758d295c616fc3b140c6e332dda34 server/providers/local_provider/local_provider.py
186
188
  11c75b6557ce98f4855c76aa0d7740df71e704d05fda8435d92f89aee4a5623e server/providers/openapi/README.md
187
189
  9e4dd35d653c9363b7c7679b38ca3f653b53a359065507046bce94db5dfe4bd5 server/providers/openapi/__init__.py
188
- 3eedd623727b69f35c701c7f20e5ea499eee0ed43353310a33425cb32ff04798 server/providers/openapi/components.py
190
+ fc7dc06da9971a02819689b47c7497c8812f62b3405dd8a0a9c98dbc66e21435 server/providers/openapi/components.py
189
191
  0cb11a3c52208a4ecede5a793c13798723d3c59464617c56436d1d786d27e3c0 server/providers/openapi/provider.py
190
192
  b00f94d08ce939d3aca4fb4e9d77d34633570e505640bd7c0a3a4cfb27030b05 server/providers/openapi/routing.py
191
193
  776be4ae2a017410f3b505fe5a6ade18690f396545115ba3bf4e525f30ea3164 server/providers/prefab_payload.py
192
194
  59455808dce7fb5c90fa043ca0a1cbe7d911658f79efe92771dcc1b1109c3789 server/providers/prefab_synthesis.py
193
- a03d17e3298444cb16e4c1ccb079f182b184fafe7807b1d914606bf95743b701 server/providers/proxy.py
195
+ e9e9b29800f0e39f54ecc5a4414eab30e1c846bc5cba7dce905961b8ae8b112f server/providers/proxy.py
194
196
  6bb7641e4c222ff359a38f9617987cc64a8c3eaf04118346b1e96f8b336bc9da server/providers/skills/__init__.py
195
- 8845d0ceb5a62372ea24f338522998282552941c29801810448444edf85b513d server/providers/skills/_common.py
197
+ f91a1853484963de7508eba7091e5ba7ff59ff5e5802330d9675b9ced3d03d17 server/providers/skills/_common.py
196
198
  ce1a7b8a0adece4168f039721d3c0d196da79ae6d8d2b7835ef13733f6c510ab server/providers/skills/claude_provider.py
197
199
  571e579ffa410d5a932dc7afeeb76717171ac927450ecd408ca7b2c99e7c5150 server/providers/skills/directory_provider.py
198
200
  a427c8444b114edb0a6bf40541dd0a3c53b8adfb59ad292a3eb785711825e145 server/providers/skills/skill_provider.py
199
201
  b759c2e9f832ff7b27a9d4347a12851e235d59f7cfa0360aba5efd57377a4adb server/providers/skills/vendor_providers.py
200
- b1c5da43ebebd945011ade0432f022d0f10966850d6fb43b9530cbf67e26ca6d server/providers/wrapped_provider.py
201
- 13f132a0d4599ce0e221d0e4e258ea3b3db16b2ee963489574880b3c1e83f664 server/server.py
202
+ ab36a66d437044cfd929d78b224d8c909296a968b3ef3670f0656af7202f3eb5 server/providers/wrapped_provider.py
203
+ 3377b47d29451f03d428b479c7cce7e822b180f91a04bf419c69460be8ebf9f6 server/server.py
202
204
  a50d0db0003d63db49a3ec62b18dc75e267d6e03b7165f11f02992316be4e160 server/session_scoped_event_store.py
203
205
  a172b6697b515083db1d9f2466d8c88659d37427ece0d292c26d1646c1e72e2f server/sessions.py
204
206
  24b63d7adc0e3e7ebb5528924d9cf2e5789faad798bd39175690c8dca0742ac4 server/telemetry.py
@@ -208,7 +210,7 @@ ef58b435263324aac98f71dd08057232e2eb39abdaec2697e4f2369e98c7734a server/transfo
208
210
  d653f84b07153d687b486a19244c4a179e8378f3fb8f34f9f2c6e8ab18ec9dad server/transforms/prompts_as_tools.py
209
211
  35823161ae66939a64ed2d4365af0eae4fa02177907b6d2ac9bb9d1e3f3d815f server/transforms/resources_as_tools.py
210
212
  250bd40ffdaccfd4b0df19092965d743c1a7d55ff3e6cb812a3ade85e4a5419f server/transforms/search/__init__.py
211
- 40329f5c2e7da5a487871caef331d9cb6bd94b3dd18ab5581e7cc63c87aafb8b server/transforms/search/base.py
213
+ 79f72a914511606c3c4083540fc198d9af27bf119f6bae078654d85e62c61cc8 server/transforms/search/base.py
212
214
  587b7a7523796b9f56c547104a48ef52da73990fc128b775579ccc92d2373fa8 server/transforms/search/bm25.py
213
215
  b81fef10f30d792bc261e76a0f97437a596febd76b67d9b46e264c45eeda770e server/transforms/search/regex.py
214
216
  e83d5c70c181f5145ebf4bd2fb4a808f6ebf4eb1ce9a052165a07d983045c44a server/transforms/tool_transform.py
@@ -218,23 +220,23 @@ d66e0f39358b3d410906d0c5fb6b5b09c908ebd2bb8da61130a0a6a89dafa428 settings.py
218
220
  1918d45032f08b689ad2d7f5df63e48b777266a81d4d0991a0415d5ff04bdfe7 telemetry.py
219
221
  fd1992e098123e61b8e2697dae56bc3d6311ea118c9dbdbac0197d7ad274b126 tools/__init__.py
220
222
  2fceb041133d3d9d38b172f9d87650a6a5c9a856c11a8f0c29c35a682c1a7232 tools/base.py
221
- d750e73263d2cd1b1fa184476d5256086858e7495ace3f26b32048eaeae39663 tools/function_parsing.py
223
+ 6c81a2724088ed9450dadf5ec0530c8adaaeb41772348f11f3bb689a00c8fd1f tools/function_parsing.py
222
224
  eb1f8951c3695227a91c32a9a3f52f7f68aaa1572b3ec22843b9e199774cdeaf tools/function_tool.py
223
225
  9e7fbcfde19d838b70cf25db2cc9ffa757cc69253ff245a3d578b683db3634f5 tools/tool_transform.py
224
226
  114f6988d2f7f28911d20afa9792106f76b723e8f4f8c09625e2310b7db438a3 types.py
225
227
  fa2989f12fab5e66d73167836a695d3fe7470ea00f83fc3098f573f8b357d781 utilities/__init__.py
226
228
  492b2b02870f7ae4f4cd4d07ddc26695fcdb20fb2b0ac38c062759b53a7bb2c2 utilities/asgi_transport.py
227
229
  455378f3edd87d92de0d4724899dbfcb8cd62807703ea3c518d418d5c2545955 utilities/async_utils.py
228
- 7b63cbc3a467c99ec262f658aec0a5e1c79514b6b77240ba6e7d86bffc67831a utilities/auth.py
230
+ cde0af6863c7ecaf5b43c5718d5a5186ebe83df93f4faabd484dc1b4cf5a1ae5 utilities/auth.py
229
231
  756eebcba1a9eabed3eb7f522df0ef90b0709147d46cf02e01224ead9b9e99b3 utilities/authorization.py
230
- a98fe36c4923efe99beddcd67677f1afe3fc56a86d262352e270141d0b208f6a utilities/cli.py
232
+ 29dbfbef524572917aa070b3565843e817d278a676fac2c9a9ecba51c1215269 utilities/cli.py
231
233
  98b26b250be5d7b91cb531e06b86ab026615b1561264a5548ad5829d09c3d7ce utilities/components.py
232
234
  26ad47158cd9685fed257fa096ff3d022e3cca9ff4dfc4df41fda47bfdcc8433 utilities/docstring_parsing.py
233
235
  26af5197f0c30342ec96338f37e7d0ee400674ac56e18f613de343df9b4c6022 utilities/exceptions.py
234
236
  d254480ddb82cb17eab1264cb27a06e4538980efdabc70abf4f23279f3c1c3aa utilities/http.py
235
- 5bd8fcffa8a384ed85bd4e251d111fd72345df1788c511611d61fdc51c40aea3 utilities/inspect.py
236
- eb2034d2a8a60daa08b6191420ef609e9e88a46527330d75c86e9f4645499edb utilities/json_schema.py
237
- 008236db5e99f0da390288f087be5fdcae34c7124c77c035ab8ad48d263d4ce2 utilities/json_schema_type.py
237
+ aa0204571cb55806ea28484ab4bf60018f95fce4c3c28f255f7f3c3eb5e2db1b utilities/inspect.py
238
+ bb8649c8eae84eaf835279bfaaafb766747dcf980c6a44c7fdbc6bc6b7a5f471 utilities/json_schema.py
239
+ d8e9daf7c4115a902e31ccf184b40ffd866eabf6ab787320753395b6adf9e54d utilities/json_schema_type.py
238
240
  41a30eee26f03f4232b3b0ab3e88bfc925feaa4c08077c80f06a7eb8b4c5e1c1 utilities/lifespan.py
239
241
  c9734ef52ddc7185828b7a51bee16cff935cc52fef29a7e5c102d76709139790 utilities/logging.py
240
242
  91d04debaa395607f66912bbf108371543dd38703c8fc15ffaa8bfea0d8b8344 utilities/mcp_server_config/__init__.py
@@ -242,7 +244,7 @@ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 utilities/mcp_
242
244
  3e0700699264439b4f892e4005ca983f40367b8a062e50f9e5e403c996751d6a utilities/mcp_server_config/v1/environments/__init__.py
243
245
  7db0b50b6e63235c21c172e5210b668e2e41e141072e02afc392bc34809bdf76 utilities/mcp_server_config/v1/environments/base.py
244
246
  f042a9930897b88c18b2e4f9b6858cd047b9ce4509d74dfd3e5a1362aea82c42 utilities/mcp_server_config/v1/environments/uv.py
245
- 81ac5609cb445ffdf0f5a4c87272925df7b01d12e9fb51fec4fe41390bd652d6 utilities/mcp_server_config/v1/mcp_server_config.py
247
+ 117b0d7366fff43b24a18086da180fe7cf82c2e5cc4fb26d2570122bd0ed5d40 utilities/mcp_server_config/v1/mcp_server_config.py
246
248
  ca60cd14e5b37299e120c7899953d3c3d6fe36d1e81e8aeef0c7345a5495c546 utilities/mcp_server_config/v1/schema.json
247
249
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 utilities/mcp_server_config/v1/sources/__init__.py
248
250
  639302c49ca80ec6b1701375cc32f4099b45e68017c53ff2a90388fb37bd6f7e utilities/mcp_server_config/v1/sources/base.py
@@ -250,12 +252,12 @@ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 utilities/mcp_
250
252
  99526bda0a6c8523eecb550bed72a03f815e379bca1ecaa870122a5af8e9a0ad utilities/mime.py
251
253
  6890003fe8e02d81f2c1fe4ed7866e50ebfff06b699d7308724ceaa9f413f701 utilities/openapi/README.md
252
254
  c833f7723b65b8bf55695ab67261860ce5b21532dc6d6a3c6e887cc12e35ab83 utilities/openapi/__init__.py
253
- 3015f816ee852d420df12d380d8b558d6e1635c12f110a210d144ce04a1b1f22 utilities/openapi/director.py
255
+ 2c1eaf1d52fa9dcd1d2472a18a90384f70f67ee5f70ec2af6184bb82d74a2484 utilities/openapi/director.py
254
256
  9eb89249d9644ba337379bbbc8140060ea6a5b642be1961d7cb214eed0cca404 utilities/openapi/formatters.py
255
257
  8521f1f6091a8cef4154db5342c017fafaf48876869153380b86f7eb741ffa8b utilities/openapi/json_schema_converter.py
256
258
  6d833c04a3bc731a66258221e5f15826a41e265e9c80898218ae226e29f4d612 utilities/openapi/models.py
257
259
  2e58bc03dd82687ef7a843474eb65c1f644eafe2c039eb0949a61cce8b313de9 utilities/openapi/parser.py
258
- a3a027b8cf02e7041865b3a5d4c511f7e5b72af88df109c6b8e4f0c898b3e0a1 utilities/openapi/schemas.py
260
+ 2360dd5e73d6d0ce62a0b083c491f1dfa638b7608f6f72e37eb97b2a1e322992 utilities/openapi/schemas.py
259
261
  9db69a1b408230d652ec39d89867449d504491aeda59fbc7285a14210575b7e3 utilities/pagination.py
260
262
  634850f693e36fc0e5c877581bdb7e990bfd7541676288170c6a1d1713755d46 utilities/prefab.py
261
263
  3db58fb4f30afb73083baeb8d94c9a23d9875980f091c19592b9eff89588764c utilities/skills.py
@@ -263,7 +265,7 @@ a3a027b8cf02e7041865b3a5d4c511f7e5b72af88df109c6b8e4f0c898b3e0a1 utilities/open
263
265
  63e6d25c67609e194c5e940602ccf0562ac1617ab33e6f5b5b05a55bfca9c31c utilities/tests.py
264
266
  6e158212fb4a31e14b309c7c65aefee8861ac62f8edb2ee06ba359e37df92c37 utilities/timeout.py
265
267
  0b105f303612c242d5be4569b185a3e9780b9749f693ba5392ebad223b5aa0d6 utilities/token_cache.py
266
- aa8d018a5c09f3322184688b4626b3a72dbc1da4b17f64e6bc638a1ae2c71cdf utilities/types.py
268
+ 546e18bbe53086f426eaff83e66441e1a1a3d0d5db9abd52e1d7d1192bc02388 utilities/types.py
267
269
  81c9e16bb563e31101c5dad2f3711994aa4dff8dc0433720899144be44eacea8 utilities/ui.py
268
- 3ec3a6eeda40bce166793f27a109c8f132b29b4125f781cfc2de220c22568b6a utilities/version_check.py
270
+ e15b4687d5f807a4a8421c49f0e40d13916fdec1c12b74273964e94156350491 utilities/version_check.py
269
271
  5e19b700a340ef7fd8974571de2aa190ef1acfc609547aaa1729704bfc241ae2 utilities/versions.py
@@ -1,2 +1,2 @@
1
- fastmcp-slim==4.0.10
1
+ fastmcp-slim==4.0.11
2
2
  Vendored by scripts/vendor_fastmcp.py — do not edit by hand.
@@ -32,7 +32,7 @@ from ha_mcp._vendor.fastmcp import _compat
32
32
 
33
33
  _compat.install()
34
34
 
35
- __version__ = "4.0.10"
35
+ __version__ = "4.0.11"
36
36
 
37
37
  if settings.deprecation_warnings:
38
38
  warnings.simplefilter("default", FastMCPDeprecationWarning)
@@ -95,7 +95,7 @@ def _make_resolver(app_name: str | None = None) -> Any:
95
95
 
96
96
  fmeta = get_fastmcp_meta(fn)
97
97
  except Exception:
98
- pass
98
+ logger.debug("Failed to resolve FastMCP metadata for %r", fn, exc_info=True)
99
99
 
100
100
  if fmeta is not None:
101
101
  name: str | None = getattr(fmeta, "name", None)
@@ -90,6 +90,11 @@ class AppConfig(BaseModel):
90
90
  to render and where the tool appears. On resources, those fields must
91
91
  be left unset (the resource itself is the UI).
92
92
 
93
+ `visibility` declares the intended audience; it is not a security boundary.
94
+ Direct MCP calls remain subject to authentication and authorization,
95
+ regardless of visibility. The server cannot distinguish model and app
96
+ callers on the same connection.
97
+
93
98
  All fields use ``exclude_none`` serialization so only explicitly-set
94
99
  values appear on the wire. Aliases match the MCP Apps wire format
95
100
  (camelCase).
@@ -101,9 +106,13 @@ class AppConfig(BaseModel):
101
106
  serialization_alias="resourceUri",
102
107
  description="URI of the UI resource (typically ui:// scheme). Tools only.",
103
108
  )
109
+ # Audience metadata, not access control: direct tools/call remains possible.
104
110
  visibility: list[Literal["app", "model"]] | None = Field(
105
111
  default=None,
106
- description="Where this tool is visible: 'app', 'model', or both. Tools only.",
112
+ description=(
113
+ "Intended audience: 'app', 'model', or both. Tools only. "
114
+ "Not a security boundary; direct calls use the server's authorization rules."
115
+ ),
107
116
  )
108
117
  csp: ResourceCSP | None = Field(
109
118
  default=None, description="Content Security Policy for the app iframe"
@@ -186,7 +195,10 @@ def app_config_to_meta_dict(app: AppConfig | dict[str, Any]) -> dict[str, Any]:
186
195
 
187
196
 
188
197
  def is_model_visible(component: FastMCPComponent) -> bool:
189
- """Whether a component may be shown to, or invoked by, the model.
198
+ """Whether a component belongs on model-facing discovery and proxy surfaces.
199
+
200
+ This is audience filtering, not authorization. Direct MCP calls do not
201
+ use this predicate and cannot identify model versus app callers.
190
202
 
191
203
  Visibility is a declaration, and the MCP Apps spec puts the filtering on
192
204
  the host — so ``tools/list`` carries app-only tools and the host keeps