10xscale-agentflow-cli 0.1.7__tar.gz → 0.1.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 (100) hide show
  1. 10xscale_agentflow_cli-0.1.8/10xscale_agentflow_cli.egg-info/PKG-INFO +468 -0
  2. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/10xscale_agentflow_cli.egg-info/SOURCES.txt +2 -0
  3. 10xscale_agentflow_cli-0.1.8/10xscale_agentflow_cli.egg-info/requires.txt +27 -0
  4. 10xscale_agentflow_cli-0.1.8/PKG-INFO +468 -0
  5. 10xscale_agentflow_cli-0.1.8/README.md +422 -0
  6. 10xscale_agentflow_cli-0.1.8/agentflow.json +6 -0
  7. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/__init__.py +4 -0
  8. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/core/config.py +12 -24
  9. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/core/validation.py +5 -12
  10. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/templates/defaults.py +18 -24
  11. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/graph_config.py +10 -23
  12. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/sentry_config.py +18 -8
  13. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/settings.py +7 -0
  14. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/setup_middleware.py +4 -0
  15. 10xscale_agentflow_cli-0.1.8/agentflow_cli/src/app/core/exceptions/handle_errors.py +223 -0
  16. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/loader.py +36 -0
  17. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/main.py +8 -2
  18. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/services/checkpointer_service.py +5 -10
  19. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/router.py +98 -8
  20. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/schemas/graph_schemas.py +46 -15
  21. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/services/graph_service.py +168 -59
  22. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/ping/router.py +1 -1
  23. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/router.py +17 -49
  24. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/schemas/store_schemas.py +12 -0
  25. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/__init__.py +3 -0
  26. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/parse_output.py +4 -4
  27. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/snowflake_id_generator.py +1 -10
  28. 10xscale_agentflow_cli-0.1.8/agentflow_cli/src/app/utils/thread_name_generator.py +304 -0
  29. 10xscale_agentflow_cli-0.1.8/graph/__init__.py +0 -0
  30. 10xscale_agentflow_cli-0.1.8/graph/react.py +286 -0
  31. 10xscale_agentflow_cli-0.1.8/graph/thread_name_generator.py +6 -0
  32. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/pyproject.toml +12 -15
  33. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/tests/test_utils_parse_and_callable.py +6 -8
  34. 10xscale_agentflow_cli-0.1.7/10xscale_agentflow_cli.egg-info/PKG-INFO +0 -458
  35. 10xscale_agentflow_cli-0.1.7/10xscale_agentflow_cli.egg-info/requires.txt +0 -27
  36. 10xscale_agentflow_cli-0.1.7/PKG-INFO +0 -458
  37. 10xscale_agentflow_cli-0.1.7/README.md +0 -409
  38. 10xscale_agentflow_cli-0.1.7/agentflow.json +0 -10
  39. 10xscale_agentflow_cli-0.1.7/agentflow_cli/src/app/core/exceptions/handle_errors.py +0 -96
  40. 10xscale_agentflow_cli-0.1.7/graph/__init__.py +0 -4
  41. 10xscale_agentflow_cli-0.1.7/graph/react.py +0 -134
  42. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/10xscale_agentflow_cli.egg-info/dependency_links.txt +0 -0
  43. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/10xscale_agentflow_cli.egg-info/entry_points.txt +0 -0
  44. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/10xscale_agentflow_cli.egg-info/not-zip-safe +0 -0
  45. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/10xscale_agentflow_cli.egg-info/top_level.txt +0 -0
  46. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/MANIFEST.in +0 -0
  47. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/Task.md +0 -0
  48. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/__init__.py +0 -0
  49. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/commands/__init__.py +0 -0
  50. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/commands/api.py +0 -0
  51. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/commands/build.py +0 -0
  52. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/commands/init.py +0 -0
  53. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/commands/version.py +0 -0
  54. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/constants.py +0 -0
  55. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/core/__init__.py +0 -0
  56. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/core/output.py +0 -0
  57. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/exceptions.py +0 -0
  58. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/logger.py +0 -0
  59. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/main.py +0 -0
  60. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/cli/templates/__init__.py +0 -0
  61. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/__init__.py +0 -0
  62. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/__init__.py +0 -0
  63. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/__init__.py +0 -0
  64. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/auth/__init__.py +0 -0
  65. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/auth/auth_backend.py +0 -0
  66. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/auth/base_auth.py +0 -0
  67. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/auth/jwt_auth.py +0 -0
  68. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/__init__.py +0 -0
  69. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/setup_logs.py +0 -0
  70. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/config/worker_middleware.py +0 -0
  71. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/exceptions/__init__.py +0 -0
  72. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/exceptions/general_exception.py +0 -0
  73. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/exceptions/resources_exceptions.py +0 -0
  74. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/core/exceptions/user_exception.py +0 -0
  75. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/__init__.py +0 -0
  76. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/__init__.py +0 -0
  77. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/router.py +0 -0
  78. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/schemas/__init__.py +0 -0
  79. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/schemas/checkpointer_schemas.py +0 -0
  80. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/checkpointer/services/__init__.py +0 -0
  81. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/__init__.py +0 -0
  82. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/schemas/__init__.py +0 -0
  83. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/graph/services/__init__.py +0 -0
  84. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/ping/__init__.py +0 -0
  85. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/setup_router.py +0 -0
  86. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/__init__.py +0 -0
  87. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/schemas/__init__.py +0 -0
  88. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/services/__init__.py +0 -0
  89. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/routers/store/services/store_service.py +0 -0
  90. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/tasks/__init__.py +0 -0
  91. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/tasks/user_tasks.py +0 -0
  92. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/callable_helper.py +0 -0
  93. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/response_helper.py +0 -0
  94. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/schemas/__init__.py +0 -0
  95. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/schemas/output_schemas.py +0 -0
  96. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/schemas/user_schemas.py +0 -0
  97. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/utils/swagger_helper.py +0 -0
  98. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/agentflow_cli/src/app/worker.py +0 -0
  99. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/scripts/generate_docs.py +0 -0
  100. {10xscale_agentflow_cli-0.1.7 → 10xscale_agentflow_cli-0.1.8}/setup.cfg +0 -0
@@ -0,0 +1,468 @@
1
+ Metadata-Version: 2.4
2
+ Name: 10xscale-agentflow-cli
3
+ Version: 0.1.8
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
+ Requires-Dist: 10xscale-agentflow>=0.4.0
25
+ Requires-Dist: fastapi
26
+ Requires-Dist: gunicorn
27
+ Requires-Dist: orjson
28
+ Requires-Dist: python-multipart
29
+ Requires-Dist: pydantic
30
+ Requires-Dist: pydantic-settings
31
+ Requires-Dist: uvicorn
32
+ Requires-Dist: typer
33
+ Requires-Dist: python-dotenv
34
+ Requires-Dist: PyJWT
35
+ Provides-Extra: sentry
36
+ Requires-Dist: sentry-sdk>=2.10.0; extra == "sentry"
37
+ Provides-Extra: firebase
38
+ Requires-Dist: firebase-admin>=6.5.0; extra == "firebase"
39
+ Requires-Dist: oauth2client>=4.1.3; extra == "firebase"
40
+ Provides-Extra: snowflakekit
41
+ Requires-Dist: snowflakekit; extra == "snowflakekit"
42
+ Provides-Extra: redis
43
+ Requires-Dist: redis>=5.0.7; extra == "redis"
44
+ Provides-Extra: gcloud
45
+ Requires-Dist: google-cloud-logging; extra == "gcloud"
46
+
47
+ # AgentFlow CLI
48
+
49
+ A professional Python API framework for building agent-based applications with FastAPI, state graph orchestration, and comprehensive CLI tools.
50
+
51
+ ## 📚 Documentation
52
+
53
+ - **[CLI Guide](./docs/cli-guide.md)** - Complete command-line interface reference
54
+ - **[Configuration Guide](./docs/configuration.md)** - All configuration options explained
55
+ - **[Deployment Guide](./docs/deployment.md)** - Docker, Kubernetes, and cloud deployment
56
+ - **[Authentication Guide](./docs/authentication.md)** - JWT and custom authentication
57
+ - **[ID Generation Guide](./docs/id-generation.md)** - Snowflake ID generation
58
+ - **[Thread Name Generator Guide](./docs/thread-name-generator.md)** - Thread naming strategies
59
+
60
+ ## Quick Start
61
+
62
+ ### Installation
63
+
64
+ ```bash
65
+ pip install 10xscale-agentflow-cli
66
+ ```
67
+
68
+ ### Initialize a New Project
69
+
70
+ ```bash
71
+ # Create project structure
72
+ agentflow init
73
+
74
+ # Or with production config
75
+ agentflow init --prod
76
+ ```
77
+
78
+ ### Start Development Server
79
+
80
+ ```bash
81
+ agentflow api
82
+ ```
83
+
84
+ ### Generate Docker Files
85
+
86
+ ```bash
87
+ agentflow build --docker-compose
88
+ ```
89
+
90
+ ## Key Features
91
+
92
+ - ✅ **CLI Tools** - Professional command-line interface for scaffolding and deployment
93
+ - ✅ **State Graph Orchestration** - Build complex agent workflows with LangGraph
94
+ - ✅ **FastAPI Backend** - High-performance async web framework
95
+ - ✅ **Authentication** - Built-in JWT auth and custom authentication support
96
+ - ✅ **ID Generation** - Distributed Snowflake ID generation
97
+ - ✅ **Thread Management** - Intelligent thread naming and conversation management
98
+ - ✅ **Docker Ready** - Generate production-ready Docker files
99
+ - ✅ **Dependency Injection** - InjectQ for clean dependency management
100
+ - ✅ **Development Tools** - Hot-reload, pre-commit hooks, testing
101
+
102
+ ## CLI Commands
103
+
104
+ For detailed command documentation, see the [CLI Guide](./docs/cli-guide.md).
105
+
106
+ ### `agentflow init`
107
+
108
+ Initialize a new project with configuration and sample graph.
109
+
110
+ ```bash
111
+ # Basic initialization
112
+ agentflow init
113
+
114
+ # With production config (pyproject.toml, pre-commit hooks)
115
+ agentflow init --prod
116
+
117
+ # Custom directory
118
+ agentflow init --path ./my-project
119
+
120
+ # Force overwrite existing files
121
+ agentflow init --force
122
+ ```
123
+
124
+ ### `agentflow api`
125
+
126
+ Start the development API server.
127
+
128
+ ```bash
129
+ # Start with defaults (localhost:8000)
130
+ agentflow api
131
+
132
+ # Custom host and port
133
+ agentflow api --host 127.0.0.1 --port 9000
134
+
135
+ # Custom config file
136
+ agentflow api --config production.json
137
+
138
+ # Disable auto-reload
139
+ agentflow api --no-reload
140
+
141
+ # Verbose logging
142
+ agentflow api --verbose
143
+ ```
144
+
145
+ ### `agentflow build`
146
+
147
+ Generate production Docker files.
148
+
149
+ ```bash
150
+ # Generate Dockerfile
151
+ agentflow build
152
+
153
+ # Generate Dockerfile and docker-compose.yml
154
+ agentflow build --docker-compose
155
+
156
+ # Custom Python version and port
157
+ agentflow build --python-version 3.12 --port 9000
158
+
159
+ # Force overwrite
160
+ agentflow build --force
161
+ ```
162
+
163
+ ### `agentflow version`
164
+
165
+ Display version information.
166
+
167
+ ```bash
168
+ agentflow version
169
+ ```
170
+
171
+ ## Configuration
172
+
173
+ The configuration file (`agentflow.json`) defines your agent, authentication, and infrastructure settings:
174
+
175
+ ```json
176
+ {
177
+ "agent": "graph.react:app",
178
+ "env": ".env",
179
+ "auth": null,
180
+ "checkpointer": null,
181
+ "injectq": null,
182
+ "store": null,
183
+ "redis": null,
184
+ "thread_name_generator": null
185
+ }
186
+ ```
187
+
188
+ ### Configuration Options
189
+
190
+ | Field | Type | Description |
191
+ |-------|------|-------------|
192
+ | `agent` | string | Path to your compiled agent graph (required) |
193
+ | `env` | string | Path to environment variables file |
194
+ | `auth` | null\|"jwt"\|object | Authentication configuration |
195
+ | `checkpointer` | string\|null | Path to custom checkpointer |
196
+ | `injectq` | string\|null | Path to InjectQ container |
197
+ | `store` | string\|null | Path to data store |
198
+ | `redis` | string\|null | Redis connection URL |
199
+ | `thread_name_generator` | string\|null | Path to custom thread name generator |
200
+
201
+ See the [Configuration Guide](./docs/configuration.md) for complete details.
202
+
203
+ ## Authentication
204
+
205
+ AgentFlow supports multiple authentication strategies. See the [Authentication Guide](./docs/authentication.md) for complete details.
206
+
207
+ ### No Authentication
208
+
209
+ ```json
210
+ {
211
+ "auth": null
212
+ }
213
+ ```
214
+
215
+ ### JWT Authentication
216
+
217
+ **agentflow.json:**
218
+ ```json
219
+ {
220
+ "auth": "jwt"
221
+ }
222
+ ```
223
+
224
+ **.env:**
225
+ ```bash
226
+ JWT_SECRET_KEY=your-super-secret-key
227
+ JWT_ALGORITHM=HS256
228
+ ```
229
+
230
+ ### Custom Authentication
231
+
232
+ **agentflow.json:**
233
+ ```json
234
+ {
235
+ "auth": {
236
+ "method": "custom",
237
+ "path": "auth.custom:MyAuthBackend"
238
+ }
239
+ }
240
+ ```
241
+
242
+ **auth/custom.py:**
243
+ ```python
244
+ from agentflow_cli import BaseAuth
245
+ from fastapi import Response, HTTPException
246
+ from fastapi.security import HTTPAuthorizationCredentials
247
+
248
+ class MyAuthBackend(BaseAuth):
249
+ def authenticate(
250
+ self,
251
+ res: Response,
252
+ credential: HTTPAuthorizationCredentials
253
+ ) -> dict[str, any] | None:
254
+ # Your authentication logic
255
+ token = credential.credentials
256
+ user = verify_token(token)
257
+
258
+ if not user:
259
+ raise HTTPException(401, "Invalid token")
260
+
261
+ return {
262
+ "user_id": user.id,
263
+ "username": user.username,
264
+ "email": user.email
265
+ }
266
+ ```
267
+
268
+ ## ID Generation
269
+
270
+ AgentFlow includes Snowflake ID generation for distributed, time-sortable unique IDs.
271
+
272
+ ```bash
273
+ pip install "10xscale-agentflow-cli[snowflakekit]"
274
+ ```
275
+
276
+ **Usage:**
277
+ ```python
278
+ from agentflow_cli import SnowFlakeIdGenerator
279
+
280
+ # Initialize
281
+ generator = SnowFlakeIdGenerator(
282
+ snowflake_epoch=1704067200000, # Jan 1, 2024
283
+ snowflake_node_id=1,
284
+ snowflake_worker_id=1
285
+ )
286
+
287
+ # Generate ID
288
+ id = await generator.generate()
289
+ print(f"Generated ID: {id}")
290
+ ```
291
+
292
+ **Environment Configuration:**
293
+ ```bash
294
+ SNOWFLAKE_EPOCH=1704067200000
295
+ SNOWFLAKE_NODE_ID=1
296
+ SNOWFLAKE_WORKER_ID=1
297
+ SNOWFLAKE_TIME_BITS=39
298
+ SNOWFLAKE_NODE_BITS=5
299
+ SNOWFLAKE_WORKER_BITS=8
300
+ ```
301
+
302
+ See the [ID Generation Guide](./docs/id-generation.md) for more details.
303
+
304
+ ## Thread Name Generation
305
+
306
+ Generate human-friendly names for conversation threads.
307
+
308
+ ```python
309
+ from agentflow_cli.src.app.utils.thread_name_generator import AIThreadNameGenerator
310
+
311
+ generator = AIThreadNameGenerator()
312
+ name = generator.generate_name()
313
+ # Output: "thoughtful-dialogue", "exploring-ideas", etc.
314
+ ```
315
+
316
+ See the [Thread Name Generator Guide](./docs/thread-name-generator.md) for custom implementations.
317
+ ## Deployment
318
+
319
+ See the [Deployment Guide](./docs/deployment.md) for complete deployment instructions.
320
+
321
+ ### Docker Deployment
322
+
323
+ ```bash
324
+ # Generate Docker files
325
+ agentflow build --docker-compose
326
+
327
+ # Build and run
328
+ docker compose up --build -d
329
+
330
+ # Check logs
331
+ docker compose logs -f
332
+ ```
333
+
334
+ ### Kubernetes
335
+
336
+ See [Deployment Guide - Kubernetes](./docs/deployment.md#kubernetes) for complete manifests.
337
+
338
+ ### Cloud Platforms
339
+
340
+ - [AWS ECS](./docs/deployment.md#aws-ecs)
341
+ - [Google Cloud Run](./docs/deployment.md#google-cloud-run)
342
+ - [Azure Container Instances](./docs/deployment.md#azure-container-instances)
343
+ - [Heroku](./docs/deployment.md#heroku)
344
+
345
+ ## Project Structure
346
+
347
+ ```
348
+ agentflow-cli/
349
+ ├── agentflow_cli/ # Main package
350
+ │ ├── __init__.py # Package exports
351
+ │ ├── cli/ # CLI commands
352
+ │ │ ├── main.py # CLI entry point
353
+ │ │ └── commands/ # Command implementations
354
+ │ └── src/ # Application source
355
+ │ └── app/ # FastAPI application
356
+ │ ├── main.py # App entry point
357
+ │ ├── core/ # Core functionality
358
+ │ ├── routers/ # API routes
359
+ │ └── utils/ # Utilities
360
+ ├── graph/ # Agent graphs
361
+ │ ├── __init__.py
362
+ │ └── react.py # Sample React agent
363
+ ├── docs/ # Documentation
364
+ ├── tests/ # Test suite
365
+ ├── agentflow.json # Configuration
366
+ ├── pyproject.toml # Project metadata
367
+ └── README.md # This file
368
+ ```
369
+
370
+ ## Development
371
+
372
+ ### Setup
373
+
374
+ ```bash
375
+ # Clone repository
376
+ git clone https://github.com/10xHub/agentflow-cli.git
377
+ cd agentflow-cli
378
+
379
+ # Create virtual environment
380
+ python -m venv .venv
381
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
382
+
383
+ # Install in development mode
384
+ pip install -e ".[dev]"
385
+
386
+ # Install pre-commit hooks
387
+ pre-commit install
388
+ ```
389
+
390
+ ### Testing
391
+
392
+ ```bash
393
+ # Run all tests
394
+ pytest
395
+
396
+ # With coverage
397
+ pytest --cov=agentflow_cli --cov-report=html
398
+
399
+ # Run specific test file
400
+ pytest tests/test_cli.py -v
401
+ ```
402
+
403
+ ### Code Quality
404
+
405
+ ```bash
406
+ # Format code
407
+ ruff format .
408
+
409
+ # Lint code
410
+ ruff check .
411
+
412
+ # Fix auto-fixable issues
413
+ ruff check --fix .
414
+ ```
415
+
416
+ ### Using the Makefile
417
+
418
+ ```bash
419
+ # Show available commands
420
+ make help
421
+
422
+ # Install development dependencies
423
+ make dev-install
424
+
425
+ # Run tests
426
+ make test
427
+
428
+ # Format and lint
429
+ make format
430
+ make lint
431
+
432
+ # Build package
433
+ make build
434
+
435
+ # Clean build artifacts
436
+ make clean
437
+ ```
438
+
439
+ ## Contributing
440
+
441
+ Contributions are welcome! Please follow these steps:
442
+
443
+ 1. Fork the repository
444
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
445
+ 3. Make your changes
446
+ 4. Run tests and linting
447
+ 5. Commit your changes (`git commit -m 'Add amazing feature'`)
448
+ 6. Push to the branch (`git push origin feature/amazing-feature`)
449
+ 7. Open a Pull Request
450
+
451
+ ## License
452
+
453
+ MIT License - see LICENSE file for details.
454
+
455
+ ## Support
456
+
457
+ - **Documentation:** [Complete Documentation](./docs/)
458
+ - **Issues:** [GitHub Issues](https://github.com/10xHub/agentflow-cli/issues)
459
+ - **Repository:** [GitHub](https://github.com/10xHub/agentflow-cli)
460
+
461
+ ## Credits
462
+
463
+ Developed by [10xScale](https://10xscale.ai) and maintained by the community.
464
+
465
+ ---
466
+
467
+ **Made with ❤️ for the AI agent development community**
468
+
@@ -79,10 +79,12 @@ agentflow_cli/src/app/utils/parse_output.py
79
79
  agentflow_cli/src/app/utils/response_helper.py
80
80
  agentflow_cli/src/app/utils/snowflake_id_generator.py
81
81
  agentflow_cli/src/app/utils/swagger_helper.py
82
+ agentflow_cli/src/app/utils/thread_name_generator.py
82
83
  agentflow_cli/src/app/utils/schemas/__init__.py
83
84
  agentflow_cli/src/app/utils/schemas/output_schemas.py
84
85
  agentflow_cli/src/app/utils/schemas/user_schemas.py
85
86
  graph/__init__.py
86
87
  graph/react.py
88
+ graph/thread_name_generator.py
87
89
  scripts/generate_docs.py
88
90
  tests/test_utils_parse_and_callable.py
@@ -0,0 +1,27 @@
1
+ 10xscale-agentflow>=0.4.0
2
+ fastapi
3
+ gunicorn
4
+ orjson
5
+ python-multipart
6
+ pydantic
7
+ pydantic-settings
8
+ uvicorn
9
+ typer
10
+ python-dotenv
11
+ PyJWT
12
+
13
+ [firebase]
14
+ firebase-admin>=6.5.0
15
+ oauth2client>=4.1.3
16
+
17
+ [gcloud]
18
+ google-cloud-logging
19
+
20
+ [redis]
21
+ redis>=5.0.7
22
+
23
+ [sentry]
24
+ sentry-sdk>=2.10.0
25
+
26
+ [snowflakekit]
27
+ snowflakekit