ha-mcp-dev 9.0.0.dev3111__tar.gz → 9.0.0.dev3114__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-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/PKG-INFO +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/pyproject.toml +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/pyproject.toml.orig +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +70 -70
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +1 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/VENDORED +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/__init__.py +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +84 -18
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +2 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +7 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/client.py +84 -13
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +3 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +9 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +4 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +10 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +3 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +3 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +13 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +12 -9
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +8 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +11 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +9 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/base.py +2 -30
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/template.py +13 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/types.py +7 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +133 -17
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +13 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +14 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +27 -5
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +28 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +34 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +44 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +11 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/context.py +7 -9
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +8 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +42 -11
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/http.py +38 -13
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +6 -8
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +4 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +5 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +5 -8
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +17 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +8 -5
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +1 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +4 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +4 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +5 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +13 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +10 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +18 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +37 -22
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +17 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +3 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/server.py +7 -2
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +9 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +12 -5
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +9 -6
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +20 -9
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +24 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/settings.py +17 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +35 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +61 -19
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +12 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +7 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +29 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +15 -5
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +11 -5
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +103 -7
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +45 -6
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +114 -38
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +107 -41
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +34 -12
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +13 -4
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/requirements.txt +1 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +4 -3
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/categorized_search.py +4 -1
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev_security.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/mixins/extensions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_request_clock.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/app_discovery.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_dashboards.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_diff.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_entity_ids.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_helper_target.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_integrations.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_tags.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/backup_zones.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/admin_routes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/models.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config_backup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config_meta.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config_overrides.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config_registry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/config_settings.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/ha_request_queue.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/http_transport.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/image_info.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/decision_pin.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/decisions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/events.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/mrtr.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/server_channels.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/server_instructions.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/server_lifespan.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/server_tool_text.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_oauth_callbacks.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/az.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/de.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/en.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/es.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/it.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/settings_ui/settings_js/10_oauth_callbacks.js +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tool_dispatch.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/area_messages.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/backup_access.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/backup_on_demand.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/blueprint_sources.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/blueprint_write.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/bug_report_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/bug_report_templates.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/coercion.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_helper_collections.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_backup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/create.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/icon_route.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/update.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_write_errors.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/config_write_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/core_contract.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/dashboard_card_describe.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/dev_backup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/device_enrichment.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/energy_preferences.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/entity_registration.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/entity_removal.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/entity_update_fields.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/flow_helper_lookup.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/helper_flows.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/history_response.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/integration_entry_state.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/log_sources_fault.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/log_sources_logbook.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/recorder_errors.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/response_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/scene_discovery.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/component.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/entities.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/legacy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/modes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/overview.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/response.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/search/state.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/server_version.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/statistics_calendar.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/statistics_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/statistics_resets.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/system_restart.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tool_hints.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/tools/ws_waiters.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/compact_params.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/component_helpers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/component_search.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transforms/write_tool_note.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/dashboard_patch.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/mcp_client_host.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/registry_update_lock.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/visibility/resolver.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "9.0.0.
|
|
7
|
+
version = "9.0.0.dev3114"
|
|
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.15"
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "9.0.0.
|
|
7
|
+
version = "9.0.0.dev3114"
|
|
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-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
43070e2d4e532684de521b885f385d0841030efa2b1a20bafb76133a5e1379c1 LICENSE
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
11d0a755adccd0b0921b2bdf3754840b95a3cd48c3c83bd061ca2d67568903c1 REQUIRES.txt
|
|
3
|
+
508f65b3ae2f9a5b36b94b8d502da37f83eec9a245a47e5fba4c4b8cc2a896d2 VENDORED
|
|
4
|
+
ecaf01eb0f0a29d863aaaf4440324b86d65aab40189a95d29e0fb0e25e19f9e1 __init__.py
|
|
5
5
|
2ae9ce0d217923abf551b6f8bcf08e516529b9a6abab160bab5d8c9b7e245c3d _compat.py
|
|
6
6
|
0fe101433a655a48e5fd1dde0c75879f3a74f9092d2b935bd71fad19bcfb77a1 _install_hints.py
|
|
7
7
|
a9c59fe78564360444de04484a2b0906569fb58408be3c968be3f81a5e3015a4 _warnings.py
|
|
@@ -10,17 +10,17 @@ d5a7cf7be1b90a54cb2aa34b4c52f16a627365756bae2799f8a1e8bfc19e3be1 apps/app.py
|
|
|
10
10
|
43c543658ba0dfdd7622b42c6d9c1bd18ac1b5516d6f64e984bc21f5491968cc apps/approval.py
|
|
11
11
|
ebc30d58d7be55717fdd0d2c8c3691e2d42e5e7ae7a6edca6a1aaeef06a6390e apps/choice.py
|
|
12
12
|
f37ca3568e62ff272436263dba64baf712c4ee05e9c92c047c697f1fc8e6cebf apps/config.py
|
|
13
|
-
|
|
13
|
+
57fae4965441df62add5ce352e89a5a7a9d12c867046db27676aae7adfb202ec apps/file_upload.py
|
|
14
14
|
8b2e94be32a1e5753d06cd79af72f10f73f6959069db664f25d490f16f2450fc apps/form.py
|
|
15
|
-
|
|
15
|
+
1912a7eb64b0c1f63c6a55a140b79da643c9bc6a7c48328e0522facebd75bd07 apps/generative.py
|
|
16
16
|
1f3d55a17ea1a14a11eb4f4c47ae4a23bf27180135879c4a681619c616d4c84d cli/__init__.py
|
|
17
17
|
f7e802853b93ea231afe35bf6512bb8659f6ce31f5e2d788cbec70206b73ec6c cli/__main__.py
|
|
18
18
|
4bd9a6ab3a2584ad11e1f77883dfb1c7c9f80be9fd0c31ce89cce16a31f55375 cli/apps_dev.py
|
|
19
19
|
25706d223a4a0bf6aeee9d998b6c2cc35a43f599b26b8da10188ffd632488412 cli/apps_dev_security.py
|
|
20
20
|
69c000d140b8cd9e48a0feddf08fd5a7d8735f719f7443f34cb89caeea58d29f cli/auth.py
|
|
21
21
|
c0b3e37538968d37ff03613bee536e83840c5a7bd6003fdac39b17e1f210fc15 cli/cimd.py
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
6dcfdc9f45db5fc244740670ca4b14003cfb066d86d3dd04dad1e0032173f50b cli/cli.py
|
|
23
|
+
376435585f0cc1fea0bbd56b13448bef76174cedc6d8d78e4be4ad378536f30a cli/client.py
|
|
24
24
|
e957afa2f01583177872973ad9ee3870b59353ef03aaaf716a27454c3c1be945 cli/deploy/__init__.py
|
|
25
25
|
f0b119ec65bcfbadbe610b676fb3054c7dd55bd1ef8bd37325afe1f9c85e696b cli/deploy/authentication.py
|
|
26
26
|
4e8d460c536d638ed6ddf1f44e21723b5aef4df3d822a80da791f0d96bf7d50c cli/deploy/command.py
|
|
@@ -28,16 +28,16 @@ f0b119ec65bcfbadbe610b676fb3054c7dd55bd1ef8bd37325afe1f9c85e696b cli/deploy/aut
|
|
|
28
28
|
d15ffc90ed6c4ee53c00bf0d3a0ecb7f73b0c5cdb2e2acb4299888bb8463f944 cli/deploy/credentials.py
|
|
29
29
|
a7457cd7975c6438acbe3a576a4ef26c432256e3ce32e1b4e41778666dc10a21 cli/deploy/horizon_client.py
|
|
30
30
|
ed9553af547b8efd7c518f64d0aa1d022639307d6bbf4e81411ba1a5b7011a61 cli/deploy/output.py
|
|
31
|
-
|
|
31
|
+
815b6c10d26fdc4e7fe50d76194c0fc34c19baa0d87b31ca83494cd64d87b2ce cli/deploy/state.py
|
|
32
32
|
e2ccacdd93ce5498809b611d628f0cd002d860eaa36376d659d4f8dab355f269 cli/discovery.py
|
|
33
|
-
|
|
33
|
+
a1fc7bb7eb835b9e6bad14b9fb593d585b9f7646f59c892f0cfbd5c24959ada1 cli/generate.py
|
|
34
34
|
3064643d52a2ee08d78b9c9f859e7e6365841ddc8a4ee3cb32bab5adf86c241b cli/install/__init__.py
|
|
35
35
|
bed3123c8e5ef639b4aba8c12b023cd75076101e7c4ac69759fb28675ead764a cli/install/claude_code.py
|
|
36
36
|
53ccf776aee80eda7c0ade5a9e5d5e6482ef96fe76385cea302fed3969440dd3 cli/install/claude_desktop.py
|
|
37
37
|
16276f0330a8762a549378892038fea1ac8ccbfbe603fbe1a239dbb4d493409b cli/install/cursor.py
|
|
38
38
|
dfaff2c1daef9ffdbbbbbabd616ad128d26b749e1faf17d868a52d0616b8df78 cli/install/gemini_cli.py
|
|
39
39
|
c033cdb08bb526c2ea5fb8f1d5574318188d6d88bdf3a549f495e03376d492a0 cli/install/goose.py
|
|
40
|
-
|
|
40
|
+
8c388f675bc3e6226bc3bb48f100c5ebf3631371b068ae7631202c283ecda764 cli/install/mcp_json.py
|
|
41
41
|
2a5e03919735ef98f08380a6ed9001d7a99321bbb926522954b53b553d37d887 cli/install/shared.py
|
|
42
42
|
fc192e680cf06cc032ec80bfd663adbbfd80650b4a48fe4bfce5b71516c72f25 cli/install/stdio.py
|
|
43
43
|
5acfbc12c60d32a091fced0bb0750f3a4be7e9ccf246ff8b6849357831d1cbdf cli/run.py
|
|
@@ -46,11 +46,11 @@ c2ccfa385e1ac971ca62bb3411f7922b773c2ebbf717368150ae9f9849cc996b client/_sdk_co
|
|
|
46
46
|
c1bb592687a240305e777178e6684d08f788a6c1559b1c4ee3086160268c934a client/auth/__init__.py
|
|
47
47
|
f23abd973d004567dacf840728835c74bd94963ab48355990ee27879b598c7a5 client/auth/bearer.py
|
|
48
48
|
e96f4731af86d4755a597300926782f82219aee6d03fd760698f2c4db66ab8d3 client/auth/client_credentials.py
|
|
49
|
-
|
|
49
|
+
47360239f1461d81aa7dda16f677ef31476b2cc6c801a3de9cc9d50b3e9fc318 client/auth/oauth.py
|
|
50
50
|
b7f310d25afea2deec36a8ad055cf81827feaac934d1391a05b7cc92b2c9e5d6 client/caching.py
|
|
51
51
|
43c887efd89e4f089bb7360e864a39fe210ca6db59f711182aaf38d044020405 client/client.py
|
|
52
52
|
ec3d69cbdc6d1331b028afad95616431d6bd02e91a2bcd76a12c30b6618f3d88 client/dependencies.py
|
|
53
|
-
|
|
53
|
+
aab079f50b8a4d6cf0f8d90998025989558b37527fbb7e2c4ca4c583cf8d3d23 client/elicitation.py
|
|
54
54
|
abdc07c2ae78249cfb095295120a982db23a7cfbbe90ec50ce5f964475c981e3 client/extension_hooks.py
|
|
55
55
|
a7fe536d6fc5dbad6a2c8d34b3b8074a0c28e7572ee69c7d816ef8fd4617f2e9 client/group.py
|
|
56
56
|
0648016833612089c873938a63d69cded6336e8c8d9867e9412d4e2dac9c2f97 client/logging.py
|
|
@@ -58,19 +58,19 @@ a7fe536d6fc5dbad6a2c8d34b3b8074a0c28e7572ee69c7d816ef8fd4617f2e9 client/group.p
|
|
|
58
58
|
01e24f9b114fd85aacd62fb99631adedb23e5293e9e72cfc9b2680035364c7a9 client/mixins/__init__.py
|
|
59
59
|
a286df8775a6de31aa19ff6f26002a6f612a9ab36acf4e8629b52da44e406da4 client/mixins/prompts.py
|
|
60
60
|
26c5c96f8ffa53ebf035667efde96418750eebeb016c6d79ab2f5f4fe087718e client/mixins/resources.py
|
|
61
|
-
|
|
61
|
+
e854e5421f880b3a57ff6ed2e16cba80054bf68395a83b704085d33eb3c40abd client/mixins/tools.py
|
|
62
62
|
e418845c0228e016596d96d1a962f2d0ccb814f7b769ee0b08e9f158de44fe89 client/oauth_callback.py
|
|
63
63
|
c3a98f99610d06c9b95fd9df0f7acefacbfc4756a9f62bbd0a64df880ccd01ca client/progress.py
|
|
64
64
|
5aa421cd60f10be7bdab46641ade22e90e41bf6a6226cb2d26814fb53ffcf406 client/roots.py
|
|
65
65
|
d759cb6643a356a15c4537185597567349fe713beae579c48e48ed65ec35cbb0 client/sampling/__init__.py
|
|
66
66
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 client/sampling/handlers/__init__.py
|
|
67
|
-
|
|
67
|
+
94482ea2770db4934d95ca73f0fb0bab6377b11ae09a9db1e9571e971295ac36 client/sampling/handlers/anthropic.py
|
|
68
68
|
74b2ef4eaf706dacbdbeb060ccfaf5036e7053a0db51e7367fd2450ce892b3f5 client/sampling/handlers/google_genai.py
|
|
69
69
|
a41ee550a4a16f8965afe7eb9e5afc4fb94e1683afab9777857dfb1917e0ab7a client/sampling/handlers/openai.py
|
|
70
70
|
dd343adbd063873c835400ae2c30dcfd451acf2712c347244bca63c0d7e1ae51 client/telemetry.py
|
|
71
71
|
51f921337c5f1d3f6ec7fb01757f7f6c834b5eaf27d26f9d789a9ea5baf97cd2 client/transports/__init__.py
|
|
72
72
|
fce497b3dee5365815b94eae083243a75fcb9bd53cc173303f2bed4d5ed35324 client/transports/base.py
|
|
73
|
-
|
|
73
|
+
c3f58b1274d23f3a93cf9c1cf1835da5b54c92243d3693956cba863fb1f5ed15 client/transports/config.py
|
|
74
74
|
07d57e12d14c961f9f15709bfe88bf7534a8212818e105ab90a413f2d855ca6b client/transports/http.py
|
|
75
75
|
a2fc0c9ba36479b0d79b53b9d43a2ddc0d054a71444437a1b6be5d02228504de client/transports/inference.py
|
|
76
76
|
cd5fdcdb90616756ed695d7d57a30cb420d06c57b776615e81bac2c596b5ec17 client/transports/memory.py
|
|
@@ -88,155 +88,155 @@ fd6536eb022a9fd828ee088b1bc18b55e050b15b3011d9f33ebc409968cd6624 contrib/compon
|
|
|
88
88
|
7fa8a77bacfd92e131d6a2a163d8f3ac7eac0308f5a16a5770b5c6bcad063159 contrib/mcp_mixin/README.md
|
|
89
89
|
cd914794019ec542420cb020e29ec21990e66fe9a03dd375c55bf4b51e2683b2 contrib/mcp_mixin/__init__.py
|
|
90
90
|
b4366708cf2d38d3d57b861bbc55df24ab9fe7f8ae1d35735e07b392016a18f6 contrib/mcp_mixin/example.py
|
|
91
|
-
|
|
91
|
+
ce35c0554fc4f577ab872a3ac15f4b3b522e16413b453fb47dc95017b5b86f51 contrib/mcp_mixin/mcp_mixin.py
|
|
92
92
|
7e315c8f08c26dac4574ba10fb47a44defda430ed327ff86c947d97dfd289c87 decorators.py
|
|
93
93
|
54661379a1abca002b693c38a2218d825cf458f7b5b899cfcc92afc15b54a2d9 dependencies.py
|
|
94
94
|
65d2365c668228499112fdf649f35e93f7af4dc652cd08012c67ea6abb55d46a exceptions.py
|
|
95
95
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 experimental/__init__.py
|
|
96
96
|
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b experimental/transforms/__init__.py
|
|
97
|
-
|
|
97
|
+
a97731788c972f91efd9d789036042d14fd0732d38dff293834af8b4d41beb30 experimental/transforms/code_mode.py
|
|
98
98
|
34acdc402ef277f44a92d4b3c32459a9b55c19712dac82007ec5052e92b80fc4 experimental/transforms/jev_search.py
|
|
99
99
|
a08727048d5bdc6f513fd4161f1a53ae1ffbcf387cc62b6319317946814cd4c5 mcp_config.py
|
|
100
100
|
353a26dc9d40c4e682ebc1411838ee0920a759ced021d264057b86c0335f1a24 prompts/__init__.py
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
32e11edc2ab6c83c5c4499a7e2f12f41eace5cb522ce7a508015355425f07df8 prompts/base.py
|
|
102
|
+
21d1fa531c37e5525257218d605ba73efeada2548f42ae0b86bebe731b0cee95 prompts/function_prompt.py
|
|
103
103
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 py.typed
|
|
104
104
|
b5074534e408ad9f8e5a325076e1549cecd0a0c8c7ddfbf016fa3b041c3509cb resources/__init__.py
|
|
105
|
-
|
|
105
|
+
dc4c1e42dd8dbedc65381fafcc7de28a6751fa27041a29aab2f1eeef9097877f resources/base.py
|
|
106
106
|
6c5f589e472b41840b5c1777663495efbdede20e1aeb7adfccaa4360ac4a8a67 resources/function_resource.py
|
|
107
107
|
1617d885ef49690595e063c5453476a7adb84503f31bd8d37c93a43b00d036fe resources/security.py
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
9fc9568b488bc929d1f5a9bcd5cb36d63ae4c757df4668694a4a47c6ddf8721f resources/template.py
|
|
109
|
+
09bec33d42187935401fd074d14ace2a6c056182d3ea4a340e1273e7a034ef51 resources/types.py
|
|
110
110
|
827d84d4bc780342fdbfd88101ac4f25b8a39b79ae63f8b9d9f636580cec52bb server/__init__.py
|
|
111
111
|
260232a96fb443347da645d6fa1a0d32c9599a7c00e737c285158a3267c708a9 server/auth/__init__.py
|
|
112
|
-
|
|
112
|
+
98d864140b69b591ae55a342dedcca05f0fa895ae073e90618190e4df5c269bc server/auth/auth.py
|
|
113
113
|
2d2ec9ec41e3e6716a2f4b214dabecf3e10a167652546bfa692570c640647263 server/auth/cimd.py
|
|
114
114
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/handlers/__init__.py
|
|
115
115
|
bd6cc8b7e5728f65e4ec8c9ee976533bfe7d712a63d4009b672c84d1a94125b9 server/auth/handlers/authorize.py
|
|
116
116
|
690754c201248ff04a5c73899d9b0b1d2911507eac7d9bd649133b8185c07002 server/auth/identity_assertion.py
|
|
117
117
|
314d030761e61f91af73267efd894b6af291faa8fa1c1fa41eb15f8f0217ebed server/auth/jwt_issuer.py
|
|
118
|
-
|
|
118
|
+
847bfa48e2283c9a1c01f859145d820d7f8faf189cc000e6d2f9cca2fb0480a2 server/auth/middleware.py
|
|
119
119
|
482e01b4ecc8af2714eb1bc50cc7afa0bdbadab1e583171cb9aa70fa2b270af0 server/auth/oauth_proxy/__init__.py
|
|
120
120
|
5f490615f239c44e861b7860fbdabc02e4a768587e9e77259b7695b2628576d3 server/auth/oauth_proxy/consent.py
|
|
121
121
|
66c2b86e445bb5e930eae7ec7c495a20e752ceec57af059fd96de66ebf2fcce0 server/auth/oauth_proxy/models.py
|
|
122
|
-
|
|
122
|
+
5002bb9f0e4db48f4cba07168c0dee6e206282cb8ae5561922432053c54b08c4 server/auth/oauth_proxy/proxy.py
|
|
123
123
|
0e44df9ec0fb91a209674a1e201345d925161e509c537e996fda7bb5b0c78677 server/auth/oauth_proxy/ui.py
|
|
124
124
|
a7dfed182cd72300a09136f500738cafd81960807b474fd184143a24fa0898d9 server/auth/oauth_proxy/upstream.py
|
|
125
125
|
662eebf05ebf0cade5e9dfb63b8cba4158a0ac180a6ff75f70ec96a801daf56b server/auth/oidc_proxy.py
|
|
126
126
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/providers/__init__.py
|
|
127
127
|
2309357e391e3ca50f368b87581c915f5da83103d6fe8b157fc3f6365ae940f6 server/auth/providers/auth0.py
|
|
128
128
|
2096389558eb1eb799a5e69379dcfffcad2ee0fe7a9bb98b632871581c456cce server/auth/providers/aws.py
|
|
129
|
-
|
|
129
|
+
88ffece1b8641ba180cf96e719b7b78ee8aa716e4aa13f5e3c4510fd8be47081 server/auth/providers/azure.py
|
|
130
130
|
0afe32ad1950f740d1e5798444fa79a39251e1173f214cd71d1a7202d4e1b492 server/auth/providers/clerk.py
|
|
131
131
|
b682ebb2419462e9bb506f2bf473d8ae33febcce4055df5dd506a4845c81e47f server/auth/providers/debug.py
|
|
132
132
|
565367bc78820801144af6a22e54e249644beacdb215812e88e3e0344c7e99a9 server/auth/providers/descope.py
|
|
133
133
|
d98f08e8041870f3effa331b2837d0073c26079872dd34b501c0804669625442 server/auth/providers/discord.py
|
|
134
134
|
df69c87adbdc2caee72185bdeaf55d19bf5308f94b2756343177556878f44ae2 server/auth/providers/github.py
|
|
135
|
-
|
|
135
|
+
cd9ae180e45177b6d32444cae55ebd3c421c374ad719871e825a8a66a829b1f2 server/auth/providers/google.py
|
|
136
136
|
3a76215676072a4c7e31971e3c79e57a3ea78ff10b79e5fc90cd371915ddd7ff server/auth/providers/huggingface.py
|
|
137
137
|
57fa08d818ae235752a65083d1e19daeb65c7b6354ad81c76aed0257b4ea9e61 server/auth/providers/in_memory.py
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
dfb1e26a7eafca5db135f70e9b9ad586e80bc57e4642b129a8bfc22c0083ebb1 server/auth/providers/introspection.py
|
|
139
|
+
81a3a74a68f5ea37bce5fd5e1c56fda7dcc31c269c0b5b31abb3fa576e08edcc server/auth/providers/jwt.py
|
|
140
140
|
27e8a505f6e1cee20548a5c789ae75311a33ed1addfbba0f49f01dac29c50370 server/auth/providers/keycloak.py
|
|
141
141
|
f858f390ad6ca87990e548cdca584cef57fc93a0d2d36b4f5353dad2c4c0f7bf server/auth/providers/oci.py
|
|
142
142
|
5fc4d64669c5c4aa673d9d640f2692e2b5a5eb99a02529cd671a8a285bcd329f server/auth/providers/propelauth.py
|
|
143
143
|
588572abde4ae90b0ef5997f23452d8e26c3f70dfe64db2cf0b478927ec85988 server/auth/providers/scalekit.py
|
|
144
144
|
df16f6cf532f38b87318d06d7c0f97717699614ada54fcfb53701d5281ed6cc5 server/auth/providers/supabase.py
|
|
145
|
-
|
|
145
|
+
062ddd47b17710cffe111c1649ce248a1a476a4d1444c57d82c5da9af1187054 server/auth/providers/workos.py
|
|
146
146
|
9ed8d6fec5e0ca8fdb9716cd0f80f178a0814ed34b2202770f509c1fe96305e5 server/auth/redirect_validation.py
|
|
147
147
|
8db12964a2f64b576d72858ad4d21aa27e5e8325101cd575762cb1dd56f01a22 server/auth/ssrf.py
|
|
148
148
|
871c89e8a16ca2a3cd030b94108abb0bf15d8addab05b398f959da8445f4e6a9 server/caching.py
|
|
149
149
|
38f783123395ffa153bc91af5db1ffac86eceaa249333d2991a59e057a2f4af1 server/completions.py
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
63c9fa3e4b6e155301625972b8d84df6614efa3084da4a358034ae420ed92350 server/context.py
|
|
151
|
+
2561804a41617f9c4e8d7733f46cd64e95c8f8d35455e54e8a382c39504adc32 server/dependencies.py
|
|
152
|
+
e9f49b78a223cd3a76ec037f3ebaf0dade60dd775ed8533f2c0a53127c1fff0f server/elicitation.py
|
|
153
153
|
e0497cf65d8a93849bf2873b94e18abaff2d8a9a879d24db9af22d52548bb696 server/event_store.py
|
|
154
154
|
295d07943099c96d594d17aa592bae0c3014ed751f6a2a9541bb5b724e873b85 server/extensions.py
|
|
155
|
-
|
|
155
|
+
e2d8f616fdd6181f9de4febaa4be5eb5901c5e961ea36fa92a1177f1d2cd39b5 server/http.py
|
|
156
156
|
c939ec1886308f99257b07aaa73a4781565d5d3e170fc13b0d8b36f4735a4fda server/lifespan.py
|
|
157
|
-
|
|
157
|
+
88b443872d501d764b897cb272d47fd0692e6120e2160d68558aaff95aad4bcf server/low_level.py
|
|
158
158
|
dc669c15efc3c6bdeb531a6267860c141bb86d64e49c0ee586805c4866bd0c01 server/middleware/__init__.py
|
|
159
159
|
172f87828b7aa58bcf31e377c149c9fbc05bf6aba377e8e92a8d4757ebda5bf0 server/middleware/authorization.py
|
|
160
160
|
f5ea7269f47d6fc3ff301530492a3a8d8d15d82870a7d89ad5df361ce0fccd46 server/middleware/caching.py
|
|
161
161
|
32e78726614e5a69b3ec87bb6868b151ad6955f3eaac3a41b5a9d6151a0efa55 server/middleware/dereference.py
|
|
162
|
-
|
|
162
|
+
53d015df5c8c14cabcd52a864695c4b5316b99b06d7b3444124bb640a3cdfca6 server/middleware/error_handling.py
|
|
163
163
|
d55654f305388914c045482ffaea32832fdfc57f17f90f558901ab422fe04cc2 server/middleware/logging.py
|
|
164
164
|
f866f0fd1fe052a9835c23197ed868ac270727bec9f443d76a35d3d10cc7bdce server/middleware/middleware.py
|
|
165
165
|
54745915b9fa8e6b8202a3a0a06d821f84fe81306d185d6f943f6b4f3797a3c8 server/middleware/ping.py
|
|
166
166
|
b5cfa6d7148c34b40b9c685059f5227236b210e0295bfe56d9a3da03b86de3ac server/middleware/rate_limiting.py
|
|
167
|
-
|
|
167
|
+
507e8ad039f47ebc8ba90c1f150b6405f1fb081b8cb85d3dad6214be03d7b7aa server/middleware/response_limiting.py
|
|
168
168
|
94bff173e12b2c3e65a657ef779f872325846d9860341624710ef82855c03240 server/middleware/timing.py
|
|
169
169
|
aefe367cf4119f62a497224bd39effb9e876a4cb15032558256e7bd749f7c1cc server/middleware/tool_injection.py
|
|
170
170
|
7dbadca2563c9c44dbd242d6f75f53df1827b5ca24e09c76a26a63c450768467 server/mixins/__init__.py
|
|
171
171
|
46368f2ede13b030da757d4ec2a105eb2332e05c435d6e140a8caf9de4f55246 server/mixins/extensions.py
|
|
172
172
|
10ccc0151a0590a6e0d1a6c611d71b6941b8942de975c094b791d201fd6f0f1e server/mixins/lifespan.py
|
|
173
173
|
52af4cd66251d312a9c2cc3dd822bf25512f2b8a39f2571dc6e7dd5184ffa56c server/mixins/mcp_operations.py
|
|
174
|
-
|
|
174
|
+
186b88939549a093754b66c6334f43bdef880d07900531a93659c0f70c291f6e server/mixins/transport.py
|
|
175
175
|
cd4f7cade13e4a23391117605bbbd4e9d9f66c43d949c09e4fef05ff279a5a32 server/providers/__init__.py
|
|
176
176
|
60c8b27855ed49b56faf1935097a5d9cda837b3ff7e3f8c7e0f7949dddef3bf9 server/providers/addressing.py
|
|
177
177
|
4c47a9a72686e7a673223ec68d838b74c7208e91a302ffda7440701da73ccf58 server/providers/aggregate.py
|
|
178
|
-
|
|
178
|
+
f2298bc8cd240896593e83d59ac444e93d690d7305142a241a9a6b36f37cad4e server/providers/base.py
|
|
179
179
|
ef179352ecdff09a70c303773238667b1f827b6f1ea968b7074de94dadcac399 server/providers/fastmcp_provider.py
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
9974a882682461f134ec08a3302297fd06a7f44078e38ffd72fe0be1fba9eff1 server/providers/filesystem.py
|
|
181
|
+
7ac9cc96e17c22d63d96eb867a4c46557b5503c43e51c091bd3e5a7755ffd6df server/providers/filesystem_discovery.py
|
|
182
182
|
0f0702f2501537c34982eba9d930afde4d22638d1623ce6691198ce46f5c3d34 server/providers/local_provider/__init__.py
|
|
183
183
|
5b0058ec22c9ed8b5c2b3833e7e6beb34066f73f1818df1b62741ddb369b7edf server/providers/local_provider/decorators/__init__.py
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
6afb0647663c0d77d6fbb7a6a3024bd7aba6e67645ffbd1d0b96796fbb786f1f server/providers/local_provider/decorators/prompts.py
|
|
185
|
+
ae8bd00f780b64979f2201cd7b0971234b66659b4b4dc9bbe8c0b7428e1ebae9 server/providers/local_provider/decorators/resources.py
|
|
186
|
+
fa33cec1bf53129e7a22eb61c34b95073fe0ff1d51299ce832cac516906c07ef server/providers/local_provider/decorators/tools.py
|
|
187
187
|
91d662fa33ab5c71a889e5be59135dd2780758d295c616fc3b140c6e332dda34 server/providers/local_provider/local_provider.py
|
|
188
188
|
11c75b6557ce98f4855c76aa0d7740df71e704d05fda8435d92f89aee4a5623e server/providers/openapi/README.md
|
|
189
189
|
9e4dd35d653c9363b7c7679b38ca3f653b53a359065507046bce94db5dfe4bd5 server/providers/openapi/__init__.py
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
f5dfa26ee1ec37daac1513be47fc8376de009467a7dfad1aab0120c13f3088ff server/providers/openapi/components.py
|
|
191
|
+
c88abfd6448034a5937f51cbf1ca2d56fee62484de734f5dd883b02fcaa0c05c server/providers/openapi/provider.py
|
|
192
192
|
b00f94d08ce939d3aca4fb4e9d77d34633570e505640bd7c0a3a4cfb27030b05 server/providers/openapi/routing.py
|
|
193
193
|
776be4ae2a017410f3b505fe5a6ade18690f396545115ba3bf4e525f30ea3164 server/providers/prefab_payload.py
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
f4cee46905a912f0e52859350e8af886eadc3ba86f5a41ea248fb1638c6b11b2 server/providers/prefab_synthesis.py
|
|
195
|
+
034b2b14755c29f6d7bb93bf2678fc8df616e49cf905772ae09485715c083f69 server/providers/proxy.py
|
|
196
196
|
6bb7641e4c222ff359a38f9617987cc64a8c3eaf04118346b1e96f8b336bc9da server/providers/skills/__init__.py
|
|
197
197
|
f91a1853484963de7508eba7091e5ba7ff59ff5e5802330d9675b9ced3d03d17 server/providers/skills/_common.py
|
|
198
198
|
ce1a7b8a0adece4168f039721d3c0d196da79ae6d8d2b7835ef13733f6c510ab server/providers/skills/claude_provider.py
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
9244cca86910b4f057cb759b397a8b029787b05f9f6053ea80d25507254dc201 server/providers/skills/directory_provider.py
|
|
200
|
+
4758884fdbe14779d2e80c7eaf73b21a7c7aa09b291d955ea38e67950cb9b230 server/providers/skills/skill_provider.py
|
|
201
201
|
b759c2e9f832ff7b27a9d4347a12851e235d59f7cfa0360aba5efd57377a4adb server/providers/skills/vendor_providers.py
|
|
202
202
|
ab36a66d437044cfd929d78b224d8c909296a968b3ef3670f0656af7202f3eb5 server/providers/wrapped_provider.py
|
|
203
|
-
|
|
203
|
+
8a9f85b84102ea618e1db92f99467b9550b9f56c061d6be7a4fbe097d44913e3 server/server.py
|
|
204
204
|
a50d0db0003d63db49a3ec62b18dc75e267d6e03b7165f11f02992316be4e160 server/session_scoped_event_store.py
|
|
205
205
|
a172b6697b515083db1d9f2466d8c88659d37427ece0d292c26d1646c1e72e2f server/sessions.py
|
|
206
206
|
24b63d7adc0e3e7ebb5528924d9cf2e5789faad798bd39175690c8dca0742ac4 server/telemetry.py
|
|
207
207
|
869aec4da3b625f1bd4e5feb8427f52cd10a73f81d9fd452fc0c4f7a2925e2f7 server/transforms/__init__.py
|
|
208
208
|
81198aa39f8c4e651d955b5e970d9b4ea1b38b5b16815d7e01b6dcbd5bf20b6f server/transforms/catalog.py
|
|
209
209
|
ef58b435263324aac98f71dd08057232e2eb39abdaec2697e4f2369e98c7734a server/transforms/namespace.py
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
6bbb70eba018911b708cc494b651dd2e2db66aa9b47f4d4873b6f444a558712b server/transforms/prompts_as_tools.py
|
|
211
|
+
3fef18fb1389da8658b4e44e562f5640280485676fc26ee240c7a541f1a189c6 server/transforms/resources_as_tools.py
|
|
212
212
|
250bd40ffdaccfd4b0df19092965d743c1a7d55ff3e6cb812a3ade85e4a5419f server/transforms/search/__init__.py
|
|
213
213
|
79f72a914511606c3c4083540fc198d9af27bf119f6bae078654d85e62c61cc8 server/transforms/search/base.py
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
d97ffcc125efcc4844e86b9b0d8446ed559d3519de3610619eac5399366ab68b server/transforms/search/bm25.py
|
|
215
|
+
c35748068520dfcf86e9ce14d83307a11528c738b9046947a4f2208ddd830e0e server/transforms/search/regex.py
|
|
216
216
|
e83d5c70c181f5145ebf4bd2fb4a808f6ebf4eb1ce9a052165a07d983045c44a server/transforms/tool_transform.py
|
|
217
|
-
|
|
217
|
+
f2e810f9769e3c51a6be6822b03c230a87e94a7b6684d41fc29cb73efe339d80 server/transforms/version_filter.py
|
|
218
218
|
889394ade50ccad928013e12957141e52fd45ae16100c205869688c0bea07820 server/transforms/visibility.py
|
|
219
|
-
|
|
219
|
+
b091c4eb034cd9cdaf42d65dade7c95846c37e137c2572115a9ef6277305ba2b settings.py
|
|
220
220
|
1918d45032f08b689ad2d7f5df63e48b777266a81d4d0991a0415d5ff04bdfe7 telemetry.py
|
|
221
221
|
fd1992e098123e61b8e2697dae56bc3d6311ea118c9dbdbac0197d7ad274b126 tools/__init__.py
|
|
222
222
|
2fceb041133d3d9d38b172f9d87650a6a5c9a856c11a8f0c29c35a682c1a7232 tools/base.py
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
f7f49cfda15a22b3f3aaddeeb161986341c72e2eceb0d90ea427131e23b1dd88 tools/function_parsing.py
|
|
224
|
+
317016d376666c0c08ed9e1b150123bc18e3da28d9ff07441da028c711c2f82b tools/function_tool.py
|
|
225
|
+
bdeae497a498f6e572dacda291143dd4ef1c2db1be51f6f00b7ee744204f4648 tools/tool_transform.py
|
|
226
226
|
114f6988d2f7f28911d20afa9792106f76b723e8f4f8c09625e2310b7db438a3 types.py
|
|
227
227
|
fa2989f12fab5e66d73167836a695d3fe7470ea00f83fc3098f573f8b357d781 utilities/__init__.py
|
|
228
228
|
492b2b02870f7ae4f4cd4d07ddc26695fcdb20fb2b0ac38c062759b53a7bb2c2 utilities/asgi_transport.py
|
|
229
|
-
|
|
229
|
+
00947ff9dfa76176a094ba5b0c62d2d3aeb62c1ec9c2f48373ec7f1b3b482ee0 utilities/async_utils.py
|
|
230
230
|
cde0af6863c7ecaf5b43c5718d5a5186ebe83df93f4faabd484dc1b4cf5a1ae5 utilities/auth.py
|
|
231
231
|
756eebcba1a9eabed3eb7f522df0ef90b0709147d46cf02e01224ead9b9e99b3 utilities/authorization.py
|
|
232
232
|
29dbfbef524572917aa070b3565843e817d278a676fac2c9a9ecba51c1215269 utilities/cli.py
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
749eca7633bcfd597b14424895a425e56877a654cdeaffbe40a44c11b7af2fb8 utilities/components.py
|
|
234
|
+
4117b6f878d419e0d9fc1dbaa7a2bd2b6ebe5ef4f398c0efd095d4835d25e8b1 utilities/docstring_parsing.py
|
|
235
235
|
26af5197f0c30342ec96338f37e7d0ee400674ac56e18f613de343df9b4c6022 utilities/exceptions.py
|
|
236
236
|
d254480ddb82cb17eab1264cb27a06e4538980efdabc70abf4f23279f3c1c3aa utilities/http.py
|
|
237
237
|
aa0204571cb55806ea28484ab4bf60018f95fce4c3c28f255f7f3c3eb5e2db1b utilities/inspect.py
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
c1a03ed3e93f3c06a48b232304f938a00a347874987d64576326bb32fefa8cca utilities/json_schema.py
|
|
239
|
+
76a4d1ffe1f9431816131be0f77d7c6c3913c83d716e677775baa4327f2a7a9f utilities/json_schema_type.py
|
|
240
240
|
41a30eee26f03f4232b3b0ab3e88bfc925feaa4c08077c80f06a7eb8b4c5e1c1 utilities/lifespan.py
|
|
241
241
|
c9734ef52ddc7185828b7a51bee16cff935cc52fef29a7e5c102d76709139790 utilities/logging.py
|
|
242
242
|
91d04debaa395607f66912bbf108371543dd38703c8fc15ffaa8bfea0d8b8344 utilities/mcp_server_config/__init__.py
|
|
@@ -252,20 +252,20 @@ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 utilities/mcp_
|
|
|
252
252
|
99526bda0a6c8523eecb550bed72a03f815e379bca1ecaa870122a5af8e9a0ad utilities/mime.py
|
|
253
253
|
6890003fe8e02d81f2c1fe4ed7866e50ebfff06b699d7308724ceaa9f413f701 utilities/openapi/README.md
|
|
254
254
|
c833f7723b65b8bf55695ab67261860ce5b21532dc6d6a3c6e887cc12e35ab83 utilities/openapi/__init__.py
|
|
255
|
-
|
|
255
|
+
cc3e84e216a480d7fd5e9d7048d21d8163de76ea79f031b229b4d910a819747e utilities/openapi/director.py
|
|
256
256
|
9eb89249d9644ba337379bbbc8140060ea6a5b642be1961d7cb214eed0cca404 utilities/openapi/formatters.py
|
|
257
|
-
|
|
257
|
+
9a5d3f218fb28da51122a544a78276ea97d14719b3f65b6637d66143c69760b8 utilities/openapi/json_schema_converter.py
|
|
258
258
|
6d833c04a3bc731a66258221e5f15826a41e265e9c80898218ae226e29f4d612 utilities/openapi/models.py
|
|
259
259
|
2e58bc03dd82687ef7a843474eb65c1f644eafe2c039eb0949a61cce8b313de9 utilities/openapi/parser.py
|
|
260
|
-
|
|
260
|
+
01c2276726002ee579299104b92d540b58684660563432c847da30df4aee1eec utilities/openapi/schemas.py
|
|
261
261
|
9db69a1b408230d652ec39d89867449d504491aeda59fbc7285a14210575b7e3 utilities/pagination.py
|
|
262
262
|
634850f693e36fc0e5c877581bdb7e990bfd7541676288170c6a1d1713755d46 utilities/prefab.py
|
|
263
263
|
3db58fb4f30afb73083baeb8d94c9a23d9875980f091c19592b9eff89588764c utilities/skills.py
|
|
264
264
|
66a0085646c22d1ff49b89cb218813e5b88eebf12f868423a1eab4f1a0389b98 utilities/tasks.py
|
|
265
|
-
|
|
265
|
+
257c52460866cda5280d0916d20a7356bb12a0147ccd877c6b885baa4e97d2f6 utilities/tests.py
|
|
266
266
|
6e158212fb4a31e14b309c7c65aefee8861ac62f8edb2ee06ba359e37df92c37 utilities/timeout.py
|
|
267
267
|
0b105f303612c242d5be4569b185a3e9780b9749f693ba5392ebad223b5aa0d6 utilities/token_cache.py
|
|
268
|
-
|
|
268
|
+
83f170b1719816d27e454ab0a4c238f48a23bffa573adf24b9dae55412d1020d utilities/types.py
|
|
269
269
|
81c9e16bb563e31101c5dad2f3711994aa4dff8dc0433720899144be44eacea8 utilities/ui.py
|
|
270
270
|
e15b4687d5f807a4a8421c49f0e40d13916fdec1c12b74273964e94156350491 utilities/version_check.py
|
|
271
271
|
5e19b700a340ef7fd8974571de2aa190ef1acfc609547aaa1729704bfc241ae2 utilities/versions.py
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fastmcp-slim==4.0
|
|
1
|
+
fastmcp-slim==4.1.0
|
|
2
2
|
Vendored by scripts/vendor_fastmcp.py — do not edit by hand.
|
{ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py
RENAMED
|
@@ -60,7 +60,10 @@ except ImportError as _exc:
|
|
|
60
60
|
) from _exc
|
|
61
61
|
|
|
62
62
|
import base64
|
|
63
|
+
import math
|
|
63
64
|
from datetime import datetime, timezone
|
|
65
|
+
from threading import RLock
|
|
66
|
+
from time import monotonic
|
|
64
67
|
from typing import Any
|
|
65
68
|
|
|
66
69
|
from ha_mcp._vendor.fastmcp.apps.app import FastMCPApp
|
|
@@ -106,6 +109,10 @@ class FileUpload(FastMCPApp):
|
|
|
106
109
|
model-visible tools for listing and reading uploaded files.
|
|
107
110
|
|
|
108
111
|
Files are scoped by MCP session and stored in memory by default.
|
|
112
|
+
Set `max_total_size` to limit decoded file bytes across all scopes or
|
|
113
|
+
`file_ttl_seconds` to expire files by age since upload. Both default to
|
|
114
|
+
None. Expired files are removed on storage operations, without a timer.
|
|
115
|
+
These options apply to the default in-memory storage methods.
|
|
109
116
|
Override ``on_store``, ``on_list``, and ``on_read`` for custom
|
|
110
117
|
persistence (filesystem, S3, database, etc.). Each method receives
|
|
111
118
|
the current ``Context``, giving access to session ID, auth tokens,
|
|
@@ -137,6 +144,8 @@ class FileUpload(FastMCPApp):
|
|
|
137
144
|
name: str = "Files",
|
|
138
145
|
*,
|
|
139
146
|
max_file_size: int = 10 * 1024 * 1024,
|
|
147
|
+
max_total_size: int | None = None,
|
|
148
|
+
file_ttl_seconds: float | None = None,
|
|
140
149
|
title: str = "File Upload",
|
|
141
150
|
description: str = (
|
|
142
151
|
"Drop files to upload them to the server. "
|
|
@@ -145,8 +154,17 @@ class FileUpload(FastMCPApp):
|
|
|
145
154
|
),
|
|
146
155
|
drop_label: str = "Drop files here",
|
|
147
156
|
) -> None:
|
|
157
|
+
if max_total_size is not None and max_total_size < 0:
|
|
158
|
+
raise ValueError("max_total_size must be nonnegative")
|
|
159
|
+
if file_ttl_seconds is not None and (
|
|
160
|
+
not math.isfinite(file_ttl_seconds) or file_ttl_seconds <= 0
|
|
161
|
+
):
|
|
162
|
+
raise ValueError("file_ttl_seconds must be positive and finite")
|
|
148
163
|
super().__init__(name)
|
|
149
164
|
self._max_file_size = max_file_size
|
|
165
|
+
self._max_total_size = max_total_size
|
|
166
|
+
self._file_ttl_seconds = file_ttl_seconds
|
|
167
|
+
self._store_lock = RLock()
|
|
150
168
|
self._title = title
|
|
151
169
|
self._description = description
|
|
152
170
|
self._drop_label = drop_label
|
|
@@ -180,6 +198,17 @@ class FileUpload(FastMCPApp):
|
|
|
180
198
|
except RuntimeError:
|
|
181
199
|
return "__default__"
|
|
182
200
|
|
|
201
|
+
def _prune_expired(self, now: float) -> None:
|
|
202
|
+
"""Remove expired files while holding the default storage lock."""
|
|
203
|
+
if self._file_ttl_seconds is None:
|
|
204
|
+
return
|
|
205
|
+
for scope, entries in list(self._store.items()):
|
|
206
|
+
for name, entry in list(entries.items()):
|
|
207
|
+
if entry["_expires_at"] <= now:
|
|
208
|
+
del entries[name]
|
|
209
|
+
if not entries:
|
|
210
|
+
del self._store[scope]
|
|
211
|
+
|
|
183
212
|
def on_store(
|
|
184
213
|
self,
|
|
185
214
|
files: list[dict[str, Any]],
|
|
@@ -195,23 +224,56 @@ class FileUpload(FastMCPApp):
|
|
|
195
224
|
|
|
196
225
|
Override this method for custom persistence. The default
|
|
197
226
|
implementation stores files in memory, scoped by
|
|
198
|
-
``_get_scope_key(ctx)``.
|
|
227
|
+
``_get_scope_key(ctx)``. The optional `max_total_size` applies to
|
|
228
|
+
decoded file bytes across every scope. An entire batch is rejected
|
|
229
|
+
when its final contents would exceed the limit, including replacements.
|
|
199
230
|
|
|
200
231
|
Returns:
|
|
201
232
|
List of file summary dicts (``name``, ``type``, ``size``,
|
|
202
233
|
``size_display``, ``uploaded_at``).
|
|
203
234
|
"""
|
|
204
235
|
scope = self._get_scope_key(ctx)
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
236
|
+
with self._store_lock:
|
|
237
|
+
now = monotonic()
|
|
238
|
+
self._prune_expired(now)
|
|
239
|
+
updates: dict[str, dict[str, Any]] = {}
|
|
240
|
+
for f in files:
|
|
241
|
+
entry = {
|
|
242
|
+
"name": f["name"],
|
|
243
|
+
"size": f["size"],
|
|
244
|
+
"type": f["type"],
|
|
245
|
+
"data": f["data"],
|
|
246
|
+
"uploaded_at": datetime.now(timezone.utc).isoformat(
|
|
247
|
+
timespec="seconds"
|
|
248
|
+
),
|
|
249
|
+
}
|
|
250
|
+
if self._file_ttl_seconds is not None:
|
|
251
|
+
entry["_expires_at"] = now + self._file_ttl_seconds
|
|
252
|
+
updates[f["name"]] = entry
|
|
253
|
+
|
|
254
|
+
session_files = self._store.get(scope, {})
|
|
255
|
+
if self._max_total_size is not None:
|
|
256
|
+
total_size = sum(
|
|
257
|
+
max(0, _b64_decoded_size(entry["data"]))
|
|
258
|
+
for entries in self._store.values()
|
|
259
|
+
for entry in entries.values()
|
|
260
|
+
)
|
|
261
|
+
for name, entry in updates.items():
|
|
262
|
+
total_size += max(0, _b64_decoded_size(entry["data"]))
|
|
263
|
+
if name in session_files:
|
|
264
|
+
total_size -= max(
|
|
265
|
+
0, _b64_decoded_size(session_files[name]["data"])
|
|
266
|
+
)
|
|
267
|
+
if total_size > self._max_total_size:
|
|
268
|
+
raise ValueError(
|
|
269
|
+
"Files exceed total storage size "
|
|
270
|
+
f"({_format_size(total_size)} > "
|
|
271
|
+
f"{_format_size(self._max_total_size)})"
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
session_files = self._store.setdefault(scope, {})
|
|
275
|
+
session_files.update(updates)
|
|
276
|
+
return [_make_summary(e) for e in session_files.values()]
|
|
215
277
|
|
|
216
278
|
def on_list(self, ctx: Context) -> list[dict[str, Any]]:
|
|
217
279
|
"""List all stored files.
|
|
@@ -226,8 +288,10 @@ class FileUpload(FastMCPApp):
|
|
|
226
288
|
List of file summary dicts.
|
|
227
289
|
"""
|
|
228
290
|
scope = self._get_scope_key(ctx)
|
|
229
|
-
|
|
230
|
-
|
|
291
|
+
with self._store_lock:
|
|
292
|
+
self._prune_expired(monotonic())
|
|
293
|
+
session_files = self._store.get(scope, {})
|
|
294
|
+
return [_make_summary(e) for e in session_files.values()]
|
|
231
295
|
|
|
232
296
|
def on_read(self, name: str, ctx: Context) -> dict[str, Any]:
|
|
233
297
|
"""Read a file's contents by name.
|
|
@@ -249,11 +313,13 @@ class FileUpload(FastMCPApp):
|
|
|
249
313
|
ValueError: If the file is not found.
|
|
250
314
|
"""
|
|
251
315
|
scope = self._get_scope_key(ctx)
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
316
|
+
with self._store_lock:
|
|
317
|
+
self._prune_expired(monotonic())
|
|
318
|
+
session_files = self._store.get(scope, {})
|
|
319
|
+
if name not in session_files:
|
|
320
|
+
available = list(session_files.keys())
|
|
321
|
+
raise ValueError(f"File {name!r} not found. Available: {available}")
|
|
322
|
+
entry = session_files[name]
|
|
257
323
|
result: dict[str, Any] = {
|
|
258
324
|
"name": entry["name"],
|
|
259
325
|
"size": entry["size"],
|
{ha_mcp_dev-9.0.0.dev3111 → ha_mcp_dev-9.0.0.dev3114}/src/ha_mcp/_vendor/fastmcp/apps/generative.py
RENAMED
|
@@ -101,8 +101,9 @@ class GenerativeUI(Provider):
|
|
|
101
101
|
if self._setup_done:
|
|
102
102
|
return
|
|
103
103
|
|
|
104
|
+
# CSP belongs on the renderer resource, not the tool (MCP Apps spec).
|
|
104
105
|
csp = _build_csp()
|
|
105
|
-
app_config = AppConfig(resource_uri=_gen.RESOURCE_URI
|
|
106
|
+
app_config = AppConfig(resource_uri=_gen.RESOURCE_URI)
|
|
106
107
|
|
|
107
108
|
# -- generate_ui tool --
|
|
108
109
|
# Wraps prefab_ui.generative.execute with sandbox lifecycle management.
|
|
@@ -681,6 +681,8 @@ async def run(
|
|
|
681
681
|
reload_cmd.extend(["--log-level", final_log_level])
|
|
682
682
|
if final_no_banner:
|
|
683
683
|
reload_cmd.append("--no-banner")
|
|
684
|
+
if skip_source:
|
|
685
|
+
reload_cmd.append("--skip-source")
|
|
684
686
|
reload_cmd.append("--no-reload") # Prevent infinite spawning
|
|
685
687
|
reload_cmd.append("--stateless") # Stateless mode for reload compatibility
|
|
686
688
|
|
|
@@ -732,6 +734,8 @@ async def run(
|
|
|
732
734
|
inner_cmd.append("--no-banner")
|
|
733
735
|
if stateless:
|
|
734
736
|
inner_cmd.append("--stateless")
|
|
737
|
+
if skip_source:
|
|
738
|
+
inner_cmd.append("--skip-source")
|
|
735
739
|
# Add skip-env flag to prevent infinite recursion
|
|
736
740
|
inner_cmd.append("--skip-env")
|
|
737
741
|
|
|
@@ -1010,8 +1014,9 @@ async def inspect(
|
|
|
1010
1014
|
console.print(f" Server: [bold]{info.name}[/bold]")
|
|
1011
1015
|
console.print(f" Format: {format.value}")
|
|
1012
1016
|
else:
|
|
1013
|
-
# Output JSON to stdout
|
|
1014
|
-
|
|
1017
|
+
# Output JSON to stdout. The console would wrap long lines and
|
|
1018
|
+
# interpret [markup], corrupting the JSON.
|
|
1019
|
+
print(formatted_json.decode("utf-8"))
|
|
1015
1020
|
|
|
1016
1021
|
except Exception as e:
|
|
1017
1022
|
logger.exception(
|