aixtools 0.3.1__tar.gz → 0.3.2__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 (102) hide show
  1. {aixtools-0.3.1 → aixtools-0.3.2}/PKG-INFO +1 -1
  2. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/_version.py +3 -3
  3. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/auth/auth.py +16 -0
  4. {aixtools-0.3.1 → aixtools-0.3.2}/README.md +0 -0
  5. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/config.toml +0 -0
  6. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/bn.json +0 -0
  7. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/en-US.json +0 -0
  8. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/gu.json +0 -0
  9. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/he-IL.json +0 -0
  10. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/hi.json +0 -0
  11. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/ja.json +0 -0
  12. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/kn.json +0 -0
  13. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/ml.json +0 -0
  14. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/mr.json +0 -0
  15. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/nl.json +0 -0
  16. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/ta.json +0 -0
  17. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/te.json +0 -0
  18. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/.chainlit/translations/zh-CN.json +0 -0
  19. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/__init__.py +0 -0
  20. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/app.py +0 -0
  21. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/google_sdk/__init__.py +0 -0
  22. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/google_sdk/pydantic_ai_adapter/agent_executor.py +0 -0
  23. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/google_sdk/pydantic_ai_adapter/storage.py +0 -0
  24. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/google_sdk/remote_agent_connection.py +0 -0
  25. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/google_sdk/utils.py +0 -0
  26. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/a2a/utils.py +0 -0
  27. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/__init__.py +0 -0
  28. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/agent.py +0 -0
  29. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/agent_batch.py +0 -0
  30. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/nodes_to_md.py +0 -0
  31. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/nodes_to_message.py +0 -0
  32. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/nodes_to_str.py +0 -0
  33. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/print_nodes.py +0 -0
  34. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/agents/prompt.py +0 -0
  35. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/app.py +0 -0
  36. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/auth/__init__.py +0 -0
  37. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/chainlit.md +0 -0
  38. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/compliance/__init__.py +0 -0
  39. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/compliance/private_data.py +0 -0
  40. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/context.py +0 -0
  41. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/db/__init__.py +0 -0
  42. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/db/database.py +0 -0
  43. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/db/vector_db.py +0 -0
  44. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/evals/__init__.py +0 -0
  45. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/evals/__main__.py +0 -0
  46. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/evals/dataset.py +0 -0
  47. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/evals/discovery.py +0 -0
  48. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/evals/run_evals.py +0 -0
  49. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/google/client.py +0 -0
  50. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/__init__.py +0 -0
  51. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/app.py +0 -0
  52. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/display.py +0 -0
  53. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/export.py +0 -0
  54. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/filters.py +0 -0
  55. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/log_utils.py +0 -0
  56. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/log_view/node_summary.py +0 -0
  57. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logfilters/__init__.py +0 -0
  58. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logfilters/context_filter.py +0 -0
  59. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/__init__.py +0 -0
  60. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/log_objects.py +0 -0
  61. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/logging_config.py +0 -0
  62. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/mcp_log_models.py +0 -0
  63. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/mcp_logger.py +0 -0
  64. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/model_patch_logging.py +0 -0
  65. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/logging/open_telemetry.py +0 -0
  66. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/__init__.py +0 -0
  67. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/client.py +0 -0
  68. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/example_client.py +0 -0
  69. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/example_server.py +0 -0
  70. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/exceptions.py +0 -0
  71. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/fast_mcp_log.py +0 -0
  72. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/faulty_mcp.py +0 -0
  73. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/middleware.py +0 -0
  74. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/mcp/server.py +0 -0
  75. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/model_patch/model_patch.py +0 -0
  76. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/server/__init__.py +0 -0
  77. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/server/app_mounter.py +0 -0
  78. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/server/path.py +0 -0
  79. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/server/utils.py +0 -0
  80. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/testing/__init__.py +0 -0
  81. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/testing/agent_mock.py +0 -0
  82. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/testing/aix_test_model.py +0 -0
  83. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/testing/mock_tool.py +0 -0
  84. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/testing/model_patch_cache.py +0 -0
  85. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/tools/doctor/__init__.py +0 -0
  86. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/tools/doctor/mcp_tool_doctor.py +0 -0
  87. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/tools/doctor/tool_doctor.py +0 -0
  88. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/tools/doctor/tool_recommendation.py +0 -0
  89. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/__init__.py +0 -0
  90. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/chainlit/cl_agent_show.py +0 -0
  91. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/chainlit/cl_utils.py +0 -0
  92. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/config.py +0 -0
  93. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/config_util.py +0 -0
  94. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/enum_with_description.py +0 -0
  95. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/files.py +0 -0
  96. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/persisted_dict.py +0 -0
  97. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/utils/utils.py +0 -0
  98. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/vault/__init__.py +0 -0
  99. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools/vault/vault.py +0 -0
  100. {aixtools-0.3.1 → aixtools-0.3.2}/aixtools.egg-info/SOURCES.txt +0 -0
  101. {aixtools-0.3.1 → aixtools-0.3.2}/pyproject.toml +0 -0
  102. {aixtools-0.3.1 → aixtools-0.3.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aixtools
3
- Version: 0.3.1
3
+ Version: 0.3.2
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.1'
32
- __version_tuple__ = version_tuple = (0, 3, 1)
31
+ __version__ = version = '0.3.2'
32
+ __version_tuple__ = version_tuple = (0, 3, 2)
33
33
 
34
- __commit_id__ = commit_id = 'g84f1d84d1'
34
+ __commit_id__ = commit_id = 'g0ceaec30c'
@@ -30,6 +30,7 @@ class AuthTokenErrorCode(str, enum.Enum):
30
30
  JWT_ERROR = "Generic JWT error"
31
31
  MISSING_GROUPS_ERROR = "Missing authorized groups"
32
32
  INVALID_TOKEN_SCOPE = "Token scope does not match configured scope"
33
+ TOKEN_MISSING = "Token missing"
33
34
 
34
35
 
35
36
  class AuthTokenError(Exception):
@@ -185,3 +186,18 @@ class AccessTokenAuthProvider(AuthProvider):
185
186
  return AccessToken(
186
187
  token=token, client_id=self.token_verifier.api_id, scopes=scopes_arr, expires_at=claims.get("exp", None)
187
188
  )
189
+
190
+ async def verify_auth_header(self, auth_header: str | None) -> AccessToken:
191
+ """
192
+ Splits the authorization header and looks for bearer type token,
193
+ then verifies the extracted bearer token and returns an AccessToken object.
194
+ """
195
+
196
+ if auth_header and auth_header.lower().startswith("bearer "):
197
+ auth_token = auth_header.split(" ", 1)[1].strip()
198
+ return await self.verify_token(auth_token)
199
+
200
+ raise AuthTokenError(
201
+ AuthTokenErrorCode.TOKEN_MISSING,
202
+ f"Could not find bearer token in authorization header: {auth_header}",
203
+ )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes