ha-mcp-dev 8.4.3.dev2627__tar.gz → 8.4.3.dev2629__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.4.3.dev2627/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.4.3.dev2629}/PKG-INFO +1 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/pyproject.toml +1 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/http_transport.py +44 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/en.json +1 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/settings.js +1 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/LICENSE +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/MANIFEST.in +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/README.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/setup.cfg +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/requirements.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/ha_request_queue.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/de.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/es.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/it.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tool_dispatch.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/blueprint_sources.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/blueprint_write.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/log_sources_fault.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/dashboard_patch.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/tests/__init__.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/tests/test_constants.py +0 -0
- {ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/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.4.3.
|
|
7
|
+
version = "8.4.3.dev2629"
|
|
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
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
-
from
|
|
6
|
+
from collections.abc import Iterator
|
|
7
|
+
from contextlib import contextmanager
|
|
8
|
+
from dataclasses import dataclass, field
|
|
9
|
+
from threading import Lock
|
|
7
10
|
from time import monotonic
|
|
8
11
|
from typing import Any
|
|
9
12
|
from uuid import uuid4
|
|
@@ -19,6 +22,42 @@ from .config import get_global_settings
|
|
|
19
22
|
logger = logging.getLogger(__name__)
|
|
20
23
|
|
|
21
24
|
|
|
25
|
+
@dataclass
|
|
26
|
+
class _DiagnosticLogLevel:
|
|
27
|
+
"""Shared ownership while HTTP app lifespans overlap during a restart."""
|
|
28
|
+
|
|
29
|
+
users: int = 0
|
|
30
|
+
previous_level: int = logging.NOTSET
|
|
31
|
+
changed: bool = False
|
|
32
|
+
lock: Lock = field(default_factory=Lock)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@contextmanager
|
|
36
|
+
def _diagnostic_logging() -> Iterator[None]:
|
|
37
|
+
"""Temporarily enable diagnostic records without changing other loggers."""
|
|
38
|
+
# Logger objects survive embedded-server module purges. Keep ownership on
|
|
39
|
+
# this logger so a retiring worker cannot reset its replacement's level.
|
|
40
|
+
state: _DiagnosticLogLevel = vars(logger).setdefault(
|
|
41
|
+
"_ha_mcp_http_diagnostics_level", _DiagnosticLogLevel()
|
|
42
|
+
)
|
|
43
|
+
with state.lock:
|
|
44
|
+
if state.users == 0:
|
|
45
|
+
state.previous_level = logger.level
|
|
46
|
+
state.changed = logger.getEffectiveLevel() > logging.INFO
|
|
47
|
+
if state.changed:
|
|
48
|
+
# Use the normal setter: HA's explicit per-logger overrides
|
|
49
|
+
# remain authoritative, and existing DEBUG levels stay intact.
|
|
50
|
+
logger.setLevel(logging.INFO)
|
|
51
|
+
state.users += 1
|
|
52
|
+
try:
|
|
53
|
+
yield
|
|
54
|
+
finally:
|
|
55
|
+
with state.lock:
|
|
56
|
+
state.users -= 1
|
|
57
|
+
if state.users == 0 and state.changed and logger.level == logging.INFO:
|
|
58
|
+
logger.setLevel(state.previous_level)
|
|
59
|
+
|
|
60
|
+
|
|
22
61
|
class HttpTransportFastMCP(FastMCP):
|
|
23
62
|
"""Apply instance HTTP experiments at the shared app-construction boundary.
|
|
24
63
|
|
|
@@ -117,6 +156,10 @@ class TransportDiagnostics:
|
|
|
117
156
|
self.path = path.rstrip("/")
|
|
118
157
|
|
|
119
158
|
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
|
|
159
|
+
if scope["type"] == "lifespan":
|
|
160
|
+
with _diagnostic_logging():
|
|
161
|
+
await self.app(scope, receive, send)
|
|
162
|
+
return
|
|
120
163
|
if scope["type"] != "http" or scope["path"].rstrip("/") != self.path:
|
|
121
164
|
await self.app(scope, receive, send)
|
|
122
165
|
return
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/en.json
RENAMED
|
@@ -449,7 +449,7 @@
|
|
|
449
449
|
"advanced.environment.label": "Environment",
|
|
450
450
|
"advanced.environment.help": "development or production. Affects logging verbosity. Restart required.",
|
|
451
451
|
"advanced.http_transport_diagnostics.label": "HTTP transport diagnostics",
|
|
452
|
-
"advanced.http_transport_diagnostics.help": "Experimental.
|
|
452
|
+
"advanced.http_transport_diagnostics.help": "Experimental. Automatically enable INFO logging for HTTP diagnostics while the server runs, without payloads or credentials. Other loggers are unchanged; explicit Home Assistant logger overrides and filters still apply. Does not confirm client receipt. HTTP only; restart required.",
|
|
453
453
|
"advanced.http_json_response.label": "JSON responses instead of streaming",
|
|
454
454
|
"advanced.http_json_response.help": "Experimental. Return a single JSON response instead of an SSE stream. Affects all HTTP clients on this server and disables streamed progress for these responses. HTTP only; restart required.",
|
|
455
455
|
"advanced.log_level.label": "Log level",
|
|
@@ -3981,7 +3981,7 @@ const ADVANCED_FIELD_META = {
|
|
|
3981
3981
|
environment: { label: "Environment", help: "'development' or 'production'. Affects logging verbosity. Restart required." },
|
|
3982
3982
|
log_level: { label: "Log level", help: "DEBUG/INFO/WARNING/ERROR/CRITICAL. Set once at startup; restart required." },
|
|
3983
3983
|
debug: { label: "Debug mode", help: "Verbose request logging. Logs sensitive data; do not enable in production. Restart required." },
|
|
3984
|
-
http_transport_diagnostics: { label: "HTTP transport diagnostics", help: "Experimental.
|
|
3984
|
+
http_transport_diagnostics: { label: "HTTP transport diagnostics", help: "Experimental. Automatically enable INFO logging for HTTP diagnostics while the server runs, without payloads or credentials. Other loggers are unchanged; explicit Home Assistant logger overrides and filters still apply. Does not confirm client receipt. HTTP only; restart required." },
|
|
3985
3985
|
http_json_response: { label: "JSON responses instead of streaming", help: "Experimental. Return a single JSON response instead of an SSE stream. Affects all HTTP clients on this server and disables streamed progress for these responses. HTTP only; restart required." },
|
|
3986
3986
|
code_mode_max_duration: { label: "Code-mode max duration (s)", help: "Wall-clock budget per sandbox run. Range 1–300. Restart required." },
|
|
3987
3987
|
code_mode_max_memory: { label: "Code-mode max memory (bytes)", help: "RSS cap per sandbox run. Range 1 MB–256 MB. Restart required." },
|
|
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.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/VENDORED
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/__main__.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.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/client.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/connection.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/frames.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/headers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/http11.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/imports.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/http.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/legacy/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/protocol.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/proxy.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/py.typed
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/streams.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/messages.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/router.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/sync/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/messages.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/router.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/trio/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/typing.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/_vendor/websockets/version.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
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/supervisor_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/client/websocket_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/capture.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/content.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/paths.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/provision.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/dashboard_screenshot/theme_guard.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
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/resources/skills-vendor/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
|
|
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.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_advanced.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_backups.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_fs.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_theme.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_handlers_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_locale_policy.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/_persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/README.md
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/cs.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/de.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/eo.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/es.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/fr.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/it.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/ko.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/nl.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/pl.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/ru.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/sv.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/tlh.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/zh-Hans.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.4.3.dev2627 → ha_mcp_dev-8.4.3.dev2629}/src/ha_mcp/settings_ui/locales/zh-Hant.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|