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.
Files changed (88) hide show
  1. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/publish.yml +0 -0
  2. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/publish_testpypi.yml +0 -0
  3. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/run_tests.yml +0 -0
  4. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.github/workflows/security_check.yml +0 -1
  5. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.gitignore +0 -0
  6. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.pre-commit-config.yaml +0 -0
  7. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/.python-version +0 -0
  8. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/LICENSE +0 -0
  9. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/PKG-INFO +26 -25
  10. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/README.md +24 -24
  11. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/SECURITY.md +10 -0
  12. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/db/preprocess.py +0 -0
  13. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/pyproject.toml +2 -1
  14. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/requirements-dev.txt +0 -0
  15. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/requirements.txt +0 -0
  16. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/runtime.txt +0 -0
  17. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/__init__.py +1 -1
  18. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/__init__.py +0 -0
  19. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/i18n.py +0 -0
  20. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/logger.py +1 -6
  21. versionhq-1.1.10.3/src/versionhq/_utils/process_config.py +23 -0
  22. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/rpm_controller.py +0 -0
  23. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/_utils/usage_metrics.py +0 -0
  24. versionhq-1.1.10.3/src/versionhq/agent/TEMPLATES/Backstory.py +4 -0
  25. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/TEMPLATES/__init__.py +0 -0
  26. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/__init__.py +0 -0
  27. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/model.py +143 -109
  28. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/agent/parser.py +0 -0
  29. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/cli/__init__.py +0 -0
  30. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/__init__.py +0 -0
  31. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/customer/__init__.py +0 -0
  32. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/customer/model.py +0 -0
  33. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/product/__init__.py +0 -0
  34. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/product/model.py +1 -1
  35. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/workflow/__init__.py +0 -0
  36. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/clients/workflow/model.py +1 -1
  37. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/llm/__init__.py +0 -0
  38. versionhq-1.1.9.14/src/versionhq/llm/llm_variables.py → versionhq-1.1.10.3/src/versionhq/llm/llm_vars.py +102 -40
  39. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/llm/model.py +112 -76
  40. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/storage/__init__.py +0 -0
  41. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/storage/task_output_storage.py +0 -0
  42. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/__init__.py +0 -0
  43. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/formatter.py +0 -0
  44. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/log_handler.py +0 -0
  45. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/task/model.py +286 -142
  46. versionhq-1.1.10.3/src/versionhq/task/structured_response.py +142 -0
  47. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/__init__.py +0 -0
  48. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/model.py +2 -5
  49. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/team/team_planner.py +12 -13
  50. {versionhq-1.1.9.14/tests → versionhq-1.1.10.3/src/versionhq/tool}/__init__.py +0 -0
  51. versionhq-1.1.10.3/src/versionhq/tool/cache_handler.py +40 -0
  52. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/tool/composio_tool.py +3 -2
  53. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq/tool/decorator.py +5 -6
  54. versionhq-1.1.10.3/src/versionhq/tool/model.py +348 -0
  55. versionhq-1.1.10.3/src/versionhq/tool/tool_handler.py +37 -0
  56. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/PKG-INFO +26 -25
  57. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/SOURCES.txt +4 -2
  58. {versionhq-1.1.9.14/tests/agent → versionhq-1.1.10.3/tests}/__init__.py +0 -0
  59. {versionhq-1.1.9.14/tests/cli → versionhq-1.1.10.3/tests/agent}/__init__.py +0 -0
  60. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/agent/agent_test.py +82 -41
  61. {versionhq-1.1.9.14/tests/llm → versionhq-1.1.10.3/tests/cli}/__init__.py +0 -0
  62. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/customer_test.py +1 -1
  63. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/product_test.py +1 -1
  64. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/clients/workflow_test.py +1 -1
  65. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/conftest.py +0 -0
  66. {versionhq-1.1.9.14/tests/task → versionhq-1.1.10.3/tests/llm}/__init__.py +0 -0
  67. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/llm/llm_test.py +7 -3
  68. versionhq-1.1.10.3/tests/task/__init__.py +53 -0
  69. versionhq-1.1.10.3/tests/task/task_test.py +276 -0
  70. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/Prompts/Demo_test.py +0 -0
  71. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/__init__.py +0 -0
  72. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/team/team_test.py +61 -126
  73. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/tool/__init__.py +0 -0
  74. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/tests/tool/composio_test.py +1 -1
  75. versionhq-1.1.10.3/tests/tool/tool_test.py +137 -0
  76. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/uv.lock +258 -233
  77. versionhq-1.1.9.14/src/versionhq/_utils/cache_handler.py +0 -13
  78. versionhq-1.1.9.14/src/versionhq/_utils/process_config.py +0 -26
  79. versionhq-1.1.9.14/src/versionhq/agent/TEMPLATES/Backstory.py +0 -3
  80. versionhq-1.1.9.14/src/versionhq/tool/model.py +0 -202
  81. versionhq-1.1.9.14/src/versionhq/tool/tool_handler.py +0 -45
  82. versionhq-1.1.9.14/tests/task/task_test.py +0 -320
  83. versionhq-1.1.9.14/tests/tool/tool_test.py +0 -114
  84. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/setup.cfg +0 -0
  85. /versionhq-1.1.9.14/src/versionhq/tool/__init__.py → /versionhq-1.1.10.3/src/versionhq/tool/composio_tool_vars.py +0 -0
  86. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/dependency_links.txt +0 -0
  87. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/requires.txt +0 -0
  88. {versionhq-1.1.9.14 → versionhq-1.1.10.3}/src/versionhq.egg-info/top_level.txt +0 -0
@@ -25,4 +25,3 @@ jobs:
25
25
 
26
26
  - name: Run Bandit
27
27
  run: uv run bandit -c pyproject.toml -r src/ -ll
28
-
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.1.9.14
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
  ![MIT license](https://img.shields.io/badge/License-MIT-green)
62
63
  [![Publisher](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml/badge.svg)](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml)
63
- ![PyPI](https://img.shields.io/badge/PyPI->=v1.1.9-blue)
64
+ ![PyPI](https://img.shields.io/badge/PyPI->=v1.1.10-blue)
64
65
  ![python ver](https://img.shields.io/badge/Python-3.12/3.13-purple)
65
66
  ![pyenv ver](https://img.shields.io/badge/pyenv-2.5.0-orange)
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
- - [Github (Test client app)](https://github.com/versionHQ/test-client-app)
80
- - [Use case](https://versi0n.io/) - client app (alpha)
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
- expected_output_json=True,
166
- expected_output_pydantic=False,
167
- output_field_list=[
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
- callback=None,
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
- output_field_list=[ResponseField(title="test1", type=str, required=True),],
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
- output_field_list=[ResponseField(title="test1", type=int, required=True),],
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. We use 3.12 in this project
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. Fork the repository
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
- 3. Create amazing features
314
+ 2. Create amazing features
314
315
 
315
- 4. Test the features using the `tests` directory.
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` @ settings > secrets & variables > Actions.
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
- 5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
330
- 6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
331
- 7. Push to the branch (`git push origin feature/your-amazing-feature`)
332
- 8. Open a pull request
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
  ![MIT license](https://img.shields.io/badge/License-MIT-green)
4
4
  [![Publisher](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml/badge.svg)](https://github.com/versionHQ/multi-agent-system/actions/workflows/publish.yml)
5
- ![PyPI](https://img.shields.io/badge/PyPI->=v1.1.9-blue)
5
+ ![PyPI](https://img.shields.io/badge/PyPI->=v1.1.10-blue)
6
6
  ![python ver](https://img.shields.io/badge/Python-3.12/3.13-purple)
7
7
  ![pyenv ver](https://img.shields.io/badge/pyenv-2.5.0-orange)
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
- - [Github (Test client app)](https://github.com/versionHQ/test-client-app)
22
- - [Use case](https://versi0n.io/) - client app (alpha)
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
- expected_output_json=True,
108
- expected_output_pydantic=False,
109
- output_field_list=[
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
- callback=None,
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
- output_field_list=[ResponseField(title="test1", type=str, required=True),],
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
- output_field_list=[ResponseField(title="test1", type=int, required=True),],
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. We use 3.12 in this project
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. Fork the repository
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
- 3. Create amazing features
255
+ 2. Create amazing features
256
256
 
257
- 4. Test the features using the `tests` directory.
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` @ settings > secrets & variables > Actions.
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
- 5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
272
- 6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
273
- 7. Push to the branch (`git push origin feature/your-amazing-feature`)
274
- 8. Open a pull request
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
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__"]
15
15
 
16
16
  [project]
17
17
  name = "versionhq"
18
- version = "1.1.9.14"
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
@@ -18,7 +18,7 @@ from versionhq.tool.model import Tool
18
18
  from versionhq.tool.composio_tool import ComposioHandler
19
19
 
20
20
 
21
- __version__ = "1.1.9.14"
21
+ __version__ = "1.1.10.3"
22
22
  __all__ = [
23
23
  "Agent",
24
24
  "Customer",
@@ -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[{timestamp}][{level.upper()}]: {message}", color=color)
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
@@ -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}."""