autobyteus 1.1.6__py3-none-any.whl → 1.1.8__py3-none-any.whl
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.
- autobyteus/agent/context/agent_runtime_state.py +7 -1
- autobyteus/agent/handlers/tool_result_event_handler.py +121 -89
- autobyteus/agent/llm_response_processor/provider_aware_tool_usage_processor.py +7 -1
- autobyteus/agent/tool_invocation.py +25 -1
- autobyteus/agent_team/agent_team_builder.py +22 -1
- autobyteus/agent_team/context/agent_team_runtime_state.py +0 -2
- autobyteus/llm/llm_factory.py +25 -57
- autobyteus/llm/ollama_provider_resolver.py +1 -0
- autobyteus/llm/providers.py +1 -0
- autobyteus/llm/token_counter/token_counter_factory.py +2 -0
- autobyteus/multimedia/audio/audio_model.py +2 -1
- autobyteus/multimedia/image/image_model.py +2 -1
- autobyteus/task_management/tools/publish_task_plan.py +4 -16
- autobyteus/task_management/tools/update_task_status.py +4 -19
- autobyteus/tools/__init__.py +2 -4
- autobyteus/tools/base_tool.py +98 -29
- autobyteus/tools/browser/standalone/__init__.py +0 -1
- autobyteus/tools/google_search.py +149 -0
- autobyteus/tools/mcp/schema_mapper.py +29 -71
- autobyteus/tools/multimedia/audio_tools.py +3 -3
- autobyteus/tools/multimedia/image_tools.py +5 -5
- autobyteus/tools/parameter_schema.py +82 -89
- autobyteus/tools/pydantic_schema_converter.py +81 -0
- autobyteus/tools/usage/formatters/default_json_example_formatter.py +89 -20
- autobyteus/tools/usage/formatters/default_xml_example_formatter.py +115 -41
- autobyteus/tools/usage/formatters/default_xml_schema_formatter.py +50 -20
- autobyteus/tools/usage/formatters/gemini_json_example_formatter.py +55 -22
- autobyteus/tools/usage/formatters/google_json_example_formatter.py +54 -21
- autobyteus/tools/usage/formatters/openai_json_example_formatter.py +53 -23
- autobyteus/tools/usage/parsers/default_xml_tool_usage_parser.py +270 -94
- autobyteus/tools/usage/providers/tool_manifest_provider.py +39 -14
- autobyteus-1.1.8.dist-info/METADATA +204 -0
- {autobyteus-1.1.6.dist-info → autobyteus-1.1.8.dist-info}/RECORD +39 -40
- examples/run_google_slides_agent.py +2 -2
- examples/run_mcp_google_slides_client.py +1 -1
- examples/run_sqlite_agent.py +1 -1
- autobyteus/tools/ask_user_input.py +0 -40
- autobyteus/tools/browser/standalone/factory/google_search_factory.py +0 -25
- autobyteus/tools/browser/standalone/google_search_ui.py +0 -126
- autobyteus-1.1.6.dist-info/METADATA +0 -161
- {autobyteus-1.1.6.dist-info → autobyteus-1.1.8.dist-info}/WHEEL +0 -0
- {autobyteus-1.1.6.dist-info → autobyteus-1.1.8.dist-info}/licenses/LICENSE +0 -0
- {autobyteus-1.1.6.dist-info → autobyteus-1.1.8.dist-info}/top_level.txt +0 -0
|
@@ -16,14 +16,36 @@ class ToolManifestProvider:
|
|
|
16
16
|
"""
|
|
17
17
|
Generates a complete tool manifest string, which includes the schema
|
|
18
18
|
and an example for each provided tool. This is suitable for injection
|
|
19
|
+
|
|
19
20
|
into a system prompt. It uses the central ToolFormattingRegistry to get
|
|
20
21
|
the correct formatters for the specified provider.
|
|
21
22
|
"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
# --- XML Specific Headers and Guidelines ---
|
|
24
|
+
XML_SCHEMA_HEADER = "## Tool Definition:"
|
|
25
|
+
XML_EXAMPLE_HEADER = "## Tool Usage Examples and Guidelines:"
|
|
26
|
+
XML_GENERAL_GUIDELINES = (
|
|
27
|
+
"To use this tool, you must construct an XML block exactly like the examples below. "
|
|
28
|
+
"Ensure all tags are correctly named and nested. Pay close attention to how arguments, "
|
|
29
|
+
"especially complex ones like lists and objects, are formatted."
|
|
30
|
+
)
|
|
31
|
+
XML_ARRAY_GUIDELINES = (
|
|
32
|
+
"Formatting Lists/Arrays: For any argument that is a list (an array), you MUST wrap each "
|
|
33
|
+
"individual value in its own `<item>` tag. Do not use comma-separated strings or JSON-style `[...]` arrays within a single tag.\n\n"
|
|
34
|
+
"Correct:\n"
|
|
35
|
+
'<arg name="dependencies">\n'
|
|
36
|
+
' <item>task_1</item>\n'
|
|
37
|
+
' <item>task_2</item>\n'
|
|
38
|
+
'</arg>\n\n'
|
|
39
|
+
"Incorrect:\n"
|
|
40
|
+
'<arg name="dependencies">[task_1, task_2]</arg>\n'
|
|
41
|
+
'<arg name="dependencies">task_1, task_2</arg>'
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# --- JSON Specific Headers ---
|
|
45
|
+
JSON_SCHEMA_HEADER = "## Tool Definition:"
|
|
25
46
|
JSON_EXAMPLE_HEADER = "Example: To use this tool, you could provide the following JSON object as a tool call:"
|
|
26
47
|
|
|
48
|
+
|
|
27
49
|
def __init__(self):
|
|
28
50
|
self._formatting_registry = ToolFormattingRegistry()
|
|
29
51
|
logger.debug("ToolManifestProvider initialized.")
|
|
@@ -45,33 +67,36 @@ class ToolManifestProvider:
|
|
|
45
67
|
"""
|
|
46
68
|
tool_blocks = []
|
|
47
69
|
|
|
48
|
-
# Get the correct formatting pair from the registry, passing the override flag.
|
|
49
70
|
formatter_pair = self._formatting_registry.get_formatter_pair(provider, use_xml_tool_format=use_xml_tool_format)
|
|
50
71
|
schema_formatter = formatter_pair.schema_formatter
|
|
51
72
|
example_formatter = formatter_pair.example_formatter
|
|
52
73
|
|
|
53
|
-
# Determine if the chosen formatter is XML-based. This determines the final assembly format.
|
|
54
74
|
is_xml_format = isinstance(schema_formatter, DefaultXmlSchemaFormatter)
|
|
55
75
|
|
|
56
76
|
for td in tool_definitions:
|
|
57
77
|
try:
|
|
58
78
|
schema = schema_formatter.provide(td)
|
|
59
|
-
example = example_formatter.provide(td)
|
|
79
|
+
example = example_formatter.provide(td) # This is now a pre-formatted string for both XML and JSON
|
|
60
80
|
|
|
61
81
|
if schema and example:
|
|
62
82
|
if is_xml_format:
|
|
63
|
-
tool_blocks.append(f"{self.
|
|
64
|
-
else:
|
|
65
|
-
#
|
|
83
|
+
tool_blocks.append(f"{self.XML_SCHEMA_HEADER}\n{schema}\n\n{self.XML_EXAMPLE_HEADER}\n{example}")
|
|
84
|
+
else:
|
|
85
|
+
# For JSON, the schema is a dict, but the example is now a pre-formatted string.
|
|
66
86
|
schema_str = json.dumps(schema, indent=2)
|
|
67
|
-
|
|
68
|
-
tool_blocks.append(f"{self.
|
|
87
|
+
# FIX: Do NOT call json.dumps() on the 'example' variable, as it is already a string.
|
|
88
|
+
tool_blocks.append(f"{self.JSON_SCHEMA_HEADER}\n{schema_str}\n\n{self.JSON_EXAMPLE_HEADER}\n{example}")
|
|
69
89
|
else:
|
|
70
90
|
logger.warning(f"Could not generate schema or example for tool '{td.name}' using format {'XML' if is_xml_format else 'JSON'}.")
|
|
71
91
|
|
|
72
92
|
except Exception as e:
|
|
73
93
|
logger.error(f"Failed to generate manifest block for tool '{td.name}': {e}", exc_info=True)
|
|
74
94
|
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
# Assemble the final manifest string
|
|
96
|
+
manifest_content = "\n\n---\n\n".join(tool_blocks)
|
|
97
|
+
|
|
98
|
+
if is_xml_format and manifest_content:
|
|
99
|
+
# Prepend the general guidelines for XML format
|
|
100
|
+
return f"{self.XML_GENERAL_GUIDELINES}\n\n{self.XML_ARRAY_GUIDELINES}\n\n---\n\n{manifest_content}"
|
|
101
|
+
|
|
102
|
+
return manifest_content
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: autobyteus
|
|
3
|
+
Version: 1.1.8
|
|
4
|
+
Summary: Multi-Agent framework
|
|
5
|
+
Home-page: https://github.com/AutoByteus/autobyteus
|
|
6
|
+
Author: Ryan Zheng
|
|
7
|
+
Author-email: ryan.zheng.work@gmail.com
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Requires-Python: >=3.8
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: aiohttp
|
|
18
|
+
Requires-Dist: anthropic
|
|
19
|
+
Requires-Dist: autobyteus-llm-client==1.1.3
|
|
20
|
+
Requires-Dist: beautifulsoup4
|
|
21
|
+
Requires-Dist: boto3
|
|
22
|
+
Requires-Dist: botocore
|
|
23
|
+
Requires-Dist: brui-core==1.0.9
|
|
24
|
+
Requires-Dist: certifi==2025.4.26
|
|
25
|
+
Requires-Dist: google-api-python-client
|
|
26
|
+
Requires-Dist: google-generativeai
|
|
27
|
+
Requires-Dist: Jinja2
|
|
28
|
+
Requires-Dist: mcp[cli]
|
|
29
|
+
Requires-Dist: mistral_common
|
|
30
|
+
Requires-Dist: mistralai
|
|
31
|
+
Requires-Dist: numpy
|
|
32
|
+
Requires-Dist: ollama
|
|
33
|
+
Requires-Dist: openai
|
|
34
|
+
Requires-Dist: requests
|
|
35
|
+
Requires-Dist: rich
|
|
36
|
+
Requires-Dist: textual
|
|
37
|
+
Requires-Dist: tiktoken
|
|
38
|
+
Requires-Dist: tokenizers
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: coverage; extra == "dev"
|
|
41
|
+
Requires-Dist: flake8; extra == "dev"
|
|
42
|
+
Requires-Dist: numpy; extra == "dev"
|
|
43
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
44
|
+
Requires-Dist: black; extra == "dev"
|
|
45
|
+
Requires-Dist: isort; extra == "dev"
|
|
46
|
+
Requires-Dist: gitpython==3.1.31; extra == "dev"
|
|
47
|
+
Requires-Dist: auto-gpt-plugin-template; extra == "dev"
|
|
48
|
+
Requires-Dist: mkdocs; extra == "dev"
|
|
49
|
+
Requires-Dist: pytest; extra == "dev"
|
|
50
|
+
Requires-Dist: asynctest; extra == "dev"
|
|
51
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
52
|
+
Requires-Dist: pytest-benchmark; extra == "dev"
|
|
53
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
54
|
+
Requires-Dist: pytest-integration; extra == "dev"
|
|
55
|
+
Requires-Dist: pytest-mock; extra == "dev"
|
|
56
|
+
Requires-Dist: vcrpy; extra == "dev"
|
|
57
|
+
Requires-Dist: pytest-vcr; extra == "dev"
|
|
58
|
+
Requires-Dist: load_dotenv; extra == "dev"
|
|
59
|
+
Dynamic: author
|
|
60
|
+
Dynamic: author-email
|
|
61
|
+
Dynamic: classifier
|
|
62
|
+
Dynamic: description
|
|
63
|
+
Dynamic: description-content-type
|
|
64
|
+
Dynamic: home-page
|
|
65
|
+
Dynamic: license-file
|
|
66
|
+
Dynamic: provides-extra
|
|
67
|
+
Dynamic: requires-dist
|
|
68
|
+
Dynamic: requires-python
|
|
69
|
+
Dynamic: summary
|
|
70
|
+
|
|
71
|
+
# Autobyteus
|
|
72
|
+
|
|
73
|
+
Autobyteus is an open-source, application-first agentic framework for Python. It is designed to help developers build, test, and deploy complex, stateful, and extensible AI agents by providing a robust architecture and a powerful set of tools.
|
|
74
|
+
|
|
75
|
+

|
|
76
|
+
|
|
77
|
+
## Architecture
|
|
78
|
+
|
|
79
|
+
Autobyteus is built with a modular, event-driven architecture designed for extensibility and clear separation of concerns. The key components are:
|
|
80
|
+
|
|
81
|
+
- **Agent Core**: The heart of the system. Each agent is a stateful, autonomous entity that runs as a background process in its own thread, managed by a dedicated `AgentWorker`. This design makes every agent a truly independent entity capable of handling long-running tasks.
|
|
82
|
+
- **Agent Teams**: The framework provides powerful constructs for building hierarchical multi-agent systems. The `AgentTeam` module allows you to compose teams of individual agents and even nest teams within other teams, enabling sophisticated, real-world organizational structures and delegation patterns.
|
|
83
|
+
- **Context & Configuration**: Agent behavior is defined through a static configuration (`AgentConfig`) and its dynamic state is managed in `AgentRuntimeState`. These are bundled into a comprehensive `AgentContext` that is passed to all components, providing a single source of truth.
|
|
84
|
+
- **Event-Driven System**: Agents operate on an internal `asyncio` event loop. User messages, tool results, and internal signals are handled as events, which are processed by dedicated `EventHandlers`. This decouples logic and makes the system highly extensible.
|
|
85
|
+
- **Pluggable Processors & Hooks**: The framework provides a chain of extension points to inject custom logic at every major step of an agent's reasoning loop. This architecture powers features like flexible tool format parsing. You can customize behavior by implementing:
|
|
86
|
+
- **`InputProcessors`**: To modify or enrich user messages *before* they are sent to the LLM.
|
|
87
|
+
- **`LLMResponseProcessors`**: To parse the LLM's raw output and extract structured actions, such as tool calls.
|
|
88
|
+
- **`ToolExecutionResultProcessors`**: To modify the result from a tool *before* it is sent back to the LLM for the next step of reasoning.
|
|
89
|
+
- **`PhaseHooks`**: To run custom code on specific agent lifecycle transitions (e.g., when an agent becomes `IDLE`).
|
|
90
|
+
- **Context-Aware Tooling**: Tools are first-class citizens that receive the agent's full `AgentContext` during execution. This allows tools to be deeply integrated with the agent's state, configuration, and workspace, enabling more intelligent and powerful actions.
|
|
91
|
+
- **Tool Approval Flow**: The framework has native support for human-in-the-loop workflows. By setting `auto_execute_tools=False` in the agent's configuration, the agent will pause before executing a tool, emit an event requesting permission, and wait for external approval before proceeding.
|
|
92
|
+
- **MCP Integration**: The framework has native support for the Model Context Protocol (MCP). This allows agents to discover and use tools from external, language-agnostic tool servers, making the ecosystem extremely flexible and ready for enterprise integration.
|
|
93
|
+
|
|
94
|
+
## Key Features
|
|
95
|
+
|
|
96
|
+
#### 📊 Interactive TUI Dashboard
|
|
97
|
+
Launch and monitor your agent teams with our built-in Textual-based TUI.
|
|
98
|
+
- **Hierarchical View**: See the structure of your team, including sub-teams and their agents.
|
|
99
|
+
- **Real-Time Status**: Agent and team statuses are updated live, showing you who is idle, thinking, or executing a tool.
|
|
100
|
+
- **Detailed Logs**: Select any agent to view a detailed, streaming log of their thoughts, actions, and tool interactions.
|
|
101
|
+
- **Live Task Board**: Watch your team's `TaskBoard` update in real-time as the coordinator publishes a plan and agents complete their tasks.
|
|
102
|
+
|
|
103
|
+
| TUI - Detailed Agent Log | TUI - Task Board with Completed Task |
|
|
104
|
+
| :---: | :---: |
|
|
105
|
+
|  |  |
|
|
106
|
+
|
|
107
|
+
#### 🏗️ Fluent Team Building
|
|
108
|
+
Define complex agent and team structures with an intuitive, fluent API. The `AgentTeamBuilder` makes composing your team simple and readable.
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
# --- From the Multi-Researcher Team Example ---
|
|
112
|
+
research_team = (
|
|
113
|
+
AgentTeamBuilder(
|
|
114
|
+
name="MultiSpecialistResearchTeam",
|
|
115
|
+
description="A team for delegating to multiple specialists."
|
|
116
|
+
)
|
|
117
|
+
.set_coordinator(coordinator_config)
|
|
118
|
+
.add_agent_node(researcher_web_config)
|
|
119
|
+
.add_agent_node(researcher_db_config)
|
|
120
|
+
.build()
|
|
121
|
+
)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 🔁 Flexible Tool Formatting (JSON & XML)
|
|
125
|
+
Autobyteus intelligently handles tool communication with LLMs while giving you full control.
|
|
126
|
+
- **Provider-Aware by Default**: The framework automatically generates tool manifests and parses responses in the optimal format for the selected LLM provider (e.g., JSON for OpenAI/Gemini, XML for Anthropic).
|
|
127
|
+
- **XML Override for Efficiency**: You can set `use_xml_tool_format=True` on an `AgentConfig` or `AgentTeamBuilder` to force the use of XML for tool calls, which can be more efficient and reliable than JSON for complex tool schemas.
|
|
128
|
+
|
|
129
|
+
#### 📈 Flexible Communication Protocols
|
|
130
|
+
Choose the collaboration pattern that best fits your use case with configurable `TaskNotificationMode`s.
|
|
131
|
+
- **`AGENT_MANUAL_NOTIFICATION` (Default)**: A traditional approach where a coordinator agent is responsible for creating a plan and then explicitly notifying other agents to begin their work via messages.
|
|
132
|
+
- **`SYSTEM_EVENT_DRIVEN`**: A more automated approach where the coordinator's only job is to publish a plan to the `TaskBoard`. The framework then monitors the board and automatically notifies agents when their tasks become unblocked, enabling parallel execution and reducing coordinator overhead.
|
|
133
|
+
|
|
134
|
+
## Requirements
|
|
135
|
+
|
|
136
|
+
- **Python Version**: Python 3.11 is the recommended and tested version for this project. Using newer versions of Python may result in dependency conflicts when installing the required packages. For a stable and tested environment, please use Python 3.11.
|
|
137
|
+
|
|
138
|
+
## Getting Started
|
|
139
|
+
|
|
140
|
+
### Installation
|
|
141
|
+
|
|
142
|
+
1. **Clone the repository:**
|
|
143
|
+
```bash
|
|
144
|
+
git clone https://github.com/your-username/autobyteus.git
|
|
145
|
+
cd autobyteus
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
2. **For users:**
|
|
149
|
+
To install Autobyteus and its core dependencies:
|
|
150
|
+
```bash
|
|
151
|
+
pip install .
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
3. **For developers:**
|
|
155
|
+
To install Autobyteus with all development and example dependencies (including the TUI):
|
|
156
|
+
```bash
|
|
157
|
+
pip install -r requirements-dev.txt
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
4. **Set up Environment Variables:**
|
|
161
|
+
Create a `.env` file in the root of the project and add your LLM provider API keys:
|
|
162
|
+
```
|
|
163
|
+
# .env
|
|
164
|
+
OPENAI_API_KEY="sk-..."
|
|
165
|
+
KIMI_API_KEY="your-kimi-api-key"
|
|
166
|
+
# etc.
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Running the Examples
|
|
170
|
+
|
|
171
|
+
The best way to experience Autobyteus is to run one of the included examples. The event-driven software engineering team is a great showcase of the framework's capabilities.
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Run the event-driven software engineering team example
|
|
175
|
+
python autobyteus/examples/agent_team/event_driven/run_software_engineering_team.py --llm-model gpt-4o
|
|
176
|
+
|
|
177
|
+
# Run the hierarchical debate team example
|
|
178
|
+
python autobyteus/examples/agent_team/manual_notification/run_debate_team.py --llm-model gpt-4-turbo
|
|
179
|
+
```
|
|
180
|
+
You can see all available models and their identifiers by running an example with the `--help-models` flag.
|
|
181
|
+
|
|
182
|
+
### Building the Library
|
|
183
|
+
|
|
184
|
+
To build Autobyteus as a distributable package, follow these steps:
|
|
185
|
+
|
|
186
|
+
1. Ensure you have the latest version of `setuptools` and `wheel` installed:
|
|
187
|
+
```
|
|
188
|
+
pip install --upgrade setuptools wheel
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
2. Build the distribution packages:
|
|
192
|
+
```
|
|
193
|
+
python setup.py sdist bdist_wheel
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
This will create a `dist` directory containing the built `sdist` and `wheel` distributions.
|
|
197
|
+
|
|
198
|
+
## Contributing
|
|
199
|
+
|
|
200
|
+
(Add guidelines for contributing to the project)
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
This project is licensed under the MIT License.
|
|
@@ -5,7 +5,7 @@ autobyteus/agent/agent.py,sha256=OLHU73lGlfbrwqke3cpnY8HE5zZEvYb0Cqqsxu_LKD0,492
|
|
|
5
5
|
autobyteus/agent/exceptions.py,sha256=tfXvey5SkT70X6kcu29o8YO91KB0hI9_uLrba91_G2s,237
|
|
6
6
|
autobyteus/agent/remote_agent.py,sha256=DPhAWobptj82HZaACbtLkXQBYIotgr3yZ6u4D9TJmeE,14458
|
|
7
7
|
autobyteus/agent/sender_type.py,sha256=Qlj2GBGVHXCRAKj7CMkd416bO_qcudoY730iM-LfJfM,559
|
|
8
|
-
autobyteus/agent/tool_invocation.py,sha256=
|
|
8
|
+
autobyteus/agent/tool_invocation.py,sha256=oEtzk5g2T2mRLatebkSYcUbyz1JwF2ybBxd92yTKb28,3217
|
|
9
9
|
autobyteus/agent/bootstrap_steps/__init__.py,sha256=k3_J4MXu7PaTuUXK-D2Uax8kh4BnSNm22sDlQw6GFA4,906
|
|
10
10
|
autobyteus/agent/bootstrap_steps/agent_bootstrapper.py,sha256=tPxD4yQ_i3-rl9XOGaKrLMdpymBqrzHkkkzRW0xhPBw,4336
|
|
11
11
|
autobyteus/agent/bootstrap_steps/agent_runtime_queue_initialization_step.py,sha256=wulFdVAwR4jTZtJgHwLYf07r76KKCKpwa1Cho2AqjSw,3265
|
|
@@ -17,7 +17,7 @@ autobyteus/agent/context/__init__.py,sha256=1an2L4sKJ1tYbJKAhCLSw-oYzt5_lmUwh1SY
|
|
|
17
17
|
autobyteus/agent/context/agent_config.py,sha256=q04ohaBP8Wq2V0nK96YngFSLWCX7R02aAYfbIMRzAJc,6726
|
|
18
18
|
autobyteus/agent/context/agent_context.py,sha256=3Vd1c4EF6JY7rOKar7TQSXNNSNnpB-hYuhGqVQdi52g,5726
|
|
19
19
|
autobyteus/agent/context/agent_context_registry.py,sha256=GqwKn0EKKTRv6Vwwrb5kMRrwD9uH5NCh_Nvtmw82QTo,2748
|
|
20
|
-
autobyteus/agent/context/agent_runtime_state.py,sha256=
|
|
20
|
+
autobyteus/agent/context/agent_runtime_state.py,sha256=H4b3gGJkPW7DUgtFrnRcnp8yIg1HkzzHx5U5HQ6ddJ4,5523
|
|
21
21
|
autobyteus/agent/events/__init__.py,sha256=8AL83PBRLkEptTzPznn_XpGXq2-S56Yxx3WarNcsc3U,1507
|
|
22
22
|
autobyteus/agent/events/agent_events.py,sha256=plrBY3Cr_nUhrwvkpED_2qyPq2Slc0ciiupsWdPvmwo,3821
|
|
23
23
|
autobyteus/agent/events/agent_input_event_queue_manager.py,sha256=VfynrdVSPkKEH94yg9p1WBOoV52JQX8MRJhJ-GU7fcY,10461
|
|
@@ -36,7 +36,7 @@ autobyteus/agent/handlers/llm_complete_response_received_event_handler.py,sha256
|
|
|
36
36
|
autobyteus/agent/handlers/llm_user_message_ready_event_handler.py,sha256=4WgDXUY4rmjpP44X2THKMAt2NpAZ5GukPqVNmLt6XJM,9064
|
|
37
37
|
autobyteus/agent/handlers/tool_execution_approval_event_handler.py,sha256=Tda_LrlIPbEwVzf1I6u4Vb9sPmAbGQRqT_2-Q9ukLhw,4489
|
|
38
38
|
autobyteus/agent/handlers/tool_invocation_request_event_handler.py,sha256=AjNGQgRCQkjXvYThd_AaPj0Lzh1adEkhYJO83alxVAY,10957
|
|
39
|
-
autobyteus/agent/handlers/tool_result_event_handler.py,sha256=
|
|
39
|
+
autobyteus/agent/handlers/tool_result_event_handler.py,sha256=wecvtww_MuS1ekv_WexWGlR11bP96N46dK6uoWkXpHo,8370
|
|
40
40
|
autobyteus/agent/handlers/user_input_message_event_handler.py,sha256=WBV_yFILqEEGbwhzPxKRKdTZcbJosvRIXAs8m1jOHi4,4937
|
|
41
41
|
autobyteus/agent/hooks/__init__.py,sha256=a1do0Ribb2Hpf9t0Xqxhf3Ls7R6EQuWJtfTGQK7VjUM,495
|
|
42
42
|
autobyteus/agent/hooks/base_phase_hook.py,sha256=7JU3FgPzX06Yg6eJgB4GXzXcaWTpOcEMmyw5Ku0mwJk,2040
|
|
@@ -53,7 +53,7 @@ autobyteus/agent/llm_response_processor/base_processor.py,sha256=U9oKMwbz_oYYw__
|
|
|
53
53
|
autobyteus/agent/llm_response_processor/processor_definition.py,sha256=AMLmiL8dMlTpmBKmQrqrfNTfwJLyL6kLHYGqJ-Ly8bE,1464
|
|
54
54
|
autobyteus/agent/llm_response_processor/processor_meta.py,sha256=RC32R5SVTSpBEOdexVh_SOTIydv0_ElWGP7PsXB-q_Q,1813
|
|
55
55
|
autobyteus/agent/llm_response_processor/processor_registry.py,sha256=K31pYAujCqnuVXLd_c7gekJfczkagfLC2nI6TciWKBU,4768
|
|
56
|
-
autobyteus/agent/llm_response_processor/provider_aware_tool_usage_processor.py,sha256=
|
|
56
|
+
autobyteus/agent/llm_response_processor/provider_aware_tool_usage_processor.py,sha256=2IedGKFQ3Km5bsTWS9QVLya8x8aLV3RCH3Uv8jzAwUE,4049
|
|
57
57
|
autobyteus/agent/message/__init__.py,sha256=vIgKdHwCaRsaJNdi9jmGnenUZjrOhHq8hO0eZsi48hE,759
|
|
58
58
|
autobyteus/agent/message/agent_input_user_message.py,sha256=atIxZxWtqyePyqFfK8EszWIt9ny6G1AEs3hdfIaFQv0,4032
|
|
59
59
|
autobyteus/agent/message/context_file.py,sha256=161HOu_m7923GU9kI_EDEWtVckb2nuTyqDunBq8H2kg,3311
|
|
@@ -103,7 +103,7 @@ autobyteus/agent/workspace/workspace_meta.py,sha256=xuw1-lYQiK5YyyDDc_5uT3uOGL0F
|
|
|
103
103
|
autobyteus/agent/workspace/workspace_registry.py,sha256=A_wADwvZOm1XutBgkn_-FBkqb4tS1fRtALrKe2XRDhw,3182
|
|
104
104
|
autobyteus/agent_team/__init__.py,sha256=JzL7W4KLKQdFpV3WLAZJp0dM5DQWgD3xAqLr-iRoEas,53
|
|
105
105
|
autobyteus/agent_team/agent_team.py,sha256=M3GNiBgCTiYbbaGB4VquRHhPoLN8D9Hladv6hLJ_IrA,3722
|
|
106
|
-
autobyteus/agent_team/agent_team_builder.py,sha256
|
|
106
|
+
autobyteus/agent_team/agent_team_builder.py,sha256=E4zDq9ZozHVwcm_ZXZQY0F5GcfXI9sMVrd0CL5RdQj0,9275
|
|
107
107
|
autobyteus/agent_team/base_agent_team.py,sha256=AtTCt0upZjbV5Jj-2wFI54lzUsYHkstErttIZXQOJL0,3199
|
|
108
108
|
autobyteus/agent_team/exceptions.py,sha256=24kOHkJoyW1AKF7KQPuy8HIEpqzcYm3N_kl7W5CluSc,389
|
|
109
109
|
autobyteus/agent_team/bootstrap_steps/__init__.py,sha256=Gw7ohC8lTB1h2IMKZkxn2Sp7eEjmr_BC0kwpIjn-xKg,1398
|
|
@@ -118,7 +118,7 @@ autobyteus/agent_team/bootstrap_steps/team_context_initialization_step.py,sha256
|
|
|
118
118
|
autobyteus/agent_team/context/__init__.py,sha256=drrtG4m5HFNxJgtpucBmTA81TlbQaSgNXww38ChgwzE,667
|
|
119
119
|
autobyteus/agent_team/context/agent_team_config.py,sha256=kA7BTHiPeM9iyN1Gg6acZP9WBhb7VHOvBnaCDA8juaY,1589
|
|
120
120
|
autobyteus/agent_team/context/agent_team_context.py,sha256=_QC-JyvH6Ld2Ysm-EubxbjqzJ1LLvrUkNAfUWKnulmo,2682
|
|
121
|
-
autobyteus/agent_team/context/agent_team_runtime_state.py,sha256=
|
|
121
|
+
autobyteus/agent_team/context/agent_team_runtime_state.py,sha256=aYI4_J0km9g1YVWVA7EzhU-M_B89lqclJVZf-hhg3wY,2812
|
|
122
122
|
autobyteus/agent_team/context/team_manager.py,sha256=m5_cjIwznicSHTq0HHquZrsn14DmvrTR94xzuaaC7NM,7287
|
|
123
123
|
autobyteus/agent_team/context/team_node_config.py,sha256=V_Ng_YoOcAXkujW6Y1STg39YKzcmMrZvgAgBDORO38Y,3186
|
|
124
124
|
autobyteus/agent_team/events/__init__.py,sha256=H2JMNRxeEmzIpbUFWmNR2IaIPXgcz301UIEQ8Yn0AuY,971
|
|
@@ -190,12 +190,12 @@ autobyteus/events/event_types.py,sha256=yFfCwSAWth-LCULklW2wjNp2pfZjjEow-_PMIcBa
|
|
|
190
190
|
autobyteus/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
191
|
autobyteus/llm/autobyteus_provider.py,sha256=SQ_RsGVc1ElHQNLebxMG_8Ohm7ff5Y2cLlGbROTcOmI,8242
|
|
192
192
|
autobyteus/llm/base_llm.py,sha256=OCiInGSNApZ-bcrdEMt3siOFwNkB9UwFGfqVNYImzEo,8036
|
|
193
|
-
autobyteus/llm/llm_factory.py,sha256=
|
|
193
|
+
autobyteus/llm/llm_factory.py,sha256=jeRIZoA5QArtNzQKC6VVWEVcHy2-z4evRiIL2_Qicxs,18601
|
|
194
194
|
autobyteus/llm/lmstudio_provider.py,sha256=RkM_drORSZ2zcSxN2Th5Upiva2oesIPw-6viqe2w9dY,4315
|
|
195
195
|
autobyteus/llm/models.py,sha256=ownBklNZrtJ_HWeMexa2T3s9TjWG0xggOt7wYrRs2l4,6963
|
|
196
196
|
autobyteus/llm/ollama_provider.py,sha256=CfcgC-DEWULjTwJiWazB5IXjErEyy1zZ41glrWhpj0g,4427
|
|
197
|
-
autobyteus/llm/ollama_provider_resolver.py,sha256=
|
|
198
|
-
autobyteus/llm/providers.py,sha256=
|
|
197
|
+
autobyteus/llm/ollama_provider_resolver.py,sha256=EI0lTqhejSeuFkJCLF0cPQ2PSmCjXjcXNSryvwvNBYg,1851
|
|
198
|
+
autobyteus/llm/providers.py,sha256=7Dm9JQpwMZHV__sYNGuLzQfK3ZaW0AAbryKDl26V8ys,372
|
|
199
199
|
autobyteus/llm/runtimes.py,sha256=MzFNo3R1U3uWYAkuk-uuaba01Y0dDKQgVY_ElH_0dxU,315
|
|
200
200
|
autobyteus/llm/user_message.py,sha256=2hmICY_W7lwjYco3qT4zY1ELsBkpyxR2CjOgh33NMq0,3546
|
|
201
201
|
autobyteus/llm/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -224,7 +224,7 @@ autobyteus/llm/token_counter/deepseek_token_counter.py,sha256=YWCng71H6h5ZQX0Drj
|
|
|
224
224
|
autobyteus/llm/token_counter/kimi_token_counter.py,sha256=KuzgcbSWiqybCKHaukd-n917zEgUFebGXMAxlkZxue8,854
|
|
225
225
|
autobyteus/llm/token_counter/mistral_token_counter.py,sha256=YAUPqksnonTQRd1C7NjjFUPsjEDq_AKWxTc5GNTVGqU,4760
|
|
226
226
|
autobyteus/llm/token_counter/openai_token_counter.py,sha256=hGpKSo52NjtLKU8ZMHr76243wglFkfM9-ycSXJW-cwE,2811
|
|
227
|
-
autobyteus/llm/token_counter/token_counter_factory.py,sha256=
|
|
227
|
+
autobyteus/llm/token_counter/token_counter_factory.py,sha256=1xYYJoX7DyOgQz54a8_P24I8NHgKNsa8WZ7bLQEHRFQ,2193
|
|
228
228
|
autobyteus/llm/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
229
|
autobyteus/llm/utils/llm_config.py,sha256=yzRlUmeyGkKvb-jfywGaR3tWGeQ2l6f8GZ8KdFzHNDk,9911
|
|
230
230
|
autobyteus/llm/utils/media_payload_formatter.py,sha256=S-pZxIlGHuKzzrHbqv7SUx99BfYlZ7dVUGcUrGDShF0,3676
|
|
@@ -239,7 +239,7 @@ autobyteus/multimedia/providers.py,sha256=onG9G_NuzhWe0Fg9N73aXls0D081lvP0-RVEBC
|
|
|
239
239
|
autobyteus/multimedia/runtimes.py,sha256=mgmA06Ng7Gh6UW6YNi0O5CmwV6oDw3kX2qxLssUqG0o,180
|
|
240
240
|
autobyteus/multimedia/audio/__init__.py,sha256=RsUo63rEz8_HLJ7RonaSrYkoDKwhBmHomeseTnBX-Hg,287
|
|
241
241
|
autobyteus/multimedia/audio/audio_client_factory.py,sha256=v8iPQmXB0NR18Rvh2rnHTlKRgWeVWQHJE7F1zrwjCT4,5356
|
|
242
|
-
autobyteus/multimedia/audio/audio_model.py,sha256=
|
|
242
|
+
autobyteus/multimedia/audio/audio_model.py,sha256=bhBovsaw9yAYZNlpB3-gObtRoClzoQUaxwGInHt0iVM,3745
|
|
243
243
|
autobyteus/multimedia/audio/autobyteus_audio_provider.py,sha256=wjtkVuma0QzTlAnpHJ-k1_8hewcbhuPw2zxDcx2o_dw,4761
|
|
244
244
|
autobyteus/multimedia/audio/base_audio_client.py,sha256=Y0iquuQgfhpipgAg8svm27psLs3pdEJOH4yqme-y7Dk,1410
|
|
245
245
|
autobyteus/multimedia/audio/api/__init__.py,sha256=_LHCfFqfwvbr0qSTLlioTcnb_EnfZtY1usY6nHegr1k,168
|
|
@@ -249,7 +249,7 @@ autobyteus/multimedia/image/__init__.py,sha256=YWwPtRgbTtPoZBgAmjt87P-pTREOZEpJz
|
|
|
249
249
|
autobyteus/multimedia/image/autobyteus_image_provider.py,sha256=JBQS36ZZFZ62EIEWeapSe93q6jUYotcxm1bCsPLT2UI,4871
|
|
250
250
|
autobyteus/multimedia/image/base_image_client.py,sha256=CAqr1YdpLpd7LiJocQtUFYlykkygPa4ls6i-CAmUkBY,2643
|
|
251
251
|
autobyteus/multimedia/image/image_client_factory.py,sha256=hOldDy5phvTKM8-dVSVP35eI8GwRld7bSLEp1GRZfuU,5453
|
|
252
|
-
autobyteus/multimedia/image/image_model.py,sha256=
|
|
252
|
+
autobyteus/multimedia/image/image_model.py,sha256=_Cb7up7zumdHa9F09D1VqEHmySn6vhUFTyo6rcwfy54,3745
|
|
253
253
|
autobyteus/multimedia/image/api/__init__.py,sha256=Vh_FC_6rxcPhJqFpAvgv3yBqHYVmxrzjyVSSrCM7rww,255
|
|
254
254
|
autobyteus/multimedia/image/api/autobyteus_image_client.py,sha256=XsYINBbW8oUktP6YTWHRIl0bbC8vUc8MJVzTQQh1ZRI,3901
|
|
255
255
|
autobyteus/multimedia/image/api/gemini_image_client.py,sha256=O-WrUoUuBTMLB17shqoX202aNzA0RdzCsDY4Kdu76lA,7663
|
|
@@ -303,15 +303,16 @@ autobyteus/task_management/schemas/plan_definition.py,sha256=oaudmKfkNK8foWVa0zd
|
|
|
303
303
|
autobyteus/task_management/schemas/task_status_report.py,sha256=TSWGmbue3-ag0bZziB5PWao5burcvZYa2wJpNaMseF8,1676
|
|
304
304
|
autobyteus/task_management/tools/__init__.py,sha256=oKb6MLdUrD6h-oCnaZiQqlEvPwp91wRoQG8cg4lYsig,415
|
|
305
305
|
autobyteus/task_management/tools/get_task_board_status.py,sha256=UX2d376GXF6v0KQNowuItbIR7mcSG6qmIGpf0VRyDbQ,2767
|
|
306
|
-
autobyteus/task_management/tools/publish_task_plan.py,sha256=
|
|
307
|
-
autobyteus/task_management/tools/update_task_status.py,sha256=
|
|
308
|
-
autobyteus/tools/__init__.py,sha256=
|
|
309
|
-
autobyteus/tools/
|
|
310
|
-
autobyteus/tools/base_tool.py,sha256=x8Hjth7koJ6Brgi70phlm46K5SC9ofH4qokl4QqM9JQ,5159
|
|
306
|
+
autobyteus/task_management/tools/publish_task_plan.py,sha256=7Bcfh0pF3KI-CasXT2DDd8rG0xPVL0Vut-tARAGXtf8,4785
|
|
307
|
+
autobyteus/task_management/tools/update_task_status.py,sha256=HCaO1qQhnSd3H5dG7RHkW1D42vMV4-hBS7a5hx_C-IQ,5943
|
|
308
|
+
autobyteus/tools/__init__.py,sha256=HfSOKfTtOyXMIY8VnVC_dgTKKWq4ueoxN1IJAAniNOk,3033
|
|
309
|
+
autobyteus/tools/base_tool.py,sha256=sRrfbvaw7bFUC_GKYrJyKnBr9nnmzrfInUto09lkmLY,8706
|
|
311
310
|
autobyteus/tools/functional_tool.py,sha256=_WBv_mZCTIaekBwlOLiV8A7nLZhJiR-HYG6WJDij-eg,10393
|
|
311
|
+
autobyteus/tools/google_search.py,sha256=OLY_pBc3_SEs69ELyq4DDvB8txOUxF7QV6rJCKu6tAA,5890
|
|
312
312
|
autobyteus/tools/image_downloader.py,sha256=IQ-P1IBwLvbp8jyhtxLu54acWldJ6miFYkVIz7tHCMQ,4868
|
|
313
|
-
autobyteus/tools/parameter_schema.py,sha256
|
|
313
|
+
autobyteus/tools/parameter_schema.py,sha256=-eXYYmP01_XBycF35FFKk87YIzzdFpqZ3dSV_xTF-Kc,13010
|
|
314
314
|
autobyteus/tools/pdf_downloader.py,sha256=0WeznZhkYvXvgU2CH21q6LSVEQm8S1mAm7gtw_CjsJM,3927
|
|
315
|
+
autobyteus/tools/pydantic_schema_converter.py,sha256=E4WIQnPG37l3_niu2XZRx43eGOSynfFuRNpxeXKRVOA,3402
|
|
315
316
|
autobyteus/tools/timer.py,sha256=hPei4QONtpdQrSS72_SNw6-j-gVd5NT2RScAhqMhRSY,7384
|
|
316
317
|
autobyteus/tools/tool_category.py,sha256=pSf3C4kDc5ZGRYLmlGaU0th9YgdI-3TSS_yOdqbEzLU,740
|
|
317
318
|
autobyteus/tools/tool_config.py,sha256=gnzGweccECNmCeufkzbskHeFOt3f0431DyAmMhqNVn4,3564
|
|
@@ -335,15 +336,13 @@ autobyteus/tools/browser/session_aware/factory/__init__.py,sha256=47DEQpj8HBSa-_
|
|
|
335
336
|
autobyteus/tools/browser/session_aware/factory/browser_session_aware_web_element_trigger_factory.py,sha256=PsRjQMScKF3ceMEEFvlfr20OQ-sKdbQ6YWRrQffZF80,687
|
|
336
337
|
autobyteus/tools/browser/session_aware/factory/browser_session_aware_webpage_reader_factory.py,sha256=WmW9yU_KVjvDNSlxWPkdXljM9h4-zZRoZH7GP6sQndA,1335
|
|
337
338
|
autobyteus/tools/browser/session_aware/factory/browser_session_aware_webpage_screenshot_taker_factory.py,sha256=uxv7cLtlXg9Vdl82_r1K-wEHKfXzrmngGwT8rd5u4JQ,717
|
|
338
|
-
autobyteus/tools/browser/standalone/__init__.py,sha256=
|
|
339
|
-
autobyteus/tools/browser/standalone/google_search_ui.py,sha256=9tHusVs5jM2Zu1W48_YxAsePZJp9Z8-dOZptl7WURpM,5388
|
|
339
|
+
autobyteus/tools/browser/standalone/__init__.py,sha256=0J-_GM5vmp3iaHBDZXXRaj5gB3EGE0cRHJyJ3N-RDQg,324
|
|
340
340
|
autobyteus/tools/browser/standalone/navigate_to.py,sha256=Z_V0DRzu-1zwYXTVMaCbCl9ltuEAPqoz7wGvq2IVaoQ,3458
|
|
341
341
|
autobyteus/tools/browser/standalone/web_page_pdf_generator.py,sha256=UvRrUjJMVyBrG1JqTg67DCrOGboI44Hvard2UO_k9WM,4041
|
|
342
342
|
autobyteus/tools/browser/standalone/webpage_image_downloader.py,sha256=oH4dnEQBx8DVhitP4tozoHRVO9ue-rGA_ZSJJyJotUI,7159
|
|
343
343
|
autobyteus/tools/browser/standalone/webpage_reader.py,sha256=9N_NlbB7YnrT_MpkP_nLzWKYopMLM6eWJJ2wQmuGgVI,4254
|
|
344
344
|
autobyteus/tools/browser/standalone/webpage_screenshot_taker.py,sha256=iy9qwl2zLaHxlc4kuZuLo3Q3tJfWGmiSekXZJzHDOJU,4424
|
|
345
345
|
autobyteus/tools/browser/standalone/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
346
|
-
autobyteus/tools/browser/standalone/factory/google_search_factory.py,sha256=bgsRr7gix1L96sVwAF19pbQklPPYNEhz2Et6JdIViwE,1120
|
|
347
346
|
autobyteus/tools/browser/standalone/factory/webpage_reader_factory.py,sha256=R9PJPf7MF3cP8q8ffMKU5-ihPJWHJkVDYXZswZNdGS0,1131
|
|
348
347
|
autobyteus/tools/browser/standalone/factory/webpage_screenshot_taker_factory.py,sha256=NMS2laBlZAJiXPPub4YRhz1pXtZkfAeMhfRcSAfqu4M,597
|
|
349
348
|
autobyteus/tools/factory/__init__.py,sha256=EQXbTH6BcqK2SM3JEq2PkLwzZSczExv3KDvlhWHlsGQ,275
|
|
@@ -356,7 +355,7 @@ autobyteus/tools/handlers/shell_handler.py,sha256=ClTXqFR45iyD0gcoOPpKRX5p6g_6BI
|
|
|
356
355
|
autobyteus/tools/mcp/__init__.py,sha256=gwT34UgJe2rU5y4bYNOLI-PyAmRQTMWKz_WC4f2LcyE,1553
|
|
357
356
|
autobyteus/tools/mcp/config_service.py,sha256=7OoqZGVxBob4IeeBjChFCpwyI9IJIxlOQDh-OjCffrY,11466
|
|
358
357
|
autobyteus/tools/mcp/factory.py,sha256=SmPR6mgmwLEfzfole-zKuptKnSyeZEBi1t9gBbwCtZY,2204
|
|
359
|
-
autobyteus/tools/mcp/schema_mapper.py,sha256=
|
|
358
|
+
autobyteus/tools/mcp/schema_mapper.py,sha256=9lqT3_dgPf70arknDEccP0y-0Z8sb3bvl6nnW9t2N20,4413
|
|
360
359
|
autobyteus/tools/mcp/server_instance_manager.py,sha256=pGZZCH9Qp7n6jefwyDsvoo0Pxe7AWCcqIqnXgWt8hyg,6289
|
|
361
360
|
autobyteus/tools/mcp/tool.py,sha256=HpXSjvQjwwDzGGww1Cz3j4yCCLDiCYEv0RG-q-2BU4o,3380
|
|
362
361
|
autobyteus/tools/mcp/tool_registrar.py,sha256=RugX4TdiD6IfXF8S6cy2Ae-ZobT6RdRKdx7NLbcBMyI,11028
|
|
@@ -367,8 +366,8 @@ autobyteus/tools/mcp/server/http_managed_mcp_server.py,sha256=Kit7zcJxaRXfAXMxYq
|
|
|
367
366
|
autobyteus/tools/mcp/server/proxy.py,sha256=08F3m1I_IH2wrRXK29R_NPDB6ITHpo982Mq9G53hbUo,1660
|
|
368
367
|
autobyteus/tools/mcp/server/stdio_managed_mcp_server.py,sha256=a84GOnhWLg4vx6yo5dI8BlqUA_fdi0M5eNo2a-tGWwM,2085
|
|
369
368
|
autobyteus/tools/multimedia/__init__.py,sha256=RFmeHDRBJWk8Kn0uzR5m9MbIU1ggc1P0ZoDMKzK54c4,189
|
|
370
|
-
autobyteus/tools/multimedia/audio_tools.py,sha256=
|
|
371
|
-
autobyteus/tools/multimedia/image_tools.py,sha256=
|
|
369
|
+
autobyteus/tools/multimedia/audio_tools.py,sha256=Nx2ALQH7Yga02ZGjanQ5bNPQhseoHBugVr5I86KvN0c,4621
|
|
370
|
+
autobyteus/tools/multimedia/image_tools.py,sha256=CapwBvNgKBdu4RN6DhCuCeNlZhUweEeIrLqAyVSWYBk,7625
|
|
372
371
|
autobyteus/tools/operation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
373
372
|
autobyteus/tools/operation/file_operation.py,sha256=bAehQ9PfHoCDpk9Wa7vx9h3ohzVuaGzzBUogxleTwq8,2375
|
|
374
373
|
autobyteus/tools/operation/file_rename_operation.py,sha256=pExiC69HUzYbKihlVumlGHMGxmmrsKQB0JfAM5x4JH0,1710
|
|
@@ -382,28 +381,28 @@ autobyteus/tools/usage/formatters/__init__.py,sha256=BThdI_R8Dkda1eHJFr1cQ7nLCgf
|
|
|
382
381
|
autobyteus/tools/usage/formatters/anthropic_json_example_formatter.py,sha256=EVVPZ7e1tG3QRcEPjdOC0yTvnGisubfUm9geWbd9r2g,792
|
|
383
382
|
autobyteus/tools/usage/formatters/anthropic_json_schema_formatter.py,sha256=Cwd4teoZcs64q1xemVYIW9lviH7A0t2jmg3W7TYv_Rs,869
|
|
384
383
|
autobyteus/tools/usage/formatters/base_formatter.py,sha256=15YQHEV-uHREoi5INA6KWVrniatMbBPIGz82bVkZos8,1283
|
|
385
|
-
autobyteus/tools/usage/formatters/default_json_example_formatter.py,sha256=
|
|
384
|
+
autobyteus/tools/usage/formatters/default_json_example_formatter.py,sha256=6U0Yf9j-5ZNdGNN2hwOv4PbnaJTvgdRKQcW2N8d-HM4,9069
|
|
386
385
|
autobyteus/tools/usage/formatters/default_json_schema_formatter.py,sha256=mZuHp_irHco3_S-VotSBvv5BRFDlTsmdmSIH3Ut71jY,958
|
|
387
|
-
autobyteus/tools/usage/formatters/default_xml_example_formatter.py,sha256=
|
|
388
|
-
autobyteus/tools/usage/formatters/default_xml_schema_formatter.py,sha256=
|
|
389
|
-
autobyteus/tools/usage/formatters/gemini_json_example_formatter.py,sha256=
|
|
386
|
+
autobyteus/tools/usage/formatters/default_xml_example_formatter.py,sha256=vGw6_vZTtcpamDOYykntz_-sYWTMLoXfPNN3WxuUDXc,7185
|
|
387
|
+
autobyteus/tools/usage/formatters/default_xml_schema_formatter.py,sha256=b27dLKG1MQo8SMxagJULEZQZ6zj0CwYm0ExjG2GwwjA,3698
|
|
388
|
+
autobyteus/tools/usage/formatters/gemini_json_example_formatter.py,sha256=sTlhoIwoW8jmvjIki3BVTzAIArk10jQabzndiv_mrs0,3866
|
|
390
389
|
autobyteus/tools/usage/formatters/gemini_json_schema_formatter.py,sha256=za6FhkrbDUcezc9-u4w4_ytQAQyR8OpKypC_CCTYlBY,875
|
|
391
|
-
autobyteus/tools/usage/formatters/google_json_example_formatter.py,sha256=
|
|
390
|
+
autobyteus/tools/usage/formatters/google_json_example_formatter.py,sha256=WCs_JS7JuJcVAdgIeuNM2nBl6_mxatTAWTduE1r5Lww,3908
|
|
392
391
|
autobyteus/tools/usage/formatters/google_json_schema_formatter.py,sha256=gKeuR_QhiebFGja303rg9q9CxgynJxIoCd4SrXuXRUU,868
|
|
393
|
-
autobyteus/tools/usage/formatters/openai_json_example_formatter.py,sha256=
|
|
392
|
+
autobyteus/tools/usage/formatters/openai_json_example_formatter.py,sha256=s_dSjtG7eF08PDJv2o8zfkilSJ2IzkyqI4yKFF9NwEo,4131
|
|
394
393
|
autobyteus/tools/usage/formatters/openai_json_schema_formatter.py,sha256=3pN4CnmWiBJaZMhV7qnWcSKPpyZ2cEdiU-FVMRfPT1w,948
|
|
395
394
|
autobyteus/tools/usage/parsers/__init__.py,sha256=4y235cYvUm60v30m4KCwQ4g9x9yP81QYBhSkUmjFWAU,915
|
|
396
395
|
autobyteus/tools/usage/parsers/_json_extractor.py,sha256=Q7BJsEcFkEZJ8q-ifIl-7t4FXZgFoFEwFXAGvKFYhCk,3601
|
|
397
396
|
autobyteus/tools/usage/parsers/anthropic_xml_tool_usage_parser.py,sha256=xAVq7bPlyfZK5YBVsNlXyyc-1J4kyVr4-wDNI0ekl_o,433
|
|
398
397
|
autobyteus/tools/usage/parsers/base_parser.py,sha256=iNHVUXMzAydnhYeEBgcXU0g8L_H9KTMavOEd-iwDLbk,1366
|
|
399
398
|
autobyteus/tools/usage/parsers/default_json_tool_usage_parser.py,sha256=jl-VKMubpgI15TuX7tyKmu_4WHb2YUVw5Yz2fy7GXkY,3480
|
|
400
|
-
autobyteus/tools/usage/parsers/default_xml_tool_usage_parser.py,sha256=
|
|
399
|
+
autobyteus/tools/usage/parsers/default_xml_tool_usage_parser.py,sha256=CQjOS1wkvl_BdRCqJlPYYMjqOh9x3C0WiPR_kUVgyI8,11778
|
|
401
400
|
autobyteus/tools/usage/parsers/exceptions.py,sha256=CncCSH4IJUYPaCTilj1oPgfZWdCycIxQBrWiSKuWXtc,468
|
|
402
401
|
autobyteus/tools/usage/parsers/gemini_json_tool_usage_parser.py,sha256=t0vQWhmf4t6-tGq6OeH4o-1w_3eeUxQjHDYNpQ5g6R4,3502
|
|
403
402
|
autobyteus/tools/usage/parsers/openai_json_tool_usage_parser.py,sha256=wQXe4HAYsvfuLG6Ffv_Rk38ZAN5c1NlaEb7lFq7xbVs,6916
|
|
404
403
|
autobyteus/tools/usage/parsers/provider_aware_tool_usage_parser.py,sha256=OVPQpNlDCvAIKE5kKXFUIMdaTTK3pyJW2oCQ_bkOPBk,2829
|
|
405
404
|
autobyteus/tools/usage/providers/__init__.py,sha256=C8GmfzYwzSS2OGv7MbvxtRe0OsIALvkC7rN7OWvA5p4,445
|
|
406
|
-
autobyteus/tools/usage/providers/tool_manifest_provider.py,sha256=
|
|
405
|
+
autobyteus/tools/usage/providers/tool_manifest_provider.py,sha256=r-q9YkNYXEbNApAjufvxGuU4JPiu78x6u60wjTZcnfM,4668
|
|
407
406
|
autobyteus/tools/usage/registries/__init__.py,sha256=S1jYYPqAjvD1rY0b8zkffBnKz8-_ptftfbgr1lqb7I8,547
|
|
408
407
|
autobyteus/tools/usage/registries/tool_formatter_pair.py,sha256=Deki2aAEsFY0OSrMQf-4wZcyIInGI7EKQ2ZKenaFtMU,593
|
|
409
408
|
autobyteus/tools/usage/registries/tool_formatting_registry.py,sha256=zKUDxsoo7X3fw783lpJIzETzTlkXJGoHYmO2rXU1efI,3337
|
|
@@ -466,18 +465,18 @@ autobyteus/workflow/streaming/workflow_stream_event_payloads.py,sha256=jv1bVYg-7
|
|
|
466
465
|
autobyteus/workflow/streaming/workflow_stream_events.py,sha256=75P29jNgcL7Go7D9wVz236KTwPfmqc5K7hUvVnc94K0,2221
|
|
467
466
|
autobyteus/workflow/utils/__init__.py,sha256=SzaMZHnJBIJKcT_r-HOeyIcuxzRu2bGeFkOcMLJaalk,222
|
|
468
467
|
autobyteus/workflow/utils/wait_for_idle.py,sha256=FgHtz59DN0eg8Na1PkkVR55Ihdd2e5Gn_mr7RVHl4qI,2001
|
|
469
|
-
autobyteus-1.1.
|
|
468
|
+
autobyteus-1.1.8.dist-info/licenses/LICENSE,sha256=Ompok_c8HRsXRwmax-pGR9OZRRxZC9RPp4JB6eTJd0M,1360
|
|
470
469
|
examples/__init__.py,sha256=BtTQJ6yeHyksK5GC3kfN6RFR6Gcrwq1TBmp6FIIj3Z8,40
|
|
471
470
|
examples/discover_phase_transitions.py,sha256=NiFK_XzDCpWwmNsQqf0Ou2w6L5bofKIKODq7sH5uPzk,3679
|
|
472
471
|
examples/run_browser_agent.py,sha256=tpBJGIYYvVsNZAUo_WsZbhV_8fdeORUoHlQ8uQvnXPM,11737
|
|
473
|
-
examples/run_google_slides_agent.py,sha256=
|
|
472
|
+
examples/run_google_slides_agent.py,sha256=R3skoCO7gxNKCdqm_Px3YVlzSh5WzJc7KAxqO-x7sJc,13105
|
|
474
473
|
examples/run_mcp_browser_client.py,sha256=6vEBxGtAuGffkFk-gr3NvqetO84IdhNzip5Jp7V1tSc,6772
|
|
475
|
-
examples/run_mcp_google_slides_client.py,sha256=
|
|
474
|
+
examples/run_mcp_google_slides_client.py,sha256=l5B4sgDyyVEfL52WUiZw9mJjL5vOuD5ZJlnzIJbA-iw,11824
|
|
476
475
|
examples/run_mcp_list_tools.py,sha256=-dOM-7xyyDM2gp5e_8KZVGbX5ZxWqFQB9l-fHfR8XxY,7367
|
|
477
476
|
examples/run_poem_writer.py,sha256=wJsT4ZHwXw3MbPAESwyCkAMWWYt7KH5BLhEDQxA06XM,13145
|
|
478
|
-
examples/run_sqlite_agent.py,sha256=
|
|
477
|
+
examples/run_sqlite_agent.py,sha256=wy1Mp_F7RR0WmvfmxsPLG9JFPi6SpTVd0x_Ep76bUQ8,13159
|
|
479
478
|
examples/agent_team/__init__.py,sha256=WIg0HENp1TUClJ3p2gIRn0C-VW9Qr7Ttqtedr4xQ3Jo,51
|
|
480
|
-
autobyteus-1.1.
|
|
481
|
-
autobyteus-1.1.
|
|
482
|
-
autobyteus-1.1.
|
|
483
|
-
autobyteus-1.1.
|
|
479
|
+
autobyteus-1.1.8.dist-info/METADATA,sha256=cvBLfLpv5ukmQrFsn7HL9P13ZIOoUNzhpeOXfRZMC0g,10173
|
|
480
|
+
autobyteus-1.1.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
481
|
+
autobyteus-1.1.8.dist-info/top_level.txt,sha256=vNmK1Y8Irbc0iDPdRtr9gIx5eLM-c2v1ntItkzICzHU,20
|
|
482
|
+
autobyteus-1.1.8.dist-info/RECORD,,
|
|
@@ -181,7 +181,7 @@ async def main(args: argparse.Namespace):
|
|
|
181
181
|
# 3. Discover and register tools by passing the config dictionary directly.
|
|
182
182
|
# The registrar will handle parsing, validation, and storage.
|
|
183
183
|
logger.info(f"Performing targeted discovery for remote Google Slides tools from server: '{server_id}'...")
|
|
184
|
-
await registrar.
|
|
184
|
+
await registrar.load_and_register_server(config_dict=google_slides_mcp_config_dict)
|
|
185
185
|
logger.info("Remote tool registration complete.")
|
|
186
186
|
|
|
187
187
|
# 4. Create tool instances from the registry for our agent.
|
|
@@ -251,7 +251,7 @@ async def main(args: argparse.Namespace):
|
|
|
251
251
|
|
|
252
252
|
if __name__ == "__main__":
|
|
253
253
|
parser = argparse.ArgumentParser(description="Run the GoogleSlidesAgent interactively.")
|
|
254
|
-
parser.add_argument("--llm-model", type=str, default="
|
|
254
|
+
parser.add_argument("--llm-model", type=str, default="kimi-latest", help=f"The LLM model identifier to use. Call --help-models for list.")
|
|
255
255
|
parser.add_argument("--help-models", action="store_true", help="Display available LLM models and exit.")
|
|
256
256
|
parser.add_argument("--debug", action="store_true", help="Enable debug logging.")
|
|
257
257
|
parser.add_argument("--agent-log-file", type=str, default="./agent_logs_gslides.txt",
|
|
@@ -177,7 +177,7 @@ async def main():
|
|
|
177
177
|
try:
|
|
178
178
|
# 3. Discover and register tools by passing the config dictionary directly.
|
|
179
179
|
logger.info(f"Performing targeted discovery for remote tools from server '{server_id}'...")
|
|
180
|
-
await registrar.
|
|
180
|
+
await registrar.load_and_register_server(config_dict=google_slides_mcp_config_dict)
|
|
181
181
|
# Use the ToolRegistry to get tools by their source server ID.
|
|
182
182
|
registered_tool_defs = tool_registry.get_tools_by_mcp_server(server_id)
|
|
183
183
|
logger.info(f"Tool registration complete. Discovered tools: {[t.name for t in registered_tool_defs]}")
|
examples/run_sqlite_agent.py
CHANGED
|
@@ -189,7 +189,7 @@ async def main(args: argparse.Namespace):
|
|
|
189
189
|
try:
|
|
190
190
|
# 3. Discover and register tools by passing the config dictionary directly.
|
|
191
191
|
logger.info(f"Performing targeted discovery for remote SQLite tools from server: '{server_id}'...")
|
|
192
|
-
await registrar.
|
|
192
|
+
await registrar.load_and_register_server(config_dict=sqlite_mcp_config_dict)
|
|
193
193
|
logger.info("Remote tool registration complete.")
|
|
194
194
|
|
|
195
195
|
# 4. Create tool instances from the registry for our agent.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
import logging
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
from autobyteus.tools import tool # Main @tool decorator
|
|
6
|
-
from autobyteus.tools.tool_category import ToolCategory
|
|
7
|
-
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from autobyteus.agent.context import AgentContext
|
|
10
|
-
|
|
11
|
-
logger = logging.getLogger(__name__)
|
|
12
|
-
|
|
13
|
-
@tool(name="AskUserInput", category=ToolCategory.USER_INTERACTION)
|
|
14
|
-
async def ask_user_input(context: 'AgentContext', request: str) -> str: # Function name can be ask_user_input
|
|
15
|
-
"""
|
|
16
|
-
Requests input from the user based on a given prompt and returns the user's textual response.
|
|
17
|
-
'request' is the prompt or question to present to the user.
|
|
18
|
-
"""
|
|
19
|
-
logger.info(f"Functional AskUserInput tool (agent {context.agent_id}) requesting user input: {request}")
|
|
20
|
-
|
|
21
|
-
try:
|
|
22
|
-
loop = asyncio.get_event_loop()
|
|
23
|
-
user_input_str = await loop.run_in_executor(
|
|
24
|
-
None,
|
|
25
|
-
lambda: input(f"LLM Agent ({context.agent_id}): {request}\nUser: ")
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
logger.info(f"User input received for agent {context.agent_id}: '{user_input_str[:50]}...'")
|
|
29
|
-
return user_input_str
|
|
30
|
-
|
|
31
|
-
except KeyboardInterrupt:
|
|
32
|
-
logger.warning(f"User interrupted input process for agent {context.agent_id}.")
|
|
33
|
-
return "[Input process interrupted by user]"
|
|
34
|
-
except EOFError:
|
|
35
|
-
logger.warning(f"EOF error during input for agent {context.agent_id}.")
|
|
36
|
-
return "[EOF error occurred during input]"
|
|
37
|
-
except Exception as e:
|
|
38
|
-
error_message = f"An error occurred while getting user input: {str(e)}"
|
|
39
|
-
logger.error(error_message, exc_info=True)
|
|
40
|
-
return f"[Error getting user input: {error_message}]"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from autobyteus.tools.factory.tool_factory import ToolFactory
|
|
2
|
-
from autobyteus.tools.browser.standalone.google_search_ui import GoogleSearch
|
|
3
|
-
from autobyteus.utils.html_cleaner import CleaningMode
|
|
4
|
-
from typing import Optional, TYPE_CHECKING
|
|
5
|
-
|
|
6
|
-
if TYPE_CHECKING:
|
|
7
|
-
from autobyteus.tools.tool_config import ToolConfig
|
|
8
|
-
|
|
9
|
-
class GoogleSearchFactory(ToolFactory):
|
|
10
|
-
def __init__(self, cleaning_mode: CleaningMode = CleaningMode.THOROUGH):
|
|
11
|
-
self.cleaning_mode = cleaning_mode
|
|
12
|
-
|
|
13
|
-
def create_tool(self, config: Optional['ToolConfig'] = None) -> GoogleSearch:
|
|
14
|
-
"""
|
|
15
|
-
Creates an instance of GoogleSearch.
|
|
16
|
-
The 'config' parameter is ignored; configuration is set during factory initialization.
|
|
17
|
-
"""
|
|
18
|
-
# This factory passes its own configuration to the tool's constructor.
|
|
19
|
-
# The tool's constructor expects a ToolConfig object.
|
|
20
|
-
from autobyteus.tools.tool_config import ToolConfig as ConcreteToolConfig
|
|
21
|
-
|
|
22
|
-
tool_creation_config = ConcreteToolConfig(
|
|
23
|
-
params={"cleaning_mode": self.cleaning_mode}
|
|
24
|
-
)
|
|
25
|
-
return GoogleSearch(config=tool_creation_config)
|