ha-mcp-dev 9.0.0.dev3112__tar.gz → 9.0.0.dev3116__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/PKG-INFO +1 -1
  2. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/pyproject.toml +1 -1
  3. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/pyproject.toml.orig +1 -1
  4. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/MANIFEST.sha256 +70 -70
  5. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/REQUIRES.txt +1 -0
  6. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/VENDORED +1 -1
  7. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/__init__.py +1 -1
  8. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/file_upload.py +84 -18
  9. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/generative.py +2 -1
  10. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/cli.py +7 -2
  11. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/client.py +84 -13
  12. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/state.py +3 -2
  13. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/generate.py +9 -4
  14. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/mcp_json.py +4 -2
  15. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/auth/oauth.py +10 -1
  16. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/elicitation.py +3 -2
  17. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/mixins/tools.py +3 -1
  18. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/anthropic.py +1 -1
  19. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/config.py +13 -7
  20. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/mcp_mixin.py +12 -9
  21. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/code_mode.py +8 -3
  22. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/prompts/base.py +11 -3
  23. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/prompts/function_prompt.py +9 -1
  24. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/base.py +2 -30
  25. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/template.py +13 -2
  26. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/types.py +7 -2
  27. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/auth.py +133 -17
  28. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/middleware.py +13 -7
  29. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/proxy.py +14 -7
  30. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/azure.py +27 -5
  31. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/google.py +28 -0
  32. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/introspection.py +34 -0
  33. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/jwt.py +44 -7
  34. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/workos.py +11 -3
  35. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/context.py +7 -9
  36. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/dependencies.py +8 -3
  37. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/elicitation.py +42 -11
  38. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/http.py +38 -13
  39. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/low_level.py +6 -8
  40. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/error_handling.py +4 -1
  41. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/response_limiting.py +5 -1
  42. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/mixins/transport.py +5 -8
  43. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/base.py +17 -4
  44. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem.py +8 -5
  45. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/filesystem_discovery.py +1 -0
  46. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/prompts.py +4 -1
  47. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/resources.py +4 -1
  48. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/tools.py +5 -1
  49. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/components.py +13 -4
  50. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/provider.py +10 -3
  51. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_synthesis.py +18 -4
  52. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/proxy.py +37 -22
  53. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/directory_provider.py +17 -1
  54. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/skill_provider.py +3 -3
  55. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/server.py +7 -2
  56. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/prompts_as_tools.py +9 -4
  57. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/resources_as_tools.py +12 -5
  58. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/bm25.py +9 -6
  59. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/regex.py +20 -9
  60. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/version_filter.py +24 -4
  61. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/settings.py +17 -7
  62. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/tools/function_parsing.py +35 -7
  63. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/tools/function_tool.py +61 -19
  64. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/tools/tool_transform.py +12 -7
  65. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/async_utils.py +7 -0
  66. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/components.py +29 -0
  67. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/docstring_parsing.py +15 -5
  68. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema.py +11 -5
  69. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/json_schema_type.py +103 -7
  70. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/director.py +45 -6
  71. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/json_schema_converter.py +114 -38
  72. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/schemas.py +107 -41
  73. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/tests.py +34 -12
  74. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/types.py +13 -4
  75. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/requirements.txt +1 -1
  76. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/categorized_search.py +4 -1
  77. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/LICENSE +0 -0
  78. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/README.md +0 -0
  79. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/__init__.py +0 -0
  80. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/__main__.py +0 -0
  81. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_pypi_marker +0 -0
  82. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_rich_compat.py +0 -0
  83. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/__init__.py +0 -0
  84. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/LICENSE +0 -0
  85. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/_compat.py +0 -0
  86. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/_install_hints.py +0 -0
  87. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/_warnings.py +0 -0
  88. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/__init__.py +0 -0
  89. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/app.py +0 -0
  90. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/approval.py +0 -0
  91. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/choice.py +0 -0
  92. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/config.py +0 -0
  93. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/apps/form.py +0 -0
  94. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/__init__.py +0 -0
  95. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/__main__.py +0 -0
  96. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev.py +0 -0
  97. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/apps_dev_security.py +0 -0
  98. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/auth.py +0 -0
  99. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/cimd.py +0 -0
  100. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/__init__.py +0 -0
  101. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/authentication.py +0 -0
  102. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/command.py +0 -0
  103. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/configuration.py +0 -0
  104. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/credentials.py +0 -0
  105. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/horizon_client.py +0 -0
  106. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/deploy/output.py +0 -0
  107. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/discovery.py +0 -0
  108. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/__init__.py +0 -0
  109. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_code.py +0 -0
  110. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/claude_desktop.py +0 -0
  111. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/cursor.py +0 -0
  112. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/gemini_cli.py +0 -0
  113. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/goose.py +0 -0
  114. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/shared.py +0 -0
  115. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/install/stdio.py +0 -0
  116. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/cli/run.py +0 -0
  117. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/__init__.py +0 -0
  118. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/_sdk_context_shim.py +0 -0
  119. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/auth/__init__.py +0 -0
  120. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/auth/bearer.py +0 -0
  121. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/auth/client_credentials.py +0 -0
  122. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/caching.py +0 -0
  123. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/client.py +0 -0
  124. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/dependencies.py +0 -0
  125. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/extension_hooks.py +0 -0
  126. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/group.py +0 -0
  127. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/logging.py +0 -0
  128. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/messages.py +0 -0
  129. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/mixins/__init__.py +0 -0
  130. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/mixins/prompts.py +0 -0
  131. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/mixins/resources.py +0 -0
  132. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/oauth_callback.py +0 -0
  133. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/progress.py +0 -0
  134. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/roots.py +0 -0
  135. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/sampling/__init__.py +0 -0
  136. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/__init__.py +0 -0
  137. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/google_genai.py +0 -0
  138. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/sampling/handlers/openai.py +0 -0
  139. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/telemetry.py +0 -0
  140. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/__init__.py +0 -0
  141. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/base.py +0 -0
  142. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/http.py +0 -0
  143. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/inference.py +0 -0
  144. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/memory.py +0 -0
  145. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/sse.py +0 -0
  146. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/client/transports/stdio.py +0 -0
  147. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/README.md +0 -0
  148. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  149. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  150. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  151. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  152. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/README.md +0 -0
  153. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/__init__.py +0 -0
  154. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/component_manager.py +0 -0
  155. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/component_manager/example.py +0 -0
  156. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/README.md +0 -0
  157. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  158. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/contrib/mcp_mixin/example.py +0 -0
  159. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/decorators.py +0 -0
  160. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/dependencies.py +0 -0
  161. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/exceptions.py +0 -0
  162. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/experimental/__init__.py +0 -0
  163. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/__init__.py +0 -0
  164. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/experimental/transforms/jev_search.py +0 -0
  165. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/mcp_config.py +0 -0
  166. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/prompts/__init__.py +0 -0
  167. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/py.typed +0 -0
  168. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/__init__.py +0 -0
  169. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/function_resource.py +0 -0
  170. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/resources/security.py +0 -0
  171. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/__init__.py +0 -0
  172. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/__init__.py +0 -0
  173. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/cimd.py +0 -0
  174. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/__init__.py +0 -0
  175. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/handlers/authorize.py +0 -0
  176. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/identity_assertion.py +0 -0
  177. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/jwt_issuer.py +0 -0
  178. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/__init__.py +0 -0
  179. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/consent.py +0 -0
  180. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/models.py +0 -0
  181. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/ui.py +0 -0
  182. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oauth_proxy/upstream.py +0 -0
  183. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/oidc_proxy.py +0 -0
  184. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/__init__.py +0 -0
  185. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/auth0.py +0 -0
  186. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/aws.py +0 -0
  187. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/clerk.py +0 -0
  188. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/debug.py +0 -0
  189. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/descope.py +0 -0
  190. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/discord.py +0 -0
  191. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/github.py +0 -0
  192. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/huggingface.py +0 -0
  193. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/in_memory.py +0 -0
  194. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/keycloak.py +0 -0
  195. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/oci.py +0 -0
  196. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/propelauth.py +0 -0
  197. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/scalekit.py +0 -0
  198. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/providers/supabase.py +0 -0
  199. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/redirect_validation.py +0 -0
  200. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/auth/ssrf.py +0 -0
  201. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/caching.py +0 -0
  202. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/completions.py +0 -0
  203. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/event_store.py +0 -0
  204. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/extensions.py +0 -0
  205. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/lifespan.py +0 -0
  206. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/__init__.py +0 -0
  207. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/authorization.py +0 -0
  208. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/caching.py +0 -0
  209. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/dereference.py +0 -0
  210. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/logging.py +0 -0
  211. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/middleware.py +0 -0
  212. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/ping.py +0 -0
  213. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/rate_limiting.py +0 -0
  214. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/timing.py +0 -0
  215. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/middleware/tool_injection.py +0 -0
  216. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/mixins/__init__.py +0 -0
  217. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/mixins/extensions.py +0 -0
  218. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/mixins/lifespan.py +0 -0
  219. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/mixins/mcp_operations.py +0 -0
  220. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/__init__.py +0 -0
  221. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/addressing.py +0 -0
  222. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/aggregate.py +0 -0
  223. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/fastmcp_provider.py +0 -0
  224. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/__init__.py +0 -0
  225. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/decorators/__init__.py +0 -0
  226. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/local_provider/local_provider.py +0 -0
  227. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/README.md +0 -0
  228. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/__init__.py +0 -0
  229. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/openapi/routing.py +0 -0
  230. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/prefab_payload.py +0 -0
  231. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/__init__.py +0 -0
  232. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/_common.py +0 -0
  233. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/claude_provider.py +0 -0
  234. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/skills/vendor_providers.py +0 -0
  235. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/providers/wrapped_provider.py +0 -0
  236. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/session_scoped_event_store.py +0 -0
  237. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/sessions.py +0 -0
  238. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/telemetry.py +0 -0
  239. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/__init__.py +0 -0
  240. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/catalog.py +0 -0
  241. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/namespace.py +0 -0
  242. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/__init__.py +0 -0
  243. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/search/base.py +0 -0
  244. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/tool_transform.py +0 -0
  245. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/server/transforms/visibility.py +0 -0
  246. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/telemetry.py +0 -0
  247. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/tools/__init__.py +0 -0
  248. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/tools/base.py +0 -0
  249. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/types.py +0 -0
  250. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/__init__.py +0 -0
  251. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/asgi_transport.py +0 -0
  252. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/auth.py +0 -0
  253. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/authorization.py +0 -0
  254. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/cli.py +0 -0
  255. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/exceptions.py +0 -0
  256. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/http.py +0 -0
  257. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/inspect.py +0 -0
  258. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/lifespan.py +0 -0
  259. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/logging.py +0 -0
  260. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  261. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  262. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  263. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  264. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  265. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  266. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  267. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  268. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  269. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  270. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/mime.py +0 -0
  271. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/README.md +0 -0
  272. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/__init__.py +0 -0
  273. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/formatters.py +0 -0
  274. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/models.py +0 -0
  275. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/openapi/parser.py +0 -0
  276. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/pagination.py +0 -0
  277. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/prefab.py +0 -0
  278. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/skills.py +0 -0
  279. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/tasks.py +0 -0
  280. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/timeout.py +0 -0
  281. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/token_cache.py +0 -0
  282. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/ui.py +0 -0
  283. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/version_check.py +0 -0
  284. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/fastmcp/utilities/versions.py +0 -0
  285. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/LICENSE +0 -0
  286. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/MANIFEST.sha256 +0 -0
  287. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/REQUIRES.txt +0 -0
  288. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/VENDORED +0 -0
  289. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/__init__.py +0 -0
  290. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/cli/__init__.py +0 -0
  291. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/cli/claude.py +0 -0
  292. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/cli/cli.py +0 -0
  293. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/__init__.py +0 -0
  294. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/__main__.py +0 -0
  295. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/_input_required.py +0 -0
  296. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/_memory.py +0 -0
  297. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/_probe.py +0 -0
  298. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/_transport.py +0 -0
  299. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/__init__.py +0 -0
  300. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/exceptions.py +0 -0
  301. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/extensions/__init__.py +0 -0
  302. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/extensions/client_credentials.py +0 -0
  303. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/extensions/identity_assertion.py +0 -0
  304. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/oauth2.py +0 -0
  305. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/auth/utils.py +0 -0
  306. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/caching.py +0 -0
  307. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/client.py +0 -0
  308. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/context.py +0 -0
  309. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/extension.py +0 -0
  310. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/session.py +0 -0
  311. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/session_group.py +0 -0
  312. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/sse.py +0 -0
  313. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/stdio.py +0 -0
  314. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/streamable_http.py +0 -0
  315. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/client/subscriptions.py +0 -0
  316. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/os/__init__.py +0 -0
  317. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/os/posix/__init__.py +0 -0
  318. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/os/posix/utilities.py +0 -0
  319. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/os/win32/__init__.py +0 -0
  320. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/os/win32/utilities.py +0 -0
  321. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/py.typed +0 -0
  322. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/__init__.py +0 -0
  323. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/__main__.py +0 -0
  324. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/_otel.py +0 -0
  325. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/_streamable_http_modern.py +0 -0
  326. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/apps.py +0 -0
  327. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/__init__.py +0 -0
  328. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/errors.py +0 -0
  329. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/__init__.py +0 -0
  330. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/authorize.py +0 -0
  331. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/metadata.py +0 -0
  332. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/register.py +0 -0
  333. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/revoke.py +0 -0
  334. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/handlers/token.py +0 -0
  335. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/json_response.py +0 -0
  336. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/middleware/__init__.py +0 -0
  337. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/middleware/auth_context.py +0 -0
  338. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/middleware/bearer_auth.py +0 -0
  339. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/middleware/client_auth.py +0 -0
  340. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/provider.py +0 -0
  341. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/routes.py +0 -0
  342. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/auth/settings.py +0 -0
  343. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/caching.py +0 -0
  344. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/connection.py +0 -0
  345. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/context.py +0 -0
  346. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/elicitation.py +0 -0
  347. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/extension.py +0 -0
  348. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/fastmcp.py +0 -0
  349. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/lowlevel/__init__.py +0 -0
  350. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/lowlevel/helper_types.py +0 -0
  351. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/lowlevel/server.py +0 -0
  352. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/__init__.py +0 -0
  353. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/context.py +0 -0
  354. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/exceptions.py +0 -0
  355. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/__init__.py +0 -0
  356. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/base.py +0 -0
  357. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/prompts/manager.py +0 -0
  358. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resolve.py +0 -0
  359. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/__init__.py +0 -0
  360. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/base.py +0 -0
  361. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/resource_manager.py +0 -0
  362. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/templates.py +0 -0
  363. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/resources/types.py +0 -0
  364. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/server.py +0 -0
  365. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/__init__.py +0 -0
  366. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/base.py +0 -0
  367. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/tools/tool_manager.py +0 -0
  368. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/__init__.py +0 -0
  369. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/context_injection.py +0 -0
  370. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/func_metadata.py +0 -0
  371. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/logging.py +0 -0
  372. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/mcpserver/utilities/types.py +0 -0
  373. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/models.py +0 -0
  374. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/request_state.py +0 -0
  375. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/runner.py +0 -0
  376. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/session.py +0 -0
  377. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/sse.py +0 -0
  378. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/stdio.py +0 -0
  379. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/streamable_http.py +0 -0
  380. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/streamable_http_manager.py +0 -0
  381. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/subscriptions.py +0 -0
  382. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/transport_security.py +0 -0
  383. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/server/validation.py +0 -0
  384. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/__init__.py +0 -0
  385. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_callable_inspection.py +0 -0
  386. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_compat.py +0 -0
  387. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_context_streams.py +0 -0
  388. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_httpx_utils.py +0 -0
  389. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_otel.py +0 -0
  390. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_request_clock.py +0 -0
  391. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/_stream_protocols.py +0 -0
  392. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/auth.py +0 -0
  393. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/auth_utils.py +0 -0
  394. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/context.py +0 -0
  395. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/direct_dispatcher.py +0 -0
  396. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/dispatcher.py +0 -0
  397. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/exceptions.py +0 -0
  398. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/extension.py +0 -0
  399. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/inbound.py +0 -0
  400. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/jsonrpc_dispatcher.py +0 -0
  401. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/memory.py +0 -0
  402. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/message.py +0 -0
  403. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/metadata_utils.py +0 -0
  404. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/path_security.py +0 -0
  405. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/peer.py +0 -0
  406. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/subscriptions.py +0 -0
  407. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/tool_name_validation.py +0 -0
  408. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/transport_context.py +0 -0
  409. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/shared/uri_template.py +0 -0
  410. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/types/__init__.py +0 -0
  411. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/types/jsonrpc.py +0 -0
  412. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/types/methods.py +0 -0
  413. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp/types/version.py +0 -0
  414. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/LICENSE +0 -0
  415. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/MANIFEST.sha256 +0 -0
  416. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/REQUIRES.txt +0 -0
  417. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/VENDORED +0 -0
  418. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/__init__.py +0 -0
  419. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/_types.py +0 -0
  420. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/_v2025_11_25/__init__.py +0 -0
  421. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/_v2026_07_28/__init__.py +0 -0
  422. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/_wire_base.py +0 -0
  423. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/jsonrpc.py +0 -0
  424. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/methods.py +0 -0
  425. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/py.typed +0 -0
  426. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/mcp_types/version.py +0 -0
  427. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/LICENSE +0 -0
  428. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/MANIFEST.sha256 +0 -0
  429. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/VENDORED +0 -0
  430. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/__init__.py +0 -0
  431. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/__main__.py +0 -0
  432. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/__init__.py +0 -0
  433. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/client.py +0 -0
  434. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/connection.py +0 -0
  435. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/messages.py +0 -0
  436. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/router.py +0 -0
  437. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/asyncio/server.py +0 -0
  438. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/auth.py +0 -0
  439. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/cli.py +0 -0
  440. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/client.py +0 -0
  441. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/connection.py +0 -0
  442. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/datastructures.py +0 -0
  443. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/exceptions.py +0 -0
  444. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/extensions/__init__.py +0 -0
  445. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/extensions/base.py +0 -0
  446. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/extensions/permessage_deflate.py +0 -0
  447. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/frames.py +0 -0
  448. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/headers.py +0 -0
  449. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/http11.py +0 -0
  450. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/imports.py +0 -0
  451. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/__init__.py +0 -0
  452. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/auth.py +0 -0
  453. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/client.py +0 -0
  454. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/exceptions.py +0 -0
  455. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/framing.py +0 -0
  456. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/handshake.py +0 -0
  457. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/http.py +0 -0
  458. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/protocol.py +0 -0
  459. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/legacy/server.py +0 -0
  460. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/protocol.py +0 -0
  461. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/proxy.py +0 -0
  462. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/py.typed +0 -0
  463. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/server.py +0 -0
  464. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/streams.py +0 -0
  465. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/__init__.py +0 -0
  466. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/client.py +0 -0
  467. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/connection.py +0 -0
  468. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/messages.py +0 -0
  469. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/router.py +0 -0
  470. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/server.py +0 -0
  471. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/sync/utils.py +0 -0
  472. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/__init__.py +0 -0
  473. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/client.py +0 -0
  474. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/connection.py +0 -0
  475. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/messages.py +0 -0
  476. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/router.py +0 -0
  477. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/server.py +0 -0
  478. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/trio/utils.py +0 -0
  479. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/typing.py +0 -0
  480. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/uri.py +0 -0
  481. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/utils.py +0 -0
  482. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_vendor/websockets/version.py +0 -0
  483. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/_version.py +0 -0
  484. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/app_discovery.py +0 -0
  485. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/auth/__init__.py +0 -0
  486. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/auth/consent_form.py +0 -0
  487. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/auth/oidc_compat.py +0 -0
  488. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/auth/provider.py +0 -0
  489. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_dashboards.py +0 -0
  490. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_diff.py +0 -0
  491. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_entity_ids.py +0 -0
  492. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_helper_target.py +0 -0
  493. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_integrations.py +0 -0
  494. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_manager.py +0 -0
  495. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_tags.py +0 -0
  496. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/backup_zones.py +0 -0
  497. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/browser_landing.py +0 -0
  498. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/__init__.py +0 -0
  499. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/admin_routes.py +0 -0
  500. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/models.py +0 -0
  501. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/rest_client.py +0 -0
  502. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/supervisor_client.py +0 -0
  503. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/websocket_client.py +0 -0
  504. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/client/websocket_listener.py +0 -0
  505. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config.py +0 -0
  506. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config_backup.py +0 -0
  507. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config_meta.py +0 -0
  508. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config_overrides.py +0 -0
  509. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config_registry.py +0 -0
  510. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/config_settings.py +0 -0
  511. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  512. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  513. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/content.py +0 -0
  514. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/paths.py +0 -0
  515. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  516. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/dashboard_screenshot/theme_guard.py +0 -0
  517. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/errors.py +0 -0
  518. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/ha_request_queue.py +0 -0
  519. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/hacs_auto_refresh.py +0 -0
  520. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/http_transport.py +0 -0
  521. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/image_info.py +0 -0
  522. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/llm_exposure.py +0 -0
  523. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/log_filters.py +0 -0
  524. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/__init__.py +0 -0
  525. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/approval_queue.py +0 -0
  526. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/decision_pin.py +0 -0
  527. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/decisions.py +0 -0
  528. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/editing.py +0 -0
  529. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/evaluator.py +0 -0
  530. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/events.py +0 -0
  531. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/handlers.py +0 -0
  532. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/middleware.py +0 -0
  533. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/model.py +0 -0
  534. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/mrtr.py +0 -0
  535. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/persistence.py +0 -0
  536. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/server_channels.py +0 -0
  537. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/policy/value_sources.py +0 -0
  538. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/py.typed +0 -0
  539. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/read_only.py +0 -0
  540. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/redaction.py +0 -0
  541. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/renamed_tools.py +0 -0
  542. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  543. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  544. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  545. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-actions.md +0 -0
  546. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/backups.md +0 -0
  547. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  548. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  549. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  550. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  551. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  552. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  553. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  554. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  555. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  556. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  557. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/triggers-and-conditions.md +0 -0
  558. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  559. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/server.py +0 -0
  560. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/server_instructions.py +0 -0
  561. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/server_lifespan.py +0 -0
  562. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/server_tool_text.py +0 -0
  563. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/__init__.py +0 -0
  564. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_advanced.py +0 -0
  565. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_backups.py +0 -0
  566. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_fs.py +0 -0
  567. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_oauth_callbacks.py +0 -0
  568. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_server.py +0 -0
  569. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_theme.py +0 -0
  570. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_handlers_tools.py +0 -0
  571. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_i18n.py +0 -0
  572. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_locale_policy.py +0 -0
  573. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_persistence.py +0 -0
  574. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_supervisor.py +0 -0
  575. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_theme.py +0 -0
  576. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/_tools_meta.py +0 -0
  577. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/README.md +0 -0
  578. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/az.json +0 -0
  579. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/cs.json +0 -0
  580. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/de.json +0 -0
  581. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/en.json +0 -0
  582. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/eo.json +0 -0
  583. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/es.json +0 -0
  584. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/fr.json +0 -0
  585. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/it.json +0 -0
  586. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/ko.json +0 -0
  587. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/nl.json +0 -0
  588. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/pl.json +0 -0
  589. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/ru.json +0 -0
  590. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/sv.json +0 -0
  591. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/tlh.json +0 -0
  592. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/zh-Hans.json +0 -0
  593. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/locales/zh-Hant.json +0 -0
  594. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings.css +0 -0
  595. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings.html +0 -0
  596. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/01_i18n_state.js +0 -0
  597. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/02_tools_restart.js +0 -0
  598. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/03_render_save.js +0 -0
  599. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/04_backups.js +0 -0
  600. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/05_feature_flags.js +0 -0
  601. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/06_policy_cards.js +0 -0
  602. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/07_policy_actions.js +0 -0
  603. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/08_advanced.js +0 -0
  604. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/09_prefs_visibility.js +0 -0
  605. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/settings_ui/settings_js/10_oauth_callbacks.js +0 -0
  606. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/smoke_test.py +0 -0
  607. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  608. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/strict_bps.py +0 -0
  609. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tool_dispatch.py +0 -0
  610. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/__init__.py +0 -0
  611. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/area_messages.py +0 -0
  612. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/auto_backup.py +0 -0
  613. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/backup.py +0 -0
  614. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/backup_access.py +0 -0
  615. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/backup_on_demand.py +0 -0
  616. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  617. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/best_practice_result.py +0 -0
  618. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/best_practice_variables.py +0 -0
  619. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/blueprint_sources.py +0 -0
  620. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/blueprint_substitute.py +0 -0
  621. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/blueprint_write.py +0 -0
  622. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/bug_report_config.py +0 -0
  623. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/bug_report_templates.py +0 -0
  624. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/bulk_selector.py +0 -0
  625. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/coercion.py +0 -0
  626. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_api.py +0 -0
  627. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_config_entries.py +0 -0
  628. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_config_reads.py +0 -0
  629. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_dashboard_edit.py +0 -0
  630. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_devices.py +0 -0
  631. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_helper_collections.py +0 -0
  632. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_registries.py +0 -0
  633. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/component_registry_lookup.py +0 -0
  634. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_backup.py +0 -0
  635. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  636. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_flow_form.py +0 -0
  637. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_flow_introspect.py +0 -0
  638. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_flow_menu.py +0 -0
  639. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_flow_walker.py +0 -0
  640. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_identity.py +0 -0
  641. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_reconfigure.py +0 -0
  642. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_entry_reload_watch.py +0 -0
  643. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/__init__.py +0 -0
  644. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/core_payload.py +0 -0
  645. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/create.py +0 -0
  646. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/describe.py +0 -0
  647. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/flow.py +0 -0
  648. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/icon_route.py +0 -0
  649. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/listing.py +0 -0
  650. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/registry.py +0 -0
  651. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/schemas.py +0 -0
  652. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/typed_config.py +0 -0
  653. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/update.py +0 -0
  654. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_helpers/validation.py +0 -0
  655. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_subentry_restore.py +0 -0
  656. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_write_errors.py +0 -0
  657. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/config_write_helpers.py +0 -0
  658. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/core_contract.py +0 -0
  659. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/dashboard_card_describe.py +0 -0
  660. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/dashboard_edit_errors.py +0 -0
  661. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/dashboard_list_checks.py +0 -0
  662. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/dev_backup.py +0 -0
  663. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/device_control.py +0 -0
  664. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/device_enrichment.py +0 -0
  665. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/diagnostics_helpers.py +0 -0
  666. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/energy_preferences.py +0 -0
  667. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/entity_param_parsing.py +0 -0
  668. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/entity_registration.py +0 -0
  669. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/entity_removal.py +0 -0
  670. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/entity_update_fields.py +0 -0
  671. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/error_log_parsing.py +0 -0
  672. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/flow_helper_lookup.py +0 -0
  673. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/hacs_registration.py +0 -0
  674. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/helper_flows.py +0 -0
  675. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/helpers.py +0 -0
  676. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/history_response.py +0 -0
  677. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/integration_entry_state.py +0 -0
  678. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/integration_reconfigure.py +0 -0
  679. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/log_common.py +0 -0
  680. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/log_sources.py +0 -0
  681. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/log_sources_fault.py +0 -0
  682. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/log_sources_logbook.py +0 -0
  683. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/log_sources_supervisor.py +0 -0
  684. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/__init__.py +0 -0
  685. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/base.py +0 -0
  686. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/matter.py +0 -0
  687. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/thread.py +0 -0
  688. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  689. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/zwave.py +0 -0
  690. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/radio/zwave_parameters.py +0 -0
  691. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/recorder_errors.py +0 -0
  692. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/reference_validator.py +0 -0
  693. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/registry.py +0 -0
  694. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/renamed_tool_middleware.py +0 -0
  695. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/response_helpers.py +0 -0
  696. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/scene_discovery.py +0 -0
  697. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/__init__.py +0 -0
  698. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/base.py +0 -0
  699. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/component.py +0 -0
  700. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/entities.py +0 -0
  701. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/legacy.py +0 -0
  702. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/modes.py +0 -0
  703. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/overview.py +0 -0
  704. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/response.py +0 -0
  705. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/search/state.py +0 -0
  706. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/server_version.py +0 -0
  707. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  708. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  709. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  710. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  711. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  712. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  713. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_graph.py +0 -0
  714. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  715. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  716. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  717. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/statistics_calendar.py +0 -0
  718. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/statistics_helpers.py +0 -0
  719. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/statistics_resets.py +0 -0
  720. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/system_restart.py +0 -0
  721. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tool_hints.py +0 -0
  722. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  723. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_addons.py +0 -0
  724. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_areas.py +0 -0
  725. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_assist_pipeline.py +0 -0
  726. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  727. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  728. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_calendar.py +0 -0
  729. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_camera.py +0 -0
  730. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_categories.py +0 -0
  731. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_code.py +0 -0
  732. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  733. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  734. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  735. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  736. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  737. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  738. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_dev.py +0 -0
  739. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_energy.py +0 -0
  740. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_entities.py +0 -0
  741. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  742. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_groups.py +0 -0
  743. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_hacs.py +0 -0
  744. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_history.py +0 -0
  745. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_integrations.py +0 -0
  746. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_labels.py +0 -0
  747. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_logs.py +0 -0
  748. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_radio.py +0 -0
  749. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_registry.py +0 -0
  750. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_resources.py +0 -0
  751. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_search.py +0 -0
  752. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_security_policy.py +0 -0
  753. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_service.py +0 -0
  754. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_services.py +0 -0
  755. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_system.py +0 -0
  756. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_themes.py +0 -0
  757. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_todo.py +0 -0
  758. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_traces.py +0 -0
  759. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_updates.py +0 -0
  760. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_utility.py +0 -0
  761. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  762. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  763. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_yaml_read.py +0 -0
  764. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/tools_zones.py +0 -0
  765. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/util_helpers.py +0 -0
  766. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/validation_middleware.py +0 -0
  767. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/tools/ws_waiters.py +0 -0
  768. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/__init__.py +0 -0
  769. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/compact_params.py +0 -0
  770. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/component_helpers.py +0 -0
  771. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/component_search.py +0 -0
  772. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  773. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transforms/write_tool_note.py +0 -0
  774. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/transport_security.py +0 -0
  775. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/update_check.py +0 -0
  776. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/__init__.py +0 -0
  777. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/config_hash.py +0 -0
  778. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/config_write_lock.py +0 -0
  779. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/dashboard_patch.py +0 -0
  780. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/data_paths.py +0 -0
  781. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/device_registry_semantics.py +0 -0
  782. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/domain_handlers.py +0 -0
  783. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/entity_membership.py +0 -0
  784. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  785. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  786. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/mcp_client_host.py +0 -0
  787. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/operation_manager.py +0 -0
  788. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/python_sandbox.py +0 -0
  789. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/registry_update_lock.py +0 -0
  790. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/skill_loader.py +0 -0
  791. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/utils/usage_logger.py +0 -0
  792. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/visibility/__init__.py +0 -0
  793. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/visibility/enforcement.py +0 -0
  794. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/visibility/model.py +0 -0
  795. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/visibility/persistence.py +0 -0
  796. {ha_mcp_dev-9.0.0.dev3112 → ha_mcp_dev-9.0.0.dev3116}/src/ha_mcp/visibility/resolver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 9.0.0.dev3112
3
+ Version: 9.0.0.dev3116
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Keywords: mcp,home-assistant,ai,automation,smart-home
6
6
  Author: Julien
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "9.0.0.dev3112"
7
+ version = "9.0.0.dev3116"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13,<3.15"
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "9.0.0.dev3112"
7
+ version = "9.0.0.dev3116"
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
@@ -1,7 +1,7 @@
1
1
  43070e2d4e532684de521b885f385d0841030efa2b1a20bafb76133a5e1379c1 LICENSE
2
- 21859d4324326a6fb383cfd827626db2278088d4659000a8569f55262309a894 REQUIRES.txt
3
- 37ed62a077baf7706de1f4818e0947a191be920c2fa146f6303d12a0b9a0a42e VENDORED
4
- 33578dbbbf641862000fb89e15d4313aed849c9f44540bdddae3a28d7a308531 __init__.py
2
+ 11d0a755adccd0b0921b2bdf3754840b95a3cd48c3c83bd061ca2d67568903c1 REQUIRES.txt
3
+ 508f65b3ae2f9a5b36b94b8d502da37f83eec9a245a47e5fba4c4b8cc2a896d2 VENDORED
4
+ ecaf01eb0f0a29d863aaaf4440324b86d65aab40189a95d29e0fb0e25e19f9e1 __init__.py
5
5
  2ae9ce0d217923abf551b6f8bcf08e516529b9a6abab160bab5d8c9b7e245c3d _compat.py
6
6
  0fe101433a655a48e5fd1dde0c75879f3a74f9092d2b935bd71fad19bcfb77a1 _install_hints.py
7
7
  a9c59fe78564360444de04484a2b0906569fb58408be3c968be3f81a5e3015a4 _warnings.py
@@ -10,17 +10,17 @@ d5a7cf7be1b90a54cb2aa34b4c52f16a627365756bae2799f8a1e8bfc19e3be1 apps/app.py
10
10
  43c543658ba0dfdd7622b42c6d9c1bd18ac1b5516d6f64e984bc21f5491968cc apps/approval.py
11
11
  ebc30d58d7be55717fdd0d2c8c3691e2d42e5e7ae7a6edca6a1aaeef06a6390e apps/choice.py
12
12
  f37ca3568e62ff272436263dba64baf712c4ee05e9c92c047c697f1fc8e6cebf apps/config.py
13
- bed87b113844d5811bd107a5cb773eb007cd3e4164e8612e5352123025e0c484 apps/file_upload.py
13
+ 57fae4965441df62add5ce352e89a5a7a9d12c867046db27676aae7adfb202ec apps/file_upload.py
14
14
  8b2e94be32a1e5753d06cd79af72f10f73f6959069db664f25d490f16f2450fc apps/form.py
15
- 28cfe9189bce13f2a36ec6c93c4229570b7fb9d1bfbdcb3c4c0dfef998a80b1f apps/generative.py
15
+ 1912a7eb64b0c1f63c6a55a140b79da643c9bc6a7c48328e0522facebd75bd07 apps/generative.py
16
16
  1f3d55a17ea1a14a11eb4f4c47ae4a23bf27180135879c4a681619c616d4c84d cli/__init__.py
17
17
  f7e802853b93ea231afe35bf6512bb8659f6ce31f5e2d788cbec70206b73ec6c cli/__main__.py
18
18
  4bd9a6ab3a2584ad11e1f77883dfb1c7c9f80be9fd0c31ce89cce16a31f55375 cli/apps_dev.py
19
19
  25706d223a4a0bf6aeee9d998b6c2cc35a43f599b26b8da10188ffd632488412 cli/apps_dev_security.py
20
20
  69c000d140b8cd9e48a0feddf08fd5a7d8735f719f7443f34cb89caeea58d29f cli/auth.py
21
21
  c0b3e37538968d37ff03613bee536e83840c5a7bd6003fdac39b17e1f210fc15 cli/cimd.py
22
- f5c5f74589d41ae9d2dfb38a047f524fbcec324316c5ee22ec546140dd5820b2 cli/cli.py
23
- ae79984f424d4e2502e6ad4a9f30f73adc1a17ade703394f628b7fb0832f799a cli/client.py
22
+ 6dcfdc9f45db5fc244740670ca4b14003cfb066d86d3dd04dad1e0032173f50b cli/cli.py
23
+ 376435585f0cc1fea0bbd56b13448bef76174cedc6d8d78e4be4ad378536f30a cli/client.py
24
24
  e957afa2f01583177872973ad9ee3870b59353ef03aaaf716a27454c3c1be945 cli/deploy/__init__.py
25
25
  f0b119ec65bcfbadbe610b676fb3054c7dd55bd1ef8bd37325afe1f9c85e696b cli/deploy/authentication.py
26
26
  4e8d460c536d638ed6ddf1f44e21723b5aef4df3d822a80da791f0d96bf7d50c cli/deploy/command.py
@@ -28,16 +28,16 @@ f0b119ec65bcfbadbe610b676fb3054c7dd55bd1ef8bd37325afe1f9c85e696b cli/deploy/aut
28
28
  d15ffc90ed6c4ee53c00bf0d3a0ecb7f73b0c5cdb2e2acb4299888bb8463f944 cli/deploy/credentials.py
29
29
  a7457cd7975c6438acbe3a576a4ef26c432256e3ce32e1b4e41778666dc10a21 cli/deploy/horizon_client.py
30
30
  ed9553af547b8efd7c518f64d0aa1d022639307d6bbf4e81411ba1a5b7011a61 cli/deploy/output.py
31
- e7b738e649d73217fc6e2f131ebed95c629f87946046647cb63e62299b51bb03 cli/deploy/state.py
31
+ 815b6c10d26fdc4e7fe50d76194c0fc34c19baa0d87b31ca83494cd64d87b2ce cli/deploy/state.py
32
32
  e2ccacdd93ce5498809b611d628f0cd002d860eaa36376d659d4f8dab355f269 cli/discovery.py
33
- 90d7a90e51c318ae78302431e2ebbb7193ea8089b9ade66f92693db1999b4cd3 cli/generate.py
33
+ a1fc7bb7eb835b9e6bad14b9fb593d585b9f7646f59c892f0cfbd5c24959ada1 cli/generate.py
34
34
  3064643d52a2ee08d78b9c9f859e7e6365841ddc8a4ee3cb32bab5adf86c241b cli/install/__init__.py
35
35
  bed3123c8e5ef639b4aba8c12b023cd75076101e7c4ac69759fb28675ead764a cli/install/claude_code.py
36
36
  53ccf776aee80eda7c0ade5a9e5d5e6482ef96fe76385cea302fed3969440dd3 cli/install/claude_desktop.py
37
37
  16276f0330a8762a549378892038fea1ac8ccbfbe603fbe1a239dbb4d493409b cli/install/cursor.py
38
38
  dfaff2c1daef9ffdbbbbbabd616ad128d26b749e1faf17d868a52d0616b8df78 cli/install/gemini_cli.py
39
39
  c033cdb08bb526c2ea5fb8f1d5574318188d6d88bdf3a549f495e03376d492a0 cli/install/goose.py
40
- 3728ec9ce609f4d64beab73584f480e6b469e58b3a2874f33e25e74645831f44 cli/install/mcp_json.py
40
+ 8c388f675bc3e6226bc3bb48f100c5ebf3631371b068ae7631202c283ecda764 cli/install/mcp_json.py
41
41
  2a5e03919735ef98f08380a6ed9001d7a99321bbb926522954b53b553d37d887 cli/install/shared.py
42
42
  fc192e680cf06cc032ec80bfd663adbbfd80650b4a48fe4bfce5b71516c72f25 cli/install/stdio.py
43
43
  5acfbc12c60d32a091fced0bb0750f3a4be7e9ccf246ff8b6849357831d1cbdf cli/run.py
@@ -46,11 +46,11 @@ c2ccfa385e1ac971ca62bb3411f7922b773c2ebbf717368150ae9f9849cc996b client/_sdk_co
46
46
  c1bb592687a240305e777178e6684d08f788a6c1559b1c4ee3086160268c934a client/auth/__init__.py
47
47
  f23abd973d004567dacf840728835c74bd94963ab48355990ee27879b598c7a5 client/auth/bearer.py
48
48
  e96f4731af86d4755a597300926782f82219aee6d03fd760698f2c4db66ab8d3 client/auth/client_credentials.py
49
- 6cde4f73a0d978660992617ddf1db98417ffecdace0e25e49e78cb42e55dea09 client/auth/oauth.py
49
+ 47360239f1461d81aa7dda16f677ef31476b2cc6c801a3de9cc9d50b3e9fc318 client/auth/oauth.py
50
50
  b7f310d25afea2deec36a8ad055cf81827feaac934d1391a05b7cc92b2c9e5d6 client/caching.py
51
51
  43c887efd89e4f089bb7360e864a39fe210ca6db59f711182aaf38d044020405 client/client.py
52
52
  ec3d69cbdc6d1331b028afad95616431d6bd02e91a2bcd76a12c30b6618f3d88 client/dependencies.py
53
- 1c6fbd49eab32cf03f8b1029f398f0fee20245dfc0a6225476622d8d5ed24b2a client/elicitation.py
53
+ aab079f50b8a4d6cf0f8d90998025989558b37527fbb7e2c4ca4c583cf8d3d23 client/elicitation.py
54
54
  abdc07c2ae78249cfb095295120a982db23a7cfbbe90ec50ce5f964475c981e3 client/extension_hooks.py
55
55
  a7fe536d6fc5dbad6a2c8d34b3b8074a0c28e7572ee69c7d816ef8fd4617f2e9 client/group.py
56
56
  0648016833612089c873938a63d69cded6336e8c8d9867e9412d4e2dac9c2f97 client/logging.py
@@ -58,19 +58,19 @@ a7fe536d6fc5dbad6a2c8d34b3b8074a0c28e7572ee69c7d816ef8fd4617f2e9 client/group.p
58
58
  01e24f9b114fd85aacd62fb99631adedb23e5293e9e72cfc9b2680035364c7a9 client/mixins/__init__.py
59
59
  a286df8775a6de31aa19ff6f26002a6f612a9ab36acf4e8629b52da44e406da4 client/mixins/prompts.py
60
60
  26c5c96f8ffa53ebf035667efde96418750eebeb016c6d79ab2f5f4fe087718e client/mixins/resources.py
61
- 5340ddf323fdeb1e011000050f52c3abb26dc7bb957a3ef68d8a8ce0f3d65a5f client/mixins/tools.py
61
+ e854e5421f880b3a57ff6ed2e16cba80054bf68395a83b704085d33eb3c40abd client/mixins/tools.py
62
62
  e418845c0228e016596d96d1a962f2d0ccb814f7b769ee0b08e9f158de44fe89 client/oauth_callback.py
63
63
  c3a98f99610d06c9b95fd9df0f7acefacbfc4756a9f62bbd0a64df880ccd01ca client/progress.py
64
64
  5aa421cd60f10be7bdab46641ade22e90e41bf6a6226cb2d26814fb53ffcf406 client/roots.py
65
65
  d759cb6643a356a15c4537185597567349fe713beae579c48e48ed65ec35cbb0 client/sampling/__init__.py
66
66
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 client/sampling/handlers/__init__.py
67
- 01c00f9d12ab4db3ec98bb032b0884b186a5aa73222e30b0fb5b88fba6e66c8a client/sampling/handlers/anthropic.py
67
+ 94482ea2770db4934d95ca73f0fb0bab6377b11ae09a9db1e9571e971295ac36 client/sampling/handlers/anthropic.py
68
68
  74b2ef4eaf706dacbdbeb060ccfaf5036e7053a0db51e7367fd2450ce892b3f5 client/sampling/handlers/google_genai.py
69
69
  a41ee550a4a16f8965afe7eb9e5afc4fb94e1683afab9777857dfb1917e0ab7a client/sampling/handlers/openai.py
70
70
  dd343adbd063873c835400ae2c30dcfd451acf2712c347244bca63c0d7e1ae51 client/telemetry.py
71
71
  51f921337c5f1d3f6ec7fb01757f7f6c834b5eaf27d26f9d789a9ea5baf97cd2 client/transports/__init__.py
72
72
  fce497b3dee5365815b94eae083243a75fcb9bd53cc173303f2bed4d5ed35324 client/transports/base.py
73
- d576529023ff2096df4238a162f1e6c82fda1eff7a004751a1e09d0c0af46e01 client/transports/config.py
73
+ c3f58b1274d23f3a93cf9c1cf1835da5b54c92243d3693956cba863fb1f5ed15 client/transports/config.py
74
74
  07d57e12d14c961f9f15709bfe88bf7534a8212818e105ab90a413f2d855ca6b client/transports/http.py
75
75
  a2fc0c9ba36479b0d79b53b9d43a2ddc0d054a71444437a1b6be5d02228504de client/transports/inference.py
76
76
  cd5fdcdb90616756ed695d7d57a30cb420d06c57b776615e81bac2c596b5ec17 client/transports/memory.py
@@ -88,155 +88,155 @@ fd6536eb022a9fd828ee088b1bc18b55e050b15b3011d9f33ebc409968cd6624 contrib/compon
88
88
  7fa8a77bacfd92e131d6a2a163d8f3ac7eac0308f5a16a5770b5c6bcad063159 contrib/mcp_mixin/README.md
89
89
  cd914794019ec542420cb020e29ec21990e66fe9a03dd375c55bf4b51e2683b2 contrib/mcp_mixin/__init__.py
90
90
  b4366708cf2d38d3d57b861bbc55df24ab9fe7f8ae1d35735e07b392016a18f6 contrib/mcp_mixin/example.py
91
- d7ec0ff66e333e21df80829ddd5a1ad9dddd955b2b8456f199e08c732ca1ea77 contrib/mcp_mixin/mcp_mixin.py
91
+ ce35c0554fc4f577ab872a3ac15f4b3b522e16413b453fb47dc95017b5b86f51 contrib/mcp_mixin/mcp_mixin.py
92
92
  7e315c8f08c26dac4574ba10fb47a44defda430ed327ff86c947d97dfd289c87 decorators.py
93
93
  54661379a1abca002b693c38a2218d825cf458f7b5b899cfcc92afc15b54a2d9 dependencies.py
94
94
  65d2365c668228499112fdf649f35e93f7af4dc652cd08012c67ea6abb55d46a exceptions.py
95
95
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 experimental/__init__.py
96
96
  01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b experimental/transforms/__init__.py
97
- bfadd96bae82fce5cd12f3843e039d0ad1d0e83ab283a81973070bd7448a6cda experimental/transforms/code_mode.py
97
+ a97731788c972f91efd9d789036042d14fd0732d38dff293834af8b4d41beb30 experimental/transforms/code_mode.py
98
98
  34acdc402ef277f44a92d4b3c32459a9b55c19712dac82007ec5052e92b80fc4 experimental/transforms/jev_search.py
99
99
  a08727048d5bdc6f513fd4161f1a53ae1ffbcf387cc62b6319317946814cd4c5 mcp_config.py
100
100
  353a26dc9d40c4e682ebc1411838ee0920a759ced021d264057b86c0335f1a24 prompts/__init__.py
101
- abddba9c78219818445f1147c21476544c55e3b994d80e8e647ea7072421f2b1 prompts/base.py
102
- c61db14581138003e55eb2d89b61eeb43b9c93bbbccd9835586e1e0a1ed96710 prompts/function_prompt.py
101
+ 32e11edc2ab6c83c5c4499a7e2f12f41eace5cb522ce7a508015355425f07df8 prompts/base.py
102
+ 21d1fa531c37e5525257218d605ba73efeada2548f42ae0b86bebe731b0cee95 prompts/function_prompt.py
103
103
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 py.typed
104
104
  b5074534e408ad9f8e5a325076e1549cecd0a0c8c7ddfbf016fa3b041c3509cb resources/__init__.py
105
- 42591067ae671ba26ee049b081b2e292bd5f7269365e96ce9daf8f8ceafd4a9a resources/base.py
105
+ dc4c1e42dd8dbedc65381fafcc7de28a6751fa27041a29aab2f1eeef9097877f resources/base.py
106
106
  6c5f589e472b41840b5c1777663495efbdede20e1aeb7adfccaa4360ac4a8a67 resources/function_resource.py
107
107
  1617d885ef49690595e063c5453476a7adb84503f31bd8d37c93a43b00d036fe resources/security.py
108
- 8abf99e12e57b75fd573f903e67b01b69c636761bc52f2dedfa2141324616456 resources/template.py
109
- f62be5cd46be03e6f4fdaacfc5c5a6acf729516f528e56e146c0aa83a6204e61 resources/types.py
108
+ 9fc9568b488bc929d1f5a9bcd5cb36d63ae4c757df4668694a4a47c6ddf8721f resources/template.py
109
+ 09bec33d42187935401fd074d14ace2a6c056182d3ea4a340e1273e7a034ef51 resources/types.py
110
110
  827d84d4bc780342fdbfd88101ac4f25b8a39b79ae63f8b9d9f636580cec52bb server/__init__.py
111
111
  260232a96fb443347da645d6fa1a0d32c9599a7c00e737c285158a3267c708a9 server/auth/__init__.py
112
- ab8636d8b6e57e37ed6b8f6243f03d231bae8a0666eeb43b90be481aa1f679c1 server/auth/auth.py
112
+ 98d864140b69b591ae55a342dedcca05f0fa895ae073e90618190e4df5c269bc server/auth/auth.py
113
113
  2d2ec9ec41e3e6716a2f4b214dabecf3e10a167652546bfa692570c640647263 server/auth/cimd.py
114
114
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/handlers/__init__.py
115
115
  bd6cc8b7e5728f65e4ec8c9ee976533bfe7d712a63d4009b672c84d1a94125b9 server/auth/handlers/authorize.py
116
116
  690754c201248ff04a5c73899d9b0b1d2911507eac7d9bd649133b8185c07002 server/auth/identity_assertion.py
117
117
  314d030761e61f91af73267efd894b6af291faa8fa1c1fa41eb15f8f0217ebed server/auth/jwt_issuer.py
118
- 4d4f873e248431b4e9105f67fad77952dba1b902e411eafbd8cf3db37cf7291d server/auth/middleware.py
118
+ 847bfa48e2283c9a1c01f859145d820d7f8faf189cc000e6d2f9cca2fb0480a2 server/auth/middleware.py
119
119
  482e01b4ecc8af2714eb1bc50cc7afa0bdbadab1e583171cb9aa70fa2b270af0 server/auth/oauth_proxy/__init__.py
120
120
  5f490615f239c44e861b7860fbdabc02e4a768587e9e77259b7695b2628576d3 server/auth/oauth_proxy/consent.py
121
121
  66c2b86e445bb5e930eae7ec7c495a20e752ceec57af059fd96de66ebf2fcce0 server/auth/oauth_proxy/models.py
122
- 4903684b5c5b1b883079ff3f1f151d32e8383bf5755e6233b6b539b7cbaaba82 server/auth/oauth_proxy/proxy.py
122
+ 5002bb9f0e4db48f4cba07168c0dee6e206282cb8ae5561922432053c54b08c4 server/auth/oauth_proxy/proxy.py
123
123
  0e44df9ec0fb91a209674a1e201345d925161e509c537e996fda7bb5b0c78677 server/auth/oauth_proxy/ui.py
124
124
  a7dfed182cd72300a09136f500738cafd81960807b474fd184143a24fa0898d9 server/auth/oauth_proxy/upstream.py
125
125
  662eebf05ebf0cade5e9dfb63b8cba4158a0ac180a6ff75f70ec96a801daf56b server/auth/oidc_proxy.py
126
126
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 server/auth/providers/__init__.py
127
127
  2309357e391e3ca50f368b87581c915f5da83103d6fe8b157fc3f6365ae940f6 server/auth/providers/auth0.py
128
128
  2096389558eb1eb799a5e69379dcfffcad2ee0fe7a9bb98b632871581c456cce server/auth/providers/aws.py
129
- c027201a5debfd00665fda478a361ac1dcda47cd4c1501edad09ecbfed0a94c7 server/auth/providers/azure.py
129
+ 88ffece1b8641ba180cf96e719b7b78ee8aa716e4aa13f5e3c4510fd8be47081 server/auth/providers/azure.py
130
130
  0afe32ad1950f740d1e5798444fa79a39251e1173f214cd71d1a7202d4e1b492 server/auth/providers/clerk.py
131
131
  b682ebb2419462e9bb506f2bf473d8ae33febcce4055df5dd506a4845c81e47f server/auth/providers/debug.py
132
132
  565367bc78820801144af6a22e54e249644beacdb215812e88e3e0344c7e99a9 server/auth/providers/descope.py
133
133
  d98f08e8041870f3effa331b2837d0073c26079872dd34b501c0804669625442 server/auth/providers/discord.py
134
134
  df69c87adbdc2caee72185bdeaf55d19bf5308f94b2756343177556878f44ae2 server/auth/providers/github.py
135
- 32ccc82663080f5d3e0c423e8c9bdb58b6b560291d60a17c289ad399e410e059 server/auth/providers/google.py
135
+ cd9ae180e45177b6d32444cae55ebd3c421c374ad719871e825a8a66a829b1f2 server/auth/providers/google.py
136
136
  3a76215676072a4c7e31971e3c79e57a3ea78ff10b79e5fc90cd371915ddd7ff server/auth/providers/huggingface.py
137
137
  57fa08d818ae235752a65083d1e19daeb65c7b6354ad81c76aed0257b4ea9e61 server/auth/providers/in_memory.py
138
- f63a30cdc4778cf0f441a433e6aff9233433f4e0c15e997e2d39b3e02019b0ec server/auth/providers/introspection.py
139
- 20c99e3b9ae1d5140fbafbd9d7ffa105b4360cc48f2bdc8287c41186a84dd7a3 server/auth/providers/jwt.py
138
+ dfb1e26a7eafca5db135f70e9b9ad586e80bc57e4642b129a8bfc22c0083ebb1 server/auth/providers/introspection.py
139
+ 81a3a74a68f5ea37bce5fd5e1c56fda7dcc31c269c0b5b31abb3fa576e08edcc server/auth/providers/jwt.py
140
140
  27e8a505f6e1cee20548a5c789ae75311a33ed1addfbba0f49f01dac29c50370 server/auth/providers/keycloak.py
141
141
  f858f390ad6ca87990e548cdca584cef57fc93a0d2d36b4f5353dad2c4c0f7bf server/auth/providers/oci.py
142
142
  5fc4d64669c5c4aa673d9d640f2692e2b5a5eb99a02529cd671a8a285bcd329f server/auth/providers/propelauth.py
143
143
  588572abde4ae90b0ef5997f23452d8e26c3f70dfe64db2cf0b478927ec85988 server/auth/providers/scalekit.py
144
144
  df16f6cf532f38b87318d06d7c0f97717699614ada54fcfb53701d5281ed6cc5 server/auth/providers/supabase.py
145
- 3da61543f26146cf2597089f17580ad4a9e5d3423e92425ecc2b1a8a6c9bceda server/auth/providers/workos.py
145
+ 062ddd47b17710cffe111c1649ce248a1a476a4d1444c57d82c5da9af1187054 server/auth/providers/workos.py
146
146
  9ed8d6fec5e0ca8fdb9716cd0f80f178a0814ed34b2202770f509c1fe96305e5 server/auth/redirect_validation.py
147
147
  8db12964a2f64b576d72858ad4d21aa27e5e8325101cd575762cb1dd56f01a22 server/auth/ssrf.py
148
148
  871c89e8a16ca2a3cd030b94108abb0bf15d8addab05b398f959da8445f4e6a9 server/caching.py
149
149
  38f783123395ffa153bc91af5db1ffac86eceaa249333d2991a59e057a2f4af1 server/completions.py
150
- 542477c828645b4fd2c08bafb7fa1ee4f8721a3f07744af05d9035c8852a1554 server/context.py
151
- f3ad7d6f25b95f3d9ba189d1b72842df9f9ac311d6739da04d795f2c55068b6d server/dependencies.py
152
- 3affb1031ddcf7f6f02322075340ee46ff21f3cb74f0d3c2f48d21cdc4cd0899 server/elicitation.py
150
+ 63c9fa3e4b6e155301625972b8d84df6614efa3084da4a358034ae420ed92350 server/context.py
151
+ 2561804a41617f9c4e8d7733f46cd64e95c8f8d35455e54e8a382c39504adc32 server/dependencies.py
152
+ e9f49b78a223cd3a76ec037f3ebaf0dade60dd775ed8533f2c0a53127c1fff0f server/elicitation.py
153
153
  e0497cf65d8a93849bf2873b94e18abaff2d8a9a879d24db9af22d52548bb696 server/event_store.py
154
154
  295d07943099c96d594d17aa592bae0c3014ed751f6a2a9541bb5b724e873b85 server/extensions.py
155
- 5c16b9f01889ef7e782276b24bffeb7c6f5fbbfe91e0fb574f1505803afb664a server/http.py
155
+ e2d8f616fdd6181f9de4febaa4be5eb5901c5e961ea36fa92a1177f1d2cd39b5 server/http.py
156
156
  c939ec1886308f99257b07aaa73a4781565d5d3e170fc13b0d8b36f4735a4fda server/lifespan.py
157
- 9ad85391f6cdd905a7168a579afdf423bf9600d5067b09123ac201295e6c1126 server/low_level.py
157
+ 88b443872d501d764b897cb272d47fd0692e6120e2160d68558aaff95aad4bcf server/low_level.py
158
158
  dc669c15efc3c6bdeb531a6267860c141bb86d64e49c0ee586805c4866bd0c01 server/middleware/__init__.py
159
159
  172f87828b7aa58bcf31e377c149c9fbc05bf6aba377e8e92a8d4757ebda5bf0 server/middleware/authorization.py
160
160
  f5ea7269f47d6fc3ff301530492a3a8d8d15d82870a7d89ad5df361ce0fccd46 server/middleware/caching.py
161
161
  32e78726614e5a69b3ec87bb6868b151ad6955f3eaac3a41b5a9d6151a0efa55 server/middleware/dereference.py
162
- d9d61213e77f496a3d73f2b5115af44732dbdf30bd5ea78d4c3c0d86abd8ad21 server/middleware/error_handling.py
162
+ 53d015df5c8c14cabcd52a864695c4b5316b99b06d7b3444124bb640a3cdfca6 server/middleware/error_handling.py
163
163
  d55654f305388914c045482ffaea32832fdfc57f17f90f558901ab422fe04cc2 server/middleware/logging.py
164
164
  f866f0fd1fe052a9835c23197ed868ac270727bec9f443d76a35d3d10cc7bdce server/middleware/middleware.py
165
165
  54745915b9fa8e6b8202a3a0a06d821f84fe81306d185d6f943f6b4f3797a3c8 server/middleware/ping.py
166
166
  b5cfa6d7148c34b40b9c685059f5227236b210e0295bfe56d9a3da03b86de3ac server/middleware/rate_limiting.py
167
- 0c5f1dc9f3f0930e4a5776c2602b8d50c86d536d22e8a00b48a8b05f900663bb server/middleware/response_limiting.py
167
+ 507e8ad039f47ebc8ba90c1f150b6405f1fb081b8cb85d3dad6214be03d7b7aa server/middleware/response_limiting.py
168
168
  94bff173e12b2c3e65a657ef779f872325846d9860341624710ef82855c03240 server/middleware/timing.py
169
169
  aefe367cf4119f62a497224bd39effb9e876a4cb15032558256e7bd749f7c1cc server/middleware/tool_injection.py
170
170
  7dbadca2563c9c44dbd242d6f75f53df1827b5ca24e09c76a26a63c450768467 server/mixins/__init__.py
171
171
  46368f2ede13b030da757d4ec2a105eb2332e05c435d6e140a8caf9de4f55246 server/mixins/extensions.py
172
172
  10ccc0151a0590a6e0d1a6c611d71b6941b8942de975c094b791d201fd6f0f1e server/mixins/lifespan.py
173
173
  52af4cd66251d312a9c2cc3dd822bf25512f2b8a39f2571dc6e7dd5184ffa56c server/mixins/mcp_operations.py
174
- 962233287dd9c3166103ba1b4125f7aa1d7895b03111857a59681f109050249a server/mixins/transport.py
174
+ 186b88939549a093754b66c6334f43bdef880d07900531a93659c0f70c291f6e server/mixins/transport.py
175
175
  cd4f7cade13e4a23391117605bbbd4e9d9f66c43d949c09e4fef05ff279a5a32 server/providers/__init__.py
176
176
  60c8b27855ed49b56faf1935097a5d9cda837b3ff7e3f8c7e0f7949dddef3bf9 server/providers/addressing.py
177
177
  4c47a9a72686e7a673223ec68d838b74c7208e91a302ffda7440701da73ccf58 server/providers/aggregate.py
178
- 6f992abff4c667c8822274487de7041cee62fbfd8c6f3e1b5e3d108638f652c5 server/providers/base.py
178
+ f2298bc8cd240896593e83d59ac444e93d690d7305142a241a9a6b36f37cad4e server/providers/base.py
179
179
  ef179352ecdff09a70c303773238667b1f827b6f1ea968b7074de94dadcac399 server/providers/fastmcp_provider.py
180
- ae7b241be3607f9702aa8ea5907f7c60fd184403df3914c8c8e69932b5956b27 server/providers/filesystem.py
181
- f73fc9e2b36a4a8aa8cbc78819709ec41ec73a3f5dbddc4e7e7d23e7a040197c server/providers/filesystem_discovery.py
180
+ 9974a882682461f134ec08a3302297fd06a7f44078e38ffd72fe0be1fba9eff1 server/providers/filesystem.py
181
+ 7ac9cc96e17c22d63d96eb867a4c46557b5503c43e51c091bd3e5a7755ffd6df server/providers/filesystem_discovery.py
182
182
  0f0702f2501537c34982eba9d930afde4d22638d1623ce6691198ce46f5c3d34 server/providers/local_provider/__init__.py
183
183
  5b0058ec22c9ed8b5c2b3833e7e6beb34066f73f1818df1b62741ddb369b7edf server/providers/local_provider/decorators/__init__.py
184
- 101c860292375904bb89f3f8e4590eb9537f232f4aab4e207ac96f9bad229241 server/providers/local_provider/decorators/prompts.py
185
- 18300b436f36bb796a530e9b3f077c5aaccb5e9eef00a00e9e618321160d8db4 server/providers/local_provider/decorators/resources.py
186
- 793779ff2289d4281e9bca891ffb09e397445e314d0dc9c7640ec817fb999814 server/providers/local_provider/decorators/tools.py
184
+ 6afb0647663c0d77d6fbb7a6a3024bd7aba6e67645ffbd1d0b96796fbb786f1f server/providers/local_provider/decorators/prompts.py
185
+ ae8bd00f780b64979f2201cd7b0971234b66659b4b4dc9bbe8c0b7428e1ebae9 server/providers/local_provider/decorators/resources.py
186
+ fa33cec1bf53129e7a22eb61c34b95073fe0ff1d51299ce832cac516906c07ef server/providers/local_provider/decorators/tools.py
187
187
  91d662fa33ab5c71a889e5be59135dd2780758d295c616fc3b140c6e332dda34 server/providers/local_provider/local_provider.py
188
188
  11c75b6557ce98f4855c76aa0d7740df71e704d05fda8435d92f89aee4a5623e server/providers/openapi/README.md
189
189
  9e4dd35d653c9363b7c7679b38ca3f653b53a359065507046bce94db5dfe4bd5 server/providers/openapi/__init__.py
190
- fc7dc06da9971a02819689b47c7497c8812f62b3405dd8a0a9c98dbc66e21435 server/providers/openapi/components.py
191
- 0cb11a3c52208a4ecede5a793c13798723d3c59464617c56436d1d786d27e3c0 server/providers/openapi/provider.py
190
+ f5dfa26ee1ec37daac1513be47fc8376de009467a7dfad1aab0120c13f3088ff server/providers/openapi/components.py
191
+ c88abfd6448034a5937f51cbf1ca2d56fee62484de734f5dd883b02fcaa0c05c server/providers/openapi/provider.py
192
192
  b00f94d08ce939d3aca4fb4e9d77d34633570e505640bd7c0a3a4cfb27030b05 server/providers/openapi/routing.py
193
193
  776be4ae2a017410f3b505fe5a6ade18690f396545115ba3bf4e525f30ea3164 server/providers/prefab_payload.py
194
- 59455808dce7fb5c90fa043ca0a1cbe7d911658f79efe92771dcc1b1109c3789 server/providers/prefab_synthesis.py
195
- e9e9b29800f0e39f54ecc5a4414eab30e1c846bc5cba7dce905961b8ae8b112f server/providers/proxy.py
194
+ f4cee46905a912f0e52859350e8af886eadc3ba86f5a41ea248fb1638c6b11b2 server/providers/prefab_synthesis.py
195
+ 034b2b14755c29f6d7bb93bf2678fc8df616e49cf905772ae09485715c083f69 server/providers/proxy.py
196
196
  6bb7641e4c222ff359a38f9617987cc64a8c3eaf04118346b1e96f8b336bc9da server/providers/skills/__init__.py
197
197
  f91a1853484963de7508eba7091e5ba7ff59ff5e5802330d9675b9ced3d03d17 server/providers/skills/_common.py
198
198
  ce1a7b8a0adece4168f039721d3c0d196da79ae6d8d2b7835ef13733f6c510ab server/providers/skills/claude_provider.py
199
- 571e579ffa410d5a932dc7afeeb76717171ac927450ecd408ca7b2c99e7c5150 server/providers/skills/directory_provider.py
200
- a427c8444b114edb0a6bf40541dd0a3c53b8adfb59ad292a3eb785711825e145 server/providers/skills/skill_provider.py
199
+ 9244cca86910b4f057cb759b397a8b029787b05f9f6053ea80d25507254dc201 server/providers/skills/directory_provider.py
200
+ 4758884fdbe14779d2e80c7eaf73b21a7c7aa09b291d955ea38e67950cb9b230 server/providers/skills/skill_provider.py
201
201
  b759c2e9f832ff7b27a9d4347a12851e235d59f7cfa0360aba5efd57377a4adb server/providers/skills/vendor_providers.py
202
202
  ab36a66d437044cfd929d78b224d8c909296a968b3ef3670f0656af7202f3eb5 server/providers/wrapped_provider.py
203
- 3377b47d29451f03d428b479c7cce7e822b180f91a04bf419c69460be8ebf9f6 server/server.py
203
+ 8a9f85b84102ea618e1db92f99467b9550b9f56c061d6be7a4fbe097d44913e3 server/server.py
204
204
  a50d0db0003d63db49a3ec62b18dc75e267d6e03b7165f11f02992316be4e160 server/session_scoped_event_store.py
205
205
  a172b6697b515083db1d9f2466d8c88659d37427ece0d292c26d1646c1e72e2f server/sessions.py
206
206
  24b63d7adc0e3e7ebb5528924d9cf2e5789faad798bd39175690c8dca0742ac4 server/telemetry.py
207
207
  869aec4da3b625f1bd4e5feb8427f52cd10a73f81d9fd452fc0c4f7a2925e2f7 server/transforms/__init__.py
208
208
  81198aa39f8c4e651d955b5e970d9b4ea1b38b5b16815d7e01b6dcbd5bf20b6f server/transforms/catalog.py
209
209
  ef58b435263324aac98f71dd08057232e2eb39abdaec2697e4f2369e98c7734a server/transforms/namespace.py
210
- d653f84b07153d687b486a19244c4a179e8378f3fb8f34f9f2c6e8ab18ec9dad server/transforms/prompts_as_tools.py
211
- 35823161ae66939a64ed2d4365af0eae4fa02177907b6d2ac9bb9d1e3f3d815f server/transforms/resources_as_tools.py
210
+ 6bbb70eba018911b708cc494b651dd2e2db66aa9b47f4d4873b6f444a558712b server/transforms/prompts_as_tools.py
211
+ 3fef18fb1389da8658b4e44e562f5640280485676fc26ee240c7a541f1a189c6 server/transforms/resources_as_tools.py
212
212
  250bd40ffdaccfd4b0df19092965d743c1a7d55ff3e6cb812a3ade85e4a5419f server/transforms/search/__init__.py
213
213
  79f72a914511606c3c4083540fc198d9af27bf119f6bae078654d85e62c61cc8 server/transforms/search/base.py
214
- 587b7a7523796b9f56c547104a48ef52da73990fc128b775579ccc92d2373fa8 server/transforms/search/bm25.py
215
- b81fef10f30d792bc261e76a0f97437a596febd76b67d9b46e264c45eeda770e server/transforms/search/regex.py
214
+ d97ffcc125efcc4844e86b9b0d8446ed559d3519de3610619eac5399366ab68b server/transforms/search/bm25.py
215
+ c35748068520dfcf86e9ce14d83307a11528c738b9046947a4f2208ddd830e0e server/transforms/search/regex.py
216
216
  e83d5c70c181f5145ebf4bd2fb4a808f6ebf4eb1ce9a052165a07d983045c44a server/transforms/tool_transform.py
217
- 2bd00e3c6380694163037c8008815f6a96c0b42880a0ee801499d6d55156aa74 server/transforms/version_filter.py
217
+ f2e810f9769e3c51a6be6822b03c230a87e94a7b6684d41fc29cb73efe339d80 server/transforms/version_filter.py
218
218
  889394ade50ccad928013e12957141e52fd45ae16100c205869688c0bea07820 server/transforms/visibility.py
219
- d66e0f39358b3d410906d0c5fb6b5b09c908ebd2bb8da61130a0a6a89dafa428 settings.py
219
+ b091c4eb034cd9cdaf42d65dade7c95846c37e137c2572115a9ef6277305ba2b settings.py
220
220
  1918d45032f08b689ad2d7f5df63e48b777266a81d4d0991a0415d5ff04bdfe7 telemetry.py
221
221
  fd1992e098123e61b8e2697dae56bc3d6311ea118c9dbdbac0197d7ad274b126 tools/__init__.py
222
222
  2fceb041133d3d9d38b172f9d87650a6a5c9a856c11a8f0c29c35a682c1a7232 tools/base.py
223
- 6c81a2724088ed9450dadf5ec0530c8adaaeb41772348f11f3bb689a00c8fd1f tools/function_parsing.py
224
- eb1f8951c3695227a91c32a9a3f52f7f68aaa1572b3ec22843b9e199774cdeaf tools/function_tool.py
225
- 9e7fbcfde19d838b70cf25db2cc9ffa757cc69253ff245a3d578b683db3634f5 tools/tool_transform.py
223
+ f7f49cfda15a22b3f3aaddeeb161986341c72e2eceb0d90ea427131e23b1dd88 tools/function_parsing.py
224
+ 317016d376666c0c08ed9e1b150123bc18e3da28d9ff07441da028c711c2f82b tools/function_tool.py
225
+ bdeae497a498f6e572dacda291143dd4ef1c2db1be51f6f00b7ee744204f4648 tools/tool_transform.py
226
226
  114f6988d2f7f28911d20afa9792106f76b723e8f4f8c09625e2310b7db438a3 types.py
227
227
  fa2989f12fab5e66d73167836a695d3fe7470ea00f83fc3098f573f8b357d781 utilities/__init__.py
228
228
  492b2b02870f7ae4f4cd4d07ddc26695fcdb20fb2b0ac38c062759b53a7bb2c2 utilities/asgi_transport.py
229
- 455378f3edd87d92de0d4724899dbfcb8cd62807703ea3c518d418d5c2545955 utilities/async_utils.py
229
+ 00947ff9dfa76176a094ba5b0c62d2d3aeb62c1ec9c2f48373ec7f1b3b482ee0 utilities/async_utils.py
230
230
  cde0af6863c7ecaf5b43c5718d5a5186ebe83df93f4faabd484dc1b4cf5a1ae5 utilities/auth.py
231
231
  756eebcba1a9eabed3eb7f522df0ef90b0709147d46cf02e01224ead9b9e99b3 utilities/authorization.py
232
232
  29dbfbef524572917aa070b3565843e817d278a676fac2c9a9ecba51c1215269 utilities/cli.py
233
- 98b26b250be5d7b91cb531e06b86ab026615b1561264a5548ad5829d09c3d7ce utilities/components.py
234
- 26ad47158cd9685fed257fa096ff3d022e3cca9ff4dfc4df41fda47bfdcc8433 utilities/docstring_parsing.py
233
+ 749eca7633bcfd597b14424895a425e56877a654cdeaffbe40a44c11b7af2fb8 utilities/components.py
234
+ 4117b6f878d419e0d9fc1dbaa7a2bd2b6ebe5ef4f398c0efd095d4835d25e8b1 utilities/docstring_parsing.py
235
235
  26af5197f0c30342ec96338f37e7d0ee400674ac56e18f613de343df9b4c6022 utilities/exceptions.py
236
236
  d254480ddb82cb17eab1264cb27a06e4538980efdabc70abf4f23279f3c1c3aa utilities/http.py
237
237
  aa0204571cb55806ea28484ab4bf60018f95fce4c3c28f255f7f3c3eb5e2db1b utilities/inspect.py
238
- bb8649c8eae84eaf835279bfaaafb766747dcf980c6a44c7fdbc6bc6b7a5f471 utilities/json_schema.py
239
- d8e9daf7c4115a902e31ccf184b40ffd866eabf6ab787320753395b6adf9e54d utilities/json_schema_type.py
238
+ c1a03ed3e93f3c06a48b232304f938a00a347874987d64576326bb32fefa8cca utilities/json_schema.py
239
+ 76a4d1ffe1f9431816131be0f77d7c6c3913c83d716e677775baa4327f2a7a9f utilities/json_schema_type.py
240
240
  41a30eee26f03f4232b3b0ab3e88bfc925feaa4c08077c80f06a7eb8b4c5e1c1 utilities/lifespan.py
241
241
  c9734ef52ddc7185828b7a51bee16cff935cc52fef29a7e5c102d76709139790 utilities/logging.py
242
242
  91d04debaa395607f66912bbf108371543dd38703c8fc15ffaa8bfea0d8b8344 utilities/mcp_server_config/__init__.py
@@ -252,20 +252,20 @@ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 utilities/mcp_
252
252
  99526bda0a6c8523eecb550bed72a03f815e379bca1ecaa870122a5af8e9a0ad utilities/mime.py
253
253
  6890003fe8e02d81f2c1fe4ed7866e50ebfff06b699d7308724ceaa9f413f701 utilities/openapi/README.md
254
254
  c833f7723b65b8bf55695ab67261860ce5b21532dc6d6a3c6e887cc12e35ab83 utilities/openapi/__init__.py
255
- 2c1eaf1d52fa9dcd1d2472a18a90384f70f67ee5f70ec2af6184bb82d74a2484 utilities/openapi/director.py
255
+ cc3e84e216a480d7fd5e9d7048d21d8163de76ea79f031b229b4d910a819747e utilities/openapi/director.py
256
256
  9eb89249d9644ba337379bbbc8140060ea6a5b642be1961d7cb214eed0cca404 utilities/openapi/formatters.py
257
- 8521f1f6091a8cef4154db5342c017fafaf48876869153380b86f7eb741ffa8b utilities/openapi/json_schema_converter.py
257
+ 9a5d3f218fb28da51122a544a78276ea97d14719b3f65b6637d66143c69760b8 utilities/openapi/json_schema_converter.py
258
258
  6d833c04a3bc731a66258221e5f15826a41e265e9c80898218ae226e29f4d612 utilities/openapi/models.py
259
259
  2e58bc03dd82687ef7a843474eb65c1f644eafe2c039eb0949a61cce8b313de9 utilities/openapi/parser.py
260
- 2360dd5e73d6d0ce62a0b083c491f1dfa638b7608f6f72e37eb97b2a1e322992 utilities/openapi/schemas.py
260
+ 01c2276726002ee579299104b92d540b58684660563432c847da30df4aee1eec utilities/openapi/schemas.py
261
261
  9db69a1b408230d652ec39d89867449d504491aeda59fbc7285a14210575b7e3 utilities/pagination.py
262
262
  634850f693e36fc0e5c877581bdb7e990bfd7541676288170c6a1d1713755d46 utilities/prefab.py
263
263
  3db58fb4f30afb73083baeb8d94c9a23d9875980f091c19592b9eff89588764c utilities/skills.py
264
264
  66a0085646c22d1ff49b89cb218813e5b88eebf12f868423a1eab4f1a0389b98 utilities/tasks.py
265
- 63e6d25c67609e194c5e940602ccf0562ac1617ab33e6f5b5b05a55bfca9c31c utilities/tests.py
265
+ 257c52460866cda5280d0916d20a7356bb12a0147ccd877c6b885baa4e97d2f6 utilities/tests.py
266
266
  6e158212fb4a31e14b309c7c65aefee8861ac62f8edb2ee06ba359e37df92c37 utilities/timeout.py
267
267
  0b105f303612c242d5be4569b185a3e9780b9749f693ba5392ebad223b5aa0d6 utilities/token_cache.py
268
- 546e18bbe53086f426eaff83e66441e1a1a3d0d5db9abd52e1d7d1192bc02388 utilities/types.py
268
+ 83f170b1719816d27e454ab0a4c238f48a23bffa573adf24b9dae55412d1020d utilities/types.py
269
269
  81c9e16bb563e31101c5dad2f3711994aa4dff8dc0433720899144be44eacea8 utilities/ui.py
270
270
  e15b4687d5f807a4a8421c49f0e40d13916fdec1c12b74273964e94156350491 utilities/version_check.py
271
271
  5e19b700a340ef7fd8974571de2aa190ef1acfc609547aaa1729704bfc241ae2 utilities/versions.py
@@ -1,4 +1,5 @@
1
1
  authlib>=1.6.11
2
+ beartype>=0.23.0rc2; (python_version >= '3.15')
2
3
  cyclopts>=4.0.0
3
4
  exceptiongroup>=1.2.2
4
5
  griffelib>=2.0.0
@@ -1,2 +1,2 @@
1
- fastmcp-slim==4.0.11
1
+ fastmcp-slim==4.1.0
2
2
  Vendored by scripts/vendor_fastmcp.py — do not edit by hand.
@@ -32,7 +32,7 @@ from ha_mcp._vendor.fastmcp import _compat
32
32
 
33
33
  _compat.install()
34
34
 
35
- __version__ = "4.0.11"
35
+ __version__ = "4.1.0"
36
36
 
37
37
  if settings.deprecation_warnings:
38
38
  warnings.simplefilter("default", FastMCPDeprecationWarning)
@@ -60,7 +60,10 @@ except ImportError as _exc:
60
60
  ) from _exc
61
61
 
62
62
  import base64
63
+ import math
63
64
  from datetime import datetime, timezone
65
+ from threading import RLock
66
+ from time import monotonic
64
67
  from typing import Any
65
68
 
66
69
  from ha_mcp._vendor.fastmcp.apps.app import FastMCPApp
@@ -106,6 +109,10 @@ class FileUpload(FastMCPApp):
106
109
  model-visible tools for listing and reading uploaded files.
107
110
 
108
111
  Files are scoped by MCP session and stored in memory by default.
112
+ Set `max_total_size` to limit decoded file bytes across all scopes or
113
+ `file_ttl_seconds` to expire files by age since upload. Both default to
114
+ None. Expired files are removed on storage operations, without a timer.
115
+ These options apply to the default in-memory storage methods.
109
116
  Override ``on_store``, ``on_list``, and ``on_read`` for custom
110
117
  persistence (filesystem, S3, database, etc.). Each method receives
111
118
  the current ``Context``, giving access to session ID, auth tokens,
@@ -137,6 +144,8 @@ class FileUpload(FastMCPApp):
137
144
  name: str = "Files",
138
145
  *,
139
146
  max_file_size: int = 10 * 1024 * 1024,
147
+ max_total_size: int | None = None,
148
+ file_ttl_seconds: float | None = None,
140
149
  title: str = "File Upload",
141
150
  description: str = (
142
151
  "Drop files to upload them to the server. "
@@ -145,8 +154,17 @@ class FileUpload(FastMCPApp):
145
154
  ),
146
155
  drop_label: str = "Drop files here",
147
156
  ) -> None:
157
+ if max_total_size is not None and max_total_size < 0:
158
+ raise ValueError("max_total_size must be nonnegative")
159
+ if file_ttl_seconds is not None and (
160
+ not math.isfinite(file_ttl_seconds) or file_ttl_seconds <= 0
161
+ ):
162
+ raise ValueError("file_ttl_seconds must be positive and finite")
148
163
  super().__init__(name)
149
164
  self._max_file_size = max_file_size
165
+ self._max_total_size = max_total_size
166
+ self._file_ttl_seconds = file_ttl_seconds
167
+ self._store_lock = RLock()
150
168
  self._title = title
151
169
  self._description = description
152
170
  self._drop_label = drop_label
@@ -180,6 +198,17 @@ class FileUpload(FastMCPApp):
180
198
  except RuntimeError:
181
199
  return "__default__"
182
200
 
201
+ def _prune_expired(self, now: float) -> None:
202
+ """Remove expired files while holding the default storage lock."""
203
+ if self._file_ttl_seconds is None:
204
+ return
205
+ for scope, entries in list(self._store.items()):
206
+ for name, entry in list(entries.items()):
207
+ if entry["_expires_at"] <= now:
208
+ del entries[name]
209
+ if not entries:
210
+ del self._store[scope]
211
+
183
212
  def on_store(
184
213
  self,
185
214
  files: list[dict[str, Any]],
@@ -195,23 +224,56 @@ class FileUpload(FastMCPApp):
195
224
 
196
225
  Override this method for custom persistence. The default
197
226
  implementation stores files in memory, scoped by
198
- ``_get_scope_key(ctx)``.
227
+ ``_get_scope_key(ctx)``. The optional `max_total_size` applies to
228
+ decoded file bytes across every scope. An entire batch is rejected
229
+ when its final contents would exceed the limit, including replacements.
199
230
 
200
231
  Returns:
201
232
  List of file summary dicts (``name``, ``type``, ``size``,
202
233
  ``size_display``, ``uploaded_at``).
203
234
  """
204
235
  scope = self._get_scope_key(ctx)
205
- session_files = self._store.setdefault(scope, {})
206
- for f in files:
207
- session_files[f["name"]] = {
208
- "name": f["name"],
209
- "size": f["size"],
210
- "type": f["type"],
211
- "data": f["data"],
212
- "uploaded_at": datetime.now(timezone.utc).isoformat(timespec="seconds"),
213
- }
214
- return [_make_summary(e) for e in session_files.values()]
236
+ with self._store_lock:
237
+ now = monotonic()
238
+ self._prune_expired(now)
239
+ updates: dict[str, dict[str, Any]] = {}
240
+ for f in files:
241
+ entry = {
242
+ "name": f["name"],
243
+ "size": f["size"],
244
+ "type": f["type"],
245
+ "data": f["data"],
246
+ "uploaded_at": datetime.now(timezone.utc).isoformat(
247
+ timespec="seconds"
248
+ ),
249
+ }
250
+ if self._file_ttl_seconds is not None:
251
+ entry["_expires_at"] = now + self._file_ttl_seconds
252
+ updates[f["name"]] = entry
253
+
254
+ session_files = self._store.get(scope, {})
255
+ if self._max_total_size is not None:
256
+ total_size = sum(
257
+ max(0, _b64_decoded_size(entry["data"]))
258
+ for entries in self._store.values()
259
+ for entry in entries.values()
260
+ )
261
+ for name, entry in updates.items():
262
+ total_size += max(0, _b64_decoded_size(entry["data"]))
263
+ if name in session_files:
264
+ total_size -= max(
265
+ 0, _b64_decoded_size(session_files[name]["data"])
266
+ )
267
+ if total_size > self._max_total_size:
268
+ raise ValueError(
269
+ "Files exceed total storage size "
270
+ f"({_format_size(total_size)} > "
271
+ f"{_format_size(self._max_total_size)})"
272
+ )
273
+
274
+ session_files = self._store.setdefault(scope, {})
275
+ session_files.update(updates)
276
+ return [_make_summary(e) for e in session_files.values()]
215
277
 
216
278
  def on_list(self, ctx: Context) -> list[dict[str, Any]]:
217
279
  """List all stored files.
@@ -226,8 +288,10 @@ class FileUpload(FastMCPApp):
226
288
  List of file summary dicts.
227
289
  """
228
290
  scope = self._get_scope_key(ctx)
229
- session_files = self._store.get(scope, {})
230
- return [_make_summary(e) for e in session_files.values()]
291
+ with self._store_lock:
292
+ self._prune_expired(monotonic())
293
+ session_files = self._store.get(scope, {})
294
+ return [_make_summary(e) for e in session_files.values()]
231
295
 
232
296
  def on_read(self, name: str, ctx: Context) -> dict[str, Any]:
233
297
  """Read a file's contents by name.
@@ -249,11 +313,13 @@ class FileUpload(FastMCPApp):
249
313
  ValueError: If the file is not found.
250
314
  """
251
315
  scope = self._get_scope_key(ctx)
252
- session_files = self._store.get(scope, {})
253
- if name not in session_files:
254
- available = list(session_files.keys())
255
- raise ValueError(f"File {name!r} not found. Available: {available}")
256
- entry = session_files[name]
316
+ with self._store_lock:
317
+ self._prune_expired(monotonic())
318
+ session_files = self._store.get(scope, {})
319
+ if name not in session_files:
320
+ available = list(session_files.keys())
321
+ raise ValueError(f"File {name!r} not found. Available: {available}")
322
+ entry = session_files[name]
257
323
  result: dict[str, Any] = {
258
324
  "name": entry["name"],
259
325
  "size": entry["size"],
@@ -101,8 +101,9 @@ class GenerativeUI(Provider):
101
101
  if self._setup_done:
102
102
  return
103
103
 
104
+ # CSP belongs on the renderer resource, not the tool (MCP Apps spec).
104
105
  csp = _build_csp()
105
- app_config = AppConfig(resource_uri=_gen.RESOURCE_URI, csp=csp)
106
+ app_config = AppConfig(resource_uri=_gen.RESOURCE_URI)
106
107
 
107
108
  # -- generate_ui tool --
108
109
  # Wraps prefab_ui.generative.execute with sandbox lifecycle management.
@@ -681,6 +681,8 @@ async def run(
681
681
  reload_cmd.extend(["--log-level", final_log_level])
682
682
  if final_no_banner:
683
683
  reload_cmd.append("--no-banner")
684
+ if skip_source:
685
+ reload_cmd.append("--skip-source")
684
686
  reload_cmd.append("--no-reload") # Prevent infinite spawning
685
687
  reload_cmd.append("--stateless") # Stateless mode for reload compatibility
686
688
 
@@ -732,6 +734,8 @@ async def run(
732
734
  inner_cmd.append("--no-banner")
733
735
  if stateless:
734
736
  inner_cmd.append("--stateless")
737
+ if skip_source:
738
+ inner_cmd.append("--skip-source")
735
739
  # Add skip-env flag to prevent infinite recursion
736
740
  inner_cmd.append("--skip-env")
737
741
 
@@ -1010,8 +1014,9 @@ async def inspect(
1010
1014
  console.print(f" Server: [bold]{info.name}[/bold]")
1011
1015
  console.print(f" Format: {format.value}")
1012
1016
  else:
1013
- # Output JSON to stdout
1014
- console.print(formatted_json.decode("utf-8"))
1017
+ # Output JSON to stdout. The console would wrap long lines and
1018
+ # interpret [markup], corrupting the JSON.
1019
+ print(formatted_json.decode("utf-8"))
1015
1020
 
1016
1021
  except Exception as e:
1017
1022
  logger.exception(