10xscale-agentflow-cli 0.2.1__tar.gz → 0.2.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.
Files changed (92) hide show
  1. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/PKG-INFO +1 -1
  2. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/PKG-INFO +1 -1
  3. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/auth/auth_backend.py +8 -3
  4. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/auth/base_auth.py +5 -2
  5. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/auth/jwt_auth.py +7 -3
  6. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/loader.py +20 -0
  7. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/pyproject.toml +1 -1
  8. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/SOURCES.txt +0 -0
  9. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/dependency_links.txt +0 -0
  10. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/entry_points.txt +0 -0
  11. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/not-zip-safe +0 -0
  12. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/requires.txt +0 -0
  13. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/10xscale_agentflow_cli.egg-info/top_level.txt +0 -0
  14. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/MANIFEST.in +0 -0
  15. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/README.md +0 -0
  16. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/Task.md +0 -0
  17. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow.json +0 -0
  18. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/__init__.py +0 -0
  19. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/__init__.py +0 -0
  20. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/commands/__init__.py +0 -0
  21. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/commands/api.py +0 -0
  22. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/commands/build.py +0 -0
  23. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/commands/init.py +0 -0
  24. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/commands/version.py +0 -0
  25. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/constants.py +0 -0
  26. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/core/__init__.py +0 -0
  27. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/core/config.py +0 -0
  28. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/core/output.py +0 -0
  29. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/core/validation.py +0 -0
  30. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/exceptions.py +0 -0
  31. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/logger.py +0 -0
  32. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/main.py +0 -0
  33. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/templates/__init__.py +0 -0
  34. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/cli/templates/defaults.py +0 -0
  35. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/__init__.py +0 -0
  36. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/__init__.py +0 -0
  37. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/__init__.py +0 -0
  38. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/auth/__init__.py +0 -0
  39. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/__init__.py +0 -0
  40. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/graph_config.py +0 -0
  41. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/sentry_config.py +0 -0
  42. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/settings.py +0 -0
  43. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/setup_logs.py +0 -0
  44. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/setup_middleware.py +0 -0
  45. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/config/worker_middleware.py +0 -0
  46. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/exceptions/__init__.py +0 -0
  47. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/exceptions/general_exception.py +0 -0
  48. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/exceptions/handle_errors.py +0 -0
  49. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/exceptions/resources_exceptions.py +0 -0
  50. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/core/exceptions/user_exception.py +0 -0
  51. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/main.py +0 -0
  52. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/__init__.py +0 -0
  53. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/__init__.py +0 -0
  54. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/router.py +0 -0
  55. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/schemas/__init__.py +0 -0
  56. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/schemas/checkpointer_schemas.py +0 -0
  57. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/services/__init__.py +0 -0
  58. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/checkpointer/services/checkpointer_service.py +0 -0
  59. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/__init__.py +0 -0
  60. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/router.py +0 -0
  61. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/schemas/__init__.py +0 -0
  62. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/schemas/graph_schemas.py +0 -0
  63. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/services/__init__.py +0 -0
  64. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/graph/services/graph_service.py +0 -0
  65. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/ping/__init__.py +0 -0
  66. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/ping/router.py +0 -0
  67. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/setup_router.py +0 -0
  68. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/__init__.py +0 -0
  69. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/router.py +0 -0
  70. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/schemas/__init__.py +0 -0
  71. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/schemas/store_schemas.py +0 -0
  72. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/services/__init__.py +0 -0
  73. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/routers/store/services/store_service.py +0 -0
  74. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/tasks/__init__.py +0 -0
  75. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/tasks/user_tasks.py +0 -0
  76. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/__init__.py +0 -0
  77. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/callable_helper.py +0 -0
  78. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/parse_output.py +0 -0
  79. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/response_helper.py +0 -0
  80. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/schemas/__init__.py +0 -0
  81. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/schemas/output_schemas.py +0 -0
  82. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/schemas/user_schemas.py +0 -0
  83. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/snowflake_id_generator.py +0 -0
  84. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/swagger_helper.py +0 -0
  85. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/utils/thread_name_generator.py +0 -0
  86. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/agentflow_cli/src/app/worker.py +0 -0
  87. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/graph/__init__.py +0 -0
  88. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/graph/react.py +0 -0
  89. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/graph/thread_name_generator.py +0 -0
  90. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/scripts/generate_docs.py +0 -0
  91. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/setup.cfg +0 -0
  92. {10xscale_agentflow_cli-0.2.1 → 10xscale_agentflow_cli-0.2.2}/tests/test_utils_parse_and_callable.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: 10xscale-agentflow-cli
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: CLI and API for 10xscale AgentFlow
5
5
  Author-email: 10xscale <contact@10xscale.ai>
6
6
  Maintainer-email: Shudipto Trafder <shudiptotrafder@gmail.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: 10xscale-agentflow-cli
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: CLI and API for 10xscale AgentFlow
5
5
  Author-email: 10xscale <contact@10xscale.ai>
6
6
  Maintainer-email: Shudipto Trafder <shudiptotrafder@gmail.com>
@@ -1,6 +1,6 @@
1
1
  from typing import Any
2
2
 
3
- from fastapi import Depends, Response
3
+ from fastapi import Depends, Request, Response
4
4
  from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
5
5
  from injectq.integrations import InjectAPI
6
6
 
@@ -10,7 +10,8 @@ from agentflow_cli.src.app.core.config.graph_config import GraphConfig
10
10
 
11
11
 
12
12
  def verify_current_user(
13
- res: Response,
13
+ request: Request,
14
+ response: Response,
14
15
  credential: HTTPAuthorizationCredentials = Depends(
15
16
  HTTPBearer(auto_error=False),
16
17
  ),
@@ -27,7 +28,11 @@ def verify_current_user(
27
28
  logger.error("Auth backend is not configured")
28
29
  return user
29
30
 
30
- user: dict | None = auth_backend.authenticate(res, credential)
31
+ user: dict | None = auth_backend.authenticate(
32
+ request,
33
+ response,
34
+ credential,
35
+ )
31
36
  if user and "user_id" not in user:
32
37
  logger.error("Authentication failed: 'user_id' not found in user info")
33
38
  return user or {}
@@ -1,14 +1,17 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from typing import Any
3
3
 
4
- from fastapi import Response
4
+ from fastapi import Request, Response
5
5
  from fastapi.security import HTTPAuthorizationCredentials
6
6
 
7
7
 
8
8
  class BaseAuth(ABC):
9
9
  @abstractmethod
10
10
  def authenticate(
11
- self, res: Response, credential: HTTPAuthorizationCredentials
11
+ self,
12
+ request: Request,
13
+ response: Response,
14
+ credential: HTTPAuthorizationCredentials,
12
15
  ) -> dict[str, Any] | None:
13
16
  """Authenticate the user based on the provided credentials.
14
17
  IT should return an empty dict if no authentication is required.
@@ -2,7 +2,7 @@ import os
2
2
  from typing import Any
3
3
 
4
4
  import jwt
5
- from fastapi import Response
5
+ from fastapi import Request, Response
6
6
  from fastapi.security import HTTPAuthorizationCredentials
7
7
 
8
8
  from agentflow_cli.src.app.core import logger
@@ -12,7 +12,10 @@ from agentflow_cli.src.app.core.exceptions import UserAccountError
12
12
 
13
13
  class JwtAuth(BaseAuth):
14
14
  def authenticate(
15
- self, res: Response, credential: HTTPAuthorizationCredentials
15
+ self,
16
+ request: Request,
17
+ response: Response,
18
+ credential: HTTPAuthorizationCredentials,
16
19
  ) -> dict[str, Any] | None:
17
20
  """No authentication is required, so return None."""
18
21
  """
@@ -72,7 +75,8 @@ class JwtAuth(BaseAuth):
72
75
  message="Invalid token, please login again",
73
76
  error_code="INVALID_TOKEN",
74
77
  )
75
- res.headers["WWW-Authenticate"] = 'Bearer realm="auth_required"'
78
+
79
+ response.headers["WWW-Authenticate"] = 'Bearer realm="auth_required"'
76
80
 
77
81
  # check if user_id exists in the token
78
82
  if "user_id" not in decoded_token:
@@ -1,6 +1,8 @@
1
1
  import importlib
2
2
  import inspect
3
3
  import logging
4
+ import os
5
+ from pathlib import Path
4
6
 
5
7
  from agentflow.checkpointer import BaseCheckpointer
6
8
  from agentflow.graph import CompiledGraph
@@ -197,6 +199,24 @@ async def attach_all_modules(
197
199
  if auth_config:
198
200
  method = auth_config.get("method", None)
199
201
  path = auth_config.get("path", None)
202
+ if not path or not method:
203
+ raise ValueError("Both 'method' and 'path' must be specified in auth_config.")
204
+
205
+ # Extract file path before the ':' for existence check
206
+ module_or_path = path.split(":", 1)[0] if ":" in path else path
207
+
208
+ # Simple handling: if it appears to be a filesystem path, use it; otherwise
209
+ # convert dotted module path to a file path like src/auth/custom_auth.py
210
+ if os.path.sep in module_or_path or module_or_path.endswith(".py"):
211
+ file_path = Path(module_or_path)
212
+ elif "." in module_or_path and os.path.sep not in module_or_path:
213
+ file_path = Path(module_or_path.replace(".", os.path.sep) + ".py")
214
+ else:
215
+ file_path = Path(module_or_path)
216
+
217
+ if not file_path.exists():
218
+ raise ValueError(f"Custom auth path does not exist: {module_or_path}")
219
+
200
220
  if method == "custom":
201
221
  auth_backend = load_auth(
202
222
  path,
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "10xscale-agentflow-cli"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "CLI and API for 10xscale AgentFlow"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}