versionhq 1.1.9.14__tar.gz → 1.1.10.3__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.9.14 → versionhq-1.1.10.3}/.github/workflows/publish.yml +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/publish_testpypi.yml +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/run_tests.yml +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/security_check.yml +0 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.gitignore +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.pre-commit-config.yaml +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.python-version +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/LICENSE +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/PKG-INFO +26 -25
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/README.md +24 -24
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/SECURITY.md +10 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/db/preprocess.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/pyproject.toml +2 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/requirements-dev.txt +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/requirements.txt +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/runtime.txt +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/__init__.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/i18n.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/logger.py +1 -6
- versionhq-1.1.10.3/src/versionhq/_utils/process_config.py +23 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/rpm_controller.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/usage_metrics.py +0 -0
- versionhq-1.1.10.3/src/versionhq/agent/TEMPLATES/Backstory.py +4 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/TEMPLATES/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/model.py +143 -109
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/parser.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/cli/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/customer/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/customer/model.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/product/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/product/model.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/workflow/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/workflow/model.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/llm/__init__.py +0 -0
- versionhq-1.1.9.14/src/versionhq/llm/llm_variables.py → versionhq-1.1.10.3/src/versionhq/llm/llm_vars.py +102 -40
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/llm/model.py +112 -76
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/storage/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/storage/task_output_storage.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/formatter.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/log_handler.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/model.py +286 -142
- versionhq-1.1.10.3/src/versionhq/task/structured_response.py +142 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/model.py +2 -5
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/team_planner.py +12 -13
- {versionhq-1.1.9.14/tests → versionhq-1.1.10.3/src/versionhq/tool}/__init__.py +0 -0
- versionhq-1.1.10.3/src/versionhq/tool/cache_handler.py +40 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/tool/composio_tool.py +3 -2
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/tool/decorator.py +5 -6
- versionhq-1.1.10.3/src/versionhq/tool/model.py +348 -0
- versionhq-1.1.10.3/src/versionhq/tool/tool_handler.py +37 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/PKG-INFO +26 -25
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/SOURCES.txt +4 -2
- {versionhq-1.1.9.14/tests/agent → versionhq-1.1.10.3/tests}/__init__.py +0 -0
- {versionhq-1.1.9.14/tests/cli → versionhq-1.1.10.3/tests/agent}/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/agent/agent_test.py +82 -41
- {versionhq-1.1.9.14/tests/llm → versionhq-1.1.10.3/tests/cli}/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/customer_test.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/product_test.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/workflow_test.py +1 -1
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/conftest.py +0 -0
- {versionhq-1.1.9.14/tests/task → versionhq-1.1.10.3/tests/llm}/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/llm/llm_test.py +7 -3
- versionhq-1.1.10.3/tests/task/__init__.py +53 -0
- versionhq-1.1.10.3/tests/task/task_test.py +276 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/Prompts/Demo_test.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/team_test.py +61 -126
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/tool/__init__.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/tool/composio_test.py +1 -1
- versionhq-1.1.10.3/tests/tool/tool_test.py +137 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/uv.lock +258 -233
- versionhq-1.1.9.14/src/versionhq/_utils/cache_handler.py +0 -13
- versionhq-1.1.9.14/src/versionhq/_utils/process_config.py +0 -26
- versionhq-1.1.9.14/src/versionhq/agent/TEMPLATES/Backstory.py +0 -3
- versionhq-1.1.9.14/src/versionhq/tool/model.py +0 -202
- versionhq-1.1.9.14/src/versionhq/tool/tool_handler.py +0 -45
- versionhq-1.1.9.14/tests/task/task_test.py +0 -320
- versionhq-1.1.9.14/tests/tool/tool_test.py +0 -114
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/setup.cfg +0 -0
- /versionhq-1.1.9.14/src/versionhq/tool/__init__.py → /versionhq-1.1.10.3/src/versionhq/tool/composio_tool_vars.py +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/dependency_links.txt +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/requires.txt +0 -0
- {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/top_level.txt +0 -0
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: versionhq
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.10.3
|
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
|
@@ -26,6 +26,7 @@ License: MIT License
|
|
26
26
|
SOFTWARE.
|
27
27
|
|
28
28
|
Project-URL: Homepage, https://versi0n.io
|
29
|
+
Project-URL: Documentation, https://chief-oxygen-8a2.notion.site/Documentation-17e923685cf98001a5fad5c4b2acd79b?pvs=73
|
29
30
|
Project-URL: Repository, https://github.com/versionHQ/multi-agent-system
|
30
31
|
Project-URL: Issues, https://github.com/versionHQ/multi-agent-system/issues
|
31
32
|
Keywords: orchestration framework,orchestration,ai agent,multi-agent system,RAG,agent
|
@@ -60,7 +61,7 @@ Requires-Dist: composio-langchain>=0.6.12
|
|
60
61
|
|
61
62
|

|
62
63
|
[](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml)
|
63
|
-

|
64
65
|

|
65
66
|

|
66
67
|
|
@@ -76,8 +77,9 @@ Messaging workflows are created at individual level, and will be deployed on thi
|
|
76
77
|
|
77
78
|
- [PyPI](https://pypi.org/project/versionhq/)
|
78
79
|
- [Github (LLM orchestration)](https://github.com/versionHQ/multi-agent-system)
|
79
|
-
- [
|
80
|
-
- [
|
80
|
+
- [Doc](https://chief-oxygen-8a2.notion.site/Documentation-17e923685cf98001a5fad5c4b2acd79b?pvs=4)
|
81
|
+
<!-- - [Github (Test client app)](https://github.com/versionHQ/test-client-app) -->
|
82
|
+
- [Use case](https://versi0n.io/): Client web app for the outbound messaging automation
|
81
83
|
|
82
84
|
|
83
85
|
<hr />
|
@@ -152,6 +154,9 @@ Multiple `agents` can form a `team` to complete complex tasks together.
|
|
152
154
|
from versionhq.agent.model import Agent
|
153
155
|
from versionhq.task.model import Task, ResponseField
|
154
156
|
|
157
|
+
def my_callback_func():
|
158
|
+
"""callback func"""
|
159
|
+
|
155
160
|
agent = Agent(
|
156
161
|
role="demo",
|
157
162
|
goal="amazing project goal",
|
@@ -162,13 +167,11 @@ Multiple `agents` can form a `team` to complete complex tasks together.
|
|
162
167
|
|
163
168
|
task = Task(
|
164
169
|
description="Amazing task",
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
ResponseField(title="test1", type=str, required=True),
|
169
|
-
ResponseField(title="test2", type=list, required=True),
|
170
|
+
response_fields=[
|
171
|
+
ResponseField(title="test1", data_type=str, required=True),
|
172
|
+
ResponseField(title="test2", data_type=list, items=str, required=True),
|
170
173
|
],
|
171
|
-
|
174
|
+
callbacks=[my_callback_func]
|
172
175
|
)
|
173
176
|
res = task.execute_sync(agent=agent, context="amazing context to consider.")
|
174
177
|
return res.to_dict()
|
@@ -192,13 +195,13 @@ This will return a dictionary with keys defined in the `ResponseField`.
|
|
192
195
|
|
193
196
|
task_1 = Task(
|
194
197
|
description="Analyze the client's business model.",
|
195
|
-
|
198
|
+
response_fields=[ResponseField(title="test1", data_type=str, required=True),],
|
196
199
|
allow_delegation=True
|
197
200
|
)
|
198
201
|
|
199
202
|
task_2 = Task(
|
200
203
|
description="Define the cohort.",
|
201
|
-
|
204
|
+
response_fields=[ResponseField(title="test1", data_type=int, required=True),],
|
202
205
|
allow_delegation=False
|
203
206
|
)
|
204
207
|
|
@@ -234,7 +237,7 @@ Tasks can be delegated to a team manager, peers in the team, or completely new a
|
|
234
237
|
- [Composio](https://composio.dev/): Conect RAG agents with external tools, Apps, and APIs to perform actions and receive triggers. We use [tools](https://composio.dev/tools) and [RAG tools](https://app.composio.dev/app/ragtool) from Composio toolset.
|
235
238
|
|
236
239
|
**Deployment**
|
237
|
-
- Python: Primary programming language.
|
240
|
+
- Python: Primary programming language. v3.13 is recommended.
|
238
241
|
- [uv](https://docs.astral.sh/uv/): Python package installer and resolver
|
239
242
|
- [pre-commit](https://pre-commit.com/): Manage and maintain pre-commit hooks
|
240
243
|
- [setuptools](https://pypi.org/project/setuptools/): Build python modules
|
@@ -306,19 +309,17 @@ src/
|
|
306
309
|
|
307
310
|
## Contributing
|
308
311
|
|
309
|
-
1.
|
310
|
-
|
311
|
-
2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
|
312
|
+
1. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
|
312
313
|
|
313
|
-
|
314
|
+
2. Create amazing features
|
314
315
|
|
315
|
-
|
316
|
+
3. Test the features using the `tests` directory.
|
316
317
|
|
317
318
|
- Add a test function to respective components in the `tests` directory.
|
318
|
-
- Add your `LITELLM_API_KEY`, `OPENAI_API_KEY`, `COMPOSIO_API_KEY`, `DEFAULT_USER_ID` to the Github `repository secrets`
|
319
|
+
- Add your `LITELLM_API_KEY`, `OPENAI_API_KEY`, `COMPOSIO_API_KEY`, `DEFAULT_USER_ID` to the Github `repository secrets` located at settings > secrets & variables > Actions.
|
319
320
|
- Run a test.
|
320
321
|
```
|
321
|
-
uv run pytest tests -vv
|
322
|
+
uv run pytest tests -vv --cache-clear
|
322
323
|
```
|
323
324
|
|
324
325
|
**pytest**
|
@@ -326,10 +327,10 @@ src/
|
|
326
327
|
* When adding a new file to `tests`, name the file ended with `_test.py`.
|
327
328
|
* When adding a new feature to the file, name the feature started with `test_`.
|
328
329
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
330
|
+
4. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
|
331
|
+
5. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
|
332
|
+
6. Push to the branch (`git push origin feature/your-amazing-feature`)
|
333
|
+
7. Open a pull request
|
333
334
|
|
334
335
|
|
335
336
|
**Optional**
|
@@ -342,7 +343,7 @@ src/
|
|
342
343
|
```
|
343
344
|
The frontend will be available at `http://localhost:3000`.
|
344
345
|
|
345
|
-
* `production` is available at `https://versi0n.io`. Currently, we are running alpha test.
|
346
|
+
* `production` use case is available at `https://versi0n.io`. Currently, we are running alpha test.
|
346
347
|
|
347
348
|
|
348
349
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|

|
4
4
|
[](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml)
|
5
|
-

|
6
6
|

|
7
7
|

|
8
8
|
|
@@ -18,8 +18,9 @@ Messaging workflows are created at individual level, and will be deployed on thi
|
|
18
18
|
|
19
19
|
- [PyPI](https://pypi.org/project/versionhq/)
|
20
20
|
- [Github (LLM orchestration)](https://github.com/versionHQ/multi-agent-system)
|
21
|
-
- [
|
22
|
-
- [
|
21
|
+
- [Doc](https://chief-oxygen-8a2.notion.site/Documentation-17e923685cf98001a5fad5c4b2acd79b?pvs=4)
|
22
|
+
<!-- - [Github (Test client app)](https://github.com/versionHQ/test-client-app) -->
|
23
|
+
- [Use case](https://versi0n.io/): Client web app for the outbound messaging automation
|
23
24
|
|
24
25
|
|
25
26
|
<hr />
|
@@ -94,6 +95,9 @@ Multiple `agents` can form a `team` to complete complex tasks together.
|
|
94
95
|
from versionhq.agent.model import Agent
|
95
96
|
from versionhq.task.model import Task, ResponseField
|
96
97
|
|
98
|
+
def my_callback_func():
|
99
|
+
"""callback func"""
|
100
|
+
|
97
101
|
agent = Agent(
|
98
102
|
role="demo",
|
99
103
|
goal="amazing project goal",
|
@@ -104,13 +108,11 @@ Multiple `agents` can form a `team` to complete complex tasks together.
|
|
104
108
|
|
105
109
|
task = Task(
|
106
110
|
description="Amazing task",
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
ResponseField(title="test1", type=str, required=True),
|
111
|
-
ResponseField(title="test2", type=list, required=True),
|
111
|
+
response_fields=[
|
112
|
+
ResponseField(title="test1", data_type=str, required=True),
|
113
|
+
ResponseField(title="test2", data_type=list, items=str, required=True),
|
112
114
|
],
|
113
|
-
|
115
|
+
callbacks=[my_callback_func]
|
114
116
|
)
|
115
117
|
res = task.execute_sync(agent=agent, context="amazing context to consider.")
|
116
118
|
return res.to_dict()
|
@@ -134,13 +136,13 @@ This will return a dictionary with keys defined in the `ResponseField`.
|
|
134
136
|
|
135
137
|
task_1 = Task(
|
136
138
|
description="Analyze the client's business model.",
|
137
|
-
|
139
|
+
response_fields=[ResponseField(title="test1", data_type=str, required=True),],
|
138
140
|
allow_delegation=True
|
139
141
|
)
|
140
142
|
|
141
143
|
task_2 = Task(
|
142
144
|
description="Define the cohort.",
|
143
|
-
|
145
|
+
response_fields=[ResponseField(title="test1", data_type=int, required=True),],
|
144
146
|
allow_delegation=False
|
145
147
|
)
|
146
148
|
|
@@ -176,7 +178,7 @@ Tasks can be delegated to a team manager, peers in the team, or completely new a
|
|
176
178
|
- [Composio](https://composio.dev/): Conect RAG agents with external tools, Apps, and APIs to perform actions and receive triggers. We use [tools](https://composio.dev/tools) and [RAG tools](https://app.composio.dev/app/ragtool) from Composio toolset.
|
177
179
|
|
178
180
|
**Deployment**
|
179
|
-
- Python: Primary programming language.
|
181
|
+
- Python: Primary programming language. v3.13 is recommended.
|
180
182
|
- [uv](https://docs.astral.sh/uv/): Python package installer and resolver
|
181
183
|
- [pre-commit](https://pre-commit.com/): Manage and maintain pre-commit hooks
|
182
184
|
- [setuptools](https://pypi.org/project/setuptools/): Build python modules
|
@@ -248,19 +250,17 @@ src/
|
|
248
250
|
|
249
251
|
## Contributing
|
250
252
|
|
251
|
-
1.
|
252
|
-
|
253
|
-
2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
|
253
|
+
1. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
|
254
254
|
|
255
|
-
|
255
|
+
2. Create amazing features
|
256
256
|
|
257
|
-
|
257
|
+
3. Test the features using the `tests` directory.
|
258
258
|
|
259
259
|
- Add a test function to respective components in the `tests` directory.
|
260
|
-
- Add your `LITELLM_API_KEY`, `OPENAI_API_KEY`, `COMPOSIO_API_KEY`, `DEFAULT_USER_ID` to the Github `repository secrets`
|
260
|
+
- Add your `LITELLM_API_KEY`, `OPENAI_API_KEY`, `COMPOSIO_API_KEY`, `DEFAULT_USER_ID` to the Github `repository secrets` located at settings > secrets & variables > Actions.
|
261
261
|
- Run a test.
|
262
262
|
```
|
263
|
-
uv run pytest tests -vv
|
263
|
+
uv run pytest tests -vv --cache-clear
|
264
264
|
```
|
265
265
|
|
266
266
|
**pytest**
|
@@ -268,10 +268,10 @@ src/
|
|
268
268
|
* When adding a new file to `tests`, name the file ended with `_test.py`.
|
269
269
|
* When adding a new feature to the file, name the feature started with `test_`.
|
270
270
|
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
271
|
+
4. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
|
272
|
+
5. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
|
273
|
+
6. Push to the branch (`git push origin feature/your-amazing-feature`)
|
274
|
+
7. Open a pull request
|
275
275
|
|
276
276
|
|
277
277
|
**Optional**
|
@@ -284,7 +284,7 @@ src/
|
|
284
284
|
```
|
285
285
|
The frontend will be available at `http://localhost:3000`.
|
286
286
|
|
287
|
-
* `production` is available at `https://versi0n.io`. Currently, we are running alpha test.
|
287
|
+
* `production` use case is available at `https://versi0n.io`. Currently, we are running alpha test.
|
288
288
|
|
289
289
|
|
290
290
|
|
@@ -1,3 +1,13 @@
|
|
1
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
2
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
3
|
+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
4
|
+
|
5
|
+
- [Security Policy](#security-policy)
|
6
|
+
- [Supported Versions](#supported-versions)
|
7
|
+
- [Reporting a Vulnerability](#reporting-a-vulnerability)
|
8
|
+
|
9
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
10
|
+
|
1
11
|
# Security Policy
|
2
12
|
|
3
13
|
## Supported Versions
|
File without changes
|
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__"]
|
|
15
15
|
|
16
16
|
[project]
|
17
17
|
name = "versionhq"
|
18
|
-
version = "1.1.
|
18
|
+
version = "1.1.10.3"
|
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"
|
@@ -52,6 +52,7 @@ classifiers = [
|
|
52
52
|
|
53
53
|
[project.urls]
|
54
54
|
Homepage = "https://versi0n.io"
|
55
|
+
Documentation = "https://chief-oxygen-8a2.notion.site/Documentation-17e923685cf98001a5fad5c4b2acd79b?pvs=73"
|
55
56
|
Repository = "https://github.com/versionHQ/multi-agent-system"
|
56
57
|
Issues = "https://github.com/versionHQ/multi-agent-system/issues"
|
57
58
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -12,8 +12,6 @@ class Printer:
|
|
12
12
|
self._print_red(content)
|
13
13
|
elif color == "green":
|
14
14
|
self._print_green(content)
|
15
|
-
elif color == "purple":
|
16
|
-
self._print_purple(content)
|
17
15
|
elif color == "blue":
|
18
16
|
self._print_blue(content)
|
19
17
|
elif color == "yellow":
|
@@ -27,9 +25,6 @@ class Printer:
|
|
27
25
|
def _print_green(self, content):
|
28
26
|
print("\033[1m\033[92m {}\033[00m".format(content))
|
29
27
|
|
30
|
-
def _print_purple(self, content):
|
31
|
-
print("\033[95m {}\033[00m".format(content))
|
32
|
-
|
33
28
|
def _print_red(self, content):
|
34
29
|
print("\033[91m {}\033[00m".format(content))
|
35
30
|
|
@@ -47,4 +42,4 @@ class Logger(BaseModel):
|
|
47
42
|
def log(self, level, message, color="yellow"):
|
48
43
|
if self.verbose:
|
49
44
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
50
|
-
self._printer.print(f"\n
|
45
|
+
self._printer.print(f"\n{timestamp} - versionHQ - {level.upper()}: {message}", color=color)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from typing import Any, Dict, Type
|
2
|
+
from pydantic import BaseModel
|
3
|
+
|
4
|
+
|
5
|
+
def process_config(values_to_update: Dict[str, Any], model_class: Type[BaseModel]) -> Dict[str, Any]:
|
6
|
+
"""
|
7
|
+
Process the config dictionary and update the values accordingly.
|
8
|
+
Refer to the Pydantic model class for field validation.
|
9
|
+
"""
|
10
|
+
|
11
|
+
config = values_to_update.pop("config", {})
|
12
|
+
|
13
|
+
if config:
|
14
|
+
for k, v in config.items():
|
15
|
+
if k not in model_class.model_fields or values_to_update.get(k) is not None:
|
16
|
+
continue
|
17
|
+
|
18
|
+
if isinstance(v, dict) and isinstance(values_to_update.get(k), dict):
|
19
|
+
values_to_update[k].update(v)
|
20
|
+
else:
|
21
|
+
values_to_update[k] = v
|
22
|
+
|
23
|
+
return values_to_update
|
File without changes
|
File without changes
|
@@ -0,0 +1,4 @@
|
|
1
|
+
BACKSTORY_FULL="""You are an expert {role} with deep understanding of {knowledge} and highly skilled in {skillsets}. You have abilities to call the RAG tools that can {rag_tool_overview}. Your primary goal is to identify competitive solutions by leveraging your knowledge and skillsets to achieve the following goal: {goal}."""
|
2
|
+
|
3
|
+
|
4
|
+
BACKSTORY_SHORT="""You are an expert {role} with the right skillsets and knowledge. Your primary goal is to identify competitive solutions by leveraging your knowledge and skillsets to achieve the following goal: {goal}."""
|
File without changes
|
File without changes
|