ha-mcp-dev 8.3.0.dev2472__tar.gz → 8.3.0.dev2473__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.3.0.dev2472/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.3.0.dev2473}/PKG-INFO +1 -1
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/pyproject.toml +1 -1
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/en.json +4 -4
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/settings.js +4 -4
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/LICENSE +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/MANIFEST.in +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/README.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/setup.cfg +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/requirements.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/de.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/es.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/it.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/tests/__init__.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/tests/test_constants.py +0 -0
- {ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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.3.0.
|
|
7
|
+
version = "8.3.0.dev2473"
|
|
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
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/en.json
RENAMED
|
@@ -287,12 +287,12 @@
|
|
|
287
287
|
"backup.bulk.filter_required": "Set at least one filter (Domain, Entity, or age in days).",
|
|
288
288
|
"backup.bulk.confirm": "Delete all backups matching: {filters}?",
|
|
289
289
|
"backup.bulk.deleted": "Deleted {count} backup(s)",
|
|
290
|
-
"filesystem.custom.title": "Custom filesystem
|
|
291
|
-
"filesystem.custom.help": "Extra paths (one per line) that file tools may <strong>read and write</strong>.
|
|
290
|
+
"filesystem.custom.title": "Custom filesystem paths (advanced)",
|
|
291
|
+
"filesystem.custom.help": "Extra paths (one per line) that file tools may <strong>read and write</strong>. Config-relative paths, including exact filenames such as <code>sensor.yaml</code>, and paths under <code>/share</code>, <code>/media</code>, <code>/ssl</code>, and <code>/backup</code> are supported. Each entry allows that path and anything below it. You can also manage these paths in Home Assistant under Settings → Devices & Services → HA-MCP Custom Component → HA-MCP File & YAML Tools → Configure; both locations edit the same setting and apply changes immediately.",
|
|
292
292
|
"filesystem.custom.blocked": "Always blocked: {paths}, path traversal (<code>..</code>), and absolute paths outside allowed HAOS volumes.",
|
|
293
293
|
"filesystem.custom.enable_first": "Enable beta features and filesystem tools above to edit.",
|
|
294
|
-
"filesystem.custom.unavailable": "Custom
|
|
295
|
-
"filesystem.custom.save": "Save
|
|
294
|
+
"filesystem.custom.unavailable": "Custom paths are currently unavailable.",
|
|
295
|
+
"filesystem.custom.save": "Save paths",
|
|
296
296
|
"filesystem.custom.saved_rejected": "Saved. Rejected (blocked or invalid): {paths}",
|
|
297
297
|
"origins.env_locked": "Set via environment variable; unset it to edit here.",
|
|
298
298
|
"origins.addon_synced": "Synced to the app (add-on) Configuration tab. Restart required after save.",
|
|
@@ -1653,8 +1653,8 @@ function renderFsCustomPathsSubForm(parentEl, masterOn, fsOn) {
|
|
|
1653
1653
|
? d.deny_floor.join(', ')
|
|
1654
1654
|
: '.storage, secrets.yaml';
|
|
1655
1655
|
info.innerHTML =
|
|
1656
|
-
`<div class="feature-name">${escapeHtml(t('filesystem.custom.title', {}, 'Custom filesystem
|
|
1657
|
-
`<div class="feature-help">${tHtml('filesystem.custom.help', {}, 'Extra
|
|
1656
|
+
`<div class="feature-name">${escapeHtml(t('filesystem.custom.title', {}, 'Custom filesystem paths (advanced)'))}</div>` +
|
|
1657
|
+
`<div class="feature-help">${tHtml('filesystem.custom.help', {}, 'Extra paths (one per line) that file tools may <strong>read and write</strong>. Config-relative paths, including exact filenames such as <code>sensor.yaml</code>, and paths under <code>/share</code>, <code>/media</code>, <code>/ssl</code>, and <code>/backup</code> are supported. Each entry allows that path and anything below it. You can also manage these paths in Home Assistant under Settings → Devices & Services → HA-MCP Custom Component → HA-MCP File & YAML Tools → Configure; both locations edit the same setting and apply changes immediately.')}</div>` +
|
|
1658
1658
|
`<div class="feature-help">${tHtml('filesystem.custom.blocked', {paths: `<code>${escapeHtml(denyList)}</code>`}, 'Always blocked (cannot be added): {paths}, path traversal (<code>..</code>), and any absolute path outside the HAOS sibling volumes.')}</div>`;
|
|
1659
1659
|
|
|
1660
1660
|
const control = document.createElement('div');
|
|
@@ -1674,7 +1674,7 @@ function renderFsCustomPathsSubForm(parentEl, masterOn, fsOn) {
|
|
|
1674
1674
|
const note = document.createElement('div');
|
|
1675
1675
|
note.className = 'feature-locked-note';
|
|
1676
1676
|
note.textContent =
|
|
1677
|
-
d.reason || t('filesystem.custom.unavailable', {}, 'Custom
|
|
1677
|
+
d.reason || t('filesystem.custom.unavailable', {}, 'Custom paths are currently unavailable.');
|
|
1678
1678
|
control.appendChild(note);
|
|
1679
1679
|
} else {
|
|
1680
1680
|
const ta = document.createElement('textarea');
|
|
@@ -1684,7 +1684,7 @@ function renderFsCustomPathsSubForm(parentEl, masterOn, fsOn) {
|
|
|
1684
1684
|
const btn = document.createElement('button');
|
|
1685
1685
|
btn.id = 'fsCustomPathsSave';
|
|
1686
1686
|
btn.className = 'adv-save-btn';
|
|
1687
|
-
btn.textContent = t('filesystem.custom.save', {}, 'Save
|
|
1687
|
+
btn.textContent = t('filesystem.custom.save', {}, 'Save paths');
|
|
1688
1688
|
btn.addEventListener('click', saveFsCustomPaths);
|
|
1689
1689
|
const status = document.createElement('div');
|
|
1690
1690
|
status.id = 'fsCustomPathsStatus';
|
|
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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/VENDORED
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/client.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/connection.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/frames.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/headers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/http11.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/imports.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/auth.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/http.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/legacy/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/protocol.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/proxy.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/py.typed
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/streams.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/messages.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/router.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/sync/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/messages.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/router.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/trio/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/typing.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/_vendor/websockets/utils.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/supervisor_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/client/websocket_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/capture.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/content.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/paths.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/dashboard_screenshot/provision.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_advanced.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_backups.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_fs.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_server.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_theme.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_handlers_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_locale_policy.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/_persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/README.md
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/cs.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/de.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/eo.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/es.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/fr.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/it.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/ko.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/nl.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/pl.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/ru.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/sv.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/tlh.json
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/settings_ui/locales/zh-Hans.json
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.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_result.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/best_practice_variables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_config_entries.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_config_reads.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_registries.py
RENAMED
|
File without changes
|
{ha_mcp_dev-8.3.0.dev2472 → ha_mcp_dev-8.3.0.dev2473}/src/ha_mcp/tools/component_registry_lookup.py
RENAMED
|
File without changes
|