ha-mcp-dev 7.7.0.dev682__tar.gz → 7.7.0.dev683__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.
Files changed (141) hide show
  1. {ha_mcp_dev-7.7.0.dev682/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.7.0.dev683}/PKG-INFO +1 -1
  2. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/pyproject.toml +1 -1
  3. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_deep.py +1 -1
  4. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_config_helpers.py +12 -12
  5. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_integrations.py +1 -1
  6. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
  7. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp_dev.egg-info/SOURCES.txt +1 -1
  8. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/LICENSE +0 -0
  9. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/MANIFEST.in +0 -0
  10. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/README.md +0 -0
  11. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/setup.cfg +0 -0
  12. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/__init__.py +0 -0
  13. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/__main__.py +0 -0
  14. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/_pypi_marker +0 -0
  15. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/_version.py +0 -0
  16. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/auth/__init__.py +0 -0
  17. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/auth/consent_form.py +0 -0
  18. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/auth/provider.py +0 -0
  19. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/backup_manager.py +0 -0
  20. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/client/__init__.py +0 -0
  21. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/client/rest_client.py +0 -0
  22. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/client/supervisor_client.py +0 -0
  23. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/client/websocket_client.py +0 -0
  24. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/client/websocket_listener.py +0 -0
  25. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/config.py +0 -0
  26. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  27. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  28. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  29. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/errors.py +0 -0
  30. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/__init__.py +0 -0
  31. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/approval_queue.py +0 -0
  32. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/evaluator.py +0 -0
  33. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/handlers.py +0 -0
  34. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/middleware.py +0 -0
  35. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/model.py +0 -0
  36. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/persistence.py +0 -0
  37. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/policy/value_sources.py +0 -0
  38. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/py.typed +0 -0
  39. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/read_only.py +0 -0
  40. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  41. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  42. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  43. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  44. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
  45. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  46. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  47. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  48. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  49. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  50. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  51. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  52. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  53. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  54. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  55. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  56. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  57. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  58. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  59. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  60. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  61. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  62. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/server.py +0 -0
  63. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/settings.css +0 -0
  64. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/settings.js +0 -0
  65. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/settings_ui.py +0 -0
  66. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/smoke_test.py +0 -0
  67. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  68. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/__init__.py +0 -0
  69. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/auto_backup.py +0 -0
  70. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/backup.py +0 -0
  71. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  72. /ha_mcp_dev-7.7.0.dev682/src/ha_mcp/tools/tools_config_entry_flow.py → /ha_mcp_dev-7.7.0.dev683/src/ha_mcp/tools/config_entry_flow.py +0 -0
  73. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/device_control.py +0 -0
  74. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/enhanced.py +0 -0
  75. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/helpers.py +0 -0
  76. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/reference_validator.py +0 -0
  77. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/registry.py +0 -0
  78. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  79. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  80. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  81. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  82. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  83. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  84. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  85. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  86. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_addons.py +0 -0
  87. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_areas.py +0 -0
  88. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  89. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  90. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_calendar.py +0 -0
  91. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_camera.py +0 -0
  92. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_categories.py +0 -0
  93. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_code.py +0 -0
  94. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  95. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  96. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  97. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  98. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  99. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_energy.py +0 -0
  100. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_entities.py +0 -0
  101. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  102. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_groups.py +0 -0
  103. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_hacs.py +0 -0
  104. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_history.py +0 -0
  105. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_labels.py +0 -0
  106. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
  107. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_registry.py +0 -0
  108. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_resources.py +0 -0
  109. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_search.py +0 -0
  110. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_service.py +0 -0
  111. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_services.py +0 -0
  112. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_system.py +0 -0
  113. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_todo.py +0 -0
  114. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_traces.py +0 -0
  115. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_updates.py +0 -0
  116. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_utility.py +0 -0
  117. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  118. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  119. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/tools_zones.py +0 -0
  120. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/util_helpers.py +0 -0
  121. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/tools/validation_middleware.py +0 -0
  122. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/transforms/__init__.py +0 -0
  123. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/transforms/categorized_search.py +0 -0
  124. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  125. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/__init__.py +0 -0
  126. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/config_hash.py +0 -0
  127. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/data_paths.py +0 -0
  128. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/domain_handlers.py +0 -0
  129. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  130. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  131. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/operation_manager.py +0 -0
  132. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/python_sandbox.py +0 -0
  133. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/skill_loader.py +0 -0
  134. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp/utils/usage_logger.py +0 -0
  135. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  136. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  137. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  138. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  139. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/tests/__init__.py +0 -0
  140. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/tests/test_constants.py +0 -0
  141. {ha_mcp_dev-7.7.0.dev682 → ha_mcp_dev-7.7.0.dev683}/tests/test_env_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.7.0.dev682
3
+ Version: 7.7.0.dev683
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "7.7.0.dev682"
7
+ version = "7.7.0.dev683"
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"
@@ -9,9 +9,9 @@ from fastmcp import Context
9
9
  from fastmcp.exceptions import ToolError
10
10
 
11
11
  from ...client.rest_client import HomeAssistantAPIError
12
+ from ..config_entry_flow import FLOW_HELPER_TYPES
12
13
  from ..helpers import exception_to_structured_error, safe_info, safe_progress
13
14
  from ..tools_config_dashboards import fetch_dashboards_list
14
- from ..tools_config_entry_flow import FLOW_HELPER_TYPES
15
15
  from ..tools_integrations import fetch_entry_options_with_status
16
16
  from ._config import (
17
17
  AUTOMATION_CONFIG_TIME_BUDGET,
@@ -19,14 +19,7 @@ from pydantic import AliasChoices, Field
19
19
  from ..client.rest_client import HomeAssistantAPIError
20
20
  from ..errors import ErrorCode, create_error_response
21
21
  from .auto_backup import with_auto_backup
22
- from .helpers import (
23
- exception_to_structured_error,
24
- log_tool_usage,
25
- raise_tool_error,
26
- register_tool_methods,
27
- validate_identifier_not_empty,
28
- )
29
- from .tools_config_entry_flow import (
22
+ from .config_entry_flow import (
30
23
  FLOW_HELPER_TYPES,
31
24
  create_flow_helper,
32
25
  fetch_helper_flow_info,
@@ -34,6 +27,13 @@ from .tools_config_entry_flow import (
34
27
  set_config_subentry,
35
28
  update_flow_helper,
36
29
  )
30
+ from .helpers import (
31
+ exception_to_structured_error,
32
+ log_tool_usage,
33
+ raise_tool_error,
34
+ register_tool_methods,
35
+ validate_identifier_not_empty,
36
+ )
37
37
  from .util_helpers import (
38
38
  apply_entity_category,
39
39
  attach_skill_content,
@@ -573,7 +573,7 @@ def get_simple_helper_schema(helper_type: str) -> list[_HelperFieldSpec] | None:
573
573
  Callers attach the result to validation-error context as ``data_schema``
574
574
  so the LLM sees field shape inline with a 4xx response, matching the
575
575
  auto-attach pattern already in use for flow helpers (see
576
- ``fetch_helper_flow_info`` in ``tools_config_entry_flow``).
576
+ ``fetch_helper_flow_info`` in ``config_entry_flow``).
577
577
  Returns ``None`` for any helper_type not in ``SIMPLE_HELPER_SCHEMAS``,
578
578
  so callers can write a single uniform ``if schema is not None: …`` branch.
579
579
  """
@@ -611,7 +611,7 @@ def _simple_helper_error_context(
611
611
  _MENU_ROOTED_FLOW_HELPER_TYPES: frozenset[str] = frozenset({"template", "group"})
612
612
 
613
613
  # Keys callers may pass inside ``config`` to select a menu branch — mirrors
614
- # ``_MENU_SELECTION_KEYS`` in ``tools_config_entry_flow.py`` (kept in parallel
614
+ # ``_MENU_SELECTION_KEYS`` in ``config_entry_flow.py`` (kept in parallel
615
615
  # rather than imported to avoid widening that module's surface).
616
616
  _MENU_CHOICE_CONFIG_KEYS: tuple[str, ...] = (
617
617
  "group_type",
@@ -627,7 +627,7 @@ def _extract_menu_choice_from_config(
627
627
 
628
628
  Returns the value of the first ``_MENU_CHOICE_CONFIG_KEYS`` key found in
629
629
  ``config_dict`` if it's a non-empty string, else ``None``. Mirrors
630
- ``_handle_menu_step`` in ``tools_config_entry_flow`` — without this,
630
+ ``_handle_menu_step`` in ``config_entry_flow`` — without this,
631
631
  ``_flow_helper_error_context`` falls back to ``menu_choice=None`` and
632
632
  silently omits ``data_schema`` for menu-rooted types
633
633
  (``template``/``group`` — the most common ones).
@@ -669,7 +669,7 @@ async def _flow_helper_error_context(
669
669
  )
670
670
  except Exception as e:
671
671
  # Mirror the breadcrumb in ``abort_config_flow``'s own swallow
672
- # (tools_config_entry_flow), so a fetch failure here doesn't
672
+ # (config_entry_flow), so a fetch failure here doesn't
673
673
  # disappear silently — this PR raises the call rate by 5 sites
674
674
  # and the swallow needs an audit-trail entry.
675
675
  logger.debug(
@@ -20,6 +20,7 @@ from ..client.rest_client import (
20
20
  )
21
21
  from ..errors import ErrorCode, create_error_response
22
22
  from .auto_backup import with_auto_backup
23
+ from .config_entry_flow import FLOW_HELPER_TYPES
23
24
  from .helpers import (
24
25
  exception_to_structured_error,
25
26
  log_tool_usage,
@@ -27,7 +28,6 @@ from .helpers import (
27
28
  register_tool_methods,
28
29
  validate_identifier_not_empty,
29
30
  )
30
- from .tools_config_entry_flow import FLOW_HELPER_TYPES
31
31
  from .tools_config_helpers import (
32
32
  SIMPLE_HELPER_TYPES,
33
33
  _get_entities_for_config_entry,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.7.0.dev682
3
+ Version: 7.7.0.dev683
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -62,6 +62,7 @@ src/ha_mcp/tools/__init__.py
62
62
  src/ha_mcp/tools/auto_backup.py
63
63
  src/ha_mcp/tools/backup.py
64
64
  src/ha_mcp/tools/best_practice_checker.py
65
+ src/ha_mcp/tools/config_entry_flow.py
65
66
  src/ha_mcp/tools/device_control.py
66
67
  src/ha_mcp/tools/enhanced.py
67
68
  src/ha_mcp/tools/helpers.py
@@ -77,7 +78,6 @@ src/ha_mcp/tools/tools_categories.py
77
78
  src/ha_mcp/tools/tools_code.py
78
79
  src/ha_mcp/tools/tools_config_automations.py
79
80
  src/ha_mcp/tools/tools_config_dashboards.py
80
- src/ha_mcp/tools/tools_config_entry_flow.py
81
81
  src/ha_mcp/tools/tools_config_helpers.py
82
82
  src/ha_mcp/tools/tools_config_scenes.py
83
83
  src/ha_mcp/tools/tools_config_scripts.py