ha-mcp-dev 7.12.3.dev1914__tar.gz → 7.12.3.dev1917__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-7.12.3.dev1914/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.12.3.dev1917}/PKG-INFO +1 -1
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/pyproject.toml +1 -1
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/settings_ui/__init__.py +29 -2
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/LICENSE +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/README.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/setup.cfg +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/settings_ui/settings.js +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/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 = "7.12.3.
|
|
7
|
+
version = "7.12.3.dev1917"
|
|
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
|
|
@@ -1982,12 +1982,39 @@ def build_settings_handlers(
|
|
|
1982
1982
|
),
|
|
1983
1983
|
status_code=400,
|
|
1984
1984
|
)
|
|
1985
|
-
|
|
1985
|
+
# Require the nested ``{"flags": {...}}`` shape. A flat body
|
|
1986
|
+
# (e.g. ``{"enable_lite_docstrings": true}``) has no ``flags``
|
|
1987
|
+
# key, so a lenient ``body.get("flags", {})`` default silently
|
|
1988
|
+
# dropped every field and still returned
|
|
1989
|
+
# ``success=True``/``restart_required=True`` — worse than a
|
|
1990
|
+
# visible no-op, because the caller believed the flag changed
|
|
1991
|
+
# and a restart was pending when nothing happened (#1840).
|
|
1992
|
+
raw_flags = body.get("flags")
|
|
1986
1993
|
if not isinstance(raw_flags, dict):
|
|
1987
1994
|
return JSONResponse(
|
|
1988
1995
|
create_error_response(
|
|
1989
1996
|
ErrorCode.VALIDATION_INVALID_PARAMETER,
|
|
1990
|
-
"
|
|
1997
|
+
"Request body must contain a 'flags' object mapping "
|
|
1998
|
+
'field names to values, e.g. {"flags": '
|
|
1999
|
+
'{"enable_lite_docstrings": true}}. A flat body such '
|
|
2000
|
+
'as {"enable_lite_docstrings": true} is not accepted.',
|
|
2001
|
+
suggestions=[
|
|
2002
|
+
'Wrap the flags in a "flags" object, e.g. '
|
|
2003
|
+
'{"flags": {"enable_lite_docstrings": true}}.',
|
|
2004
|
+
],
|
|
2005
|
+
),
|
|
2006
|
+
status_code=400,
|
|
2007
|
+
)
|
|
2008
|
+
if not raw_flags:
|
|
2009
|
+
return JSONResponse(
|
|
2010
|
+
create_error_response(
|
|
2011
|
+
ErrorCode.VALIDATION_INVALID_PARAMETER,
|
|
2012
|
+
"'flags' object is empty; include at least one "
|
|
2013
|
+
"feature-flag field to update.",
|
|
2014
|
+
suggestions=[
|
|
2015
|
+
'Include at least one field inside "flags", e.g. '
|
|
2016
|
+
'{"flags": {"enable_lite_docstrings": true}}.',
|
|
2017
|
+
],
|
|
1991
2018
|
),
|
|
1992
2019
|
status_code=400,
|
|
1993
2020
|
)
|
|
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-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/supervisor_client.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/websocket_client.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/client/websocket_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/capture.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/content.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/paths.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/dashboard_screenshot/provision.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
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/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
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/settings_ui/settings.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/stdio_settings_sidecar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/config_entry_flow.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-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/reference_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_base.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_config.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_deep.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_entities.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_fetch.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_overview.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_scenes.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/smart_search/_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_blueprints.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_bug_report.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_scenes.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_filesystem.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_mcp_component.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
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/tools_yaml_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/tools/validation_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/transforms/lite_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/kill_signal_diagnostics.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/utils/operation_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp/visibility/persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/requires.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.12.3.dev1914 → ha_mcp_dev-7.12.3.dev1917}/src/ha_mcp_dev.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|