Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
hermes-node-gateway
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lisa
hermes-node-gateway
Commits
0e5cdbd6
Commit
0e5cdbd6
authored
May 13, 2026
by
Lisa (Hermes AI)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: sync gateway tool handlers with live plugin
parent
20be10fd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
20 deletions
+31
-20
__init__.py
__init__.py
+31
-20
No files found.
__init__.py
View file @
0e5cdbd6
...
...
@@ -1733,36 +1733,44 @@ COMPUTER_CONTROL_SCHEMA = {
# ---------------------------------------------------------------------------
def
tool_node_list
(
params
:
Dict
[
str
,
Any
]
=
None
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""List all connected nodes"""
def
tool_node_list
(
*
args
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""List all connected nodes
.
"""
gw
=
_get_gateway
()
return
json
.
dumps
(
gw
.
list_nodes
()
)
return
gw
.
list_nodes
(
)
def
tool_node_status
(
params
:
Dict
[
str
,
Any
]
=
None
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Get status of a specific node"""
def
tool_node_status
(
*
args
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Get status of a specific node
.
"""
gw
=
_get_gateway
()
params
=
args
[
0
]
if
args
else
kwargs
node_name
=
params
.
get
(
'node_name'
)
return
json
.
dumps
(
gw
.
get_node_status
(
node_name
))
if
not
node_name
:
raise
ValueError
(
"Missing required parameter: 'node_name'"
)
return
gw
.
get_node_status
(
node_name
)
def
tool_node_exec
(
params
:
Dict
[
str
,
Any
]
=
None
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Execute command on a node"""
def
tool_node_exec
(
*
args
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Execute command on a node
.
"""
gw
=
_get_gateway
()
params
=
args
[
0
]
if
args
else
kwargs
node_name
=
params
.
get
(
'node_name'
)
command
=
params
.
get
(
'command'
)
timeout
=
params
.
get
(
'timeout'
,
30
)
approved
=
params
.
get
(
'approved'
,
False
)
if
not
node_name
:
raise
ValueError
(
"Missing required parameter: 'node_name'"
)
if
not
command
:
raise
ValueError
(
"Missing required parameter: 'command'"
)
with
gw
.
_nodes_lock
:
if
node_name
not
in
gw
.
nodes
:
available
=
list
(
gw
.
nodes
.
keys
())
raise
ValueError
(
f
"Node '{node_name}' is not connected. Available nodes: {available}"
)
return
json
.
dumps
(
gw
.
execute_command_sync
(
node_name
,
command
,
timeout
,
approved
))
return
gw
.
execute_command_sync
(
node_name
,
command
,
timeout
,
approved
)
def
tool_browser_control
(
*
args
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Execute browser control command on a node"""
gw
=
_get_gateway
()
...
...
@@ -1782,15 +1790,18 @@ def tool_browser_control(*args, **kwargs) -> Dict[str, Any]:
'timeout'
:
timeout
,
'tools'
:
tools
},
timeout
)
def
tool_computer_control
(
args
=
None
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Execute computer control command on a node"""
def
tool_computer_control
(
*
args
,
**
kwargs
)
->
Dict
[
str
,
Any
]:
"""Execute computer control command on a node
.
"""
gw
=
_get_gateway
()
if
args
is
None
:
args
=
kwargs
node_name
=
args
.
get
(
'node_name'
)
or
args
.
get
(
'nodeName'
)
or
args
.
get
(
'node'
)
action
=
args
.
get
(
'action'
)
cmd_params
=
args
.
get
(
'params'
)
or
{}
timeout
=
args
.
get
(
'timeout'
,
30
)
params
=
args
[
0
]
if
args
else
kwargs
node_name
=
params
.
get
(
'node_name'
)
or
params
.
get
(
'nodeName'
)
or
params
.
get
(
'node'
)
action
=
params
.
get
(
'action'
)
cmd_params
=
params
.
get
(
'params'
)
or
{}
timeout
=
params
.
get
(
'timeout'
,
30
)
if
not
node_name
:
raise
ValueError
(
"Missing required parameter: 'node_name'"
)
if
not
action
:
raise
ValueError
(
"Missing required parameter: 'action'"
)
return
gw
.
execute_computer_control_command_sync
(
node_name
,
{
'action'
:
action
,
'params'
:
cmd_params
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment