OpenHands / OpenHands/software-agent-sdk
Add typed clients for the seven uncovered Agent Server operations
Open
@neubig is already working on this.
Since Jul 28, 2026.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 539
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 137
Description
Objective
Resolve the seven actionable server-only operations reported by the pinned Agent Server endpoint audit. This issue intentionally excludes documented non-divergences such as operational endpoints omitted from the filtered public artifact, client-ahead meta-profile APIs, and workspace routes already exposed as authenticated browser URLs.
Audit context: https://github.com/OpenHands/typescript-client/pull/307#issuecomment-5105956958
Uncovered operations
GET /api/conversations/{conversation_id}/eventsGET /api/file/archiveGET /api/git/commitsGET /api/git/commits/{sha}/changesGET /api/initPOST /api/conversations/{conversation_id}/load_pluginPOST /api/init
Implementation guidance
- Use stable aliases derived from the generated Agent Server v1.38 contract; do not introduce duplicate handwritten request/response models.
- Keep public source code browser-compatible.
- Add focused clients and type-level/runtime tests for each operation.
- Reuse or simplify existing work where appropriate:
- OpenHands/typescript-client#246 covers batch conversation events and can now be reduced because its supporting transport work has landed.
- OpenHands/typescript-client#243 covers deferred initialization and should be updated to use generated aliases.
- Add typed git commit/change methods and migrate existing low-level consumers where practical.
- Model archive download with an explicit browser-compatible binary return type.
- Add a typed conversation plugin-loading method.
- Separate implementation PRs are acceptable when the operations have different owners or semantics.
Exit criteria
- The endpoint audit reports zero actionable server-only operations.
- Generated contract regeneration remains clean.
- Handwritten signatures are statically checked against generated operations.
- Unit, build, and relevant integration tests pass.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.