versionhq 1.1.6.3__tar.gz → 1.1.7.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 (69) hide show
  1. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.github/workflows/publish.yml +2 -3
  2. versionhq-1.1.7.0/.github/workflows/run_tests.yml +34 -0
  3. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.gitignore +8 -5
  4. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.pre-commit-config.yaml +1 -1
  5. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/PKG-INFO +67 -45
  6. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/README.md +66 -44
  7. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/pyproject.toml +7 -8
  8. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/__init__.py +1 -1
  9. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/usage_metrics.py +4 -12
  10. versionhq-1.1.7.0/src/versionhq/agent/TEMPLATES/Backstory.py +7 -0
  11. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/agent/model.py +95 -158
  12. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/llm/model.py +1 -0
  13. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/task/model.py +122 -150
  14. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/team/model.py +70 -145
  15. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/team/team_planner.py +2 -2
  16. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/tool/model.py +6 -16
  17. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq.egg-info/PKG-INFO +67 -45
  18. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq.egg-info/SOURCES.txt +8 -3
  19. versionhq-1.1.7.0/tests/agent/agent_test.py +79 -0
  20. versionhq-1.1.7.0/tests/conftest.py +3 -0
  21. versionhq-1.1.7.0/tests/task/__init__.py +0 -0
  22. versionhq-1.1.7.0/tests/task/task_test.py +46 -0
  23. versionhq-1.1.7.0/tests/team/__init__.py +0 -0
  24. versionhq-1.1.7.0/tests/team/team_test.py +295 -0
  25. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/uv.lock +53 -58
  26. versionhq-1.1.6.3/Procfile +0 -1
  27. versionhq-1.1.6.3/tests/task/sync_test.py +0 -45
  28. versionhq-1.1.6.3/tests/team/kickoff_test.py +0 -101
  29. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.github/workflows/publish_testpypi.yml +0 -0
  30. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.github/workflows/security_check.yml +0 -0
  31. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/.python-version +0 -0
  32. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/LICENSE +0 -0
  33. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/SECURITY.md +0 -0
  34. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/db/preprocess.py +0 -0
  35. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/requirements.txt +0 -0
  36. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/runtime.txt +0 -0
  37. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/setup.cfg +0 -0
  38. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/__init__.py +0 -0
  39. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/cache_handler.py +0 -0
  40. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/i18n.py +0 -0
  41. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/logger.py +0 -0
  42. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/process_config.py +0 -0
  43. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/_utils/rpm_controller.py +0 -0
  44. {versionhq-1.1.6.3/src/versionhq/agent → versionhq-1.1.7.0/src/versionhq/agent/TEMPLATES}/__init__.py +0 -0
  45. {versionhq-1.1.6.3/src/versionhq/cli → versionhq-1.1.7.0/src/versionhq/agent}/__init__.py +0 -0
  46. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/agent/parser.py +0 -0
  47. {versionhq-1.1.6.3/src/versionhq/clients → versionhq-1.1.7.0/src/versionhq/cli}/__init__.py +0 -0
  48. {versionhq-1.1.6.3/src/versionhq/clients/customer → versionhq-1.1.7.0/src/versionhq/clients}/__init__.py +0 -0
  49. {versionhq-1.1.6.3/src/versionhq/clients/product → versionhq-1.1.7.0/src/versionhq/clients/customer}/__init__.py +0 -0
  50. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/clients/customer/model.py +0 -0
  51. {versionhq-1.1.6.3/src/versionhq/clients/workflow → versionhq-1.1.7.0/src/versionhq/clients/product}/__init__.py +0 -0
  52. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/clients/product/model.py +0 -0
  53. {versionhq-1.1.6.3/src/versionhq/llm → versionhq-1.1.7.0/src/versionhq/clients/workflow}/__init__.py +0 -0
  54. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/clients/workflow/model.py +0 -0
  55. {versionhq-1.1.6.3/src/versionhq/team → versionhq-1.1.7.0/src/versionhq/llm}/__init__.py +0 -0
  56. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/llm/llm_vars.py +0 -0
  57. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/task/__init__.py +0 -0
  58. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/task/formatter.py +0 -0
  59. {versionhq-1.1.6.3/src/versionhq/tool → versionhq-1.1.7.0/src/versionhq/team}/__init__.py +0 -0
  60. {versionhq-1.1.6.3/tests → versionhq-1.1.7.0/src/versionhq/tool}/__init__.py +0 -0
  61. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/tool/decorator.py +0 -0
  62. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq/tool/tool_handler.py +0 -0
  63. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq.egg-info/dependency_links.txt +0 -0
  64. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq.egg-info/requires.txt +0 -0
  65. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/src/versionhq.egg-info/top_level.txt +0 -0
  66. {versionhq-1.1.6.3/tests/cli → versionhq-1.1.7.0/tests}/__init__.py +0 -0
  67. {versionhq-1.1.6.3/tests/task → versionhq-1.1.7.0/tests/agent}/__init__.py +0 -0
  68. {versionhq-1.1.6.3/tests/team → versionhq-1.1.7.0/tests/cli}/__init__.py +0 -0
  69. {versionhq-1.1.6.3 → versionhq-1.1.7.0}/tests/team/Prompts/Demo_test.py +0 -0
@@ -18,7 +18,7 @@ jobs:
18
18
  uses: astral-sh/setup-uv@v4
19
19
  with:
20
20
  version: "0.5.11"
21
-
21
+
22
22
  - name: Build release distributions
23
23
  run: |
24
24
  uv venv --python=python3.13.1
@@ -37,7 +37,7 @@ jobs:
37
37
  runs-on: ubuntu-latest
38
38
  needs:
39
39
  - release-build
40
-
40
+
41
41
  permissions:
42
42
  id-token: write
43
43
 
@@ -60,4 +60,3 @@ jobs:
60
60
  verbose: true
61
61
  user: __token__
62
62
  password: ${{ secrets.PYPI_API_TOKEN }}
63
-
@@ -0,0 +1,34 @@
1
+ name: Run Tests
2
+
3
+ on: [pull_request, push]
4
+
5
+ permissions:
6
+ contents: write
7
+
8
+ env:
9
+ LITELLM_API_KEY: ${{ secrets.LITELLM_API_KEY }}
10
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
11
+
12
+ jobs:
13
+ run_test:
14
+ runs-on: ubuntu-latest
15
+ timeout-minutes: 15
16
+
17
+ steps:
18
+ - name: Checkout code
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Install uv
22
+ uses: astral-sh/setup-uv@v4
23
+ with:
24
+ version: "0.5.11"
25
+
26
+ - name: Set up the project
27
+ run: |
28
+ uv venv --python=python3.13.1
29
+ source .venv/bin/activate
30
+ uv pip install --upgrade pip pytest
31
+ uv pip install -r requirements.txt
32
+
33
+ - name: Run tests
34
+ run: uv run pytest tests -vv --cache-clear
@@ -1,5 +1,4 @@
1
- publish.yml
2
- python_publish*
1
+ knowledge/
3
2
 
4
3
  composio.py
5
4
  memo.txt
@@ -7,12 +6,16 @@ memo.txt
7
6
  dist/
8
7
  build/
9
8
  .pypirc
9
+ uploads/
10
+ sample_dataset/
11
+ *egg-info/
12
+
10
13
  __pycache__/
11
14
  .ruff_cache/
15
+ .pytest_cache/
16
+
12
17
  .DS_Store
13
18
  .vscode
19
+
14
20
  .env
15
21
  .venv/
16
- uploads/
17
- sample_dataset/
18
- *egg-info/
@@ -4,7 +4,7 @@ repos:
4
4
  hooks:
5
5
  - id: check-yaml
6
6
  - id: end-of-file-fixer
7
- # - id: trailing-whitespace
7
+ - id: trailing-whitespace
8
8
  - id: check-added-large-files
9
9
  args: ['--maxkb=100']
10
10
  - id: check-json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: versionhq
3
- Version: 1.1.6.3
3
+ Version: 1.1.7.0
4
4
  Summary: LLM orchestration frameworks for model-agnostic AI agents that handle complex outbound workflows
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -52,7 +52,8 @@ Requires-Dist: wheel>=0.45.1
52
52
 
53
53
  # Overview
54
54
 
55
- ![python ver](https://img.shields.io/badge/Python-3.13.1-blue) ![pyenv ver](https://img.shields.io/badge/pyenv-2.4.23-orange)
55
+ ![MIT license](https://img.shields.io/badge/License-MIT-green) ![PyPi](https://img.shields.io/badge/pypi-v1.1.6.3-blue)
56
+ ![python ver](https://img.shields.io/badge/Python-3.12/3.13-purple) ![pyenv ver](https://img.shields.io/badge/pyenv-2.4.23-orange)
56
57
 
57
58
 
58
59
  An LLM orchestration frameworks for multi-agent systems with RAG to autopilot outbound workflows.
@@ -64,10 +65,10 @@ Messaging workflows are created at individual level, and will be deployed on thi
64
65
 
65
66
  **Visit:**
66
67
 
67
- - Marketing: [Landing page](https://home.versi0n.io)
68
- - Client app: [Production](https://versi0n.io/)
69
- - Backend: [Orchestration + multi-agent RAG system](https://github.com/versionHQ/multi-agent-system)
70
- - Test CI: [Test client app (React)](https://github.com/versionHQ/test-client-app)
68
+ - [Landing page](https://home.versi0n.io)
69
+ - [Client app](https://versi0n.io/)
70
+ - [Orchestration frameworks](https://github.com/versionHQ/multi-agent-system)
71
+ - [Test client app](https://github.com/versionHQ/test-client-app)
71
72
 
72
73
 
73
74
  ## Mindmap
@@ -75,7 +76,7 @@ Messaging workflows are created at individual level, and will be deployed on thi
75
76
  LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete the `task` given by the client or the system.
76
77
 
77
78
  <p align="center">
78
- <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="1000">
79
+ <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="400">
79
80
  </p>
80
81
 
81
82
  <hr />
@@ -89,8 +90,7 @@ LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete
89
90
  - [Project Structure](#project-structure)
90
91
  - [Setup](#setup)
91
92
  - [Usage](#usage)
92
- - [Installing as a Package Module (Alpha)](#installing-as-a-package-module-alpha)
93
- - [Contributing & Customizing](#contributing--customizing)
93
+ - [Contributing](#contributing)
94
94
  - [Customizing AI Agents](#customizing-ai-agents)
95
95
  - [Modifying RAG Functionality](#modifying-rag-functionality)
96
96
  - [Package Management with uv](#package-management-with-uv)
@@ -111,7 +111,7 @@ The `agent` is model agnostic. The default model is set Chat GTP 4o. We ask the
111
111
  Multiple `agents` can form a `team` to complete complex tasks together.
112
112
 
113
113
  **1. Analysis**
114
- - Professional `agents` handle the analysis `tasks` on each client, customer, and product.
114
+ - Professional `agents` handle the analysis `tasks` on each client, customer, and product.
115
115
 
116
116
  **2. Messaging Workflow Creation**
117
117
  - Several `teams` receive the analysis and design initial messaging workflow with several layers.
@@ -122,6 +122,8 @@ Multiple `agents` can form a `team` to complete complex tasks together.
122
122
  - Responsible `agents` or `teams` autopilot executing and refining the messaging workflow.
123
123
 
124
124
 
125
+ <hr />
126
+
125
127
  ## Technologies Used
126
128
  **Schema, Database, Data Validation**
127
129
  - [Pydantic](https://docs.pydantic.dev/latest/): Data validation and serialization library for Python
@@ -164,14 +166,16 @@ src/
164
166
  │ └── ...
165
167
 
166
168
  └──tests/
167
- └── cli/
169
+ └── cli/
168
170
  └── team/
169
171
  └── ...
170
-
172
+
171
173
  └── uploads/ # Uploaded files for the project
172
174
 
173
175
  ```
174
176
 
177
+ <hr />
178
+
175
179
  ## Setup
176
180
 
177
181
  1. Install the `uv` package manager:
@@ -204,53 +208,67 @@ src/
204
208
  COMPOSIO_CLI_KEY=your-composio-cli-key
205
209
  ```
206
210
 
207
- ## Usage
211
+ <hr />
208
212
 
209
- 1. Add features.
213
+ ## Usage
210
214
 
211
- 2. Test the features using the `tests` directory.
215
+ 1. Install `versionhq` package:
216
+ ```
217
+ uv pip install versionhq
218
+ ```
212
219
 
213
- - Add a file to the `tests` directory.
214
- - Run a test.
220
+ 2. You can use the `versionhq` module in your Python app.
215
221
  ```
216
- uv run <your file name>
222
+ from versionhq.agent.model import Agent
223
+ agent = Agent(llm="your-llm", ...)
217
224
  ```
218
- * All the `.py` files' names in the `tests` have to be ended with `_test.py`.
219
225
 
226
+ For more details:
220
227
 
221
- 3. Run a React demo app: [React demo app](https://github.com/versionHQ/test-client-app) to check it on the client endpoint.
222
- ```
223
- npm i
224
- npm start
225
- ```
226
- The frontend will be available at `http://localhost:3000`.
228
+ [PyPi package](https://pypi.org/project/versionhq/)
227
229
 
228
- 4. `production` is available at `https://versi0n.io`. Currently, we are running beta.
230
+ <hr />
229
231
 
232
+ ## Contributing
230
233
 
231
- ## Installing as a Package Module (Alpha)
234
+ 1. Fork the repository
232
235
 
233
- 1. Open another terminal, set your repository as root, and run
234
- ```
235
- uv pip install git+https://github.com/versionHQ/multi-agent-system.git#egg=versionhq
236
- ```
236
+ 2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
237
237
 
238
- 2. You can use the `versionhq` module in your Python app.
239
- ```
240
- from versionhq.agent.model import Agent
241
- agent = Agent(llm="your-llm"...)
242
- ```
238
+ 3. Create amazing features
243
239
 
244
- ## Contributing & Customizing
240
+ 4. Test the features using the `tests` directory.
245
241
 
246
- 1. Fork the repository
247
- 2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
248
- 3. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
249
- 4. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
250
- 5. Push to the branch (`git push origin feature/your-amazing-feature`)
251
- 6. Open a pull request
242
+ - Add a test function to respective components in the `tests` directory.
243
+ - Add your `LITELLM_API_KEY` and `OPENAI_API_KEY` to the Github `repository secrets` @ settings > secrets & variables > Actions.
244
+ - Run a test.
245
+ ```
246
+ uv run pytest tests -vv
247
+ ```
248
+
249
+ **pytest**
250
+
251
+ * When adding a new file to `tests`, name the file ended with `_test.py`.
252
+ * When adding a new feature to the file, name the feature started with `test_`.
253
+
254
+ 5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
255
+ 6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
256
+ 7. Push to the branch (`git push origin feature/your-amazing-feature`)
257
+ 8. Open a pull request
258
+
259
+
260
+ **Optional**
261
+ * Flag with `#! REFINEME` for any improvements needed and `#! FIXME` for any errors.
262
+
263
+ * Run a React demo app: [React demo app](https://github.com/versionHQ/test-client-app) to check it on the client endpoint.
264
+ ```
265
+ npm i
266
+ npm start
267
+ ```
268
+ The frontend will be available at `http://localhost:3000`.
269
+
270
+ * `production` is available at `https://versi0n.io`. Currently, we are running alpha test.
252
271
 
253
- 0. Flag with `#! REFINEME` for any improvements and `#! FIXME` for any errors.
254
272
 
255
273
 
256
274
  ### Customizing AI Agents
@@ -299,16 +317,20 @@ Pre-commit hooks help maintain code quality by running checks for formatting, li
299
317
  git commit --no-verify -m "your-commit-message"
300
318
  ```
301
319
 
320
+ <hr />
321
+
302
322
  ## Trouble Shooting
303
323
 
304
324
  Common issues and solutions:
305
325
  - API key errors: Ensure all API keys in the `.env` file are correct and up to date. Make sure to add `load_dotenv()` on the top of the python file to apply the latest environment values.
306
326
  - Database connection issues: Check if the Chroma DB is properly initialized and accessible.
307
327
  - Memory errors: If processing large contracts, you may need to increase the available memory for the Python process.
308
- - Issues related to dependencies:`rm -rf .venv uv.lock`, `uv cache clean` and run `uv run pip install -r requirements.txt -v`.
328
+ - Issues related to dependencies: `rm -rf uv.lock`, `uv cache clean`, `uv venv`, and run `uv pip install -r requirements.txt -v`.
309
329
  - Issues related to the AI agents or RAG system: Check the `output.log` file for detailed error messages and stack traces.
310
330
  - Issues related to `Python quit unexpectedly`: Check [this stackoverflow article](https://stackoverflow.com/questions/59888499/macos-catalina-python-quit-unexpectedly-error).
331
+ - `reportMissingImports` error from pyright after installing the package: This might occur when installing new libraries while VSCode is running. Open the command pallete (ctrl + shift + p) and run the Python: Restart language server task.
311
332
 
333
+ <hr />
312
334
 
313
335
  ## Frequently Asked Questions (FAQ)
314
336
  **Q. Where can I see if the agent is working?**
@@ -1,6 +1,7 @@
1
1
  # Overview
2
2
 
3
- ![python ver](https://img.shields.io/badge/Python-3.13.1-blue) ![pyenv ver](https://img.shields.io/badge/pyenv-2.4.23-orange)
3
+ ![MIT license](https://img.shields.io/badge/License-MIT-green) ![PyPi](https://img.shields.io/badge/pypi-v1.1.6.3-blue)
4
+ ![python ver](https://img.shields.io/badge/Python-3.12/3.13-purple) ![pyenv ver](https://img.shields.io/badge/pyenv-2.4.23-orange)
4
5
 
5
6
 
6
7
  An LLM orchestration frameworks for multi-agent systems with RAG to autopilot outbound workflows.
@@ -12,10 +13,10 @@ Messaging workflows are created at individual level, and will be deployed on thi
12
13
 
13
14
  **Visit:**
14
15
 
15
- - Marketing: [Landing page](https://home.versi0n.io)
16
- - Client app: [Production](https://versi0n.io/)
17
- - Backend: [Orchestration + multi-agent RAG system](https://github.com/versionHQ/multi-agent-system)
18
- - Test CI: [Test client app (React)](https://github.com/versionHQ/test-client-app)
16
+ - [Landing page](https://home.versi0n.io)
17
+ - [Client app](https://versi0n.io/)
18
+ - [Orchestration frameworks](https://github.com/versionHQ/multi-agent-system)
19
+ - [Test client app](https://github.com/versionHQ/test-client-app)
19
20
 
20
21
 
21
22
  ## Mindmap
@@ -23,7 +24,7 @@ Messaging workflows are created at individual level, and will be deployed on thi
23
24
  LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete the `task` given by the client or the system.
24
25
 
25
26
  <p align="center">
26
- <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="1000">
27
+ <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="400">
27
28
  </p>
28
29
 
29
30
  <hr />
@@ -37,8 +38,7 @@ LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete
37
38
  - [Project Structure](#project-structure)
38
39
  - [Setup](#setup)
39
40
  - [Usage](#usage)
40
- - [Installing as a Package Module (Alpha)](#installing-as-a-package-module-alpha)
41
- - [Contributing & Customizing](#contributing--customizing)
41
+ - [Contributing](#contributing)
42
42
  - [Customizing AI Agents](#customizing-ai-agents)
43
43
  - [Modifying RAG Functionality](#modifying-rag-functionality)
44
44
  - [Package Management with uv](#package-management-with-uv)
@@ -59,7 +59,7 @@ The `agent` is model agnostic. The default model is set Chat GTP 4o. We ask the
59
59
  Multiple `agents` can form a `team` to complete complex tasks together.
60
60
 
61
61
  **1. Analysis**
62
- - Professional `agents` handle the analysis `tasks` on each client, customer, and product.
62
+ - Professional `agents` handle the analysis `tasks` on each client, customer, and product.
63
63
 
64
64
  **2. Messaging Workflow Creation**
65
65
  - Several `teams` receive the analysis and design initial messaging workflow with several layers.
@@ -70,6 +70,8 @@ Multiple `agents` can form a `team` to complete complex tasks together.
70
70
  - Responsible `agents` or `teams` autopilot executing and refining the messaging workflow.
71
71
 
72
72
 
73
+ <hr />
74
+
73
75
  ## Technologies Used
74
76
  **Schema, Database, Data Validation**
75
77
  - [Pydantic](https://docs.pydantic.dev/latest/): Data validation and serialization library for Python
@@ -112,14 +114,16 @@ src/
112
114
  │ └── ...
113
115
 
114
116
  └──tests/
115
- └── cli/
117
+ └── cli/
116
118
  └── team/
117
119
  └── ...
118
-
120
+
119
121
  └── uploads/ # Uploaded files for the project
120
122
 
121
123
  ```
122
124
 
125
+ <hr />
126
+
123
127
  ## Setup
124
128
 
125
129
  1. Install the `uv` package manager:
@@ -152,53 +156,67 @@ src/
152
156
  COMPOSIO_CLI_KEY=your-composio-cli-key
153
157
  ```
154
158
 
155
- ## Usage
159
+ <hr />
156
160
 
157
- 1. Add features.
161
+ ## Usage
158
162
 
159
- 2. Test the features using the `tests` directory.
163
+ 1. Install `versionhq` package:
164
+ ```
165
+ uv pip install versionhq
166
+ ```
160
167
 
161
- - Add a file to the `tests` directory.
162
- - Run a test.
168
+ 2. You can use the `versionhq` module in your Python app.
163
169
  ```
164
- uv run <your file name>
170
+ from versionhq.agent.model import Agent
171
+ agent = Agent(llm="your-llm", ...)
165
172
  ```
166
- * All the `.py` files' names in the `tests` have to be ended with `_test.py`.
167
173
 
174
+ For more details:
168
175
 
169
- 3. Run a React demo app: [React demo app](https://github.com/versionHQ/test-client-app) to check it on the client endpoint.
170
- ```
171
- npm i
172
- npm start
173
- ```
174
- The frontend will be available at `http://localhost:3000`.
176
+ [PyPi package](https://pypi.org/project/versionhq/)
175
177
 
176
- 4. `production` is available at `https://versi0n.io`. Currently, we are running beta.
178
+ <hr />
177
179
 
180
+ ## Contributing
178
181
 
179
- ## Installing as a Package Module (Alpha)
182
+ 1. Fork the repository
180
183
 
181
- 1. Open another terminal, set your repository as root, and run
182
- ```
183
- uv pip install git+https://github.com/versionHQ/multi-agent-system.git#egg=versionhq
184
- ```
184
+ 2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
185
185
 
186
- 2. You can use the `versionhq` module in your Python app.
187
- ```
188
- from versionhq.agent.model import Agent
189
- agent = Agent(llm="your-llm"...)
190
- ```
186
+ 3. Create amazing features
191
187
 
192
- ## Contributing & Customizing
188
+ 4. Test the features using the `tests` directory.
193
189
 
194
- 1. Fork the repository
195
- 2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
196
- 3. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
197
- 4. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
198
- 5. Push to the branch (`git push origin feature/your-amazing-feature`)
199
- 6. Open a pull request
190
+ - Add a test function to respective components in the `tests` directory.
191
+ - Add your `LITELLM_API_KEY` and `OPENAI_API_KEY` to the Github `repository secrets` @ settings > secrets & variables > Actions.
192
+ - Run a test.
193
+ ```
194
+ uv run pytest tests -vv
195
+ ```
196
+
197
+ **pytest**
198
+
199
+ * When adding a new file to `tests`, name the file ended with `_test.py`.
200
+ * When adding a new feature to the file, name the feature started with `test_`.
201
+
202
+ 5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
203
+ 6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
204
+ 7. Push to the branch (`git push origin feature/your-amazing-feature`)
205
+ 8. Open a pull request
206
+
207
+
208
+ **Optional**
209
+ * Flag with `#! REFINEME` for any improvements needed and `#! FIXME` for any errors.
210
+
211
+ * Run a React demo app: [React demo app](https://github.com/versionHQ/test-client-app) to check it on the client endpoint.
212
+ ```
213
+ npm i
214
+ npm start
215
+ ```
216
+ The frontend will be available at `http://localhost:3000`.
217
+
218
+ * `production` is available at `https://versi0n.io`. Currently, we are running alpha test.
200
219
 
201
- 0. Flag with `#! REFINEME` for any improvements and `#! FIXME` for any errors.
202
220
 
203
221
 
204
222
  ### Customizing AI Agents
@@ -247,16 +265,20 @@ Pre-commit hooks help maintain code quality by running checks for formatting, li
247
265
  git commit --no-verify -m "your-commit-message"
248
266
  ```
249
267
 
268
+ <hr />
269
+
250
270
  ## Trouble Shooting
251
271
 
252
272
  Common issues and solutions:
253
273
  - API key errors: Ensure all API keys in the `.env` file are correct and up to date. Make sure to add `load_dotenv()` on the top of the python file to apply the latest environment values.
254
274
  - Database connection issues: Check if the Chroma DB is properly initialized and accessible.
255
275
  - Memory errors: If processing large contracts, you may need to increase the available memory for the Python process.
256
- - Issues related to dependencies:`rm -rf .venv uv.lock`, `uv cache clean` and run `uv run pip install -r requirements.txt -v`.
276
+ - Issues related to dependencies: `rm -rf uv.lock`, `uv cache clean`, `uv venv`, and run `uv pip install -r requirements.txt -v`.
257
277
  - Issues related to the AI agents or RAG system: Check the `output.log` file for detailed error messages and stack traces.
258
278
  - Issues related to `Python quit unexpectedly`: Check [this stackoverflow article](https://stackoverflow.com/questions/59888499/macos-catalina-python-quit-unexpectedly-error).
279
+ - `reportMissingImports` error from pyright after installing the package: This might occur when installing new libraries while VSCode is running. Open the command pallete (ctrl + shift + p) and run the Python: Restart language server task.
259
280
 
281
+ <hr />
260
282
 
261
283
  ## Frequently Asked Questions (FAQ)
262
284
  **Q. Where can I see if the agent is working?**
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__"]
15
15
 
16
16
  [project]
17
17
  name = "versionhq"
18
- version = "1.1.6.3"
18
+ version = "1.1.7.0"
19
19
  authors = [{ name = "Kuriko Iwai", email = "kuriko@versi0n.io" }]
20
20
  description = "LLM orchestration frameworks for model-agnostic AI agents that handle complex outbound workflows"
21
21
  readme = "README.md"
@@ -58,15 +58,10 @@ dev-dependencies = [
58
58
  "python-dotenv>=1.0.0",
59
59
  "black",
60
60
  "bandit",
61
- "twine"
61
+ "twine",
62
+ "pytest>=8.0.0",
62
63
  ]
63
64
 
64
- [tool.black]
65
- line-length = 88
66
-
67
- [tool.isort]
68
- profile = "black"
69
-
70
65
  [tool.uv.workspace]
71
66
  members = ["krik8235"]
72
67
 
@@ -75,3 +70,7 @@ ignore_missing_imports = true
75
70
 
76
71
  [tool.bandit]
77
72
  exclude_dirs = [""]
73
+
74
+ [tool.pytest.ini_options]
75
+ minversion = "6.0"
76
+ addopts = "-ra -q"
@@ -17,7 +17,7 @@ from versionhq.team.model import Team, TeamOutput
17
17
  from versionhq.tool.model import Tool
18
18
 
19
19
 
20
- __version__ = "1.1.6.3"
20
+ __version__ = "1.1.7.0"
21
21
  __all__ = [
22
22
  "Agent",
23
23
  "Customer",
@@ -7,18 +7,10 @@ class UsageMetrics(BaseModel):
7
7
  """
8
8
 
9
9
  total_tokens: int = Field(default=0, description="Total number of tokens used")
10
- prompt_tokens: int = Field(
11
- default=0, description="Number of tokens used in prompts"
12
- )
13
- cached_prompt_tokens: int = Field(
14
- default=0, description="Number of cached prompt tokens used"
15
- )
16
- completion_tokens: int = Field(
17
- default=0, description="Number of tokens used in completions"
18
- )
19
- successful_requests: int = Field(
20
- default=0, description="Number of successful requests made"
21
- )
10
+ prompt_tokens: int = Field(default=0, description="Number of tokens used in prompts")
11
+ cached_prompt_tokens: int = Field(default=0, description="Number of cached prompt tokens used")
12
+ completion_tokens: int = Field(default=0, description="Number of tokens used in completions")
13
+ successful_requests: int = Field(default=0, description="Number of successful requests made")
22
14
 
23
15
  def add_usage_metrics(self, usage_metrics: "UsageMetrics"):
24
16
  """
@@ -0,0 +1,7 @@
1
+ BACKSTORY="""You are a {role} with deep understanding of {knowledge} and highly skilled in {skillsets}.
2
+ You have access to call the RAG tools that can {rag_tool_overview}. By leveraging these tools, your knowledge, and skillsets, you can identify competitive strategies that have been proven effective to achieve the goal: {goal}. Take these into consideration, create innovative solutions.
3
+ """
4
+
5
+
6
+ # developing strategies to improve cohort retention and customer lifetime value
7
+ # ingest past successful campaigns