ha-mcp-dev 8.5.0.dev2794__tar.gz → 8.5.0.dev2799__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-8.5.0.dev2794/src/ha_mcp_dev.egg-info → ha_mcp_dev-8.5.0.dev2799}/PKG-INFO +1 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/pyproject.toml +1 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/az.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/cs.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/de.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/eo.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/es.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/fr.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/it.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/ko.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/nl.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/pl.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/ru.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/sv.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/zh-Hans.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/zh-Hant.json +15 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/MANIFEST.in +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/setup.cfg +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_rich_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/requirements.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_vendor/websockets/version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/auth/oidc_compat.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/browser_landing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/admin_routes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/ha_request_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/hacs_auto_refresh.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/http_transport.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/llm_exposure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/log_filters.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/decision_pin.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/decisions.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/editing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/events.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/read_only.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/redaction.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/renamed_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/area-target-over-entity-list/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/arrive-home-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/assist-shortcut-card/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/avg-temperature/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/backup-deletion-confirmation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/blueprint-authoring/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/button-event-entity/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/device-id-trigger-migration/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/helper-flow-fields-not-platform-yaml/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/media-player-song/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/motion-light-automation-mode/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/rename-entity-impact-analysis/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/template-attributes-yaml-exception/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/timer-finished-automation/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/evals/vacuum-last-clean/case.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/scripts/check_eval_cases.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/server_lifespan.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_i18n.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_theme.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/README.md +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/en.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/settings.css +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/settings.html +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/settings.js +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/strict_bps.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tool_dispatch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/best_practice_result.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/best_practice_variables.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/blueprint_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/blueprint_write.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/bulk_selector.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_api.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_config_entries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_config_reads.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_devices.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_registries.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_flow.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_identity.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/entity_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/error_log_parsing.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/hacs_registration.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/log_common.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/log_sources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/log_sources_fault.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/matter.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/thread.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/zigbee.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/radio/zwave.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/scene_discovery.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_dev.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_logs.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_radio.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_security_policy.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_themes.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transforms/component_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transforms/write_tool_note.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/transport_security.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/update_check.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/config_write_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/dashboard_patch.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/entity_membership.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/mcp_client_host.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/registry_update_lock.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/visibility/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/visibility/enforcement.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/visibility/model.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/visibility/persistence.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/visibility/resolver.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/tests/__init__.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/tests/test_constants.py +0 -0
- {ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/tests/test_env_manager.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "8.5.0.
|
|
7
|
+
version = "8.5.0.dev2799"
|
|
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-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/az.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Ehtiyat nüsxələri obyekt ID-sinə görə süz",
|
|
58
58
|
"backups.bulk_delete": "Uyğun gələnləri toplu sil…",
|
|
59
59
|
"policies.title": "Alətlərin təhlükəsizlik siyasətləri",
|
|
60
|
-
"policies.intro": "
|
|
60
|
+
"policies.intro": "Yüksək riskli zənglər üçün alət səviyyəsində təsdiq tənzimləməsi. <strong>Tools</strong> vərəqindəki <strong>security gated</strong> açarı bütün alətin təsdiqə ehtiyacı olub-olmadığını müəyyən edir; onu burada şərtlərlə dəqiqləşdirin. Blok siyahısında qayda təsdiq tələb edən zəngləri adlandırır və bir müddət təsdiqi saxlaya bilər; icazə siyahısında isə qayda təsdiqsiz işləyən zəngləri müəyyən edir. Şərt operatorları: bərabərdir, bunlardan biridir, reqeks, tərkibində var, mövcuddur, böyükdür, kiçikdir.",
|
|
61
61
|
"policies.global.title": "Qlobal parametrlər",
|
|
62
|
+
"policies.global.rule_effect.label": "Təsdiq rejimi",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Blok siyahısı</strong> (standart): aşağıdakı qaydalar təsdiqinizi tələb edən zəngləri sadalayır və digər bütün zənglər işləyir. <strong>İcazə siyahısı</strong>: aşağıdakı qaydalar təsdiqsiz işləyən zəngləri sadalayır və digər bütün zənglər, oxuma əməliyyatları da daxil olmaqla, təsdiq tələb edir; yalnız alət axtarışı və gözləyən təsdiqlərin idarə edilməsi istisna olaraq qalır. Saxladıqdan sonra növbəti zəngdən etibarən tətbiq olunur. İcazə siyahısı ciddi şəkildə uyğun gəlir: dəqiq registr, şablona uyğun yolun (wildcard path) və ya siyahının çatdığı hər bir dəyər, sahəni saxlayan şablon yolun hər bir budağı və obyektlər yalnız bərabərdir və ya bunlardan biridir şərtilə. Reqeks və tərkibində var operatorları hələ də alt sətirlərə uyğun gəlir, ona görə də reqeksi <code>^…$</code> ilə məhdudlaşdırın; bərabər DEYİL və bunlardan biri DEYİL adlandırmadıqları hər şeyi təsdiqləmir. Vergüllə və ya ətrafındakı boşluqlarla olan mətn mövcuddur şərtindən başqa heç bir şərtə uyğun gəlmir. Qayda yalnız adlandırdığı arqumentləri məhdudlaşdırır.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Uyğun gələn zənglər üçün təsdiq tələb edin (blok siyahısı)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Qayda uyğun gəlmədikdə təsdiq tələb edin (icazə siyahısı)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "\"{from}\" rejimindən \"{to}\" rejiminə keçid edilsinmi?\n\nO zaman aşağıdakı hər bir qayda əks təsirə malik olacaq: onun məhdudlaşdırdığı zənglər təsdiqsiz işləyəcək və ya təsdiq etdiyi zənglər təsdiq tələb edəcək. Heç bir qaydaya uyğun gəlməyən zənglər əks istiqamətdə dəyişəcək və icazə siyahısında şərtlər daha ciddi şəkildə yoxlanılacaq.",
|
|
62
67
|
"policies.global.unknown": "Server parametrlərini oxumaq mümkün olmadı. Aşağıdakı iki seçimin vəziyyəti naməlum kimi göstərilir və səhifə uğurla yenidən yüklənənədək dəyişdirilə bilməz; bu görünüş serverin tətbiq etdiyi qaydaları əks etdirməyə bilər.",
|
|
63
68
|
"policies.global.enabled.label": "Alətlərin təhlükəsizlik siyasətlərini aktivləşdir",
|
|
64
69
|
"policies.global.enabled.help": "Əsas seçim. Server parametrlərindəki seçimlə eynidir. Standart olaraq deaktivdir. Təsdiq tələb edən vasitəçi proqram qatını aktivləşdirmək üçün seçimi aktivləşdirin və HA-MCP-ni yenidən başladın. Deaktiv olduqda aşağıdakı qaydalar saxlanılır, lakin tətbiq edilmir.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Gözləyən təsdiqlər",
|
|
74
79
|
"policies.pending.empty": "Gözləyən təsdiq yoxdur.",
|
|
75
80
|
"policies.rules.title": "Təsdiq tələb olunan alətlər",
|
|
81
|
+
"policies.rules.title_allow": "Təsdiqllənmiş alətlər",
|
|
76
82
|
"policies.rules.empty": "Hazırda təhlükəsizlik təsdiqi tələb olunan alət yoxdur. Hər alət üçün təsdiq tələbini <a href=\"#\" data-panel-link=\"tools\">Alətlər</a> bölməsində aktivləşdirin.",
|
|
83
|
+
"policies.rules.empty_allow": "Heç bir alət təsdiqlənməyib, ona görə də alət axtarışı və gözləyən təsdiqlərin idarə edilməsi istisna olmaqla, hər bir alət zəngi təsdiqinizi tələb edir. <a href=\"#\" data-panel-link=\"tools\">Tools</a> vərəqində alətin kilidini söndürməklə onu təsdiqləyin.",
|
|
77
84
|
"accessibility.intro": "Bu parametrlər dərhal tətbiq olunur və həm bu brauzerdə, həm də serverdə yadda saxlanılır, buna görə bütün rejimlərdə yenidən başlatmalardan sonra da qorunur (parametrlər səhifəsinin bəzən yeni porta keçə bildiyi stdio rejimi də daxil olmaqla). Sənədləşmə saytı eyni idarəetmə seçimlərini naviqasiya zolağında təqdim edir; onun serveri yoxdur və parametrlər hər brauzerdə ayrıca saxlanılır.",
|
|
78
85
|
"accessibility.storage_blocked": "Brauzeriniz saytın məlumat saxlamasını bloklayır; seçimlər yalnız bu sessiya üçün tətbiq olunur.",
|
|
79
86
|
"accessibility.theme.title": "Tema",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Yadda saxlanmış alətlərin yeniləmələrdən sonra qorunması üçün tətbiq (əlavə) rejimində <code>/data/saved_tools.json</code> yolu kodda sabit təyin edilib.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Boş olarsa, fərdi alətlər yalnız yaddaşda saxlanılır və yenidən başladıqda itir.",
|
|
334
341
|
"policies.errors.conflict": "{operation} əməliyyatı alınmadı: siyasət başqa vərəqdə və ya sessiyada dəyişdirilib. Səhifəni yenidən yükləyin və dəyişikliklərinizi təkrar tətbiq edin.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} uğursuz oldu: səhifə yükləndikdən bəri siyasət uyğun gələn qaydanın davranışını dəyişdi. Səhifəni yenidən yükləyin, sonra dəyişikliklərinizi təkrar tətbiq edin.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} uğursuz oldu: bu səhifə uyğun gələn qaydanın nə etdiyini oxuya bilmədi. Səhifəni yenidən yükləyin, sonra dəyişikliklərinizi təkrar tətbiq edin.",
|
|
335
344
|
"policies.errors.load": "Siyasəti yükləmək mümkün olmadı: {status}",
|
|
336
345
|
"policies.errors.reach_server": "Serverlə əlaqə yaratmaq mümkün olmadı: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json faylı zədələnmiş görünür; serverin məlumat qovluğunda onu redaktə edin və ya silin)",
|
|
338
347
|
"policies.errors.load_detail": "Siyasəti yükləmək alınmadı: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Alətin təhlükəsizlik siyasətini yeniləmək alınmadı: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Bu icazə siyahısındakı şərsiz \"*\" qaydası hər bir aləti təsdiqləyir, ona görə də bu açar heç birini məhdudlaşdıra bilməz. Əvvəlcə Tool Security Policies vərəqindən həmin qaydanı silin.",
|
|
340
350
|
"policies.errors.remove_rule": "Qaydanı çıxarmaq alınmadı: {message}",
|
|
341
351
|
"policies.errors.master_save": "Alətlərin təhlükəsizlik siyasətləri ilə bağlı dəyişiklik yadda saxlanılmadı. Serverdə hələ də əvvəlki dəyər qalır.",
|
|
342
352
|
"policies.errors.manage_tool_save": "Siyasəti redaktə edən alətlə bağlı dəyişiklik yadda saxlanılmadı. Serverdə hələ də əvvəlki dəyər qalır.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "kiçikdir",
|
|
357
367
|
"policies.card.no_conditions": "(şərt yoxdur, qayda bu alətin hər çağırışına uyğundur)",
|
|
358
368
|
"policies.card.always_row": "(həmişə — bu alətin hər çağırışı üçün təsdiq tələb edir)",
|
|
369
|
+
"policies.card.always_row_allow": "(həmişə — bu alətə edilən bütün zəngləri təsdiqləyir)",
|
|
359
370
|
"policies.card.and_join": " VƏ ",
|
|
360
371
|
"policies.card.remove_title": "Siyasətdən çıxar",
|
|
361
372
|
"policies.card.conditions_intro": "Şərtlərdən HƏR HANSI BİRİ ödənildikdə təsdiq tələb et (şərt yoxdur = həmişə təsdiq tələb et):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "HƏR hansı şərt ödədikdə soruşmadan təsdiq edin (şərt yoxdur = həmişə təsdiq et):",
|
|
362
374
|
"policies.card.add_condition": "+ Şərt əlavə et",
|
|
363
375
|
"policies.card.argument": "Arqument:",
|
|
364
376
|
"policies.card.argument_placeholder": "məs. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Təsdiqin yadda saxlanma müddəti:",
|
|
369
381
|
"policies.card.minutes_single": "dəqiqə (0 = birdəfəlik)",
|
|
370
382
|
"policies.card.confirm_remove": "\"{tool}\" aləti təhlükəsizlik siyasətindən çıxarılsın?",
|
|
383
|
+
"policies.card.confirm_approve_all": "\"{tool}\" üçün hər bir zəng soruşulmadan təsdiqlənsinmi?",
|
|
384
|
+
"policies.card.not_saved": "Yadda saxlanılmadı.",
|
|
371
385
|
"policies.editor.any_argument_title": "Çağırışın hər arqumentini bu şərtə uyğunluq baxımından yoxlayın.",
|
|
372
386
|
"policies.editor.any_argument": "(istənilən arqument)",
|
|
373
387
|
"policies.editor.other_path": "(digər, yol daxil edin)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/cs.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Filtrovat zálohy podle ID entity",
|
|
58
58
|
"backups.bulk_delete": "Hromadně smazat odpovídající…",
|
|
59
59
|
"policies.title": "Zásady zabezpečení nástrojů",
|
|
60
|
-
"policies.intro": "Schvalování
|
|
60
|
+
"policies.intro": "Schvalování na základě podmínek pro riziková volání. Přepínač <strong>Zabezpečení vyžaduje schválení</strong> na kartě <strong>Nástroje</strong> určuje, zda celý nástroj vyžaduje schválení; zde jej můžete upřesnit pomocí podmínek. V seznamu blokování pravidlo určuje volání, která vyžadují schválení a mohou si schválení na chvíli podržet; v seznamu povolení pravidlo určuje volání, která probíhají bez něj. Operátory podmínek: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Globální nastavení",
|
|
62
|
+
"policies.global.rule_effect.label": "Režim schvalování",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Seznam blokování</strong> (výchozí): níže uvedená pravidla vyjmenovávají volání, která vyžadují vaše schválení, a všechna ostatní volání probíhají. <strong>Seznam povolení</strong>: níže uvedená pravidla vyjmenovávají volání, která probíhají bez schválení, a všechna ostatní volání ho vyžadují, včetně čtení; výjimku tvoří pouze vyhledávání nástrojů a správa čekajících schválení. Platí od příštího volání po uložení. Seznam povolení se shoduje přísně: přesná velikost písmen, každá hodnota dosažitelná zástupnou cestou nebo seznamem, každá větev zástupné cesty obsahující pole a objekty pouze pomocí equals nebo is one of. Regex a contains stále odpovídají podřetězcům, proto regex ohraničte pomocí <code>^…$</code>; does NOT equal a is NOT one of neschvalují vše, co nepojmenují. Text s čárkou nebo obklopujícími bílými znaky neodpovídá žádné podmínce kromě is present. Pravidlo omezuje pouze argumenty, které pojmenovává.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Vyžadovat schválení pro odpovídající volání (seznam blokování)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Vyžadovat schválení, pokud pravidlo neodpovídá (seznam povolení)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "Přepnout z \"{from}\" na \"{to}\"?\n\nKaždé pravidlo níže pak bude mít opačný účinek: volání, která omezovalo, poběží bez schválení, nebo volání, která schvalovalo, budou vyžadovat schválení. Volání, kterým neodpovídá žádné pravidlo, se obrátí opačně a v seznamu povolení se podmínky shodují přísněji.",
|
|
62
67
|
"policies.global.unknown": "Nepodařilo se načíst nastavení serveru. Dva přepínače níže jsou zobrazeny jako neznámé a nelze je změnit, dokud se stránka úspěšně nenačte; toto zobrazení nemusí odrážet to, co server vynucuje.",
|
|
63
68
|
"policies.global.enabled.label": "Povolit zásady zabezpečení nástrojů",
|
|
64
69
|
"policies.global.enabled.help": "Hlavní vypínač. Zrcadlí přepínač v Server Settings. Ve výchozím nastavení vypnuto. Zapnutím a restartováním HA-MCP aktivujete middleware pro řízení přístupu. Když je vypnuto, níže uvedená pravidla zůstávají zachována, ale nevynucují se.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Čekající schválení",
|
|
74
79
|
"policies.pending.empty": "Žádná čekající schválení.",
|
|
75
80
|
"policies.rules.title": "Zabezpečené nástroje",
|
|
81
|
+
"policies.rules.title_allow": "Schválené nástroje",
|
|
76
82
|
"policies.rules.empty": "Žádné nástroje nejsou aktuálně zabezpečeny. Povolte zabezpečení pro jednotlivé nástroje na kartě <a href=\"#\" data-panel-link=\"tools\">Nástroje</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "Žádné nástroje nebyly schváleny, takže každé volání nástroje vyžaduje vaše schválení, s výjimkou vyhledávání nástrojů a správy čekajících schválení. Nástroj schválíte vypnutím jeho zabezpečení na kartě <a href=\"#\" data-panel-link=\"tools\">Nástroje</a>.",
|
|
77
84
|
"accessibility.intro": "Tato nastavení se projeví okamžitě a jsou uložena v tomto prohlížeči a na serveru, takže přežijí restarty ve všech režimech (včetně stdio, kde se stránka nastavení může občas přesunout na nový port). Dokumentační web nabízí stejné ovládací prvky ve svém navigačním panelu; nemá server a ukládá nastavení pro každý prohlížeč.",
|
|
78
85
|
"accessibility.storage_blocked": "Váš prohlížeč blokuje ukládání dat webu; vaše volby platí pouze pro tuto relaci.",
|
|
79
86
|
"accessibility.theme.title": "Motiv",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Pevně nastaveno na <code>/data/saved_tools.json</code> v režimu aplikace (doplněku), aby uložené nástroje přežily aktualizace.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Pokud je prázdné, vlastní nástroje jsou uchovávány pouze v paměti a ztraceny po restartu.",
|
|
334
341
|
"policies.errors.conflict": "{operation} selhalo: zásada byla upravena na jiné kartě nebo v jiné relaci. Znovu načtěte a znovu použijte své změny.",
|
|
342
|
+
"policies.errors.effect_changed": "Operace {operation} selhala: zásada změnila chování odpovídajícího pravidla od načtení této stránky. Znovu načtěte stránku a poté znovu použijte své změny.",
|
|
343
|
+
"policies.errors.effect_unknown": "Operace {operation} selhala: tato stránka nemohla přečíst chování odpovídajícího pravidla. Znovu načtěte stránku a poté znovu použijte své změny.",
|
|
335
344
|
"policies.errors.load": "Nepodařilo se načíst zásadu: {status}",
|
|
336
345
|
"policies.errors.reach_server": "Nepodařilo se dosáhnout serveru: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (soubor tool_policy.json se zdá být poškozený; upravte jej nebo smažte v datovém adresáři serveru)",
|
|
338
347
|
"policies.errors.load_detail": "Nepodařilo se načíst zásadu: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Nepodařilo se aktualizovat bezpečnostní zásadu nástroje: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Nepodmíněné pravidlo \"*\" v tomto seznamu povolení schvaluje každý nástroj, takže tento přepínač jej nemůže omezit. Nejprve toto pravidlo odstraňte na kartě Zásady zabezpečení nástrojů.",
|
|
340
350
|
"policies.errors.remove_rule": "Nepodařilo se odstranit pravidlo: {message}",
|
|
341
351
|
"policies.errors.master_save": "Změna bezpečnostních zásad nástrojů se neuložila. Server stále obsahuje předchozí hodnotu.",
|
|
342
352
|
"policies.errors.manage_tool_save": "Změna nástroje pro úpravu zásad se neuložila. Server stále obsahuje předchozí hodnotu.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "je menší než",
|
|
357
367
|
"policies.card.no_conditions": "(žádné podmínky, pravidlo odpovídá každému volání tohoto nástroje)",
|
|
358
368
|
"policies.card.always_row": "(vždy – řídí každé volání tohoto nástroje)",
|
|
369
|
+
"policies.card.always_row_allow": "(vždy – schvaluje každé volání tohoto nástroje)",
|
|
359
370
|
"policies.card.and_join": " A ",
|
|
360
371
|
"policies.card.remove_title": "Odebrat ze zásady",
|
|
361
372
|
"policies.card.conditions_intro": "Vyžadovat schválení, když se shoduje JAKÁKOLI podmínka (žádné podmínky = vždy vyžadovat schválení):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Schválit bez dotazu, pokud platí KTERÁKOLI podmínka (žádné podmínky = vždy schválit):",
|
|
362
374
|
"policies.card.add_condition": "+ Přidat podmínku",
|
|
363
375
|
"policies.card.argument": "Argument:",
|
|
364
376
|
"policies.card.argument_placeholder": "např. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Zapamatovat si schválení na:",
|
|
369
381
|
"policies.card.minutes_single": "minut (0 = jednorázové)",
|
|
370
382
|
"policies.card.confirm_remove": "Odebrat „{tool}“ z bezpečnostní zásady?",
|
|
383
|
+
"policies.card.confirm_approve_all": "Schválit každé volání nástroje \"{tool}\" bez dotazu?",
|
|
384
|
+
"policies.card.not_saved": "Neuloženo.",
|
|
371
385
|
"policies.editor.any_argument_title": "Porovnat každý argument volání s touto podmínkou.",
|
|
372
386
|
"policies.editor.any_argument": "(jakýkoli argument)",
|
|
373
387
|
"policies.editor.other_path": "(jiné, zadejte cestu)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/de.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Backups nach Entitäts-ID filtern",
|
|
58
58
|
"backups.bulk_delete": "Passende Massen-Löschung…",
|
|
59
59
|
"policies.title": "Tool-Sicherheitsrichtlinien",
|
|
60
|
-
"policies.intro": "
|
|
60
|
+
"policies.intro": "Freigabesteuerung pro Tool für kritische Aufrufe. Der Schalter <strong>Sicherheitsfreigabe</strong> auf dem Tab <strong>Tools</strong> entscheidet, ob ein gesamtes Tool eine Freigabe benötigt; verfeinere dies hier mit Bedingungen. In einer Sperrliste benennt eine Regel Aufrufe, die eine Freigabe benötigen, und kann eine Freigabe für eine Weile aufrechterhalten; in einer Erlaubnisliste benennt eine Regel Aufrufe, die ohne Freigabe ausgeführt werden. Bedingungsoperatoren: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Globale Einstellungen",
|
|
62
|
+
"policies.global.rule_effect.label": "Freigabemodus",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Sperrliste</strong> (Standard): Die folgenden Regeln listen die Aufrufe auf, die deine Freigabe benötigen, und alle anderen Aufrufe werden ausgeführt. <strong>Erlaubnisliste</strong>: Die folgenden Regeln listen die Aufrufe auf, die ohne Freigabe ausgeführt werden, und jeder andere Aufrufe benötigt sie, einschließlich Lesevorgänge; nur die Tool-Suche und das Verwalten ausstehender Freigaben bleiben ausgenommen. Gilt ab dem nächsten Aufruf nach dem Speichern. Eine Erlaubnisliste stimmt streng überein: exakte Groß-/Kleinschreibung, jeder Wert, den ein Platzhalterpfad oder eine Liste erreicht, jeder Zweig eines Platzhalterpfads, der das Feld enthält, und Objekte nur über equals oder is one of. Regex und contains gleichen weiterhin Teilstrings ab, verankere ein Regex daher mit <code>^…$</code>; does NOT equal und is NOT one of genehmigen nicht alles, was sie nicht benennen. Text mit einem Komma oder Leerzeichen drumherum erfüllt keine Bedingung außer is present. Eine Regel schränkt nur die Argumente ein, die sie benennt.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Freigabe für übereinstimmende Aufrufe anfordern (Sperrliste)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Freigabe anfordern, es sei denn, eine Regel stimmt überein (Erlaubnisliste)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "Zu \"{from}\" statt \"{to}\" wechseln?\n\nJede Regel unten hat dann den entgegengesetzten Effekt: Aufrufe, die sie gesperrt hat, werden ohne Freigabe ausgeführt, oder von ihr genehmigte Aufrufe benötigen eine Freigabe. Aufrufe, auf die keine Regel zutrifft, verhalten sich umgekehrt, und in einer Erlaubnisliste greifen Bedingungen strenger.",
|
|
62
67
|
"policies.global.unknown": "Servereinstellungen konnten nicht gelesen werden. Die beiden Schalter unten werden als unbekannt angezeigt und können erst geändert werden, wenn die Seite erfolgreich neu geladen wurde; diese Ansicht spiegelt möglicherweise nicht wider, was der Server erzwingt.",
|
|
63
68
|
"policies.global.enabled.label": "Tool-Sicherheitsrichtlinien aktivieren",
|
|
64
69
|
"policies.global.enabled.help": "Hauptschalter. Spiegelt den Umschalter in den Servereinstellungen wider. Standardmäßig aus. Schalte ihn ein und starte HA-MCP neu, um die Filter-Middleware zu aktivieren. Solange er aus ist, bleiben die Regeln unten bestehen, werden aber nicht durchgesetzt.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Ausstehende Genehmigungen",
|
|
74
79
|
"policies.pending.empty": "Keine ausstehenden Genehmigungen.",
|
|
75
80
|
"policies.rules.title": "Gegated Tools",
|
|
81
|
+
"policies.rules.title_allow": "Genehmigte Tools",
|
|
76
82
|
"policies.rules.empty": "Derzeit keine Tools sicherheitsgegated. Aktiviere das Tool-Gating pro Tool im Tab <a href=\"#\" data-panel-link=\"tools\">Tools</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "Keine Tools genehmigt, sodass jeder Tool-Aufruf deine Freigabe benötigt, mit Ausnahme der Tool-Suche und der Verwaltung ausstehender Freigaben. Genehmige ein Tool, indem du dessen Sperre auf dem Tab <a href=\"#\" data-panel-link=\"tools\">Tools</a> deaktivierst.",
|
|
77
84
|
"accessibility.intro": "Diese Einstellungen werden sofort angewendet und werden in diesem Browser und auf dem Server gespeichert, sodass sie Neustarts in jedem Modus überleben (einschließlich stdio, wo die Einstellungsseite gelegentlich auf einen neuen Port verschoben werden kann). Die Dokumentationsseite bietet dieselben Steuerelemente in ihrer Navigationsleiste; sie hat keinen Server und speichert pro Browser.",
|
|
78
85
|
"accessibility.storage_blocked": "Dein Browser blockiert den Site-Speicher; Auswahlen gelten nur für diese Sitzung.",
|
|
79
86
|
"accessibility.theme.title": "Design",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Im App-(Add-on-)Modus fest auf <code>/data/saved_tools.json</code> eingestellt, damit gespeicherte Tools Aktualisierungen überstehen.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Wenn leer, werden benutzerdefinierte Tools nur im Speicher gehalten und gehen beim Neustart verloren.",
|
|
334
341
|
"policies.errors.conflict": "{operation} fehlgeschlagen: Richtlinie wurde in einem anderen Tab oder einer anderen Sitzung geändert. Lade neu und wende deine Änderungen erneut an.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} fehlgeschlagen: Die Richtlinie hat geändert, was eine übereinstimmende Regel bewirkt, seit diese Seite geladen wurde. Lade die Seite neu und wende dann deine Änderungen erneut an.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} fehlgeschlagen: Diese Seite konnte nicht lesen, was eine übereinstimmende Regel bewirkt. Lade die Seite neu und wende dann deine Änderungen erneut an.",
|
|
335
344
|
"policies.errors.load": "Richtlinie konnte nicht geladen werden: {status}",
|
|
336
345
|
"policies.errors.reach_server": "Server konnte nicht erreicht werden: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json scheint beschädigt zu sein; bearbeite oder lösche sie im Datenverzeichnis des Servers)",
|
|
338
347
|
"policies.errors.load_detail": "Richtlinie konnte nicht geladen werden: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Tool-Sicherheitsrichtlinie konnte nicht aktualisiert werden: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Eine bedingungslose „*“-Regel in dieser Erlaubnisliste genehmigt jedes Tool, sodass dieser Schalter keines sperren kann. Entferne diese Regel zuerst auf dem Tab für Tool-Sicherheitsrichtlinien.",
|
|
340
350
|
"policies.errors.remove_rule": "Regel konnte nicht entfernt werden: {message}",
|
|
341
351
|
"policies.errors.master_save": "Tool-Sicherheitsrichtlinien-Änderung wurde nicht gespeichert. Der Server hat weiterhin den vorherigen Wert.",
|
|
342
352
|
"policies.errors.manage_tool_save": "Änderung des Richtlinienbearbeitungstools wurde nicht gespeichert. Der Server hat immer noch den vorherigen Wert.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "ist kleiner als",
|
|
357
367
|
"policies.card.no_conditions": "(keine Bedingungen, Regel stimmt mit jedem Aufruf dieses Tools überein)",
|
|
358
368
|
"policies.card.always_row": "(immer — jeder Aufruf dieses Tools erfordert Genehmigung)",
|
|
369
|
+
"policies.card.always_row_allow": "(immer — genehmigt jeden Aufruf dieses Tools)",
|
|
359
370
|
"policies.card.and_join": " UND ",
|
|
360
371
|
"policies.card.remove_title": "Aus Richtlinie entfernen",
|
|
361
372
|
"policies.card.conditions_intro": "Genehmigung erfordern, wenn EINE der Bedingungen übereinstimmt (keine Bedingungen = immer Genehmigung erfordern):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Ohne Nachfragen genehmigen, wenn IRGENDEINE Bedingung zutrifft (keine Bedingungen = immer genehmigen):",
|
|
362
374
|
"policies.card.add_condition": "+ Bedingung hinzufügen",
|
|
363
375
|
"policies.card.argument": "Argument:",
|
|
364
376
|
"policies.card.argument_placeholder": "z. B. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Genehmigung merken für:",
|
|
369
381
|
"policies.card.minutes_single": "Minuten (0 = einmalig)",
|
|
370
382
|
"policies.card.confirm_remove": "\"{tool}\" aus der Sicherheitsrichtlinie entfernen?",
|
|
383
|
+
"policies.card.confirm_approve_all": "Jeden Aufruf von \"{tool}\" ohne Nachfragen genehmigen?",
|
|
384
|
+
"policies.card.not_saved": "Nicht gespeichert.",
|
|
371
385
|
"policies.editor.any_argument_title": "Jedes Aufruf-Argument gegen diese Bedingung abgleichen.",
|
|
372
386
|
"policies.editor.any_argument": "(beliebiges Argument)",
|
|
373
387
|
"policies.editor.other_path": "(andere, gib einen Pfad ein)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/eo.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Filtri sekurkopiojn laŭ ento-ID",
|
|
58
58
|
"backups.bulk_delete": "Amasforigi kongruajn…",
|
|
59
59
|
"policies.title": "Sekurecaj Politikoj de Iloj",
|
|
60
|
-
"policies.intro": "
|
|
60
|
+
"policies.intro": "Pro-ila aproba kontrolo por gravaj vokoj. La ŝaltilo <strong>security gated</strong> en la langeto <strong>Tools</strong> decidas ĉu tuta ilo bezonas aprobon; detaligu ĝin ĉi tie per kondiĉoj. En nigralisto regulo nomas vokojn kiuj bezonas aprobon kaj povas konservi aprobon por kelka tempo; en blankalisto regulo nomas vokojn kiuj rulas sen ĝi. Kondiĉaj operaciiloj: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Tutmondaj agordoj",
|
|
62
|
+
"policies.global.rule_effect.label": "Aproba reĝimo",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Nigralisto</strong> (defaŭlta): la subaj reguloj listigas la vokojn kiuj bezonas vian aprobon, kaj ĉiu alia voko rulas. <strong>Blankalisto</strong>: la subaj reguloj listigas la vokojn kiuj rulas sen aprobo, kaj ĉiu alia voko bezonas ĝin, inkluzive de legaj; nur iloserĉado kaj administrado de pendantaj aproboj restas esceptitaj. Aplikiĝas ekde la sekva voko post kiam vi konservas. Blankalisto kongruas strikte: ekzakta uskleco, ĉiu valoro atingita de ĵokera vojo aŭ listo, ĉiu branĉo de ĵokera vojo tenanta la kampon, kaj objektoj nur per equals aŭ is one of. Regex kaj contains ankoraŭ kongruas kun subsignovicoj, do ankri regulan esprimo per <code>^…$</code>; does NOT equal kaj is NOT one of aprobas ĉion kion ili ne nomas. Teksto kun komo aŭ ĉirkaŭa blankspaco kongruas kun neniu kondiĉo krom is present. Regulo limigas nur la argumentojn kiujn ĝi nomas.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Postuli aprobon por kongruaj vokoj (nigralisto)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Postuli aprobon krom se regulo kongruas (blankalisto)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "Ĉu ŝalti de \"{from}\" al \"{to}\"?\n\nĈiu suba regulo tiam havos la contrataksan efikon: vokoj kiujn ĝi kontrolis rulos sen aprobo, aŭ vokoj kiujn ĝi aprobis bezonos aprobon. Vokoj kiujn neniu regulo kongruas ŝanĝiĝos al la alia direkto, kaj en blankalisto kondiĉoj kongruas pli strikte.",
|
|
62
67
|
"policies.global.unknown": "Ne eblis legi servilajn agordojn. La du ŝaltiloj sube estas montritaj kiel nekonataj kaj ne povas esti ŝanĝitaj ĝis la paĝo sukcese reŝargas; ĉi tiu vido eble ne reflektas tion, kion la servilo trudas.",
|
|
63
68
|
"policies.global.enabled.label": "Ebligi Sekurecajn Politikojn de Iloj",
|
|
64
69
|
"policies.global.enabled.help": "Ĉefa ŝaltilo. Spegulas la ŝaltilon en Servilaj Agordoj. Malŝaltita defaŭlte. Ŝaltu kaj restartigu HA-MCP por aktivigi la filtran mezprogramaron. Dum malŝaltite, la reguloj sube persistas sed ne estas devigitaj.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Atendantaj aproboj",
|
|
74
79
|
"policies.pending.empty": "Neniuj atendantaj aproboj.",
|
|
75
80
|
"policies.rules.title": "Pordegitaj iloj",
|
|
81
|
+
"policies.rules.title_allow": "Aprobitaj iloj",
|
|
76
82
|
"policies.rules.empty": "Neniuj iloj nuntempe sekurece-pordegitaj. Ebligu per-ilan pordegadon el la langeto <a href=\"#\" data-panel-link=\"tools\">Iloj</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "Neniuj iloj aprobitaj, do ĉiu ilvoko bezonas vian aprobon, krom iloserĉado kaj administrado de pendantaj aproboj. Aprobu ilon malŝaltante ĝian kontrolon en la langeto <a href=\"#\" data-panel-link=\"tools\">Tools</a>.",
|
|
77
84
|
"accessibility.intro": "Ĉi tiuj agordoj aplikiĝas tuj kaj estas konservitaj en ĉi tiu retumilo kaj sur la servilo, do ili postvivas restartojn en ĉiu reĝimo (inkluzive stdio, kie la agorda paĝo povas foje moviĝi al nova pordo). La dokumenta retejo ofertas la samajn kontrolojn en sia navigacia stango; ĝi ne havas servilon kaj konservas laŭ retumilo.",
|
|
78
85
|
"accessibility.storage_blocked": "Via retumilo blokas la konservadon de retejaj datumoj; viaj elektoj validas nur por ĉi tiu seanco.",
|
|
79
86
|
"accessibility.theme.title": "Temo",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Fiksita al <code>/data/saved_tools.json</code> en la reĝimo de programo (aldonaĵo) por ke konservitaj iloj postvivu ĝisdatigojn.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Se malplena, propraj iloj estas konservitaj nur en memoro kaj perdiĝas post restartigo.",
|
|
334
341
|
"policies.errors.conflict": "{operation} malsukcesis: politiko estis modifita en alia langeto aŭ seanco. Reŝargu kaj reapliku viajn ŝanĝojn.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} malsukcesis: la politiko ŝanĝis tion kion kongrua regulo faras de kiam ĉi tiu paĝo ŝargis ĝin. Reŝargu la paĝon, poste reapliku viajn ŝanĝojn.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} malsukcesis: ĉi tiu paĝo ne povis legi tion kion kongrua regulo faras. Reŝargu la paĝon, poste reapliku viajn ŝanĝojn.",
|
|
335
344
|
"policies.errors.load": "Ne eblis ŝargi politikon: {status}",
|
|
336
345
|
"policies.errors.reach_server": "Ne eblis atingi la servilon: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json ŝajnas difektita; redaktu aŭ forigu ĝin en la datendosierujo de la servilo)",
|
|
338
347
|
"policies.errors.load_detail": "Malsukcesis ŝargi politikon: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Malsukcesis ĝisdatigi il-sekurecan politikon: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Senkondiĉa regulo \"*\" en ĉi tiu blankalisto aprobas ĉiun ilon, do ĉi tiu ŝaltilo ne povas kontroli unu. Forigu tiun regulon en la langeto Tool Security Policies unue.",
|
|
340
350
|
"policies.errors.remove_rule": "Malsukcesis forigi regulon: {message}",
|
|
341
351
|
"policies.errors.master_save": "Ŝanĝo de Il-Sekurecaj Politikoj ne konserviĝis. La servilo ankoraŭ havas la antaŭan valoron.",
|
|
342
352
|
"policies.errors.manage_tool_save": "Ŝanĝo de politik-redakta ilo ne konserviĝis. La servilo ankoraŭ havas la antaŭan valoron.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "estas pli malgranda ol",
|
|
357
367
|
"policies.card.no_conditions": "(sen kondiĉoj, regulo kongruas kun ĉiu voko al ĉi tiu ilo)",
|
|
358
368
|
"policies.card.always_row": "(ĉiam — pordigas ĉiun vokon al ĉi tiu ilo)",
|
|
369
|
+
"policies.card.always_row_allow": "(ĉiam — aprobas ĉiun vokon al ĉi tiu ilo)",
|
|
359
370
|
"policies.card.and_join": " KAJ ",
|
|
360
371
|
"policies.card.remove_title": "Forigi el politiko",
|
|
361
372
|
"policies.card.conditions_intro": "Postulu aprobon kiam IUJ kondiĉo kongruas (sen kondiĉoj = ĉiam postulu aprobon):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Aprobi sen demandi kiam IU AJN kondiĉo kongruas (neniuj kondiĉoj = ĉiam aprobi):",
|
|
362
374
|
"policies.card.add_condition": "+ Aldoni kondiĉon",
|
|
363
375
|
"policies.card.argument": "Argumento:",
|
|
364
376
|
"policies.card.argument_placeholder": "ekz. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Memori aprobon por:",
|
|
369
381
|
"policies.card.minutes_single": "minutoj (0 = unufoja)",
|
|
370
382
|
"policies.card.confirm_remove": "Ĉu forigi \"{tool}\" el la sekureca politiko?",
|
|
383
|
+
"policies.card.confirm_approve_all": "Ĉu aprobi ĉiun vokon al \"{tool}\" sen demandi?",
|
|
384
|
+
"policies.card.not_saved": "Ne konservite.",
|
|
371
385
|
"policies.editor.any_argument_title": "Kongruigi ĉiun vokan argumenton kontraŭ ĉi tiu kondiĉo.",
|
|
372
386
|
"policies.editor.any_argument": "(ajna argumento)",
|
|
373
387
|
"policies.editor.other_path": "(alia, tajpu vojon)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/es.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Filtrar copias de seguridad por ID de entidad",
|
|
58
58
|
"backups.bulk_delete": "Eliminar en bloque las coincidencias…",
|
|
59
59
|
"policies.title": "Políticas de seguridad de herramientas",
|
|
60
|
-
"policies.intro": "Control de aprobación por herramienta para llamadas
|
|
60
|
+
"policies.intro": "Control de aprobación por herramienta para llamadas críticas. El interruptor <strong>security gated</strong> en la pestaña <strong>Tools</strong> decide si una herramienta entera necesita aprobación; afínalo aquí con condiciones. En una lista de bloqueo, una regla nombra las llamadas que necesitan aprobación y puede mantenerla por un tiempo; en una lista de permitidos, una regla nombra las llamadas que se ejecutan sin ella. Operadores de condición: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Ajustes globales",
|
|
62
|
+
"policies.global.rule_effect.label": "Modo de aprobación",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Lista de bloqueo</strong> (predeterminado): las reglas siguientes enumeran las llamadas que necesitan tu aprobación y cualquier otra llamada se ejecuta. <strong>Lista de permitidos</strong>: las reglas siguientes enumeran las llamadas que se ejecutan sin aprobación y cualquier otra llamada la necesita, incluidas las lecturas; solo la búsqueda de herramientas y la gestión de aprobaciones pendientes quedan exentas. Se aplica a partir de la siguiente llamada después de guardar. Una lista de permitidos coincide estrictamente: coincidencia exacta de mayúsculas y minúsculas, cada valor alcanzado por una ruta comodín o una lista, cada rama de una ruta comodín que contenga el campo y los objetos solo mediante equals o is one of. Regex y contains siguen coincidiendo con subcadenas, así que ancla una expresión regular con <code>^…$</code>; does NOT equal y is NOT one of aprueban todo lo que no nombran. El texto con una coma o espacios en blanco alrededor no coincide con ninguna condición excepto is present. Una regla restringe únicamente los argumentos que nombra.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Requerir aprobación para las llamadas coincidentes (lista de bloqueo)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Requerir aprobación a menos que una regla coincida (lista de permitidos)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "¿Cambiar de \"{from}\" a \"{to}\"?\n\nCada regla a continuación tendrá entonces el efecto opuesto: las llamadas que bloqueaba se ejecutarán sin aprobación, o las llamadas que aprobaba necesitarán aprobación. Las llamadas que no coincidan con ninguna regla cambiarán al sentido contrario y, en una lista de permitidos, las condiciones coinciden de forma más estricta.",
|
|
62
67
|
"policies.global.unknown": "No se pudieron leer los ajustes del servidor. Los dos interruptores de abajo se muestran como desconocidos y no se pueden cambiar hasta que la página se recargue correctamente; esta vista puede no reflejar lo que el servidor aplica.",
|
|
63
68
|
"policies.global.enabled.label": "Activar las políticas de seguridad de herramientas",
|
|
64
69
|
"policies.global.enabled.help": "Interruptor principal. Refleja el conmutador en Server Settings. Desactivado por defecto. Actívalo y reinicia HA-MCP para activar el middleware de control de acceso. Mientras esté desactivado, las reglas a continuación persistirán pero no se aplicarán.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Aprobaciones pendientes",
|
|
74
79
|
"policies.pending.empty": "No hay aprobaciones pendientes.",
|
|
75
80
|
"policies.rules.title": "Herramientas controladas",
|
|
81
|
+
"policies.rules.title_allow": "Herramientas aprobadas",
|
|
76
82
|
"policies.rules.empty": "Ahora mismo no hay ninguna herramienta bajo control de seguridad. Activa el control por herramienta desde la pestaña <a href=\"#\" data-panel-link=\"tools\">Herramientas</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "No hay herramientas aprobadas, por lo que cada llamada a una herramienta necesita tu aprobación, excepto la búsqueda de herramientas y la gestión de aprobaciones pendientes. Aprueba una herramienta desactivando su bloqueo en la pestaña <a href=\"#\" data-panel-link=\"tools\">Tools</a>.",
|
|
77
84
|
"accessibility.intro": "Estas configuraciones se aplican inmediatamente y se guardan en este navegador y en el servidor, por lo que sobreviven a los reinicios en todos los modos (incluido stdio, donde la página de configuración puede ocasionalmente moverse a un nuevo puerto). El sitio de documentación ofrece los mismos controles en su barra de navegación; no tiene servidor y guarda por navegador.",
|
|
78
85
|
"accessibility.storage_blocked": "Tu navegador está bloqueando el almacenamiento del sitio; las opciones se aplican solo a esta sesión.",
|
|
79
86
|
"accessibility.theme.title": "Tema",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Predeterminado en <code>/data/saved_tools.json</code> en el modo app (add-on) para que las herramientas guardadas sobrevivan a las actualizaciones.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Si se deja vacío, las herramientas personalizadas se guardan solo en memoria y se pierden al reiniciar.",
|
|
334
341
|
"policies.errors.conflict": "{operation} ha fallado: la política se modificó en otra pestaña o sesión. Recarga y vuelve a aplicar tus cambios.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} falló: la directiva cambió lo que hace una regla coincidente desde que esta página la cargó. Recarga la página y vuelve a aplicar tus cambios.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} falló: esta página no pudo leer lo que hace una regla coincidente. Recarga la página y vuelve a aplicar tus cambios.",
|
|
335
344
|
"policies.errors.load": "No se ha podido cargar la política: {status}",
|
|
336
345
|
"policies.errors.reach_server": "No se ha podido contactar con el servidor: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json parece estar corrupto; edítalo o bórralo en el directorio de datos del servidor)",
|
|
338
347
|
"policies.errors.load_detail": "Fallo al cargar la política: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Fallo al actualizar la política de seguridad de la herramienta: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Una regla \"*\" incondicional en esta lista de permitidos aprueba todas las herramientas, por lo que este interruptor no puede bloquear ninguna. Elimina esa regla primero en la pestaña Tool Security Policies.",
|
|
340
350
|
"policies.errors.remove_rule": "Fallo al quitar la regla: {message}",
|
|
341
351
|
"policies.errors.master_save": "El cambio de las políticas de seguridad de herramientas no se ha guardado. El servidor mantiene el valor anterior.",
|
|
342
352
|
"policies.errors.manage_tool_save": "El cambio de la herramienta de edición de políticas no se guardó. El servidor aún tiene el valor anterior.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "es menor que",
|
|
357
367
|
"policies.card.no_conditions": "(sin condiciones, la regla coincide con cualquier llamada a esta herramienta)",
|
|
358
368
|
"policies.card.always_row": "(siempre: controla cada llamada a esta herramienta)",
|
|
369
|
+
"policies.card.always_row_allow": "(siempre — aprueba cada llamada a esta herramienta)",
|
|
359
370
|
"policies.card.and_join": " Y ",
|
|
360
371
|
"policies.card.remove_title": "Quitar de la política",
|
|
361
372
|
"policies.card.conditions_intro": "Exigir aprobación cuando coincida CUALQUIERA de las condiciones (sin condiciones = exigir aprobación siempre):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Aprobar sin preguntar cuando CUALQUIER condición coincida (sin condiciones = aprobar siempre):",
|
|
362
374
|
"policies.card.add_condition": "+ Añadir condición",
|
|
363
375
|
"policies.card.argument": "Argumento:",
|
|
364
376
|
"policies.card.argument_placeholder": "p. ej. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Recordar la aprobación durante:",
|
|
369
381
|
"policies.card.minutes_single": "minutos (0 = una sola vez)",
|
|
370
382
|
"policies.card.confirm_remove": "¿Quitar \"{tool}\" de la política de seguridad?",
|
|
383
|
+
"policies.card.confirm_approve_all": "¿Aprobar todas las llamadas a \"{tool}\" sin preguntar?",
|
|
384
|
+
"policies.card.not_saved": "No guardado.",
|
|
371
385
|
"policies.editor.any_argument_title": "Comprueba esta condición contra todos los argumentos de la llamada.",
|
|
372
386
|
"policies.editor.any_argument": "(cualquier argumento)",
|
|
373
387
|
"policies.editor.other_path": "(otro, escribe una ruta)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/fr.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Filtrer les sauvegardes par ID d'entité",
|
|
58
58
|
"backups.bulk_delete": "Suppression groupée des correspondances…",
|
|
59
59
|
"policies.title": "Politiques de sécurité des outils",
|
|
60
|
-
"policies.intro": "Contrôle d'approbation par outil pour les appels
|
|
60
|
+
"policies.intro": "Contrôle d'approbation par outil pour les appels sensibles. Le commutateur <strong>sécurisé</strong> sous l'onglet <strong>Outils</strong> détermine si un outil entier nécessite une approbation ; vous pouvez l'affiner ici avec des conditions. Dans une liste de blocage, une règle désigne les appels nécessitant une approbation et peut en mémoriser une temporairement ; dans une liste d'autorisation, une règle désigne les appels qui s'exécutent sans approbation. Opérateurs de condition : equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Paramètres globaux",
|
|
62
|
+
"policies.global.rule_effect.label": "Mode d'approbation",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Liste de blocage</strong> (par défaut) : les règles ci-dessous listent les appels nécessitant votre approbation, et tous les autres s'exécutent. <strong>Liste d'autorisation</strong> : les règles ci-dessous listent les appels s'exécutant sans approbation, et tous les autres la nécessitent, y compris les lectures ; seuls la recherche d'outils et la gestion des approbations en attente restent exemptés. S'applique dès le prochain appel après l'enregistrement. Une liste d'autorisation correspond strictement : casse exacte, chaque valeur atteinte par un chemin avec joker ou une liste, chaque branche d'un chemin avec joker contenant le champ, et les objets uniquement par equals ou is one of. Regex et contains correspondent toujours aux sous-chaînes, veuillez donc ancrer une regex avec <code>^…$</code> ; does NOT equal et is NOT one of approuvent tout ce qu'ils ne nomment pas. Le texte contenant une virgule ou des espaces environnants ne correspond à aucune condition, sauf is present. Une règle ne contraint que les arguments qu'elle nomme.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Exiger une approbation pour les appels correspondants (liste de blocage)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Exiger une approbation sauf si une règle correspond (liste d'autorisation)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "Passer de « {from} » à « {to} » ?\n\nToutes les règles ci-dessous auront alors l'effet inverse : les appels qu'elles bloquaient s'exécuteront sans approbation, ou les appels qu'elles approuvaient nécessiteront une approbation. Les appels ne correspondant à aucune règle basculeront de l'autre côté, et dans une liste d'autorisation, les conditions s'appliqueront plus strictement.",
|
|
62
67
|
"policies.global.unknown": "Impossible de lire les paramètres du serveur. Les deux interrupteurs ci-dessous sont affichés comme inconnus et ne peuvent pas être modifiés tant que la page n'est pas rechargée avec succès ; cette vue peut ne pas refléter ce que le serveur applique.",
|
|
63
68
|
"policies.global.enabled.label": "Activer les politiques de sécurité des outils",
|
|
64
69
|
"policies.global.enabled.help": "Interrupteur principal. Reflète la bascule des paramètres du serveur. Désactivé par défaut. Activez-le et redémarrez HA-MCP pour activer le middleware de filtrage. Lorsqu'il est désactivé, les règles ci-dessous persistent mais ne sont pas appliquées.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Approbations en attente",
|
|
74
79
|
"policies.pending.empty": "Aucune approbation en attente.",
|
|
75
80
|
"policies.rules.title": "Outils contrôlés",
|
|
81
|
+
"policies.rules.title_allow": "Outils approuvés",
|
|
76
82
|
"policies.rules.empty": "Aucun outil actuellement soumis à un contrôle de sécurité. Activez le contrôle par outil depuis l'onglet <a href=\"#\" data-panel-link=\"tools\">Outils</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "Aucun outil approuvé, par conséquent chaque appel d'outil nécessite votre approbation, à l'exception de la recherche d'outils et de la gestion des approbations en attente. Approuvez un outil en désactivant sa protection sous l'onglet <a href=\"#\" data-panel-link=\"tools\">Outils</a>.",
|
|
77
84
|
"accessibility.intro": "Ces paramètres s'appliquent immédiatement et sont enregistrés dans ce navigateur et sur le serveur, afin qu'ils survivent aux redémarrages dans tous les modes (y compris stdio, où la page des paramètres peut occasionnellement se déplacer vers un nouveau port). Le site de documentation offre les mêmes contrôles dans sa barre de navigation ; il n'a pas de serveur et enregistre par navigateur.",
|
|
78
85
|
"accessibility.storage_blocked": "Votre navigateur bloque le stockage du site ; les choix s'appliquent uniquement pour cette session.",
|
|
79
86
|
"accessibility.theme.title": "Thème",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Fixé en dur sur <code>/data/saved_tools.json</code> en mode application (add-on) afin que les outils enregistrés survivent aux mises à jour.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Si vide, les outils personnalisés sont conservés uniquement en mémoire et perdus au redémarrage.",
|
|
334
341
|
"policies.errors.conflict": "{operation} a échoué : la politique a été modifiée dans un autre onglet ou une autre session. Rechargez et réappliquez vos modifications.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} a échoué : la politique a modifié l'action d'une règle correspondante depuis le chargement de cette page. Rechargez la page, puis réappliquez vos modifications.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} a échoué : cette page n'a pas pu lire l'action d'une règle correspondante. Rechargez la page, puis réappliquez vos modifications.",
|
|
335
344
|
"policies.errors.load": "Impossible de charger la politique : {status}",
|
|
336
345
|
"policies.errors.reach_server": "Impossible d'atteindre le serveur : {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json semble corrompu ; modifiez-le ou supprimez-le dans le répertoire de données du serveur)",
|
|
338
347
|
"policies.errors.load_detail": "Échec du chargement de la politique : {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Échec de la mise à jour de la politique de sécurité de l'outil : {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Une règle inconditionnelle « * » dans cette liste d'autorisation approuve chaque outil, ce qui empêche ce commutateur d'en bloquer un. Supprimez d'abord cette règle sous l'onglet Politiques de sécurité des outils.",
|
|
340
350
|
"policies.errors.remove_rule": "Échec de la suppression de la règle : {message}",
|
|
341
351
|
"policies.errors.master_save": "Le changement des politiques de sécurité des outils n'a pas été enregistré. Le serveur a toujours la valeur précédente.",
|
|
342
352
|
"policies.errors.manage_tool_save": "La modification de l'outil d'édition de politiques n'a pas été enregistrée. Le serveur conserve toujours la valeur précédente.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "est inférieur à",
|
|
357
367
|
"policies.card.no_conditions": "(aucune condition, la règle correspond à chaque appel de cet outil)",
|
|
358
368
|
"policies.card.always_row": "(toujours — contrôle chaque appel de cet outil)",
|
|
369
|
+
"policies.card.always_row_allow": "(toujours — approuve chaque appel à cet outil)",
|
|
359
370
|
"policies.card.and_join": " ET ",
|
|
360
371
|
"policies.card.remove_title": "Retirer de la politique",
|
|
361
372
|
"policies.card.conditions_intro": "Exiger une approbation lorsque N'IMPORTE QUELLE condition correspond (aucune condition = toujours exiger une approbation) :",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Approuver sans demander lorsqu'UNE condition correspond (aucune condition = toujours approuver) :",
|
|
362
374
|
"policies.card.add_condition": "+ Ajouter une condition",
|
|
363
375
|
"policies.card.argument": "Argument :",
|
|
364
376
|
"policies.card.argument_placeholder": "p. ex. args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Mémoriser l'approbation pour :",
|
|
369
381
|
"policies.card.minutes_single": "minutes (0 = unique)",
|
|
370
382
|
"policies.card.confirm_remove": "Retirer \"{tool}\" de la politique de sécurité ?",
|
|
383
|
+
"policies.card.confirm_approve_all": "Approuver chaque appel à « {tool} » sans demander ?",
|
|
384
|
+
"policies.card.not_saved": "Non enregistré.",
|
|
371
385
|
"policies.editor.any_argument_title": "Faire correspondre chaque argument d'appel à cette condition.",
|
|
372
386
|
"policies.editor.any_argument": "(n'importe quel argument)",
|
|
373
387
|
"policies.editor.other_path": "(autre, tapez un chemin)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/it.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "Filtra i backup per ID entità",
|
|
58
58
|
"backups.bulk_delete": "Elimina in blocco le corrispondenze…",
|
|
59
59
|
"policies.title": "Criteri di sicurezza degli strumenti",
|
|
60
|
-
"policies.intro": "Controllo
|
|
60
|
+
"policies.intro": "Controllo dell'approvazione per strumento per le chiamate critiche. L'interruttore <strong>protetto da sicurezza</strong> nella scheda <strong>Tools</strong> decide se un intero strumento richiede l'approvazione; perfezionalo qui con delle condizioni. In un elenco di blocco una regola indica le chiamate che richiedono l'approvazione e può conservare un'approvazione per un po'; in un elenco di consenso una regola indica le chiamate che vengono eseguite senza. Operatori di condizione: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "Impostazioni globali",
|
|
62
|
+
"policies.global.rule_effect.label": "Modalità di approvazione",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>Elenco di blocco</strong> (predefinito): le regole sottostanti elencano le chiamate che richiedono la tua approvazione e qualsiasi altra chiamata viene eseguita. <strong>Elenco di consenso</strong>: le regole sottostanti elencano le chiamate che vengono eseguite senza approvazione e qualsiasi altra chiamata la richiede, letture incluse; solo la ricerca degli strumenti e la gestione delle approvazioni in sospeso rimangono esentate. Si applica dalla chiamata successiva al salvataggio. Un elenco di consenso corrisponde rigorosamente: maiuscole/minuscole esatte, ogni valore raggiunto da un percorso con carattere jolly o da un elenco, ogni ramo di un percorso con carattere jolly contenente il campo e gli oggetti solo tramite equals o is one of. Regex e contains corrispondono ancora a sottostringhe, quindi ancora un'espressione regolare con <code>^…$</code>; does NOT equal e is NOT one of approvano tutto ciò che non menzionano. Il testo con una virgola o spazi bianchi circostanti non corrisponde ad alcuna condizione tranne is present. Una regola limita solo gli argomenti che menziona.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "Richiedi l'approvazione per le chiamate corrispondenti (elenco di blocco)",
|
|
65
|
+
"policies.global.rule_effect.allow": "Richiedi l'approvazione a meno che una regola non corrisponda (elenco di consenso)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "Passare da \"{from}\" a \"{to}\"?\n\nTutte le regole sottostanti avranno quindi l'effetto opposto: le chiamate che proteggevano verranno eseguite senza approvazione, oppure le chiamate che approvavano richiederanno l'approvazione. Le chiamate a cui nessuna regola corrisponde si invertiranno e in un elenco di consenso le condizioni corrisponderanno in modo più rigoroso.",
|
|
62
67
|
"policies.global.unknown": "Impossibile leggere le impostazioni del server. I due interruttori sottostanti sono mostrati come sconosciuti e non possono essere modificati finché la pagina non si ricarica correttamente; questa vista potrebbe non riflettere ciò che il server impone.",
|
|
63
68
|
"policies.global.enabled.label": "Attiva i criteri di sicurezza degli strumenti",
|
|
64
69
|
"policies.global.enabled.help": "Interruttore principale. Rispecchia il selettore in Server Settings. Disattivato per impostazione predefinita. Attivalo e riavvia HA-MCP per attivare il middleware di controllo. Quando è disattivato, le regole sottostanti persistono ma non vengono applicate.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "Approvazioni in sospeso",
|
|
74
79
|
"policies.pending.empty": "Nessuna approvazione in sospeso.",
|
|
75
80
|
"policies.rules.title": "Strumenti controllati",
|
|
81
|
+
"policies.rules.title_allow": "Strumenti approvati",
|
|
76
82
|
"policies.rules.empty": "Al momento nessuno strumento è sottoposto a controllo di sicurezza. Attiva il controllo per singolo strumento dalla scheda <a href=\"#\" data-panel-link=\"tools\">Strumenti</a>.",
|
|
83
|
+
"policies.rules.empty_allow": "Nessuno strumento approvato, quindi ogni chiamata di strumento richiede la tua approvazione, ad eccezione della ricerca degli strumenti e della gestione delle approvazioni in sospeso. Approva uno strumento disattivando la sua protezione nella scheda <a href=\"#\" data-panel-link=\"tools\">Tools</a>.",
|
|
77
84
|
"accessibility.intro": "Queste impostazioni si applicano immediatamente e vengono salvate in questo browser e sul server, in modo che sopravvivano ai riavvii in ogni modalità (inclusa stdio, dove la pagina delle impostazioni può occasionalmente spostarsi su una nuova porta). Il sito della documentazione offre gli stessi controlli nella sua barra di navigazione; non ha un server e salva per browser.",
|
|
78
85
|
"accessibility.storage_blocked": "Il tuo browser sta bloccando l'archiviazione del sito; le scelte valgono solo per questa sessione.",
|
|
79
86
|
"accessibility.theme.title": "Tema",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "Fissato a <code>/data/saved_tools.json</code> nella modalità app (componente aggiuntivo) in modo che gli strumenti salvati sopravvivano agli aggiornamenti.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "Se il campo è vuoto, gli strumenti personalizzati restano solo in memoria e vanno persi al riavvio.",
|
|
334
341
|
"policies.errors.conflict": "{operation} non è riuscito: il criterio è stato modificato in un'altra scheda o sessione. Ricarica la pagina e riapplica le tue modifiche.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} non riuscito: la policy ha modificato l'azione di una regola corrispondente da quando questa pagina l'ha caricata. Ricarica la pagina, poi riapplica le tue modifiche.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} non riuscito: questa pagina non è riuscita a leggere l'azione di una regola corrispondente. Ricarica la pagina, poi riapplica le tue modifiche.",
|
|
335
344
|
"policies.errors.load": "Impossibile caricare il criterio: {status}",
|
|
336
345
|
"policies.errors.reach_server": "Impossibile raggiungere il server: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json sembra danneggiato; modificalo o eliminalo nella directory dei dati del server)",
|
|
338
347
|
"policies.errors.load_detail": "Caricamento del criterio non riuscito: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "Aggiornamento del criterio di sicurezza dello strumento non riuscito: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "Una regola \"*\" incondizionata in questo elenco di consenso approva ogni strumento, quindi questo interruttore non può proteggerne uno. Rimuovi prima tale regola nella scheda Tool Security Policies.",
|
|
340
350
|
"policies.errors.remove_rule": "Rimozione della regola non riuscita: {message}",
|
|
341
351
|
"policies.errors.master_save": "La modifica dei criteri di sicurezza degli strumenti non è stata salvata. Il server ha ancora il valore precedente.",
|
|
342
352
|
"policies.errors.manage_tool_save": "La modifica dello strumento di modifica delle policy non è stata salvata. Il server ha ancora il valore precedente.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "è minore di",
|
|
357
367
|
"policies.card.no_conditions": "(nessuna condizione, la regola corrisponde a ogni chiamata di questo strumento)",
|
|
358
368
|
"policies.card.always_row": "(sempre — controlla ogni chiamata di questo strumento)",
|
|
369
|
+
"policies.card.always_row_allow": "(sempre — approva ogni chiamata a questo strumento)",
|
|
359
370
|
"policies.card.and_join": " E ",
|
|
360
371
|
"policies.card.remove_title": "Rimuovi dal criterio",
|
|
361
372
|
"policies.card.conditions_intro": "Richiedi l'approvazione quando corrisponde UNA QUALSIASI condizione (nessuna condizione = approvazione sempre richiesta):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "Approva senza chiedere quando UNA QUALSIASI condizione corrisponde (nessuna condizione = approva sempre):",
|
|
362
374
|
"policies.card.add_condition": "+ Aggiungi una condizione",
|
|
363
375
|
"policies.card.argument": "Argomento:",
|
|
364
376
|
"policies.card.argument_placeholder": "per esempio args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "Ricorda l'approvazione per:",
|
|
369
381
|
"policies.card.minutes_single": "minuti (0 = una sola volta)",
|
|
370
382
|
"policies.card.confirm_remove": "Rimuovere «{tool}» dal criterio di sicurezza?",
|
|
383
|
+
"policies.card.confirm_approve_all": "Approvare ogni chiamata a \"{tool}\" senza chiedere?",
|
|
384
|
+
"policies.card.not_saved": "Non salvato.",
|
|
371
385
|
"policies.editor.any_argument_title": "Confronta ogni argomento della chiamata con questa condizione.",
|
|
372
386
|
"policies.editor.any_argument": "(qualunque argomento)",
|
|
373
387
|
"policies.editor.other_path": "(altro, digita un percorso)",
|
{ha_mcp_dev-8.5.0.dev2794 → ha_mcp_dev-8.5.0.dev2799}/src/ha_mcp/settings_ui/locales/ko.json
RENAMED
|
@@ -57,8 +57,13 @@
|
|
|
57
57
|
"backups.filter.entity_aria": "엔티티 ID로 백업 필터링",
|
|
58
58
|
"backups.bulk_delete": "조건에 맞는 항목 일괄 삭제…",
|
|
59
59
|
"policies.title": "도구 보안 정책",
|
|
60
|
-
"policies.intro": "
|
|
60
|
+
"policies.intro": "중요한 호출에 대한 도구별 승인 제어입니다. <strong>도구</strong> 탭의 <strong>보안 제어</strong> 스위치는 전체 도구에 승인이 필요한지 결정하며, 여기서 조건에 따라 세부적으로 조정할 수 있습니다. 차단 목록에서는 승인이 필요한 호출을 지정하고 일정 시간 동안 승인을 유지할 수 있으며, 허용 목록에서는 승인 없이 실행되는 호출을 지정합니다. 조건 연산자: equals, is one of, regex, contains, is present, greater than, less than.",
|
|
61
61
|
"policies.global.title": "전역 설정",
|
|
62
|
+
"policies.global.rule_effect.label": "승인 모드",
|
|
63
|
+
"policies.global.rule_effect.help": "<strong>차단 목록</strong> (기본값): 아래 규칙은 승인이 필요한 호출을 나열하며, 그 외의 모든 호출은 실행됩니다. <strong>허용 목록</strong>: 아래 규칙은 승인 없이 실행되는 호출을 나열하며, 읽기를 포함해 그 외의 모든 호출에는 승인이 필요합니다(도구 검색 및 대기 중인 승인 관리만 예외). 저장 후 다음 호출부터 적용됩니다. 허용 목록은 엄격하게 일치해야 합니다: 정확한 대소문자, 와일드카드 경로 또는 목록이 도달하는 모든 값, 필드를 보유한 와일드카드 경로의 모든 분기, 그리고 equals 또는 is one of를 통한 객체만 해당됩니다. Regex와 contains는 여전히 부분 문자열과 일치하므로 <code>^…$</code>로 정규식을 고정해야 합니다. does NOT equal과 is NOT one of는 지정하지 않은 모든 항목을 승인합니다. 쉼표나 앞뒤 공백이 있는 텍스트는 is present를 제외한 어떠한 조건과도 일치하지 않습니다. 규칙은 지정한 인자만 제한합니다.",
|
|
64
|
+
"policies.global.rule_effect.require_approval": "일치하는 호출에 승인 필요 (차단 목록)",
|
|
65
|
+
"policies.global.rule_effect.allow": "규칙이 일치하지 않는 한 승인 필요 (허용 목록)",
|
|
66
|
+
"policies.global.rule_effect.confirm": "\"{from}\"에서 \"{to}\"(으)로 전환하시겠습니까?\n\n그 아래의 모든 규칙은 반대 효과를 갖게 됩니다. 즉, 제어되던 호출은 승인 없이 실행되거나, 승인되었던 호출에 승인이 필요하게 됩니다. 어떤 규칙과도 일치하지 않는 호출은 반대 방향으로 전환되며, 허용 목록에서는 조건이 더 엄격하게 일치하게 됩니다.",
|
|
62
67
|
"policies.global.unknown": "서버 설정을 읽지 못했습니다. 아래 두 스위치는 알 수 없음으로 표시되며 페이지가 정상적으로 다시 로드되기 전까지 변경할 수 없습니다. 이 화면이 서버에서 실제로 적용 중인 내용과 다를 수 있습니다.",
|
|
63
68
|
"policies.global.enabled.label": "도구 보안 정책 사용",
|
|
64
69
|
"policies.global.enabled.help": "마스터 스위치입니다. 서버 설정의 토글과 연동됩니다. 기본값은 꺼짐입니다. 켠 뒤 HA-MCP를 다시 시작해야 승인 게이트 미들웨어가 활성화됩니다. 꺼져 있는 동안에도 아래 규칙은 그대로 보존되지만 적용되지는 않습니다.",
|
|
@@ -73,7 +78,9 @@
|
|
|
73
78
|
"policies.pending.title": "대기 중인 승인",
|
|
74
79
|
"policies.pending.empty": "대기 중인 승인이 없습니다.",
|
|
75
80
|
"policies.rules.title": "게이팅된 도구",
|
|
81
|
+
"policies.rules.title_allow": "승인된 도구",
|
|
76
82
|
"policies.rules.empty": "현재 보안 게이트가 걸린 도구가 없습니다. <a href=\"#\" data-panel-link=\"tools\">도구</a> 탭에서 도구별 게이팅을 켜세요.",
|
|
83
|
+
"policies.rules.empty_allow": "승인된 도구가 없으므로, 도구 검색 및 대기 중인 승인 관리를 제외한 모든 도구 호출에 승인이 필요합니다. <a href=\"#\" data-panel-link=\"tools\">도구</a> 탭에서 해당 도구의 제어를 끄면 승인할 수 있습니다.",
|
|
77
84
|
"accessibility.intro": "이 설정은 즉시 적용되며 브라우저와 서버 양쪽에 저장되므로, 모든 모드에서 다시 시작해도 유지됩니다(설정 페이지 포트가 가끔 바뀌는 stdio 모드 포함). 문서 사이트의 내비게이션 바에도 동일한 컨트롤이 있으며, 그쪽은 서버가 없어 브라우저별로만 저장됩니다.",
|
|
78
85
|
"accessibility.storage_blocked": "브라우저가 사이트 저장소를 차단하고 있어 선택한 설정이 이번 세션에만 적용됩니다.",
|
|
79
86
|
"accessibility.theme.title": "테마",
|
|
@@ -332,11 +339,14 @@
|
|
|
332
339
|
"advanced.code_mode_saved_tools_path.addon_locked": "앱(애드온) 모드에서는 업데이트 후에도 저장된 도구가 유지되도록 <code>/data/saved_tools.json</code>으로 고정되어 있습니다.",
|
|
333
340
|
"advanced.code_mode_saved_tools_path.blank_warning": "비워 두면 사용자 지정 도구가 메모리에만 보관되어 다시 시작할 때 사라집니다.",
|
|
334
341
|
"policies.errors.conflict": "{operation} 실패: 다른 탭이나 세션에서 정책이 변경되었습니다. 페이지를 다시 불러온 뒤 변경 사항을 다시 적용하세요.",
|
|
342
|
+
"policies.errors.effect_changed": "{operation} 실패: 페이지가 로드된 이후 일치하는 규칙의 동작이 정책에 의해 변경되었습니다. 페이지를 다시 불러온 뒤 변경 사항을 다시 적용하세요.",
|
|
343
|
+
"policies.errors.effect_unknown": "{operation} 실패: 이 페이지에서 일치하는 규칙의 동작을 읽을 수 없습니다. 페이지를 다시 불러온 뒤 변경 사항을 다시 적용하세요.",
|
|
335
344
|
"policies.errors.load": "정책을 불러오지 못했습니다: {status}",
|
|
336
345
|
"policies.errors.reach_server": "서버에 연결하지 못했습니다: {message}",
|
|
337
346
|
"policies.errors.corrupt_suffix": " (tool_policy.json이 손상된 것으로 보입니다. 서버 데이터 디렉터리에서 수정하거나 삭제하세요)",
|
|
338
347
|
"policies.errors.load_detail": "정책을 불러오지 못했습니다: {detail}",
|
|
339
348
|
"policies.errors.update_tool": "도구 보안 정책을 업데이트하지 못했습니다: {message}",
|
|
349
|
+
"policies.errors.wildcard_rule": "이 허용 목록의 조건 없는 \"*\" 규칙은 모든 도구를 승인하므로, 이 스위치로 하나를 제어할 수 없습니다. 먼저 도구 보안 정책 탭에서 해당 규칙을 제거하세요.",
|
|
340
350
|
"policies.errors.remove_rule": "규칙을 제거하지 못했습니다: {message}",
|
|
341
351
|
"policies.errors.master_save": "도구 보안 정책 변경이 저장되지 않았습니다. 서버에는 이전 값이 그대로 남아 있습니다.",
|
|
342
352
|
"policies.errors.manage_tool_save": "정책 편집 도구 변경이 저장되지 않았습니다. 서버에는 이전 값이 그대로 남아 있습니다.",
|
|
@@ -356,9 +366,11 @@
|
|
|
356
366
|
"policies.operators.lt": "미만",
|
|
357
367
|
"policies.card.no_conditions": "(조건 없음, 이 도구의 모든 호출에 규칙이 적용됩니다)",
|
|
358
368
|
"policies.card.always_row": "(항상 — 이 도구의 모든 호출에 승인을 요구합니다)",
|
|
369
|
+
"policies.card.always_row_allow": "(항상 — 이 도구에 대한 모든 호출 승인)",
|
|
359
370
|
"policies.card.and_join": " 그리고 ",
|
|
360
371
|
"policies.card.remove_title": "정책에서 제거",
|
|
361
372
|
"policies.card.conditions_intro": "조건 중 하나라도 맞으면 승인을 요구합니다(조건이 없으면 항상 승인 요구):",
|
|
373
|
+
"policies.card.conditions_intro_allow": "다음 조건 중 하나라도 일치하면 묻지 않고 승인 (조건 없음 = 항상 승인):",
|
|
362
374
|
"policies.card.add_condition": "+ 조건 추가",
|
|
363
375
|
"policies.card.argument": "인수:",
|
|
364
376
|
"policies.card.argument_placeholder": "예: args.color_temp",
|
|
@@ -368,6 +380,8 @@
|
|
|
368
380
|
"policies.card.remember_for": "승인 유지 기간:",
|
|
369
381
|
"policies.card.minutes_single": "분(0 = 한 번만)",
|
|
370
382
|
"policies.card.confirm_remove": "보안 정책에서 \"{tool}\"을(를) 제거할까요?",
|
|
383
|
+
"policies.card.confirm_approve_all": "\"{tool}\"에 대한 모든 호출을 묻지 않고 승인하시겠습니까?",
|
|
384
|
+
"policies.card.not_saved": "저장되지 않음.",
|
|
371
385
|
"policies.editor.any_argument_title": "모든 호출 인수를 이 조건과 대조합니다.",
|
|
372
386
|
"policies.editor.any_argument": "(모든 인수)",
|
|
373
387
|
"policies.editor.other_path": "(기타, 경로 직접 입력)",
|