fix(sdk/subagent): fix get_factory_info()#2271
Conversation
API breakage checks (Griffe)Result: Failed Log excerpt (first 1000 characters) |
Agent server REST API breakage checks (OpenAPI)Result: Passed |
This is pretty nice :-) |
all-hands-bot
left a comment
There was a problem hiding this comment.
Taste Rating: 🟡 Acceptable - Eliminates duplication but changes public API behavior
Assessment: This simplifies the code by moving the default agent description to its definition file (good taste - eliminates special case). However, this is a breaking change to get_factory_info()s public API output, which affects tool descriptions.
Key Concern: This PR changes how tools present agent information to LLMs. According to repo policy, changes that "could plausibly affect benchmark/evaluation performance" (including tool calling/execution) should not be approved without human review and lightweight evals.
Verdict:
Cherry-pick from upstream 5002d7d
Summary
This fixes
get_factory_info()so the default agent's description is defined in one place (its frontmatter) rather than being duplicated as a special case in the registry code.Note
This is a beaviouhr change but it is not a problem as we give the default agent to the DelegateTool always, i.e., there is no change in this sense.
Checklist
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.12-nodejs22golang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:7d01015-pythonRun
All tags pushed for this build
About Multi-Architecture Support
7d01015-python) is a multi-arch manifest supporting both amd64 and arm647d01015-python-amd64) are also available if needed