versionhq 1.1.6.4__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.
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.github/workflows/publish.yml +2 -3
- versionhq-1.1.7.0/.github/workflows/run_tests.yml +34 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.gitignore +8 -5
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.pre-commit-config.yaml +1 -1
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/PKG-INFO +14 -9
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/README.md +13 -8
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/pyproject.toml +7 -8
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/__init__.py +1 -1
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/usage_metrics.py +4 -12
- versionhq-1.1.7.0/src/versionhq/agent/TEMPLATES/Backstory.py +7 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/agent/model.py +94 -157
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/task/model.py +122 -150
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/team/model.py +70 -145
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/team/team_planner.py +2 -2
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/tool/model.py +6 -16
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq.egg-info/PKG-INFO +14 -9
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq.egg-info/SOURCES.txt +8 -2
- versionhq-1.1.7.0/tests/agent/agent_test.py +79 -0
- versionhq-1.1.7.0/tests/conftest.py +3 -0
- versionhq-1.1.7.0/tests/task/__init__.py +0 -0
- versionhq-1.1.7.0/tests/task/task_test.py +46 -0
- versionhq-1.1.7.0/tests/team/__init__.py +0 -0
- versionhq-1.1.7.0/tests/team/team_test.py +295 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/uv.lock +53 -58
- versionhq-1.1.6.4/tests/task/sync_test.py +0 -45
- versionhq-1.1.6.4/tests/team/kickoff_test.py +0 -101
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.github/workflows/publish_testpypi.yml +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.github/workflows/security_check.yml +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/.python-version +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/LICENSE +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/SECURITY.md +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/db/preprocess.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/requirements.txt +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/runtime.txt +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/setup.cfg +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/cache_handler.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/i18n.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/logger.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/process_config.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/_utils/rpm_controller.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/agent → versionhq-1.1.7.0/src/versionhq/agent/TEMPLATES}/__init__.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/cli → versionhq-1.1.7.0/src/versionhq/agent}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/agent/parser.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/clients → versionhq-1.1.7.0/src/versionhq/cli}/__init__.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/clients/customer → versionhq-1.1.7.0/src/versionhq/clients}/__init__.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/clients/product → versionhq-1.1.7.0/src/versionhq/clients/customer}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/clients/customer/model.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/clients/workflow → versionhq-1.1.7.0/src/versionhq/clients/product}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/clients/product/model.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/llm → versionhq-1.1.7.0/src/versionhq/clients/workflow}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/clients/workflow/model.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/team → versionhq-1.1.7.0/src/versionhq/llm}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/llm/llm_vars.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/llm/model.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/task/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/task/formatter.py +0 -0
- {versionhq-1.1.6.4/src/versionhq/tool → versionhq-1.1.7.0/src/versionhq/team}/__init__.py +0 -0
- {versionhq-1.1.6.4/tests → versionhq-1.1.7.0/src/versionhq/tool}/__init__.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/tool/decorator.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq/tool/tool_handler.py +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq.egg-info/dependency_links.txt +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq.egg-info/requires.txt +0 -0
- {versionhq-1.1.6.4 → versionhq-1.1.7.0}/src/versionhq.egg-info/top_level.txt +0 -0
- {versionhq-1.1.6.4/tests/cli → versionhq-1.1.7.0/tests}/__init__.py +0 -0
- {versionhq-1.1.6.4/tests/task → versionhq-1.1.7.0/tests/agent}/__init__.py +0 -0
- {versionhq-1.1.6.4/tests/team → versionhq-1.1.7.0/tests/cli}/__init__.py +0 -0
- {versionhq-1.1.6.4 → 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
|
-
|
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/
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: versionhq
|
3
|
-
Version: 1.1.
|
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
|
@@ -53,7 +53,7 @@ Requires-Dist: wheel>=0.45.1
|
|
53
53
|
# Overview
|
54
54
|
|
55
55
|
 
|
56
|
-
 
|
57
57
|
|
58
58
|
|
59
59
|
An LLM orchestration frameworks for multi-agent systems with RAG to autopilot outbound workflows.
|
@@ -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.
|
@@ -166,10 +166,10 @@ src/
|
|
166
166
|
│ └── ...
|
167
167
|
│
|
168
168
|
└──tests/
|
169
|
-
└── cli/
|
169
|
+
└── cli/
|
170
170
|
└── team/
|
171
171
|
└── ...
|
172
|
-
│
|
172
|
+
│
|
173
173
|
└── uploads/ # Uploaded files for the project
|
174
174
|
|
175
175
|
```
|
@@ -239,13 +239,17 @@ For more details:
|
|
239
239
|
|
240
240
|
4. Test the features using the `tests` directory.
|
241
241
|
|
242
|
-
- Add a
|
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.
|
243
244
|
- Run a test.
|
244
245
|
```
|
245
|
-
uv run
|
246
|
+
uv run pytest tests -vv
|
246
247
|
```
|
247
248
|
|
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_`.
|
249
253
|
|
250
254
|
5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
|
251
255
|
6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
|
@@ -321,9 +325,10 @@ Common issues and solutions:
|
|
321
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.
|
322
326
|
- Database connection issues: Check if the Chroma DB is properly initialized and accessible.
|
323
327
|
- Memory errors: If processing large contracts, you may need to increase the available memory for the Python process.
|
324
|
-
- Issues related to dependencies
|
328
|
+
- Issues related to dependencies: `rm -rf uv.lock`, `uv cache clean`, `uv venv`, and run `uv pip install -r requirements.txt -v`.
|
325
329
|
- Issues related to the AI agents or RAG system: Check the `output.log` file for detailed error messages and stack traces.
|
326
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.
|
327
332
|
|
328
333
|
<hr />
|
329
334
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Overview
|
2
2
|
|
3
3
|
 
|
4
|
-
 
|
5
5
|
|
6
6
|
|
7
7
|
An LLM orchestration frameworks for multi-agent systems with RAG to autopilot outbound workflows.
|
@@ -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.
|
@@ -114,10 +114,10 @@ src/
|
|
114
114
|
│ └── ...
|
115
115
|
│
|
116
116
|
└──tests/
|
117
|
-
└── cli/
|
117
|
+
└── cli/
|
118
118
|
└── team/
|
119
119
|
└── ...
|
120
|
-
│
|
120
|
+
│
|
121
121
|
└── uploads/ # Uploaded files for the project
|
122
122
|
|
123
123
|
```
|
@@ -187,13 +187,17 @@ For more details:
|
|
187
187
|
|
188
188
|
4. Test the features using the `tests` directory.
|
189
189
|
|
190
|
-
- Add a
|
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.
|
191
192
|
- Run a test.
|
192
193
|
```
|
193
|
-
uv run
|
194
|
+
uv run pytest tests -vv
|
194
195
|
```
|
195
196
|
|
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_`.
|
197
201
|
|
198
202
|
5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
|
199
203
|
6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
|
@@ -269,9 +273,10 @@ Common issues and solutions:
|
|
269
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.
|
270
274
|
- Database connection issues: Check if the Chroma DB is properly initialized and accessible.
|
271
275
|
- Memory errors: If processing large contracts, you may need to increase the available memory for the Python process.
|
272
|
-
- Issues related to dependencies
|
276
|
+
- Issues related to dependencies: `rm -rf uv.lock`, `uv cache clean`, `uv venv`, and run `uv pip install -r requirements.txt -v`.
|
273
277
|
- Issues related to the AI agents or RAG system: Check the `output.log` file for detailed error messages and stack traces.
|
274
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.
|
275
280
|
|
276
281
|
<hr />
|
277
282
|
|
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__"]
|
|
15
15
|
|
16
16
|
[project]
|
17
17
|
name = "versionhq"
|
18
|
-
version = "1.1.
|
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"
|
@@ -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
|
-
|
12
|
-
)
|
13
|
-
|
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
|