ha-mcp-dev 7.5.0.dev513__tar.gz → 7.5.0.dev515__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.5.0.dev513/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.5.0.dev515}/PKG-INFO +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/pyproject.toml +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/config.py +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/errors.py +3 -3
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/server.py +554 -326
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/settings_ui.py +12 -31
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_addons.py +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_automations.py +5 -5
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_dashboards.py +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_helpers.py +2 -2
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_scenes.py +5 -5
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_scripts.py +5 -5
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_service.py +2 -2
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_yaml_config.py +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/transforms/categorized_search.py +76 -43
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/transforms/lite_docstrings.py +2 -2
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/tests/test_env_manager.py +16 -2
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/LICENSE +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/README.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/setup.cfg +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/smart_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev513 → ha_mcp_dev-7.5.0.dev515}/tests/test_constants.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.5.0.
|
|
7
|
+
version = "7.5.0.dev515"
|
|
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"
|
|
@@ -115,7 +115,7 @@ class Settings(BaseSettings):
|
|
|
115
115
|
|
|
116
116
|
# Lite docstrings — replace selected heavy tool descriptions with
|
|
117
117
|
# shorter variants that defer detailed guidance to the
|
|
118
|
-
# ``
|
|
118
|
+
# ``ha_get_skill_guide`` skill tool/resource.
|
|
119
119
|
# Reduces idle catalog token usage at the cost of relying on the LLM
|
|
120
120
|
# to actually consult the skill when it needs detail. Beta feature
|
|
121
121
|
# (issue #1062); a startup WARNING is emitted when enabled so
|
|
@@ -145,7 +145,7 @@ DEFAULT_SUGGESTIONS: dict[ErrorCode, list[str]] = {
|
|
|
145
145
|
"Entity domain must match the original domain",
|
|
146
146
|
],
|
|
147
147
|
ErrorCode.SERVICE_NOT_FOUND: [
|
|
148
|
-
"Use
|
|
148
|
+
"Use ha_get_skill_guide for documentation",
|
|
149
149
|
"Check the service name spelling",
|
|
150
150
|
"Verify the domain supports this service",
|
|
151
151
|
],
|
|
@@ -156,7 +156,7 @@ DEFAULT_SUGGESTIONS: dict[ErrorCode, list[str]] = {
|
|
|
156
156
|
ErrorCode.SERVICE_INVALID_ACTION: [
|
|
157
157
|
"Check available actions for this domain",
|
|
158
158
|
"Common actions: turn_on, turn_off, toggle",
|
|
159
|
-
"Use
|
|
159
|
+
"Use ha_get_skill_guide for documentation",
|
|
160
160
|
],
|
|
161
161
|
ErrorCode.SERVICE_CALL_FAILED: [
|
|
162
162
|
"Check the service parameters are correct",
|
|
@@ -169,7 +169,7 @@ DEFAULT_SUGGESTIONS: dict[ErrorCode, list[str]] = {
|
|
|
169
169
|
],
|
|
170
170
|
ErrorCode.CONFIG_INVALID: [
|
|
171
171
|
"Review the configuration format",
|
|
172
|
-
"Use
|
|
172
|
+
"Use ha_get_skill_guide for configuration help",
|
|
173
173
|
],
|
|
174
174
|
ErrorCode.CONFIG_MISSING_REQUIRED_FIELDS: [
|
|
175
175
|
"Check documentation for required fields",
|