aixtools 0.2.10__tar.gz → 0.2.12__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.

Potentially problematic release.


This version of aixtools might be problematic. Click here for more details.

Files changed (95) hide show
  1. {aixtools-0.2.10 → aixtools-0.2.12}/PKG-INFO +1 -1
  2. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/_version.py +3 -3
  3. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/auth/auth.py +11 -2
  4. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/config.py +4 -1
  5. {aixtools-0.2.10 → aixtools-0.2.12}/pyproject.toml +3 -0
  6. {aixtools-0.2.10 → aixtools-0.2.12}/README.md +0 -0
  7. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/config.toml +0 -0
  8. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/bn.json +0 -0
  9. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/en-US.json +0 -0
  10. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/gu.json +0 -0
  11. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/he-IL.json +0 -0
  12. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/hi.json +0 -0
  13. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/ja.json +0 -0
  14. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/kn.json +0 -0
  15. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/ml.json +0 -0
  16. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/mr.json +0 -0
  17. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/nl.json +0 -0
  18. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/ta.json +0 -0
  19. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/te.json +0 -0
  20. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/.chainlit/translations/zh-CN.json +0 -0
  21. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/__init__.py +0 -0
  22. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/app.py +0 -0
  23. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/google_sdk/__init__.py +0 -0
  24. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/google_sdk/pydantic_ai_adapter/agent_executor.py +0 -0
  25. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/google_sdk/pydantic_ai_adapter/storage.py +0 -0
  26. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/google_sdk/remote_agent_connection.py +0 -0
  27. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/google_sdk/utils.py +0 -0
  28. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/a2a/utils.py +0 -0
  29. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/agents/__init__.py +0 -0
  30. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/agents/agent.py +0 -0
  31. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/agents/agent_batch.py +0 -0
  32. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/agents/print_nodes.py +0 -0
  33. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/agents/prompt.py +0 -0
  34. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/app.py +0 -0
  35. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/auth/__init__.py +0 -0
  36. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/chainlit.md +0 -0
  37. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/compliance/__init__.py +0 -0
  38. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/compliance/private_data.py +0 -0
  39. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/context.py +0 -0
  40. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/db/__init__.py +0 -0
  41. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/db/database.py +0 -0
  42. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/db/vector_db.py +0 -0
  43. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/evals/__init__.py +0 -0
  44. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/evals/__main__.py +0 -0
  45. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/evals/dataset.py +0 -0
  46. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/evals/discovery.py +0 -0
  47. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/evals/run_evals.py +0 -0
  48. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/google/client.py +0 -0
  49. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/__init__.py +0 -0
  50. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/app.py +0 -0
  51. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/display.py +0 -0
  52. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/export.py +0 -0
  53. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/filters.py +0 -0
  54. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/log_utils.py +0 -0
  55. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/log_view/node_summary.py +0 -0
  56. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logfilters/__init__.py +0 -0
  57. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logfilters/context_filter.py +0 -0
  58. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/__init__.py +0 -0
  59. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/log_objects.py +0 -0
  60. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/logging_config.py +0 -0
  61. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/mcp_log_models.py +0 -0
  62. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/mcp_logger.py +0 -0
  63. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/model_patch_logging.py +0 -0
  64. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/logging/open_telemetry.py +0 -0
  65. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/__init__.py +0 -0
  66. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/client.py +0 -0
  67. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/example_client.py +0 -0
  68. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/example_server.py +0 -0
  69. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/fast_mcp_log.py +0 -0
  70. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/mcp/faulty_mcp.py +0 -0
  71. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/model_patch/model_patch.py +0 -0
  72. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/server/__init__.py +0 -0
  73. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/server/app_mounter.py +0 -0
  74. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/server/path.py +0 -0
  75. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/server/utils.py +0 -0
  76. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/testing/__init__.py +0 -0
  77. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/testing/aix_test_model.py +0 -0
  78. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/testing/mock_tool.py +0 -0
  79. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/testing/model_patch_cache.py +0 -0
  80. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/tools/doctor/__init__.py +0 -0
  81. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/tools/doctor/mcp_tool_doctor.py +0 -0
  82. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/tools/doctor/tool_doctor.py +0 -0
  83. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/tools/doctor/tool_recommendation.py +0 -0
  84. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/__init__.py +0 -0
  85. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/chainlit/cl_agent_show.py +0 -0
  86. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/chainlit/cl_utils.py +0 -0
  87. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/config_util.py +0 -0
  88. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/enum_with_description.py +0 -0
  89. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/files.py +0 -0
  90. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/persisted_dict.py +0 -0
  91. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/utils/utils.py +0 -0
  92. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/vault/__init__.py +0 -0
  93. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools/vault/vault.py +0 -0
  94. {aixtools-0.2.10 → aixtools-0.2.12}/aixtools.egg-info/SOURCES.txt +0 -0
  95. {aixtools-0.2.10 → aixtools-0.2.12}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aixtools
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: Tools for AI exploration and debugging
5
5
  Requires-Python: >=3.11.2
6
6
  Description-Content-Type: text/markdown
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.2.10'
32
- __version_tuple__ = version_tuple = (0, 2, 10)
31
+ __version__ = version = '0.2.12'
32
+ __version_tuple__ = version_tuple = (0, 2, 12)
33
33
 
34
- __commit_id__ = commit_id = 'ge6b757983'
34
+ __commit_id__ = commit_id = 'g57d2aa39c'
@@ -16,6 +16,7 @@ from mcp.server.auth.provider import (
16
16
  from aixtools.utils import config
17
17
 
18
18
  logger = logging.getLogger(__name__)
19
+ TEST_CLIENT = "test-client"
19
20
 
20
21
 
21
22
  class AuthTokenErrorCode(str, enum.Enum):
@@ -159,14 +160,22 @@ class AccessTokenAuthProvider(AuthProvider):
159
160
  def __init__(self) -> None:
160
161
  super().__init__()
161
162
  self.token_verifier = AccessTokenVerifier()
163
+ self.app_scope = config.APP_DEFAULT_SCOPE
162
164
 
163
165
  async def verify_token(self, token: str) -> AccessToken:
164
166
  """Verify the access token and return an AccessToken object."""
165
-
166
167
  logger.info("Received verify token request")
168
+ test_token = config.AUTH_TEST_TOKEN
169
+
170
+ # check if the token is a test token
171
+ # this is used for integration test run
172
+ if test_token and token == test_token:
173
+ logger.info("Using test token:%s", test_token)
174
+ return AccessToken(token=token, client_id=TEST_CLIENT, scopes=[], expires_at=None)
175
+
167
176
  claims = self.token_verifier.verify(token)
168
177
  scopes = claims.get("scp", "")
169
- self.token_verifier.authorize_claims(claims, scopes)
178
+ self.token_verifier.authorize_claims(claims, self.app_scope)
170
179
 
171
180
  scopes_arr = []
172
181
  if scopes:
@@ -124,7 +124,7 @@ GOOGLE_CLOUD_LOCATION = get_variable_env("GOOGLE_CLOUD_LOCATION", True)
124
124
  # vault parameters.
125
125
  VAULT_ADDRESS = get_variable_env("VAULT_ADDRESS", default="http://localhost:8200")
126
126
  VAULT_TOKEN = get_variable_env("VAULT_TOKEN", allow_empty=True)
127
- VAULT_ENV = get_variable_env("ENV", allow_empty=True)
127
+ VAULT_ENV = get_variable_env("VAULT_ENV", allow_empty=True)
128
128
  VAULT_MOUNT_POINT = get_variable_env("VAULT_MOUNT_POINT", allow_empty=True)
129
129
  VAULT_PATH_PREFIX = get_variable_env("VAULT_PATH_PREFIX", allow_empty=True)
130
130
 
@@ -141,3 +141,6 @@ APP_AUTHORIZED_GROUPS = get_variable_env("APP_AUTHORIZED_GROUPS", allow_empty=Tr
141
141
 
142
142
  # used to skip authorization in local tests if required.
143
143
  SKIP_MCP_AUTHORIZATION = str2bool(get_variable_env("SKIP_MCP_AUTHORIZATION", True, False))
144
+ APP_DEFAULT_SCOPE = get_variable_env("APP_DEFAULT_SCOPE", allow_empty=True)
145
+
146
+ AUTH_TEST_TOKEN = get_variable_env("AUTH_TEST_TOKEN", allow_empty=True)
@@ -71,3 +71,6 @@ ignore = ["_version.py"]
71
71
  [tool.setuptools_scm]
72
72
  write_to = "aixtools/_version.py"
73
73
  version_scheme = "release-branch-semver"
74
+
75
+ [tool.pytest.ini_options]
76
+ asyncio_mode = "auto"
File without changes
File without changes
File without changes
File without changes
File without changes