ha-mcp-dev 8.5.0.dev2721__tar.gz → 8.5.0.dev2722__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.dev2721/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.5.0.dev2722}/PKG-INFO +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/pyproject.toml +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/README.md +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +3 -3
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +8 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +15 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/MANIFEST.in +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/setup.cfg +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/requirements.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/ha_request_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/http_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/az.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/de.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/en.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/es.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/it.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/settings_ui/settings.js +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tool_dispatch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/blueprint_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/blueprint_write.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/entity_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/log_sources_fault.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/scene_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transforms/component_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transforms/write_tool_note.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/dashboard_patch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/mcp_client_host.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/registry_update_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/tests/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/tests/test_constants.py +0 -0
- {ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/tests/test_env_manager.py +0 -0
|
@@ -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.dev2722"
|
|
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
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Agent skills for Home Assistant: best practices for automations, helpers, templates, scenes, blueprints, device control, dashboards, AppDaemon, and backups",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.34.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "home-assistant-skills",
|
|
3
3
|
"description": "Agent skills for Home Assistant: best practices for automations, helpers, templates, scenes, blueprints, device control, dashboards, AppDaemon, and backups.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.34.0",
|
|
5
5
|
"repository": "https://github.com/homeassistant-ai/skills",
|
|
6
6
|
"license": "MIT"
|
|
7
7
|
}
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/resources/skills-vendor/README.md
RENAMED
|
@@ -91,7 +91,7 @@ The `home-assistant-best-practices` skill includes:
|
|
|
91
91
|
| File | Purpose |
|
|
92
92
|
|------|---------|
|
|
93
93
|
| [`SKILL.md`](skills/home-assistant-best-practices/SKILL.md) | Decision workflow, anti-pattern table, and pointers to the reference files below |
|
|
94
|
-
| [`references/safe-refactoring.md`](skills/home-assistant-best-practices/references/safe-refactoring.md) | Safe workflow for renaming entities, replacing helpers, restructuring automations; config-entry and storage-dashboard blind spots |
|
|
94
|
+
| [`references/safe-refactoring.md`](skills/home-assistant-best-practices/references/safe-refactoring.md) | Safe workflow for renaming entities and their display names, replacing helpers, restructuring automations; display-name override, config-entry, and storage-dashboard blind spots |
|
|
95
95
|
| [`references/automation-patterns.md`](skills/home-assistant-best-practices/references/automation-patterns.md) | Purpose-specific and native triggers/conditions, waits, variables, automation modes, control flow (choose, repeat, parallel), disabling automations |
|
|
96
96
|
| [`references/helper-selection.md`](skills/home-assistant-best-practices/references/helper-selection.md) | Built-in helpers vs template sensors (with decision matrix) |
|
|
97
97
|
| [`references/template-guidelines.md`](skills/home-assistant-best-practices/references/template-guidelines.md) | When to use templates, when to avoid them, template sensor best practices, reusable `custom_templates` macros |
|
|
@@ -23,7 +23,7 @@ description: >
|
|
|
23
23
|
- Existing state changed with no recovery path
|
|
24
24
|
- Jinja copy-pasted between templates
|
|
25
25
|
metadata:
|
|
26
|
-
version: "
|
|
26
|
+
version: "34"
|
|
27
27
|
---
|
|
28
28
|
|
|
29
29
|
# Home Assistant Best Practices
|
|
@@ -36,7 +36,7 @@ Follow this sequence when creating any automation:
|
|
|
36
36
|
|
|
37
37
|
### 0. Gate: modifying existing config?
|
|
38
38
|
|
|
39
|
-
If your change affects entity IDs or cross-component references — renaming entities, replacing template sensors with helpers, converting device triggers, or restructuring automations — read [safe-refactoring](references/safe-refactoring.md) first. That reference covers impact analysis, device-sibling discovery, and post-change verification. Complete its workflow before proceeding.
|
|
39
|
+
If your change affects entity IDs, display names, or cross-component references — renaming entities or devices, replacing template sensors with helpers, converting device triggers, or restructuring automations — read [safe-refactoring](references/safe-refactoring.md) first. That reference covers impact analysis, device-sibling discovery, display-name overrides, and post-change verification. Complete its workflow before proceeding.
|
|
40
40
|
|
|
41
41
|
Steps 1-5 below apply to new config or pattern evaluation.
|
|
42
42
|
|
|
@@ -134,7 +134,7 @@ Read these when you need detailed information:
|
|
|
134
134
|
|
|
135
135
|
| File | When to read |
|
|
136
136
|
|------|--------------|
|
|
137
|
-
| [safe-refactoring](references/safe-refactoring.md) | Renaming entities, replacing helpers, restructuring automations, or any modification to existing config |
|
|
137
|
+
| [safe-refactoring](references/safe-refactoring.md) | Renaming entities or their display names, replacing helpers, restructuring automations, or any modification to existing config |
|
|
138
138
|
| [automation-patterns](references/automation-patterns.md) | Writing triggers, conditions, waits, variables, or choosing automation modes; capturing action responses; documenting/annotating steps; disabling automations; `continue_on_error`, stopping a sequence, repeat, if/then vs choose, parallel, trigger IDs |
|
|
139
139
|
| [helper-selection](references/helper-selection.md) | Deciding whether to use a built-in helper vs template sensor — aggregation, rate of change, thresholds, time-in-state, counting/timing, scheduling, grouping, probabilistic inference, smoothing, climate, domain conversion, decision matrix |
|
|
140
140
|
| [template-guidelines](references/template-guidelines.md) | Confirming templates ARE appropriate for a use case; sharing Jinja logic between templates with `custom_templates` macros |
|
|
@@ -386,7 +386,7 @@ Use the HA dashboard resource API to convert inline code to a hosted URL, then r
|
|
|
386
386
|
### Custom Card Workflow
|
|
387
387
|
|
|
388
388
|
1. Write the card JavaScript class (see Minimal Custom Card above)
|
|
389
|
-
2. Register it as a dashboard resource
|
|
389
|
+
2. Register it as a dashboard resource: `lovelace/resources/create` over WebSocket with `res_type: "module"` and `url`, or the Resources tab under Settings > Dashboards
|
|
390
390
|
3. Use the card in your dashboard config with the `custom:` prefix
|
|
391
391
|
|
|
392
392
|
```json
|
|
@@ -397,6 +397,12 @@ Use the HA dashboard resource API to convert inline code to a hosted URL, then r
|
|
|
397
397
|
}
|
|
398
398
|
```
|
|
399
399
|
|
|
400
|
+
**Resource caching:** `/local/` is served with `public, max-age=2678400`, a 31-day cache, in desktop browsers as well as the Companion app. Editing a registered `.js` file in place leaves clients on the old copy until it expires or the client clears its cache.
|
|
401
|
+
|
|
402
|
+
- HACS versions the plugin resource URLs it manages in storage (`?hacstag=<installed version>`), so a card installed through HACS is re-fetched on update. With YAML-mode resources HACS cannot update the URL, so that version string is yours to bump.
|
|
403
|
+
- A resource registered by hand needs the same: bump a version query string on the resource `url`, `/local/quick-status-card.js?v=2.0.0`. Only a changed URL forces every client to re-fetch, so renaming the element tag does not help; the cached module still registers the old tag name.
|
|
404
|
+
- A client already holding a stale copy needs a client-side fix: hard refresh, clear site data for the HA origin, or **Settings** > **Reset frontend cache** in the Companion app.
|
|
405
|
+
|
|
400
406
|
---
|
|
401
407
|
|
|
402
408
|
## CSS Styling
|
|
@@ -541,6 +547,7 @@ Custom cards predating sections views (early 2024) that haven't updated since ar
|
|
|
541
547
|
| Map card markers show entity-name initials instead of values | `label_mode` is a **per-entity** option, not card-level: `"entities": [{"entity": "sensor.x", "label_mode": "state"}]` |
|
|
542
548
|
| Cards lay out differently in spanned sections | A spanned section's grid widens with it (24 columns in a `column_span: 2` section) but is 12 when collapsed — see [Card Sizing and Responsive Layout](#card-sizing-and-responsive-layout) |
|
|
543
549
|
| Map entities missing from map card | Only entities with `latitude`/`longitude` attributes are plotted — use template sensors carrying coordinates as attributes for fixed locations |
|
|
550
|
+
| Custom card still stale after its file was updated | `/local/` is cached for 31 days: bump a version query string on the resource URL (`/local/my-card.js?v=2.0.0`), see [Custom Card Workflow](#custom-card-workflow). On a client already holding the old copy: hard refresh or **Settings** > **Reset frontend cache** in the Companion app |
|
|
544
551
|
|
|
545
552
|
---
|
|
546
553
|
|
|
@@ -23,7 +23,7 @@ Answer three questions before touching anything:
|
|
|
23
23
|
|
|
24
24
|
1. **What changes?** Entity ID, automation structure, sensor type, or trigger semantics.
|
|
25
25
|
2. **What sibling entities share the same device?** Query the device to list every entity it owns (battery sensor, update entity, diagnostic button). Plan changes for all siblings together.
|
|
26
|
-
-
|
|
26
|
+
- List the device's entities: `POST /api/template` with `{"template": "{{ device_entities(device_id('sensor.x')) }}"}`, or `config/entity_registry/list` over WebSocket (it takes no filter and returns every entry; keep the ones whose `device_id` matches), or inspect Settings > Devices. `GET /api/states/<entity_id>` returns one entity's state with no device field.
|
|
27
27
|
3. **Rename one entity or all device entities?** Devices bundle 2-6 entities. Renaming the primary but leaving siblings with the old naming scheme creates inconsistency.
|
|
28
28
|
|
|
29
29
|
### Step 2: Search ALL consumers
|
|
@@ -92,6 +92,20 @@ Dashboard cards reference entities in multiple places. Search all of these:
|
|
|
92
92
|
- Template card Jinja2 blocks
|
|
93
93
|
- `views[n].badges` — badge rows per view; badges are siblings of the cards array, not children, so any card-focused search will miss them — always search the full dashboard config
|
|
94
94
|
- `views[n].header.card` — sections view only (HA 2025.3+); the view header accepts a Markdown card that supports Jinja2 templates and may contain entity references; it is a sibling of the cards array and is not reachable via card-focused search
|
|
95
|
+
- `views[n].footer.card`: sections view only (HA 2026.3+); the view footer accepts a card that may contain entity references; like the header it is a sibling of the cards array and is not reachable via card-focused search
|
|
96
|
+
|
|
97
|
+
**Display names are a separate field (Step 3):**
|
|
98
|
+
|
|
99
|
+
`entity_id` and display name are stored independently, and renaming in the UI writes a *user override* rather than changing the value the integration supplied. The registry keeps both:
|
|
100
|
+
|
|
101
|
+
| Registry | Integration-supplied | User override |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| entity | `original_name` | `name` |
|
|
104
|
+
| device | `name` | `name_by_user` |
|
|
105
|
+
|
|
106
|
+
The override takes precedence for as long as it is set. If the integration later reports a corrected name — the device is renamed in its vendor app, a firmware update fixes a typo — the new value lands in the integration-supplied field and never reaches the UI, so the stale override looks like an integration bug to whoever finds it later.
|
|
107
|
+
|
|
108
|
+
Rename at the source when the source is what is wrong, and reserve the override for names HA itself owns. To annotate without shadowing — marking an entity unused, grouping for a dashboard — use labels or areas, which live in their own fields and survive a source-side rename. Clearing the override restores the inherited name.
|
|
95
109
|
|
|
96
110
|
---
|
|
97
111
|
|
|
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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/_install_hints.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/_warnings.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/app.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/approval.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/choice.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/config.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/form.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/apps/generative.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/caching.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/group.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/logging.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/client/progress.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/decorators.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/dependencies.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/mcp_config.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/resources/types.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/caching.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.5.0.dev2721 → ha_mcp_dev-8.5.0.dev2722}/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.dev2721 → ha_mcp_dev-8.5.0.dev2722}/src/ha_mcp/_vendor/fastmcp/server/http.py
RENAMED
|
File without changes
|