ha-mcp-dev 8.5.0.dev2704__tar.gz → 8.5.0.dev2708__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.
- {ha_mcp_dev-8.5.0.dev2704/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.5.0.dev2708}/PKG-INFO +4 -4
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/README.md +3 -3
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/pyproject.toml +1 -1
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708/src/ha_mcp_dev.egg-info}/PKG-INFO +4 -4
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/MANIFEST.in +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/setup.cfg +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/requirements.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/ha_request_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/http_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/az.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/de.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/en.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/es.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/it.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/settings_ui/settings.js +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tool_dispatch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/blueprint_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/blueprint_write.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/entity_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/log_sources_fault.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/scene_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transforms/component_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transforms/write_tool_note.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/dashboard_patch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/mcp_client_host.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/registry_update_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/tests/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/tests/test_constants.py +0 -0
- {ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/tests/test_env_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ha-mcp-dev
|
|
3
|
-
Version: 8.5.0.
|
|
3
|
+
Version: 8.5.0.dev2708
|
|
4
4
|
Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
|
|
5
5
|
Author-email: Julien <github@qc-h.net>
|
|
6
6
|
License: MIT
|
|
@@ -69,7 +69,7 @@ Dynamic: license-file
|
|
|
69
69
|
<!-- mcp-name: io.github.homeassistant-ai/ha-mcp -->
|
|
70
70
|
|
|
71
71
|
<p align="center">
|
|
72
|
-
<img src="https://img.shields.io/badge/tools-87-blue" alt="
|
|
72
|
+
<img src="https://img.shields.io/badge/tools-87-blue" alt="87 Tools">
|
|
73
73
|
<a href="https://github.com/homeassistant-ai/ha-mcp/releases"><img src="https://img.shields.io/github/v/release/homeassistant-ai/ha-mcp" alt="Release"></a>
|
|
74
74
|
<a href="https://github.com/homeassistant-ai/ha-mcp/actions/workflows/e2e-tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/homeassistant-ai/ha-mcp/e2e-tests.yml?branch=master&label=E2E%20Tests" alt="E2E Tests"></a>
|
|
75
75
|
<a href="LICENSE.md"><img src="https://img.shields.io/github/license/homeassistant-ai/ha-mcp.svg" alt="License"></a>
|
|
@@ -391,7 +391,7 @@ Skills can still be installed manually for clients that prefer local skill files
|
|
|
391
391
|
|
|
392
392
|
## 🔍 Tool Discovery for AI Agents
|
|
393
393
|
|
|
394
|
-
By default, the full tool catalog (~
|
|
394
|
+
By default, the full tool catalog (~87 tools) is listed to the client through the standard MCP `tools/list` response. Clients with deferred / on-demand tool loading (claude.ai, Claude Desktop, Claude Code) handle that fine — tools are pulled into context only when needed, so idle context cost is near-zero.
|
|
395
395
|
|
|
396
396
|
For setups *without* deferred tool support — models like Claude Haiku, Gemini, OpenAI-compatible local models and smaller open-weights models, or clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI) — listing the full tool catalog up front adds a lot of idle context and can overwhelm smaller models. To address that, the server ships with a **search-based discovery mode** built on top of FastMCP's BM25 search transform.
|
|
397
397
|
|
|
@@ -426,7 +426,7 @@ A `ha_manage_*` tool combines several operations, so it is reachable from more t
|
|
|
426
426
|
### When to enable
|
|
427
427
|
|
|
428
428
|
- **Claude Haiku, OpenAI-compatible local models, Gemini, or any model without native deferred tool support** — large idle-context savings. The same applies to clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI, even when running Claude Sonnet/Opus).
|
|
429
|
-
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of
|
|
429
|
+
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of 87.
|
|
430
430
|
- **Cost-sensitive deployments** — fewer idle tokens per turn.
|
|
431
431
|
|
|
432
432
|
Leave it off in clients with deferred tool loading (claude.ai, Claude Desktop, Claude Code); the full catalog has no idle cost there, direct calls skip the search step, and the client's built-in tool search is the better choice — there is no benefit to running ha-mcp's on top of it. Whether tools are deferred depends on the client and model combination: the same model can behave differently per client — GitHub Copilot CLI running Claude Sonnet/Opus inlines the full catalog and still benefits from tool search here. Some Codex models and ChatGPT include deferred tools too — check your client/model directly to confirm its features so you don't leave this enabled unnecessarily.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<!-- mcp-name: io.github.homeassistant-ai/ha-mcp -->
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<img src="https://img.shields.io/badge/tools-87-blue" alt="
|
|
11
|
+
<img src="https://img.shields.io/badge/tools-87-blue" alt="87 Tools">
|
|
12
12
|
<a href="https://github.com/homeassistant-ai/ha-mcp/releases"><img src="https://img.shields.io/github/v/release/homeassistant-ai/ha-mcp" alt="Release"></a>
|
|
13
13
|
<a href="https://github.com/homeassistant-ai/ha-mcp/actions/workflows/e2e-tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/homeassistant-ai/ha-mcp/e2e-tests.yml?branch=master&label=E2E%20Tests" alt="E2E Tests"></a>
|
|
14
14
|
<a href="LICENSE.md"><img src="https://img.shields.io/github/license/homeassistant-ai/ha-mcp.svg" alt="License"></a>
|
|
@@ -330,7 +330,7 @@ Skills can still be installed manually for clients that prefer local skill files
|
|
|
330
330
|
|
|
331
331
|
## 🔍 Tool Discovery for AI Agents
|
|
332
332
|
|
|
333
|
-
By default, the full tool catalog (~
|
|
333
|
+
By default, the full tool catalog (~87 tools) is listed to the client through the standard MCP `tools/list` response. Clients with deferred / on-demand tool loading (claude.ai, Claude Desktop, Claude Code) handle that fine — tools are pulled into context only when needed, so idle context cost is near-zero.
|
|
334
334
|
|
|
335
335
|
For setups *without* deferred tool support — models like Claude Haiku, Gemini, OpenAI-compatible local models and smaller open-weights models, or clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI) — listing the full tool catalog up front adds a lot of idle context and can overwhelm smaller models. To address that, the server ships with a **search-based discovery mode** built on top of FastMCP's BM25 search transform.
|
|
336
336
|
|
|
@@ -365,7 +365,7 @@ A `ha_manage_*` tool combines several operations, so it is reachable from more t
|
|
|
365
365
|
### When to enable
|
|
366
366
|
|
|
367
367
|
- **Claude Haiku, OpenAI-compatible local models, Gemini, or any model without native deferred tool support** — large idle-context savings. The same applies to clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI, even when running Claude Sonnet/Opus).
|
|
368
|
-
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of
|
|
368
|
+
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of 87.
|
|
369
369
|
- **Cost-sensitive deployments** — fewer idle tokens per turn.
|
|
370
370
|
|
|
371
371
|
Leave it off in clients with deferred tool loading (claude.ai, Claude Desktop, Claude Code); the full catalog has no idle cost there, direct calls skip the search step, and the client's built-in tool search is the better choice — there is no benefit to running ha-mcp's on top of it. Whether tools are deferred depends on the client and model combination: the same model can behave differently per client — GitHub Copilot CLI running Claude Sonnet/Opus inlines the full catalog and still benefits from tool search here. Some Codex models and ChatGPT include deferred tools too — check your client/model directly to confirm its features so you don't leave this enabled unnecessarily.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "8.5.0.
|
|
7
|
+
version = "8.5.0.dev2708"
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ha-mcp-dev
|
|
3
|
-
Version: 8.5.0.
|
|
3
|
+
Version: 8.5.0.dev2708
|
|
4
4
|
Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
|
|
5
5
|
Author-email: Julien <github@qc-h.net>
|
|
6
6
|
License: MIT
|
|
@@ -69,7 +69,7 @@ Dynamic: license-file
|
|
|
69
69
|
<!-- mcp-name: io.github.homeassistant-ai/ha-mcp -->
|
|
70
70
|
|
|
71
71
|
<p align="center">
|
|
72
|
-
<img src="https://img.shields.io/badge/tools-87-blue" alt="
|
|
72
|
+
<img src="https://img.shields.io/badge/tools-87-blue" alt="87 Tools">
|
|
73
73
|
<a href="https://github.com/homeassistant-ai/ha-mcp/releases"><img src="https://img.shields.io/github/v/release/homeassistant-ai/ha-mcp" alt="Release"></a>
|
|
74
74
|
<a href="https://github.com/homeassistant-ai/ha-mcp/actions/workflows/e2e-tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/homeassistant-ai/ha-mcp/e2e-tests.yml?branch=master&label=E2E%20Tests" alt="E2E Tests"></a>
|
|
75
75
|
<a href="LICENSE.md"><img src="https://img.shields.io/github/license/homeassistant-ai/ha-mcp.svg" alt="License"></a>
|
|
@@ -391,7 +391,7 @@ Skills can still be installed manually for clients that prefer local skill files
|
|
|
391
391
|
|
|
392
392
|
## 🔍 Tool Discovery for AI Agents
|
|
393
393
|
|
|
394
|
-
By default, the full tool catalog (~
|
|
394
|
+
By default, the full tool catalog (~87 tools) is listed to the client through the standard MCP `tools/list` response. Clients with deferred / on-demand tool loading (claude.ai, Claude Desktop, Claude Code) handle that fine — tools are pulled into context only when needed, so idle context cost is near-zero.
|
|
395
395
|
|
|
396
396
|
For setups *without* deferred tool support — models like Claude Haiku, Gemini, OpenAI-compatible local models and smaller open-weights models, or clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI) — listing the full tool catalog up front adds a lot of idle context and can overwhelm smaller models. To address that, the server ships with a **search-based discovery mode** built on top of FastMCP's BM25 search transform.
|
|
397
397
|
|
|
@@ -426,7 +426,7 @@ A `ha_manage_*` tool combines several operations, so it is reachable from more t
|
|
|
426
426
|
### When to enable
|
|
427
427
|
|
|
428
428
|
- **Claude Haiku, OpenAI-compatible local models, Gemini, or any model without native deferred tool support** — large idle-context savings. The same applies to clients that inline all tool schemas regardless of model (e.g. GitHub Copilot CLI, even when running Claude Sonnet/Opus).
|
|
429
|
-
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of
|
|
429
|
+
- MCP clients that cap total tool count (some cap at 100) — surfaces a minimal set (~10 tools) instead of 87.
|
|
430
430
|
- **Cost-sensitive deployments** — fewer idle tokens per turn.
|
|
431
431
|
|
|
432
432
|
Leave it off in clients with deferred tool loading (claude.ai, Claude Desktop, Claude Code); the full catalog has no idle cost there, direct calls skip the search step, and the client's built-in tool search is the better choice — there is no benefit to running ha-mcp's on top of it. Whether tools are deferred depends on the client and model combination: the same model can behave differently per client — GitHub Copilot CLI running Claude Sonnet/Opus inlines the full catalog and still benefits from tool search here. Some Codex models and ChatGPT include deferred tools too — check your client/model directly to confirm its features so you don't leave this enabled unnecessarily.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/_install_hints.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/_warnings.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/app.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/approval.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/choice.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/config.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/form.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/apps/generative.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/cli/generate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/caching.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/group.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/logging.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/messages.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/progress.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/roots.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/contrib/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/decorators.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/dependencies.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/mcp_config.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/prompts/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/resources/types.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/caching.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/http.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2704 → ha_mcp_dev-8.5.0.dev2708}/src/ha_mcp/_vendor/fastmcp/server/low_level.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|