mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
Salvaged from PR #67807 by @f-trycua onto current main. - Foreground gate: discover delivery_mode support from the live tools/list inputSchema.properties (fail closed), not the never-shipped input.delivery_mode capability token - bring_to_front: standalone strict-schema MCP tool (inject_session=False), separate approval scope, requires foreground - Verdict precedence: confirmed > unverifiable (verify before retry) > suspected_noop/refusal (escalate); surfaced as explicit verdict field - Typed cua_browser_* route inside computer_use (browser_route.py) with exact-binding, adapter-injected session, snapshot-scoped refs - Per-Hermes-session backend isolation + release_computer_use_session seam wired into AIAgent.close() - Recorded 0.9 tools/list fixture replaces fabricated capability tokens
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
"""Shim for tool discovery. Registers `computer_use` with tools.registry.
|
|
|
|
The real implementation lives in the `tools/computer_use/` package to keep
|
|
the file structure clean. This shim exists because tools.registry auto-imports
|
|
`tools/*.py` — we need a top-level module to trigger the registration.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from tools.computer_use.schema import COMPUTER_USE_SCHEMA
|
|
from tools.computer_use.tool import (
|
|
check_computer_use_requirements,
|
|
handle_computer_use,
|
|
release_computer_use_session,
|
|
set_approval_callback,
|
|
)
|
|
from tools.registry import registry
|
|
|
|
|
|
registry.register(
|
|
name="computer_use",
|
|
toolset="computer_use",
|
|
schema=COMPUTER_USE_SCHEMA,
|
|
handler=lambda args, **kw: handle_computer_use(args, **kw),
|
|
check_fn=check_computer_use_requirements,
|
|
requires_env=[],
|
|
description=(
|
|
"Universal desktop control via cua-driver (macOS, Windows, Linux). Works with any "
|
|
"tool-capable model (Anthropic, OpenAI, OpenRouter, local vLLM, "
|
|
"etc.). Background computer-use: does NOT steal the user's cursor "
|
|
"or keyboard focus."
|
|
),
|
|
)
|
|
|
|
|
|
__all__ = [
|
|
"handle_computer_use",
|
|
"set_approval_callback",
|
|
"check_computer_use_requirements",
|
|
"release_computer_use_session",
|
|
]
|