aixtools 0.3.9__tar.gz → 0.3.11__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 (103) hide show
  1. {aixtools-0.3.9 → aixtools-0.3.11}/PKG-INFO +1 -1
  2. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/_version.py +3 -3
  3. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/app.py +6 -0
  4. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/auth/auth.py +4 -0
  5. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/server.py +5 -1
  6. {aixtools-0.3.9 → aixtools-0.3.11}/README.md +0 -0
  7. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/config.toml +0 -0
  8. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/bn.json +0 -0
  9. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/en-US.json +0 -0
  10. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/gu.json +0 -0
  11. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/he-IL.json +0 -0
  12. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/hi.json +0 -0
  13. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/ja.json +0 -0
  14. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/kn.json +0 -0
  15. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/ml.json +0 -0
  16. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/mr.json +0 -0
  17. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/nl.json +0 -0
  18. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/ta.json +0 -0
  19. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/te.json +0 -0
  20. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/.chainlit/translations/zh-CN.json +0 -0
  21. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/__init__.py +0 -0
  22. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/auth_middleware.py +0 -0
  23. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/google_sdk/__init__.py +0 -0
  24. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/google_sdk/pydantic_ai_adapter/agent_executor.py +0 -0
  25. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/google_sdk/pydantic_ai_adapter/storage.py +0 -0
  26. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/google_sdk/remote_agent_connection.py +0 -0
  27. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/google_sdk/utils.py +0 -0
  28. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/a2a/utils.py +0 -0
  29. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/__init__.py +0 -0
  30. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/agent.py +0 -0
  31. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/agent_batch.py +0 -0
  32. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/nodes_to_md.py +0 -0
  33. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/nodes_to_message.py +0 -0
  34. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/nodes_to_str.py +0 -0
  35. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/print_nodes.py +0 -0
  36. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/agents/prompt.py +0 -0
  37. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/app.py +0 -0
  38. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/auth/__init__.py +0 -0
  39. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/chainlit.md +0 -0
  40. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/compliance/__init__.py +0 -0
  41. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/compliance/private_data.py +0 -0
  42. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/context.py +0 -0
  43. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/db/__init__.py +0 -0
  44. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/db/database.py +0 -0
  45. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/db/vector_db.py +0 -0
  46. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/evals/__init__.py +0 -0
  47. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/evals/__main__.py +0 -0
  48. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/evals/dataset.py +0 -0
  49. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/evals/discovery.py +0 -0
  50. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/evals/run_evals.py +0 -0
  51. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/google/client.py +0 -0
  52. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/__init__.py +0 -0
  53. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/app.py +0 -0
  54. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/display.py +0 -0
  55. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/export.py +0 -0
  56. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/filters.py +0 -0
  57. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/log_utils.py +0 -0
  58. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/log_view/node_summary.py +0 -0
  59. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logfilters/__init__.py +0 -0
  60. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logfilters/context_filter.py +0 -0
  61. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/__init__.py +0 -0
  62. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/log_objects.py +0 -0
  63. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/logging_config.py +0 -0
  64. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/mcp_log_models.py +0 -0
  65. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/mcp_logger.py +0 -0
  66. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/model_patch_logging.py +0 -0
  67. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/logging/open_telemetry.py +0 -0
  68. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/__init__.py +0 -0
  69. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/client.py +0 -0
  70. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/example_client.py +0 -0
  71. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/example_server.py +0 -0
  72. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/exceptions.py +0 -0
  73. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/fast_mcp_log.py +0 -0
  74. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/faulty_mcp.py +0 -0
  75. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/mcp/middleware.py +0 -0
  76. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/model_patch/model_patch.py +0 -0
  77. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/server/__init__.py +0 -0
  78. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/server/app_mounter.py +0 -0
  79. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/server/path.py +0 -0
  80. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/server/utils.py +0 -0
  81. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/testing/__init__.py +0 -0
  82. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/testing/agent_mock.py +0 -0
  83. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/testing/aix_test_model.py +0 -0
  84. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/testing/mock_tool.py +0 -0
  85. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/testing/model_patch_cache.py +0 -0
  86. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/tools/doctor/__init__.py +0 -0
  87. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/tools/doctor/mcp_tool_doctor.py +0 -0
  88. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/tools/doctor/tool_doctor.py +0 -0
  89. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/tools/doctor/tool_recommendation.py +0 -0
  90. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/__init__.py +0 -0
  91. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/chainlit/cl_agent_show.py +0 -0
  92. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/chainlit/cl_utils.py +0 -0
  93. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/config.py +0 -0
  94. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/config_util.py +0 -0
  95. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/enum_with_description.py +0 -0
  96. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/files.py +0 -0
  97. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/persisted_dict.py +0 -0
  98. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/utils/utils.py +0 -0
  99. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/vault/__init__.py +0 -0
  100. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools/vault/vault.py +0 -0
  101. {aixtools-0.3.9 → aixtools-0.3.11}/aixtools.egg-info/SOURCES.txt +0 -0
  102. {aixtools-0.3.9 → aixtools-0.3.11}/pyproject.toml +0 -0
  103. {aixtools-0.3.9 → aixtools-0.3.11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aixtools
3
- Version: 0.3.9
3
+ Version: 0.3.11
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.3.9'
32
- __version_tuple__ = version_tuple = (0, 3, 9)
31
+ __version__ = version = '0.3.11'
32
+ __version_tuple__ = version_tuple = (0, 3, 11)
33
33
 
34
- __commit_id__ = commit_id = 'gf2f460fba'
34
+ __commit_id__ = commit_id = 'g0077788dc'
@@ -32,6 +32,7 @@ from starlette.responses import RedirectResponse
32
32
  from aixtools.a2a.auth_middleware import AuthMiddleware
33
33
  from aixtools.auth.auth import AccessTokenAuthProvider
34
34
  from aixtools.context import session_id_var, user_id_var
35
+ from aixtools.utils import config
35
36
 
36
37
 
37
38
  class AgentWorkerWithMetadataParser(AgentWorker):
@@ -140,6 +141,11 @@ def build_a2a_starlette_app(
140
141
  http_handler=request_handler,
141
142
  )
142
143
 
144
+ if config.SKIP_MCP_AUTHORIZATION:
145
+ auth_provider = None
146
+ elif auth_provider is None:
147
+ auth_provider = AccessTokenAuthProvider()
148
+
143
149
  app = server.build()
144
150
  if auth_provider:
145
151
  app.add_middleware(AuthMiddleware, provider=auth_provider)
@@ -125,6 +125,10 @@ class AccessTokenVerifier:
125
125
  raise AuthTokenError(AuthTokenErrorCode.INVALID_ISSUER) from e
126
126
  except InvalidSignatureError as e:
127
127
  raise AuthTokenError(AuthTokenErrorCode.INVALID_SIGNATURE) from e
128
+ except jwt.exceptions.DecodeError as e:
129
+ raise AuthTokenError(AuthTokenErrorCode.INVALID_TOKEN) from e
130
+ except jwt.exceptions.PyJWKClientError as e:
131
+ raise AuthTokenError(AuthTokenErrorCode.INVALID_TOKEN) from e
128
132
  except jwt.exceptions.PyJWTError as e:
129
133
  logger.exception("Unable to check JWT token: %s", token)
130
134
  raise AuthTokenError(AuthTokenErrorCode.JWT_ERROR) from e
@@ -10,6 +10,7 @@ from fastmcp.utilities.types import NotSet
10
10
  from aixtools.auth.auth import AccessTokenAuthProvider
11
11
  from aixtools.logging.logging_config import get_logger
12
12
  from aixtools.mcp.middleware import AixErrorHandlingMiddleware
13
+ from aixtools.utils import config
13
14
 
14
15
 
15
16
  def create_mcp_server(
@@ -58,7 +59,10 @@ def create_mcp_server(
58
59
  TimingMiddleware(logger=get_logger("middleware.timing")),
59
60
  ]
60
61
 
61
- if auth is NotSet:
62
+ # env SKIP_MCP_AUTHORIZATION overrides config.
63
+ if config.SKIP_MCP_AUTHORIZATION:
64
+ auth = None
65
+ elif auth is NotSet:
62
66
  auth = AccessTokenAuthProvider()
63
67
 
64
68
  mcp_args = {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes