aixtools 0.3.5__tar.gz → 0.3.7__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.5 → aixtools-0.3.7}/PKG-INFO +1 -1
  2. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/_version.py +3 -3
  3. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/auth_middleware.py +2 -3
  4. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/auth/auth.py +8 -2
  5. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/server/path.py +1 -0
  6. {aixtools-0.3.5 → aixtools-0.3.7}/README.md +0 -0
  7. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/config.toml +0 -0
  8. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/bn.json +0 -0
  9. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/en-US.json +0 -0
  10. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/gu.json +0 -0
  11. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/he-IL.json +0 -0
  12. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/hi.json +0 -0
  13. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/ja.json +0 -0
  14. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/kn.json +0 -0
  15. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/ml.json +0 -0
  16. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/mr.json +0 -0
  17. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/nl.json +0 -0
  18. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/ta.json +0 -0
  19. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/te.json +0 -0
  20. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/.chainlit/translations/zh-CN.json +0 -0
  21. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/__init__.py +0 -0
  22. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/app.py +0 -0
  23. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/google_sdk/__init__.py +0 -0
  24. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/google_sdk/pydantic_ai_adapter/agent_executor.py +0 -0
  25. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/google_sdk/pydantic_ai_adapter/storage.py +0 -0
  26. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/google_sdk/remote_agent_connection.py +0 -0
  27. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/google_sdk/utils.py +0 -0
  28. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/a2a/utils.py +0 -0
  29. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/__init__.py +0 -0
  30. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/agent.py +0 -0
  31. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/agent_batch.py +0 -0
  32. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/nodes_to_md.py +0 -0
  33. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/nodes_to_message.py +0 -0
  34. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/nodes_to_str.py +0 -0
  35. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/print_nodes.py +0 -0
  36. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/agents/prompt.py +0 -0
  37. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/app.py +0 -0
  38. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/auth/__init__.py +0 -0
  39. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/chainlit.md +0 -0
  40. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/compliance/__init__.py +0 -0
  41. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/compliance/private_data.py +0 -0
  42. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/context.py +0 -0
  43. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/db/__init__.py +0 -0
  44. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/db/database.py +0 -0
  45. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/db/vector_db.py +0 -0
  46. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/evals/__init__.py +0 -0
  47. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/evals/__main__.py +0 -0
  48. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/evals/dataset.py +0 -0
  49. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/evals/discovery.py +0 -0
  50. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/evals/run_evals.py +0 -0
  51. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/google/client.py +0 -0
  52. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/__init__.py +0 -0
  53. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/app.py +0 -0
  54. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/display.py +0 -0
  55. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/export.py +0 -0
  56. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/filters.py +0 -0
  57. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/log_utils.py +0 -0
  58. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/log_view/node_summary.py +0 -0
  59. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logfilters/__init__.py +0 -0
  60. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logfilters/context_filter.py +0 -0
  61. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/__init__.py +0 -0
  62. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/log_objects.py +0 -0
  63. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/logging_config.py +0 -0
  64. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/mcp_log_models.py +0 -0
  65. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/mcp_logger.py +0 -0
  66. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/model_patch_logging.py +0 -0
  67. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/logging/open_telemetry.py +0 -0
  68. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/__init__.py +0 -0
  69. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/client.py +0 -0
  70. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/example_client.py +0 -0
  71. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/example_server.py +0 -0
  72. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/exceptions.py +0 -0
  73. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/fast_mcp_log.py +0 -0
  74. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/faulty_mcp.py +0 -0
  75. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/middleware.py +0 -0
  76. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/mcp/server.py +0 -0
  77. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/model_patch/model_patch.py +0 -0
  78. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/server/__init__.py +0 -0
  79. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/server/app_mounter.py +0 -0
  80. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/server/utils.py +0 -0
  81. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/testing/__init__.py +0 -0
  82. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/testing/agent_mock.py +0 -0
  83. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/testing/aix_test_model.py +0 -0
  84. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/testing/mock_tool.py +0 -0
  85. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/testing/model_patch_cache.py +0 -0
  86. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/tools/doctor/__init__.py +0 -0
  87. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/tools/doctor/mcp_tool_doctor.py +0 -0
  88. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/tools/doctor/tool_doctor.py +0 -0
  89. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/tools/doctor/tool_recommendation.py +0 -0
  90. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/__init__.py +0 -0
  91. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/chainlit/cl_agent_show.py +0 -0
  92. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/chainlit/cl_utils.py +0 -0
  93. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/config.py +0 -0
  94. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/config_util.py +0 -0
  95. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/enum_with_description.py +0 -0
  96. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/files.py +0 -0
  97. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/persisted_dict.py +0 -0
  98. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/utils/utils.py +0 -0
  99. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/vault/__init__.py +0 -0
  100. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools/vault/vault.py +0 -0
  101. {aixtools-0.3.5 → aixtools-0.3.7}/aixtools.egg-info/SOURCES.txt +0 -0
  102. {aixtools-0.3.5 → aixtools-0.3.7}/pyproject.toml +0 -0
  103. {aixtools-0.3.5 → aixtools-0.3.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aixtools
3
- Version: 0.3.5
3
+ Version: 0.3.7
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.5'
32
- __version_tuple__ = version_tuple = (0, 3, 5)
31
+ __version__ = version = '0.3.7'
32
+ __version_tuple__ = version_tuple = (0, 3, 7)
33
33
 
34
- __commit_id__ = commit_id = 'g9eb31448f'
34
+ __commit_id__ = commit_id = 'g889028f57'
@@ -1,14 +1,13 @@
1
1
  "Auth module managing user authentication for A2A server"
2
2
 
3
- from logging import getLogger
4
-
5
3
  from starlette.middleware.base import BaseHTTPMiddleware
6
4
  from starlette.requests import Request
7
5
 
8
6
  from aixtools.auth.auth import AccessTokenAuthProvider, AuthTokenError
7
+ from aixtools.logging.logging_config import get_logger
9
8
  from aixtools.utils import config
10
9
 
11
- logger = getLogger(__name__)
10
+ logger = get_logger(__name__)
12
11
 
13
12
 
14
13
  class AuthMiddleware(BaseHTTPMiddleware): # pylint: disable=too-few-public-methods
@@ -3,7 +3,6 @@ Module that manages OAuth2 functions for authentication
3
3
  """
4
4
 
5
5
  import enum
6
- import logging
7
6
 
8
7
  import jwt
9
8
  from fastapi import HTTPException
@@ -13,9 +12,11 @@ from mcp.server.auth.provider import (
13
12
  AccessToken,
14
13
  )
15
14
 
15
+ from aixtools.context import user_id_var
16
+ from aixtools.logging.logging_config import get_logger
16
17
  from aixtools.utils import config
17
18
 
18
- logger = logging.getLogger(__name__)
19
+ logger = get_logger(__name__)
19
20
  TEST_CLIENT = "test-client"
20
21
 
21
22
 
@@ -108,6 +109,11 @@ class AccessTokenVerifier:
108
109
  # ensure audience verification is carried out
109
110
  options={"verify_aud": True},
110
111
  )
112
+ # set user_id for logging context.
113
+ user_id = claims.get("email")
114
+ if user_id:
115
+ user_id_var.set(user_id)
116
+
111
117
  logger.info("Verified JWT token")
112
118
  return claims
113
119
 
@@ -36,6 +36,7 @@ def get_workspace_path(ctx: Context | tuple | None = None) -> Path:
36
36
  Returns: The workspace path as a Path object.
37
37
  """
38
38
  user_id, session_id = ctx if isinstance(ctx, tuple) else get_session_id_tuple(ctx)
39
+ user_id = user_id.lower() # to handle tuple passed directly
39
40
  return WORKSPACES_ROOT_DIR / user_id / session_id
40
41
 
41
42
 
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