ha-mcp-dev 7.9.0.dev750__tar.gz → 7.9.0.dev751__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.9.0.dev750/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.9.0.dev751}/PKG-INFO +1 -1
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/pyproject.toml +1 -1
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_helpers.py +50 -7
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/LICENSE +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/README.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/setup.cfg +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/settings_ui/settings.js +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/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.9.0.
|
|
7
|
+
version = "7.9.0.dev751"
|
|
8
8
|
description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
@@ -86,6 +86,23 @@ SIMPLE_HELPER_TYPES: frozenset[str] = frozenset(
|
|
|
86
86
|
}
|
|
87
87
|
)
|
|
88
88
|
|
|
89
|
+
# Stateful HA input helpers skip last-state restore when `initial` is stored in config
|
|
90
|
+
# (including false/0). See input_boolean/input_number async_added_to_hass in HA core.
|
|
91
|
+
_INITIAL_DISABLES_RESTORE_DESCRIPTION = (
|
|
92
|
+
"When set — even to false/0 — disables last-state restore and forces this "
|
|
93
|
+
"value on every HA restart. Omit unless you want the helper to reset to this "
|
|
94
|
+
"value on every restart instead of restoring its last state."
|
|
95
|
+
)
|
|
96
|
+
_INITIAL_PARAM_DESCRIPTION = (
|
|
97
|
+
"Initial value for applicable helper types. For "
|
|
98
|
+
"input_boolean, input_select, input_number, input_text, and input_datetime: "
|
|
99
|
+
"setting `initial` — even to false/0 — disables last-state restore and forces "
|
|
100
|
+
"that value on every HA restart; omit unless you want the helper to reset to "
|
|
101
|
+
"that value on every restart instead of restoring its last state. For counter, "
|
|
102
|
+
"`initial` is just the starting value — restore-on-restart is controlled "
|
|
103
|
+
"separately by `restore` (default True)."
|
|
104
|
+
)
|
|
105
|
+
|
|
89
106
|
|
|
90
107
|
# Bug 4b/7c/10/14 (issue #1150): per-helper-type allowlists of typed
|
|
91
108
|
# parameters. Inapplicable params are rejected at the top of the tool
|
|
@@ -233,7 +250,9 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
233
250
|
"required": False,
|
|
234
251
|
"selector": {"boolean": {}},
|
|
235
252
|
"description": (
|
|
236
|
-
"Initial state.
|
|
253
|
+
"Initial state. "
|
|
254
|
+
f"{_INITIAL_DISABLES_RESTORE_DESCRIPTION} "
|
|
255
|
+
"Accepts 'true'/'false'/'on'/'off'/'yes'/'no'/'1'/'0'."
|
|
237
256
|
),
|
|
238
257
|
},
|
|
239
258
|
],
|
|
@@ -257,7 +276,10 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
257
276
|
"name": "initial",
|
|
258
277
|
"required": False,
|
|
259
278
|
"selector": {"text": {}},
|
|
260
|
-
"description":
|
|
279
|
+
"description": (
|
|
280
|
+
"Initial value — must be one of `options`. "
|
|
281
|
+
f"{_INITIAL_DISABLES_RESTORE_DESCRIPTION}"
|
|
282
|
+
),
|
|
261
283
|
},
|
|
262
284
|
],
|
|
263
285
|
"input_number": [
|
|
@@ -302,7 +324,12 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
302
324
|
"selector": {"select": {"options": ["box", "slider"]}},
|
|
303
325
|
"description": "Default 'slider'.",
|
|
304
326
|
},
|
|
305
|
-
{
|
|
327
|
+
{
|
|
328
|
+
"name": "initial",
|
|
329
|
+
"required": False,
|
|
330
|
+
"selector": {"number": {}},
|
|
331
|
+
"description": _INITIAL_DISABLES_RESTORE_DESCRIPTION,
|
|
332
|
+
},
|
|
306
333
|
{"name": "icon", "required": False, "selector": {"text": {}}},
|
|
307
334
|
],
|
|
308
335
|
"input_text": [
|
|
@@ -330,7 +357,12 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
330
357
|
"selector": {"select": {"options": ["text", "password"]}},
|
|
331
358
|
"description": "Default 'text'.",
|
|
332
359
|
},
|
|
333
|
-
{
|
|
360
|
+
{
|
|
361
|
+
"name": "initial",
|
|
362
|
+
"required": False,
|
|
363
|
+
"selector": {"text": {}},
|
|
364
|
+
"description": _INITIAL_DISABLES_RESTORE_DESCRIPTION,
|
|
365
|
+
},
|
|
334
366
|
{"name": "icon", "required": False, "selector": {"text": {}}},
|
|
335
367
|
],
|
|
336
368
|
"input_datetime": [
|
|
@@ -362,7 +394,10 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
362
394
|
"name": "initial",
|
|
363
395
|
"required": False,
|
|
364
396
|
"selector": {"text": {}},
|
|
365
|
-
"description":
|
|
397
|
+
"description": (
|
|
398
|
+
"Initial value (datetime string). "
|
|
399
|
+
f"{_INITIAL_DISABLES_RESTORE_DESCRIPTION}"
|
|
400
|
+
),
|
|
366
401
|
},
|
|
367
402
|
{"name": "icon", "required": False, "selector": {"text": {}}},
|
|
368
403
|
],
|
|
@@ -373,7 +408,15 @@ SIMPLE_HELPER_SCHEMAS: dict[str, list[_HelperFieldSpec]] = {
|
|
|
373
408
|
"selector": {"text": {}},
|
|
374
409
|
"description": "Display name.",
|
|
375
410
|
},
|
|
376
|
-
{
|
|
411
|
+
{
|
|
412
|
+
"name": "initial",
|
|
413
|
+
"required": False,
|
|
414
|
+
"selector": {"number": {}},
|
|
415
|
+
"description": (
|
|
416
|
+
"Initial value. Counter restores its last value on restart by "
|
|
417
|
+
"default; control via `restore`."
|
|
418
|
+
),
|
|
419
|
+
},
|
|
377
420
|
{
|
|
378
421
|
"name": "min_value",
|
|
379
422
|
"required": False,
|
|
@@ -3583,7 +3626,7 @@ class HelperConfigTools:
|
|
|
3583
3626
|
initial: Annotated[
|
|
3584
3627
|
str | int | None,
|
|
3585
3628
|
Field(
|
|
3586
|
-
description=
|
|
3629
|
+
description=_INITIAL_PARAM_DESCRIPTION,
|
|
3587
3630
|
default=None,
|
|
3588
3631
|
),
|
|
3589
3632
|
] = None,
|
|
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.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/dashboard_screenshot/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/dashboard_screenshot/capture.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/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
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/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
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/best_practice_checker.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.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_entities.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_overview.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_scenes.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/smart_search/_scoring.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tool_search_hint_middleware.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-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_dashboard_screenshot.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
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/tools/validation_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/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
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp/utils/kill_signal_diagnostics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.9.0.dev750 → ha_mcp_dev-7.9.0.dev751}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|