10xscale-agentflow-cli 0.3.2.8__tar.gz → 0.4.0__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 (203) hide show
  1. 10xscale_agentflow_cli-0.4.0/10xscale_agentflow_cli.egg-info/PKG-INFO +497 -0
  2. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/SOURCES.txt +8 -9
  3. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/requires.txt +7 -1
  4. 10xscale_agentflow_cli-0.4.0/CLAUDE.md +151 -0
  5. 10xscale_agentflow_cli-0.4.0/LICENSE +21 -0
  6. 10xscale_agentflow_cli-0.4.0/PKG-INFO +497 -0
  7. 10xscale_agentflow_cli-0.4.0/README.md +440 -0
  8. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/__init__.py +5 -2
  9. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/__init__.py +6 -0
  10. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/__init__.py +2 -2
  11. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/api.py +1 -1
  12. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/eval.py +188 -20
  13. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/init.py +5 -2
  14. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/skills.py +43 -0
  15. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/version.py +1 -1
  16. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/constants.py +25 -2
  17. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/core/config.py +1 -1
  18. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/exceptions.py +9 -9
  19. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/logger.py +1 -1
  20. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/main.py +8 -8
  21. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/defaults.py +5 -5
  22. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/dev/graph/agent.py +63 -0
  23. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/prod/graph/agent.py +50 -0
  24. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/agent-skills/references/agents-and-tools.md +355 -0
  25. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/agent-skills/references/architecture.md +91 -0
  26. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/callbacks-and-command.md +17 -0
  27. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/cli-commands.md +1 -1
  28. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/agent-skills/references/prebuilt-agents-and-tools.md +394 -0
  29. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/publishers-and-runtime-protocols.md +7 -0
  30. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/agent-skills/references/realtime.md +172 -0
  31. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/rest-api-and-errors.md +5 -0
  32. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/security-and-validators.md +18 -0
  33. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/agent-skills/references/state-graph.md +232 -0
  34. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/claude/SKILL.md +83 -0
  35. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/codex/SKILL.md +83 -0
  36. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/copilot/SKILL.md +83 -0
  37. 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/skills/copilot/agentflow.instructions.md +108 -0
  38. 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/core/auth/permissions.py +254 -0
  39. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/graph_config.py +44 -0
  40. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/settings.py +8 -0
  41. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/setup_logs.py +7 -25
  42. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/setup_middleware.py +100 -0
  43. 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/core/middleware/rate_limit/keying.py +24 -0
  44. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/middleware.py +2 -10
  45. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/request_limits.py +3 -3
  46. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/utils/log_sanitizer.py +10 -5
  47. 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/routers/graph/realtime_guard.py +91 -0
  48. 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/routers/graph/router.py +553 -0
  49. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/schemas/graph_schemas.py +96 -2
  50. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/services/graph_service.py +57 -1
  51. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/setup_router.py +1 -1
  52. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/media/__init__.py +2 -2
  53. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/media/extractor.py +1 -1
  54. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/pyproject.toml +10 -3
  55. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/tests/test_multimodal_sprint2_extraction.py +1 -1
  56. 10xscale_agentflow_cli-0.3.2.8/10xscale_agentflow_cli.egg-info/PKG-INFO +0 -614
  57. 10xscale_agentflow_cli-0.3.2.8/PKG-INFO +0 -614
  58. 10xscale_agentflow_cli-0.3.2.8/README.md +0 -564
  59. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/__init__.py +0 -3
  60. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/dev/graph/agent.py +0 -132
  61. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/agent.py +0 -45
  62. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/nodes/__init__.py +0 -5
  63. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/nodes/main_node.py +0 -27
  64. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/nodes/tool_node.py +0 -10
  65. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/utils/tool_decision.py +0 -30
  66. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/agent-skills/SKILL.md +0 -108
  67. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/agent-skills/references/agents-and-tools.md +0 -65
  68. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/agent-skills/references/architecture.md +0 -53
  69. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/agent-skills/references/prebuilt-agents-and-tools.md +0 -59
  70. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/agent-skills/references/state-graph.md +0 -67
  71. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/skills/copilot/agentflow.instructions.md +0 -54
  72. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src/app/core/auth/permissions.py +0 -157
  73. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src/app/routers/graph/router.py +0 -269
  74. 10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src/app/tasks/__init__.py +0 -0
  75. 10xscale_agentflow_cli-0.3.2.8/graph/__init__.py +0 -0
  76. 10xscale_agentflow_cli-0.3.2.8/graph/react.py +0 -95
  77. 10xscale_agentflow_cli-0.3.2.8/requirements.txt +0 -29
  78. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/dependency_links.txt +0 -0
  79. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/entry_points.txt +0 -0
  80. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/not-zip-safe +0 -0
  81. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/10xscale_agentflow_cli.egg-info/top_level.txt +0 -0
  82. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/MANIFEST.in +0 -0
  83. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow.json +0 -0
  84. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/build.py +0 -0
  85. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/commands/test.py +0 -0
  86. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/core/__init__.py +0 -0
  87. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/core/output.py +0 -0
  88. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/core/validation.py +0 -0
  89. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/__init__.py +0 -0
  90. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/dev/agentflow.json +0 -0
  91. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/dev/graph/__init__.py +0 -0
  92. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/.pre-commot-config.yaml +0 -0
  93. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/agentflow.json +0 -0
  94. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/auth/__init__.py +0 -0
  95. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/auth/agent_auth.py +0 -0
  96. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/evals/__init__.py +0 -0
  97. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/evals/user_simulator_eval.py +0 -0
  98. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/evals/weather_agents_eval.py +0 -0
  99. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/__init__.py +0 -0
  100. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/state.py +0 -0
  101. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/thread_name_generator.py +0 -0
  102. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/tools/__init__.py +0 -0
  103. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/tools/weather_tool.py +0 -0
  104. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/utils → 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/prod/graph/validators}/__init__.py +0 -0
  105. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/validators/lifecyle.py +0 -0
  106. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/validators/manager.py +0 -0
  107. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/graph/validators/validators.py +0 -0
  108. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/graph/validators → 10xscale_agentflow_cli-0.4.0/agentflow_cli/cli/templates/prod/tests}/__init__.py +0 -0
  109. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/tests/conftest.py +0 -0
  110. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/tests/test_agent_eval.py +0 -0
  111. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/tests/test_catalog_tools.py +0 -0
  112. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/prod/tests/test_graph_nodes.py +0 -0
  113. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/api-client.md +0 -0
  114. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/api-configuration.md +0 -0
  115. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/api-settings-and-middleware.md +0 -0
  116. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/auth-and-authorization.md +0 -0
  117. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/checkpointing-and-threads.md +0 -0
  118. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/client-auth-and-errors.md +0 -0
  119. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/client-messages-invoke-stream.md +0 -0
  120. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/client-threads-memory-files.md +0 -0
  121. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/context-id-background.md +0 -0
  122. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/dependency-injection.md +0 -0
  123. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/evaluation.md +0 -0
  124. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/id-and-thread-name-generators.md +0 -0
  125. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/media-and-files.md +0 -0
  126. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/memory-and-store.md +0 -0
  127. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/production-runtime.md +0 -0
  128. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/providers-and-adapters.md +0 -0
  129. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/rate-limiting.md +0 -0
  130. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/remote-tools.md +0 -0
  131. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/state-and-messages.md +0 -0
  132. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/stream-emitter.md +0 -0
  133. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/streaming.md +0 -0
  134. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/testing-and-evaluation.md +0 -0
  135. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/cli/templates/skills/agent-skills/references/unit-testing.md +0 -0
  136. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/cli/templates/prod/tests → 10xscale_agentflow_cli-0.4.0/agentflow_cli/src}/__init__.py +0 -0
  137. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/__init__.py +0 -0
  138. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/__init__.py +0 -0
  139. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src → 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/core/auth}/__init__.py +0 -0
  140. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/auth/auth_backend.py +0 -0
  141. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/auth/authorization.py +0 -0
  142. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/auth/base_auth.py +0 -0
  143. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/auth/jwt_auth.py +0 -0
  144. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src/app/core/auth → 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/core/config}/__init__.py +0 -0
  145. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/media_settings.py +0 -0
  146. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/sentry_config.py +0 -0
  147. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/config/worker_middleware.py +0 -0
  148. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/exceptions/__init__.py +0 -0
  149. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/exceptions/general_exception.py +0 -0
  150. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/exceptions/handle_errors.py +0 -0
  151. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/exceptions/resources_exceptions.py +0 -0
  152. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/exceptions/user_exception.py +0 -0
  153. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/__init__.py +0 -0
  154. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/__init__.py +0 -0
  155. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/base.py +0 -0
  156. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/factory.py +0 -0
  157. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/memory.py +0 -0
  158. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/rate_limit/redis.py +0 -0
  159. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/middleware/security_headers.py +0 -0
  160. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/core/utils/__init__.py +0 -0
  161. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/loader.py +0 -0
  162. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/main.py +0 -0
  163. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/__init__.py +0 -0
  164. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/a2a.py +0 -0
  165. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/a2ui.py +0 -0
  166. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/__init__.py +0 -0
  167. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/router.py +0 -0
  168. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/schemas/__init__.py +0 -0
  169. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/schemas/checkpointer_schemas.py +0 -0
  170. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/services/__init__.py +0 -0
  171. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/checkpointer/services/checkpointer_service.py +0 -0
  172. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/__init__.py +0 -0
  173. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/schemas/__init__.py +0 -0
  174. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/services/__init__.py +0 -0
  175. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/graph/services/multimodal_preprocessor.py +0 -0
  176. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/media/__init__.py +0 -0
  177. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/media/router.py +0 -0
  178. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/media/schemas.py +0 -0
  179. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/ping/__init__.py +0 -0
  180. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/ping/router.py +0 -0
  181. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/__init__.py +0 -0
  182. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/router.py +0 -0
  183. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/schemas/__init__.py +0 -0
  184. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/schemas/store_schemas.py +0 -0
  185. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/services/__init__.py +0 -0
  186. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/routers/store/services/store_service.py +0 -0
  187. {10xscale_agentflow_cli-0.3.2.8/agentflow_cli/src/app/core/config → 10xscale_agentflow_cli-0.4.0/agentflow_cli/src/app/tasks}/__init__.py +0 -0
  188. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/tasks/user_tasks.py +0 -0
  189. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/__init__.py +0 -0
  190. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/callable_helper.py +0 -0
  191. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/media/pipeline.py +0 -0
  192. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/parse_output.py +0 -0
  193. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/response_helper.py +0 -0
  194. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/schemas/__init__.py +0 -0
  195. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/schemas/output_schemas.py +0 -0
  196. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/schemas/user_schemas.py +0 -0
  197. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/snowflake_id_generator.py +0 -0
  198. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/swagger_helper.py +0 -0
  199. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/utils/thread_name_generator.py +0 -0
  200. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/agentflow_cli/src/app/worker.py +0 -0
  201. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/setup.cfg +0 -0
  202. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/tests/test_sprint4_media_api.py +0 -0
  203. {10xscale_agentflow_cli-0.3.2.8 → 10xscale_agentflow_cli-0.4.0}/tests/test_utils_parse_and_callable.py +0 -0
@@ -0,0 +1,497 @@
1
+ Metadata-Version: 2.4
2
+ Name: 10xscale-agentflow-cli
3
+ Version: 0.4.0
4
+ Summary: CLI and API for 10xscale AgentFlow
5
+ Author-email: 10xscale <contact@10xscale.ai>
6
+ Maintainer-email: Shudipto Trafder <shudiptotrafder@gmail.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/10xHub/agentflow-cli
9
+ Project-URL: Repository, https://github.com/10xHub/agentflow-cli
10
+ Project-URL: Issues, https://github.com/10xHub/agentflow-cli/issues
11
+ Project-URL: Documentation, https://agentflow-cli.readthedocs.io/
12
+ Keywords: 10xscale AgentFlow,api,fastapi,cli,agentflow
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
22
+ Requires-Python: >=3.12
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: 10xscale-agentflow>=0.8.0
26
+ Requires-Dist: fastapi
27
+ Requires-Dist: gunicorn
28
+ Requires-Dist: orjson
29
+ Requires-Dist: python-multipart
30
+ Requires-Dist: pydantic
31
+ Requires-Dist: pydantic-settings
32
+ Requires-Dist: uvicorn
33
+ Requires-Dist: typer
34
+ Requires-Dist: python-dotenv
35
+ Requires-Dist: questionary
36
+ Provides-Extra: sentry
37
+ Requires-Dist: sentry-sdk>=2.10.0; extra == "sentry"
38
+ Provides-Extra: firebase
39
+ Requires-Dist: firebase-admin>=6.5.0; extra == "firebase"
40
+ Requires-Dist: oauth2client>=4.1.3; extra == "firebase"
41
+ Provides-Extra: snowflakekit
42
+ Requires-Dist: snowflakekit; extra == "snowflakekit"
43
+ Provides-Extra: redis
44
+ Requires-Dist: redis>=5.0.7; extra == "redis"
45
+ Provides-Extra: jwt
46
+ Requires-Dist: PyJWT; extra == "jwt"
47
+ Provides-Extra: media
48
+ Requires-Dist: textxtract[docx,html,md,pdf,xml]>=0.2.0; extra == "media"
49
+ Provides-Extra: gcloud
50
+ Requires-Dist: google-cloud-logging; extra == "gcloud"
51
+ Provides-Extra: otel
52
+ Requires-Dist: opentelemetry-api>=1.20.0; extra == "otel"
53
+ Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "otel"
54
+ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.40b0; extra == "otel"
55
+ Requires-Dist: opentelemetry-exporter-otlp>=1.20.0; extra == "otel"
56
+ Dynamic: license-file
57
+
58
+
59
+ # 10xScale Agentflow CLI
60
+
61
+ [![CI](https://github.com/10xHub/agentflow-cli/actions/workflows/ci.yaml/badge.svg)](https://github.com/10xHub/agentflow-cli/actions/workflows/ci.yaml)
62
+ [![Release](https://github.com/10xHub/agentflow-cli/actions/workflows/release.yml/badge.svg)](https://github.com/10xHub/agentflow-cli/actions/workflows/release.yml)
63
+
64
+ [![PyPI](https://img.shields.io/pypi/v/10xscale-agentflow-cli?color=blue)](https://pypi.org/project/10xscale-agentflow-cli/)
65
+ [![Python](https://img.shields.io/pypi/pyversions/10xscale-agentflow-cli)](https://pypi.org/project/10xscale-agentflow-cli/)
66
+ [![License](https://img.shields.io/github/license/10xHub/agentflow-cli)](https://github.com/10xHub/agentflow-cli/blob/main/LICENSE)
67
+ [![Coverage](https://img.shields.io/badge/coverage-90%25-brightgreen.svg)](https://github.com/10xHub/agentflow-cli/actions/workflows/ci.yaml)
68
+ [![Tests](https://img.shields.io/badge/tests-871%20passed-brightgreen.svg)](https://github.com/10xHub/agentflow-cli/actions/workflows/ci.yaml)
69
+ [![Status](https://img.shields.io/badge/status-beta-yellow.svg)](https://pypi.org/project/10xscale-agentflow-cli/)
70
+ [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
71
+
72
+ **10xScale Agentflow CLI** turns an Agentflow `CompiledGraph` into a production-grade FastAPI service, plus a Typer-based command line to scaffold, run, build, test, and evaluate it. You write a graph, point `agentflow.json` at it, and `agentflow api` serves it over REST + WebSocket with authentication, rate limiting, media handling, checkpointer/thread management, and a memory store API.
73
+
74
+ > ### 📦 Part of the 10xScale Agentflow library
75
+ >
76
+ > This package (`10xscale-agentflow-cli`) is the **API server + CLI layer** of the larger
77
+ > [**10xScale Agentflow**](https://github.com/10xHub/agentflow) framework. The core orchestration
78
+ > engine — `StateGraph`, `Agent`, `ToolNode`, state, persistence, memory, and tools — lives in the
79
+ > separate [`10xscale-agentflow`](https://pypi.org/project/10xscale-agentflow/) package. This CLI
80
+ > builds on top of it to expose your agent graphs as a deployable service.
81
+ >
82
+ > - **Core framework:** [`10xscale-agentflow`](https://pypi.org/project/10xscale-agentflow/) · [source](https://github.com/10xHub/agentflow)
83
+ > - **This package (API + CLI):** [`10xscale-agentflow-cli`](https://pypi.org/project/10xscale-agentflow-cli/)
84
+ > - **TypeScript client:** [`@10xscale/agentflow-client`](https://www.npmjs.com/package/@10xscale/agentflow-client)
85
+ > - **Docs:** [agentflow.10xscale.ai](https://agentflow.10xscale.ai/)
86
+
87
+ ---
88
+
89
+ ## ✨ Key Features
90
+
91
+ - **🖥️ Professional CLI** - Scaffold, run, build, test, and evaluate agents from one command line
92
+ - **⚡ FastAPI Backend** - Your compiled graph auto-served over REST + WebSocket, high-performance and async
93
+ - **🔌 Config-Driven** - One `agentflow.json` wires agent, auth, checkpointer, store, Redis, and rate limits
94
+ - **🔐 Authentication** - Built-in JWT auth, custom `BaseAuth` backends, and RBAC authorization
95
+ - **🚦 Rate Limiting** - Sliding-window limits with memory, Redis, or custom backends
96
+ - **🆔 Distributed IDs** - Snowflake ID generation for multi-node deployments
97
+ - **🧵 Thread Management** - Conversation thread naming, listing, state, and message APIs
98
+ - **🖼️ Multimodal & Media** - File upload/download endpoints and media handling for multimodal agents
99
+ - **🎙️ Realtime Audio Bridge** - WebSocket endpoint for live audio-to-audio agents (Gemini Live)
100
+ - **🐳 Docker & Kubernetes Ready** - Generate production Dockerfiles and compose files with one command
101
+ - **🛡️ Production Hardening** - Error/log sanitization, request size limits, security headers, startup validation
102
+ - **💉 Dependency Injection** - InjectQ for clean, testable dependency wiring
103
+
104
+ ---
105
+
106
+ ## Installation
107
+
108
+ **Basic installation:**
109
+
110
+ ```bash
111
+ pip install 10xscale-agentflow-cli
112
+ ```
113
+
114
+ Optional extras — install only what you configure:
115
+
116
+ ```bash
117
+ pip install "10xscale-agentflow-cli[redis]" # Redis rate-limit / cache backend
118
+ pip install "10xscale-agentflow-cli[jwt]" # JWT authentication
119
+ pip install "10xscale-agentflow-cli[media]" # Document text extraction (multimodal)
120
+ pip install "10xscale-agentflow-cli[otel]" # OpenTelemetry tracing
121
+ pip install "10xscale-agentflow-cli[snowflakekit]" # Snowflake ID generation
122
+ ```
123
+
124
+ Requires **Python ≥ 3.12**. Depends on the core `10xscale-agentflow` framework.
125
+
126
+ ---
127
+
128
+ ## 🚀 Quick Start
129
+
130
+ ```bash
131
+ # 1. Scaffold a project (interactive: dev vs production, auth, rate limiting)
132
+ agentflow init
133
+
134
+ # 2. Start the dev API server (127.0.0.1:8000)
135
+ agentflow api
136
+
137
+ # 3. Or start the server and open the hosted playground
138
+ agentflow play
139
+
140
+ # 4. Generate production Docker files
141
+ agentflow build --docker-compose
142
+ ```
143
+
144
+ ---
145
+
146
+ ## 🖥️ CLI Commands
147
+
148
+ For detailed command documentation, see the **[CLI Guide](./docs/cli-guide.md)**.
149
+
150
+ ### `agentflow init`
151
+
152
+ Initialize a new project with configuration and a sample graph.
153
+
154
+ ```bash
155
+ agentflow init # interactive (chooses dev vs production setup)
156
+ agentflow init --path ./my-app # custom directory
157
+ agentflow init --force # overwrite existing files
158
+ ```
159
+
160
+ ### `agentflow api`
161
+
162
+ Start the development API server.
163
+
164
+ ```bash
165
+ agentflow api # defaults (127.0.0.1:8000)
166
+ agentflow api --host 127.0.0.1 --port 9000 # custom host/port
167
+ agentflow api --config production.json # custom config file
168
+ agentflow api --no-reload # disable auto-reload
169
+ agentflow api --verbose # verbose logging
170
+ ```
171
+
172
+ ### `agentflow play`
173
+
174
+ Start the dev server and open the hosted playground with your local backend URL preconfigured.
175
+
176
+ ```bash
177
+ agentflow play
178
+ agentflow play --host 127.0.0.1 --port 9000
179
+ agentflow play --config production.json
180
+ ```
181
+
182
+ ### `agentflow build`
183
+
184
+ Generate production Docker files.
185
+
186
+ ```bash
187
+ agentflow build # Dockerfile
188
+ agentflow build --docker-compose # Dockerfile + docker-compose.yml
189
+ agentflow build --python-version 3.12 --port 9000
190
+ agentflow build --force
191
+ ```
192
+
193
+ ### `agentflow eval` / `agentflow test`
194
+
195
+ Run agent evaluations (discovers `*_eval.py` / `eval_*.py`, writes HTML + JSON to `eval_reports/`) and project tests (pytest).
196
+
197
+ ```bash
198
+ agentflow eval --parallel --threshold 0.8
199
+ agentflow test --coverage
200
+ ```
201
+
202
+ ### `agentflow skills`
203
+
204
+ Install bundled coding-agent skills (Codex, Claude, GitHub Copilot) into your project so your AI assistant knows how to build with Agentflow.
205
+
206
+ ```bash
207
+ agentflow skills --all # install for every supported agent
208
+ agentflow skills --agent claude # install for one
209
+ agentflow skills --list # show supported agents
210
+ ```
211
+
212
+ ### `agentflow version`
213
+
214
+ Display CLI and package version information.
215
+
216
+ ```bash
217
+ agentflow version
218
+ ```
219
+
220
+ ---
221
+
222
+ ## ⚙️ Configuration
223
+
224
+ The configuration file (`agentflow.json`) defines your agent, authentication, and infrastructure settings:
225
+
226
+ ```json
227
+ {
228
+ "agent": "graph.react:app",
229
+ "env": ".env",
230
+ "auth": null,
231
+ "checkpointer": null,
232
+ "injectq": null,
233
+ "store": null,
234
+ "redis": null,
235
+ "thread_name_generator": null,
236
+ "rate_limit": {}
237
+ }
238
+ ```
239
+
240
+ ### Configuration Options
241
+
242
+ | Field | Type | Description |
243
+ |-------|------|-------------|
244
+ | `agent` | string | Path to your compiled agent graph, `"module:attribute"` (required) |
245
+ | `env` | string | Path to environment variables file |
246
+ | `auth` | null \| "jwt" \| object | Authentication configuration |
247
+ | `authorization` | string \| null | Path to an `AuthorizationBackend` (RBAC / per-tool access) |
248
+ | `checkpointer` | string \| null | Path to a custom checkpointer |
249
+ | `injectq` | string \| null | Path to an InjectQ container |
250
+ | `store` | string \| null | Path to a data store |
251
+ | `redis` | string \| null | Redis connection URL |
252
+ | `rate_limit` | object \| null | Sliding-window rate limiting configuration |
253
+ | `thread_name_generator` | string \| null | Path to a custom thread name generator |
254
+
255
+ See the **[Configuration Guide](./docs/configuration.md)** for complete details.
256
+
257
+ ---
258
+
259
+ ## 🔐 Authentication
260
+
261
+ Agentflow supports multiple authentication strategies. See the **[Authentication Guide](./docs/authentication.md)** for details.
262
+
263
+ ### JWT Authentication
264
+
265
+ **agentflow.json:**
266
+ ```json
267
+ { "auth": "jwt" }
268
+ ```
269
+
270
+ **.env:**
271
+ ```bash
272
+ JWT_SECRET_KEY=your-super-secret-key
273
+ JWT_ALGORITHM=HS256
274
+ ```
275
+
276
+ ### Custom Authentication
277
+
278
+ **agentflow.json:**
279
+ ```json
280
+ { "auth": { "method": "custom", "path": "auth.custom:MyAuthBackend" } }
281
+ ```
282
+
283
+ **auth/custom.py:**
284
+ ```python
285
+ from agentflow_cli import BaseAuth
286
+ from fastapi import Response, HTTPException
287
+ from fastapi.security import HTTPAuthorizationCredentials
288
+
289
+
290
+ class MyAuthBackend(BaseAuth):
291
+ def authenticate(
292
+ self,
293
+ res: Response,
294
+ credential: HTTPAuthorizationCredentials,
295
+ ) -> dict[str, any] | None:
296
+ token = credential.credentials
297
+ user = verify_token(token)
298
+ if not user:
299
+ raise HTTPException(401, "Invalid token")
300
+ return {"user_id": user.id, "username": user.username, "email": user.email}
301
+ ```
302
+
303
+ ---
304
+
305
+ ## 🆔 ID Generation
306
+
307
+ Agentflow includes Snowflake ID generation for distributed, time-sortable unique IDs.
308
+
309
+ ```bash
310
+ pip install "10xscale-agentflow-cli[snowflakekit]"
311
+ ```
312
+
313
+ ```python
314
+ from agentflow_cli import SnowFlakeIdGenerator
315
+
316
+ generator = SnowFlakeIdGenerator(
317
+ snowflake_epoch=1704067200000, # Jan 1, 2024
318
+ snowflake_node_id=1,
319
+ snowflake_worker_id=1,
320
+ )
321
+ new_id = await generator.generate()
322
+ ```
323
+
324
+ **Environment configuration:**
325
+ ```bash
326
+ SNOWFLAKE_EPOCH=1704067200000
327
+ SNOWFLAKE_NODE_ID=1
328
+ SNOWFLAKE_WORKER_ID=1
329
+ SNOWFLAKE_TIME_BITS=39
330
+ SNOWFLAKE_NODE_BITS=5
331
+ SNOWFLAKE_WORKER_BITS=8
332
+ ```
333
+
334
+ See the **[ID Generation Guide](./docs/id-generation.md)** for more details.
335
+
336
+ ---
337
+
338
+ ## 🧵 Thread Name Generation
339
+
340
+ Generate human-friendly names for conversation threads.
341
+
342
+ ```python
343
+ from agentflow_cli.src.app.utils.thread_name_generator import AIThreadNameGenerator
344
+
345
+ generator = AIThreadNameGenerator()
346
+ name = generator.generate_name()
347
+ # "thoughtful-dialogue", "exploring-ideas", ...
348
+ ```
349
+
350
+ See the **[Thread Name Generator Guide](./docs/thread-name-generator.md)** for custom implementations.
351
+
352
+ ---
353
+
354
+ ## 🛡️ Security
355
+
356
+ Agentflow CLI provides production-grade security features.
357
+
358
+ - ✅ **Authentication** - JWT and custom authentication backends
359
+ - ✅ **Authorization** - Resource-based access control with extensible backends
360
+ - ✅ **Request Limits** - DoS protection with configurable size limits (default 10MB)
361
+ - ✅ **Error Sanitization** - Production-safe error messages preventing information disclosure
362
+ - ✅ **Log Sanitization** - Automatic redaction of sensitive data (tokens, passwords, secrets)
363
+ - ✅ **Security Warnings** - Startup validation for insecure configurations
364
+ - ✅ **HTTPS Ready** - SSL/TLS support with secure headers
365
+
366
+ ### Production Security Checklist
367
+
368
+ ```bash
369
+ MODE=production # production mode
370
+ JWT_SECRET_KEY=<32+ chars> # strong secret (secrets.token_urlsafe(32))
371
+ IS_DEBUG=false # disable debug
372
+ ORIGINS=https://yourdomain.com # specific CORS origins (never *)
373
+ ALLOWED_HOST=yourdomain.com # specific allowed hosts (never *)
374
+ DOCS_PATH= # recommended: disable API docs
375
+ REDOCS_PATH=
376
+ MAX_REQUEST_SIZE=10485760 # request size limit (10MB default)
377
+ ```
378
+
379
+ For deployment hardening and authentication patterns, see the
380
+ **[Deployment Guide](./docs/deployment.md)** and **[Authentication Guide](./docs/authentication.md)**.
381
+
382
+ ---
383
+
384
+ ## 🐳 Deployment
385
+
386
+ See the **[Deployment Guide](./docs/deployment.md)** for full instructions.
387
+
388
+ ```bash
389
+ # Generate Docker files
390
+ agentflow build --docker-compose
391
+
392
+ # Build and run
393
+ docker compose up --build -d
394
+
395
+ # Check logs
396
+ docker compose logs -f
397
+ ```
398
+
399
+ Cloud targets covered in the guide: [AWS ECS](./docs/deployment.md#aws-ecs),
400
+ [Google Cloud Run](./docs/deployment.md#google-cloud-run),
401
+ [Azure Container Instances](./docs/deployment.md#azure-container-instances),
402
+ [Kubernetes](./docs/deployment.md#kubernetes), and [Heroku](./docs/deployment.md#heroku).
403
+
404
+ ---
405
+
406
+ ## 📁 Project Structure
407
+
408
+ ```
409
+ agentflow-cli/
410
+ ├── agentflow_cli/ # Main package
411
+ │ ├── __init__.py # Package exports (BaseAuth, SnowFlakeIdGenerator, ThreadNameGenerator)
412
+ │ ├── cli/ # Typer CLI: main.py + commands/ + templates/
413
+ │ └── src/app/ # FastAPI application (main.py, loader.py, core/, routers/, utils/)
414
+ ├── docs/ # Documentation
415
+ ├── tests/ # Test suite
416
+ ├── agentflow.json # Configuration
417
+ ├── pyproject.toml # Project metadata
418
+ └── README.md # This file
419
+ ```
420
+
421
+ ---
422
+
423
+ ## 🔧 Development
424
+
425
+ ```bash
426
+ # Clone and set up
427
+ git clone https://github.com/10xHub/agentflow-cli.git
428
+ cd agentflow-cli
429
+ python -m venv .venv && source .venv/bin/activate
430
+ pip install -e ".[dev]"
431
+ pre-commit install
432
+
433
+ # Quality gate
434
+ pytest # tests (coverage gate: 80%)
435
+ pytest --cov=agentflow_cli --cov-report=html
436
+ ruff check . && ruff format . # lint + format
437
+ pre-commit run --all-files # full gate (ruff + bandit, pinned versions)
438
+ ```
439
+
440
+ ### Using the Makefile
441
+
442
+ ```bash
443
+ make build # build sdist + wheel
444
+ make test # run tests
445
+ make test-cov # run tests with coverage
446
+ make publish # upload to PyPI (maintainers)
447
+ make clean # remove build artifacts
448
+ ```
449
+
450
+ ### Releasing
451
+
452
+ Releases are cut by pushing a version tag that matches `pyproject.toml`. The
453
+ [`release.yml`](./.github/workflows/release.yml) workflow then verifies the tag, builds the
454
+ sdist + wheel, checks the distribution metadata, and creates a GitHub Release with auto-generated
455
+ notes and the artifacts attached. PyPI publishing is manual (`make publish`).
456
+
457
+ ```bash
458
+ git tag v0.3.2.9 && git push origin v0.3.2.9
459
+ ```
460
+
461
+ ---
462
+
463
+ ## 📄 License
464
+
465
+ MIT License - see [LICENSE](https://github.com/10xHub/agentflow-cli/blob/main/LICENSE) for details.
466
+
467
+ ---
468
+
469
+ ## 🔗 Links & Resources
470
+
471
+ - **[Documentation](https://agentflow.10xscale.ai/)** - Full framework docs
472
+ - **[Core framework (`10xscale-agentflow`)](https://github.com/10xHub/agentflow)** - The orchestration engine this CLI serves
473
+ - **[This repository](https://github.com/10xHub/agentflow-cli)** - Source code and issues
474
+ - **[PyPI Project](https://pypi.org/project/10xscale-agentflow-cli/)** - Package releases
475
+ - **[Local docs](./docs/)** - CLI, configuration, deployment, auth, rate limiting, IDs, thread names
476
+
477
+ ---
478
+
479
+ ## 🙏 Contributing
480
+
481
+ Contributions are welcome! Fork the repo, create a feature branch, run tests and linting, and open a
482
+ Pull Request. See the [repository](https://github.com/10xHub/agentflow-cli) for issue reporting and
483
+ guidelines.
484
+
485
+ ---
486
+
487
+ ## 💬 Support
488
+
489
+ - **Documentation:** [agentflow.10xscale.ai](https://agentflow.10xscale.ai/) and [local docs](./docs/)
490
+ - **Issues:** [GitHub Issues](https://github.com/10xHub/agentflow-cli/issues)
491
+ - **Repository:** [GitHub](https://github.com/10xHub/agentflow-cli)
492
+
493
+ ---
494
+
495
+ Developed by [10xScale](https://10xscale.ai) and maintained by the community.
496
+
497
+ **Made with ❤️ for the AI agent development community**
@@ -1,8 +1,9 @@
1
+ CLAUDE.md
2
+ LICENSE
1
3
  MANIFEST.in
2
4
  README.md
3
5
  agentflow.json
4
6
  pyproject.toml
5
- requirements.txt
6
7
  10xscale_agentflow_cli.egg-info/PKG-INFO
7
8
  10xscale_agentflow_cli.egg-info/SOURCES.txt
8
9
  10xscale_agentflow_cli.egg-info/dependency_links.txt
@@ -44,13 +45,8 @@ agentflow_cli/cli/templates/prod/graph/__init__.py
44
45
  agentflow_cli/cli/templates/prod/graph/agent.py
45
46
  agentflow_cli/cli/templates/prod/graph/state.py
46
47
  agentflow_cli/cli/templates/prod/graph/thread_name_generator.py
47
- agentflow_cli/cli/templates/prod/graph/nodes/__init__.py
48
- agentflow_cli/cli/templates/prod/graph/nodes/main_node.py
49
- agentflow_cli/cli/templates/prod/graph/nodes/tool_node.py
50
48
  agentflow_cli/cli/templates/prod/graph/tools/__init__.py
51
49
  agentflow_cli/cli/templates/prod/graph/tools/weather_tool.py
52
- agentflow_cli/cli/templates/prod/graph/utils/__init__.py
53
- agentflow_cli/cli/templates/prod/graph/utils/tool_decision.py
54
50
  agentflow_cli/cli/templates/prod/graph/validators/__init__.py
55
51
  agentflow_cli/cli/templates/prod/graph/validators/lifecyle.py
56
52
  agentflow_cli/cli/templates/prod/graph/validators/manager.py
@@ -60,7 +56,6 @@ agentflow_cli/cli/templates/prod/tests/conftest.py
60
56
  agentflow_cli/cli/templates/prod/tests/test_agent_eval.py
61
57
  agentflow_cli/cli/templates/prod/tests/test_catalog_tools.py
62
58
  agentflow_cli/cli/templates/prod/tests/test_graph_nodes.py
63
- agentflow_cli/cli/templates/skills/agent-skills/SKILL.md
64
59
  agentflow_cli/cli/templates/skills/agent-skills/references/agents-and-tools.md
65
60
  agentflow_cli/cli/templates/skills/agent-skills/references/api-client.md
66
61
  agentflow_cli/cli/templates/skills/agent-skills/references/api-configuration.md
@@ -84,6 +79,7 @@ agentflow_cli/cli/templates/skills/agent-skills/references/production-runtime.md
84
79
  agentflow_cli/cli/templates/skills/agent-skills/references/providers-and-adapters.md
85
80
  agentflow_cli/cli/templates/skills/agent-skills/references/publishers-and-runtime-protocols.md
86
81
  agentflow_cli/cli/templates/skills/agent-skills/references/rate-limiting.md
82
+ agentflow_cli/cli/templates/skills/agent-skills/references/realtime.md
87
83
  agentflow_cli/cli/templates/skills/agent-skills/references/remote-tools.md
88
84
  agentflow_cli/cli/templates/skills/agent-skills/references/rest-api-and-errors.md
89
85
  agentflow_cli/cli/templates/skills/agent-skills/references/security-and-validators.md
@@ -93,6 +89,9 @@ agentflow_cli/cli/templates/skills/agent-skills/references/stream-emitter.md
93
89
  agentflow_cli/cli/templates/skills/agent-skills/references/streaming.md
94
90
  agentflow_cli/cli/templates/skills/agent-skills/references/testing-and-evaluation.md
95
91
  agentflow_cli/cli/templates/skills/agent-skills/references/unit-testing.md
92
+ agentflow_cli/cli/templates/skills/claude/SKILL.md
93
+ agentflow_cli/cli/templates/skills/codex/SKILL.md
94
+ agentflow_cli/cli/templates/skills/copilot/SKILL.md
96
95
  agentflow_cli/cli/templates/skills/copilot/agentflow.instructions.md
97
96
  agentflow_cli/src/__init__.py
98
97
  agentflow_cli/src/app/__init__.py
@@ -125,6 +124,7 @@ agentflow_cli/src/app/core/middleware/security_headers.py
125
124
  agentflow_cli/src/app/core/middleware/rate_limit/__init__.py
126
125
  agentflow_cli/src/app/core/middleware/rate_limit/base.py
127
126
  agentflow_cli/src/app/core/middleware/rate_limit/factory.py
127
+ agentflow_cli/src/app/core/middleware/rate_limit/keying.py
128
128
  agentflow_cli/src/app/core/middleware/rate_limit/memory.py
129
129
  agentflow_cli/src/app/core/middleware/rate_limit/middleware.py
130
130
  agentflow_cli/src/app/core/middleware/rate_limit/redis.py
@@ -141,6 +141,7 @@ agentflow_cli/src/app/routers/checkpointer/schemas/checkpointer_schemas.py
141
141
  agentflow_cli/src/app/routers/checkpointer/services/__init__.py
142
142
  agentflow_cli/src/app/routers/checkpointer/services/checkpointer_service.py
143
143
  agentflow_cli/src/app/routers/graph/__init__.py
144
+ agentflow_cli/src/app/routers/graph/realtime_guard.py
144
145
  agentflow_cli/src/app/routers/graph/router.py
145
146
  agentflow_cli/src/app/routers/graph/schemas/__init__.py
146
147
  agentflow_cli/src/app/routers/graph/schemas/graph_schemas.py
@@ -173,8 +174,6 @@ agentflow_cli/src/app/utils/media/pipeline.py
173
174
  agentflow_cli/src/app/utils/schemas/__init__.py
174
175
  agentflow_cli/src/app/utils/schemas/output_schemas.py
175
176
  agentflow_cli/src/app/utils/schemas/user_schemas.py
176
- graph/__init__.py
177
- graph/react.py
178
177
  tests/test_multimodal_sprint2_extraction.py
179
178
  tests/test_sprint4_media_api.py
180
179
  tests/test_utils_parse_and_callable.py
@@ -1,4 +1,4 @@
1
- 10xscale-agentflow>=0.7.0
1
+ 10xscale-agentflow>=0.8.0
2
2
  fastapi
3
3
  gunicorn
4
4
  orjson
@@ -23,6 +23,12 @@ PyJWT
23
23
  [media]
24
24
  textxtract[docx,html,md,pdf,xml]>=0.2.0
25
25
 
26
+ [otel]
27
+ opentelemetry-api>=1.20.0
28
+ opentelemetry-sdk>=1.20.0
29
+ opentelemetry-instrumentation-fastapi>=0.40b0
30
+ opentelemetry-exporter-otlp>=1.20.0
31
+
26
32
  [redis]
27
33
  redis>=5.0.7
28
34