openhands-tools 1.8.2__tar.gz → 1.9.1__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.
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/PKG-INFO +5 -1
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/impl.py +9 -12
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/visualizer.py +18 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/PKG-INFO +5 -1
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/pyproject.toml +7 -1
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/apply_patch/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/apply_patch/core.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/apply_patch/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/impl_windows.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/logging_fix.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/browser_use/server.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/registration.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/delegate/templates/delegate_tool_description.j2 +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/editor.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/exceptions.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/config.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/constants.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/diff.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/encoding.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/file_cache.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/history.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/shell.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/edit/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/edit/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/edit/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/read_file/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/read_file/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/read_file/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/write_file/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/write_file/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/write_file/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/glob/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/glob/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/glob/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/grep/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/grep/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/grep/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/preset/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/preset/default.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/preset/gemini.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/preset/gpt5.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/preset/planning.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/py.typed +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/task_tracker/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/task_tracker/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/constants.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/impl.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/metadata.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/factory.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/interface.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/subprocess_terminal.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/terminal_session.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/tmux_terminal.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/utils/command.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/tom_consult/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/tom_consult/definition.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/tom_consult/executor.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/utils/__init__.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/utils/timeout.py +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/SOURCES.txt +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/dependency_links.txt +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/requires.txt +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/top_level.txt +0 -0
- {openhands_tools-1.8.2 → openhands_tools-1.9.1}/setup.cfg +0 -0
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openhands-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.1
|
|
4
4
|
Summary: OpenHands Tools - Runtime tools for AI agents
|
|
5
|
+
Project-URL: Source, https://github.com/OpenHands/software-agent-sdk
|
|
6
|
+
Project-URL: Homepage, https://github.com/OpenHands/software-agent-sdk
|
|
7
|
+
Project-URL: Documentation, https://docs.openhands.dev/sdk
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/OpenHands/software-agent-sdk/issues
|
|
5
9
|
Requires-Python: >=3.12
|
|
6
10
|
Requires-Dist: openhands-sdk
|
|
7
11
|
Requires-Dist: bashlex>=0.18
|
|
@@ -9,7 +9,6 @@ from openhands.sdk.logger import get_logger
|
|
|
9
9
|
from openhands.sdk.tool.tool import ToolExecutor
|
|
10
10
|
from openhands.tools.delegate.definition import DelegateObservation
|
|
11
11
|
from openhands.tools.delegate.registration import get_agent_factory
|
|
12
|
-
from openhands.tools.delegate.visualizer import DelegationVisualizer
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
if TYPE_CHECKING:
|
|
@@ -130,14 +129,12 @@ class DelegateExecutor(ToolExecutor):
|
|
|
130
129
|
factory = get_agent_factory(agent_type)
|
|
131
130
|
worker_agent = factory.factory_func(sub_agent_llm)
|
|
132
131
|
|
|
133
|
-
if
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
)
|
|
139
|
-
else:
|
|
140
|
-
sub_visualizer = None
|
|
132
|
+
# Use parent visualizer's create_sub_visualizer method if available
|
|
133
|
+
# This allows custom visualizers (e.g., TUI-based) to create
|
|
134
|
+
# appropriate sub-visualizers for their environment
|
|
135
|
+
sub_visualizer = None
|
|
136
|
+
if parent_visualizer is not None:
|
|
137
|
+
sub_visualizer = parent_visualizer.create_sub_visualizer(agent_id)
|
|
141
138
|
|
|
142
139
|
sub_conversation = LocalConversation(
|
|
143
140
|
agent=worker_agent,
|
|
@@ -211,13 +208,13 @@ class DelegateExecutor(ToolExecutor):
|
|
|
211
208
|
results = {}
|
|
212
209
|
errors = {}
|
|
213
210
|
|
|
214
|
-
# Get the parent agent's name from the visualizer
|
|
211
|
+
# Get the parent agent's name from the visualizer if available
|
|
215
212
|
parent_conversation = self.parent_conversation
|
|
216
213
|
parent_name = None
|
|
217
214
|
if hasattr(parent_conversation, "_visualizer"):
|
|
218
215
|
visualizer = parent_conversation._visualizer
|
|
219
|
-
if
|
|
220
|
-
parent_name = visualizer
|
|
216
|
+
if visualizer is not None:
|
|
217
|
+
parent_name = getattr(visualizer, "_name", None)
|
|
221
218
|
|
|
222
219
|
def run_task(
|
|
223
220
|
agent_id: str,
|
|
@@ -61,6 +61,24 @@ class DelegationVisualizer(DefaultConversationVisualizer):
|
|
|
61
61
|
)
|
|
62
62
|
self._name = name
|
|
63
63
|
|
|
64
|
+
def create_sub_visualizer(self, agent_id: str) -> "DelegationVisualizer":
|
|
65
|
+
"""Create a visualizer for a sub-agent during delegation.
|
|
66
|
+
|
|
67
|
+
Creates a new DelegationVisualizer instance for the sub-agent with
|
|
68
|
+
the same configuration as the parent visualizer.
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
agent_id: The identifier of the sub-agent being spawned
|
|
72
|
+
|
|
73
|
+
Returns:
|
|
74
|
+
A new DelegationVisualizer configured for the sub-agent
|
|
75
|
+
"""
|
|
76
|
+
return DelegationVisualizer(
|
|
77
|
+
name=agent_id,
|
|
78
|
+
highlight_regex=self._highlight_patterns,
|
|
79
|
+
skip_user_messages=self._skip_user_messages,
|
|
80
|
+
)
|
|
81
|
+
|
|
64
82
|
@staticmethod
|
|
65
83
|
def _format_agent_name(name: str) -> str:
|
|
66
84
|
"""
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openhands-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.1
|
|
4
4
|
Summary: OpenHands Tools - Runtime tools for AI agents
|
|
5
|
+
Project-URL: Source, https://github.com/OpenHands/software-agent-sdk
|
|
6
|
+
Project-URL: Homepage, https://github.com/OpenHands/software-agent-sdk
|
|
7
|
+
Project-URL: Documentation, https://docs.openhands.dev/sdk
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/OpenHands/software-agent-sdk/issues
|
|
5
9
|
Requires-Python: >=3.12
|
|
6
10
|
Requires-Dist: openhands-sdk
|
|
7
11
|
Requires-Dist: bashlex>=0.18
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "openhands-tools"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.9.1"
|
|
4
4
|
description = "OpenHands Tools - Runtime tools for AI agents"
|
|
5
5
|
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -16,6 +16,12 @@ dependencies = [
|
|
|
16
16
|
"tom-swe>=1.0.3",
|
|
17
17
|
]
|
|
18
18
|
|
|
19
|
+
[project.urls]
|
|
20
|
+
Source = "https://github.com/OpenHands/software-agent-sdk"
|
|
21
|
+
Homepage = "https://github.com/OpenHands/software-agent-sdk"
|
|
22
|
+
Documentation = "https://docs.openhands.dev/sdk"
|
|
23
|
+
"Bug Tracker" = "https://github.com/OpenHands/software-agent-sdk/issues"
|
|
24
|
+
|
|
19
25
|
[build-system]
|
|
20
26
|
requires = ["setuptools>=61.0", "wheel"]
|
|
21
27
|
build-backend = "setuptools.build_meta"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/encoding.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/file_cache.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/file_editor/utils/history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/__init__.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/definition.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/list_directory/impl.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/read_file/__init__.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/read_file/definition.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/write_file/__init__.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/gemini/write_file/definition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/__init__.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/definition.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/planning_file_editor/impl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/__init__.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/factory.py
RENAMED
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands/tools/terminal/terminal/tmux_terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_tools-1.8.2 → openhands_tools-1.9.1}/openhands_tools.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|