10xscale-agentflow-cli 0.2.6__tar.gz → 0.2.8__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 (104) hide show
  1. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/PKG-INFO +102 -1
  2. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/SOURCES.txt +10 -1
  3. 10xscale_agentflow_cli-0.2.8/ActionPlan.md +712 -0
  4. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/PKG-INFO +102 -1
  5. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/README.md +101 -0
  6. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/commands/api.py +3 -0
  7. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/auth/authorization.py +90 -0
  8. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/auth/permissions.py +157 -0
  9. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/graph_config.py +11 -0
  10. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/settings.py +68 -0
  11. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/setup_logs.py +6 -1
  12. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/setup_middleware.py +22 -0
  13. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/exceptions/handle_errors.py +354 -0
  14. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/middleware/__init__.py +11 -0
  15. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/middleware/request_limits.py +73 -0
  16. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/middleware/security_headers.py +239 -0
  17. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/utils/__init__.py +14 -0
  18. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/core/utils/log_sanitizer.py +195 -0
  19. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/loader.py +91 -33
  20. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/routers/a2a.py +306 -0
  21. 10xscale_agentflow_cli-0.2.8/agentflow_cli/src/app/routers/a2ui.py +362 -0
  22. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/router.py +11 -27
  23. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/services/checkpointer_service.py +3 -2
  24. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/router.py +8 -12
  25. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/services/graph_service.py +3 -2
  26. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/router.py +8 -16
  27. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/pyproject.toml +1 -1
  28. 10xscale_agentflow_cli-0.2.6/Task.md +0 -31
  29. 10xscale_agentflow_cli-0.2.6/agentflow_cli/src/app/core/exceptions/handle_errors.py +0 -209
  30. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/dependency_links.txt +0 -0
  31. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/entry_points.txt +0 -0
  32. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/not-zip-safe +0 -0
  33. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/requires.txt +0 -0
  34. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/10xscale_agentflow_cli.egg-info/top_level.txt +0 -0
  35. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/MANIFEST.in +0 -0
  36. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow.json +0 -0
  37. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/__init__.py +0 -0
  38. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/__init__.py +0 -0
  39. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/commands/__init__.py +0 -0
  40. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/commands/build.py +0 -0
  41. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/commands/init.py +0 -0
  42. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/commands/version.py +0 -0
  43. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/constants.py +0 -0
  44. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/core/__init__.py +0 -0
  45. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/core/config.py +0 -0
  46. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/core/output.py +0 -0
  47. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/core/validation.py +0 -0
  48. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/exceptions.py +0 -0
  49. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/logger.py +0 -0
  50. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/main.py +0 -0
  51. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/templates/__init__.py +0 -0
  52. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/cli/templates/defaults.py +0 -0
  53. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/__init__.py +0 -0
  54. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/__init__.py +0 -0
  55. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/__init__.py +0 -0
  56. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/auth/__init__.py +0 -0
  57. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/auth/auth_backend.py +0 -0
  58. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/auth/base_auth.py +0 -0
  59. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/auth/jwt_auth.py +0 -0
  60. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/__init__.py +0 -0
  61. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/sentry_config.py +0 -0
  62. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/config/worker_middleware.py +0 -0
  63. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/exceptions/__init__.py +0 -0
  64. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/exceptions/general_exception.py +0 -0
  65. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/exceptions/resources_exceptions.py +0 -0
  66. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/core/exceptions/user_exception.py +0 -0
  67. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/main.py +0 -0
  68. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/__init__.py +0 -0
  69. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/__init__.py +0 -0
  70. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/schemas/__init__.py +0 -0
  71. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/schemas/checkpointer_schemas.py +0 -0
  72. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/checkpointer/services/__init__.py +0 -0
  73. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/__init__.py +0 -0
  74. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/schemas/__init__.py +0 -0
  75. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/schemas/graph_schemas.py +0 -0
  76. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/graph/services/__init__.py +0 -0
  77. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/ping/__init__.py +0 -0
  78. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/ping/router.py +0 -0
  79. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/setup_router.py +0 -0
  80. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/__init__.py +0 -0
  81. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/schemas/__init__.py +0 -0
  82. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/schemas/store_schemas.py +0 -0
  83. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/services/__init__.py +0 -0
  84. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/routers/store/services/store_service.py +0 -0
  85. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/tasks/__init__.py +0 -0
  86. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/tasks/user_tasks.py +0 -0
  87. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/__init__.py +0 -0
  88. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/callable_helper.py +0 -0
  89. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/parse_output.py +0 -0
  90. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/response_helper.py +0 -0
  91. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/schemas/__init__.py +0 -0
  92. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/schemas/output_schemas.py +0 -0
  93. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/schemas/user_schemas.py +0 -0
  94. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/snowflake_id_generator.py +0 -0
  95. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/swagger_helper.py +0 -0
  96. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/utils/thread_name_generator.py +0 -0
  97. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/agentflow_cli/src/app/worker.py +0 -0
  98. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/graph/__init__.py +0 -0
  99. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/graph/react.py +0 -0
  100. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/graph/thread_name_generator.py +0 -0
  101. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/plan.md +0 -0
  102. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/scripts/generate_docs.py +0 -0
  103. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/setup.cfg +0 -0
  104. {10xscale_agentflow_cli-0.2.6 → 10xscale_agentflow_cli-0.2.8}/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.6
3
+ Version: 0.2.8
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>
@@ -314,6 +314,107 @@ name = generator.generate_name()
314
314
  ```
315
315
 
316
316
  See the [Thread Name Generator Guide](./docs/thread-name-generator.md) for custom implementations.
317
+
318
+ ## Security
319
+
320
+ AgentFlow CLI provides enterprise-grade security features for production deployments.
321
+
322
+ ### Security Features
323
+
324
+ - ✅ **Authentication** - Built-in JWT and custom authentication backends
325
+ - ✅ **Authorization** - Resource-based access control with extensible backends
326
+ - ✅ **Request Limits** - DoS protection with configurable size limits (default 10MB)
327
+ - ✅ **Error Sanitization** - Production-safe error messages preventing information disclosure
328
+ - ✅ **Log Sanitization** - Automatic redaction of sensitive data (tokens, passwords, secrets)
329
+ - ✅ **Security Warnings** - Startup validation for insecure configurations
330
+ - ✅ **HTTPS Ready** - SSL/TLS support with secure headers
331
+
332
+ ### Production Security Checklist
333
+
334
+ Before deploying to production, ensure:
335
+
336
+ ```bash
337
+ # Required: Set production mode
338
+ MODE=production
339
+
340
+ # Required: Strong JWT secret (32+ characters)
341
+ JWT_SECRET_KEY=<generate-with-secrets.token_urlsafe(32)>
342
+
343
+ # Required: Disable debug mode
344
+ IS_DEBUG=false
345
+
346
+ # Required: Specific CORS origins (not *)
347
+ ORIGINS=https://yourdomain.com
348
+
349
+ # Required: Specific allowed hosts (not *)
350
+ ALLOWED_HOST=yourdomain.com
351
+
352
+ # Recommended: Disable API docs
353
+ DOCS_PATH=
354
+ REDOCS_PATH=
355
+
356
+ # Recommended: Configure request size limit
357
+ MAX_REQUEST_SIZE=10485760 # 10MB default
358
+ ```
359
+
360
+ ### Quick Security Setup
361
+
362
+ **1. Enable JWT Authentication:**
363
+ ```json
364
+ {
365
+ "auth": "jwt"
366
+ }
367
+ ```
368
+
369
+ **2. Implement Authorization:**
370
+ ```python
371
+ # auth/rbac_backend.py
372
+ from agentflow_cli.src.app.core.auth.authorization import AuthorizationBackend
373
+
374
+ class RBACAuthorizationBackend(AuthorizationBackend):
375
+ async def authorize(self, user, resource, action, resource_id=None, **context):
376
+ role = user.get("role", "viewer")
377
+ # Implement your authorization logic
378
+ return role == "admin" or (role == "developer" and action == "read")
379
+ ```
380
+
381
+ **3. Configure in agentflow.json:**
382
+ ```json
383
+ {
384
+ "auth": "jwt",
385
+ "authorization": {
386
+ "path": "auth.rbac_backend:RBACAuthorizationBackend"
387
+ }
388
+ }
389
+ ```
390
+
391
+ ### Security Validation
392
+
393
+ AgentFlow automatically validates your configuration and warns about security issues:
394
+
395
+ ```
396
+ ⚠️ SECURITY WARNING: CORS ORIGINS='*' in production.
397
+ Set ORIGINS to specific domains.
398
+
399
+ ⚠️ SECURITY WARNING: DEBUG mode enabled in production!
400
+ Set IS_DEBUG=false
401
+ ```
402
+
403
+ ### Comprehensive Security Guide
404
+
405
+ For detailed security documentation, threat model, best practices, and deployment guidelines, see:
406
+
407
+ 📖 **[SECURITY.md](./SECURITY.md)** - Complete Security Guide
408
+
409
+ Topics covered:
410
+ - Threat model and attack vectors
411
+ - Authentication and authorization patterns
412
+ - Production deployment checklist
413
+ - Docker and Kubernetes security configurations
414
+ - Security testing and monitoring
415
+ - Incident response procedures
416
+ - Vulnerability reporting
417
+
317
418
  ## Deployment
318
419
 
319
420
  See the [Deployment Guide](./docs/deployment.md) for complete deployment instructions.
@@ -1,6 +1,6 @@
1
+ ActionPlan.md
1
2
  MANIFEST.in
2
3
  README.md
3
- Task.md
4
4
  agentflow.json
5
5
  plan.md
6
6
  pyproject.toml
@@ -36,8 +36,10 @@ agentflow_cli/src/app/worker.py
36
36
  agentflow_cli/src/app/core/__init__.py
37
37
  agentflow_cli/src/app/core/auth/__init__.py
38
38
  agentflow_cli/src/app/core/auth/auth_backend.py
39
+ agentflow_cli/src/app/core/auth/authorization.py
39
40
  agentflow_cli/src/app/core/auth/base_auth.py
40
41
  agentflow_cli/src/app/core/auth/jwt_auth.py
42
+ agentflow_cli/src/app/core/auth/permissions.py
41
43
  agentflow_cli/src/app/core/config/__init__.py
42
44
  agentflow_cli/src/app/core/config/graph_config.py
43
45
  agentflow_cli/src/app/core/config/sentry_config.py
@@ -50,7 +52,14 @@ agentflow_cli/src/app/core/exceptions/general_exception.py
50
52
  agentflow_cli/src/app/core/exceptions/handle_errors.py
51
53
  agentflow_cli/src/app/core/exceptions/resources_exceptions.py
52
54
  agentflow_cli/src/app/core/exceptions/user_exception.py
55
+ agentflow_cli/src/app/core/middleware/__init__.py
56
+ agentflow_cli/src/app/core/middleware/request_limits.py
57
+ agentflow_cli/src/app/core/middleware/security_headers.py
58
+ agentflow_cli/src/app/core/utils/__init__.py
59
+ agentflow_cli/src/app/core/utils/log_sanitizer.py
53
60
  agentflow_cli/src/app/routers/__init__.py
61
+ agentflow_cli/src/app/routers/a2a.py
62
+ agentflow_cli/src/app/routers/a2ui.py
54
63
  agentflow_cli/src/app/routers/setup_router.py
55
64
  agentflow_cli/src/app/routers/checkpointer/__init__.py
56
65
  agentflow_cli/src/app/routers/checkpointer/router.py