Skip to content

Add typed clients for the seven uncovered Agent Server operations #4756

Open

Description

@neubig

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: OpenHands/typescript-client#307 (comment)

Uncovered operations

  • GET /api/conversations/{conversation_id}/events
  • GET /api/file/archive
  • GET /api/git/commits
  • GET /api/git/commits/{sha}/changes
  • GET /api/init
  • POST /api/conversations/{conversation_id}/load_plugin
  • POST /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:
  • 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.

Activity

  1. self-assigned this
    on Jul 28, 2026
  2. github-actions commented on Aug 30, 2026

    @github-actions
    Contributor

    ⚠️ Not yet ready-for-dev

    This issue does not yet meet the readiness criteria, so the
    ready-for-dev label has not been applied (or has been removed).
    The criteria are type-specific:

    Bug reports (bug label, see .github/ISSUE_TEMPLATE/bug_template.yml):

    • The ### Actual Behavior section must describe reproducible SDK steps
      and include a command such as python, pytest, uv, or pip.
    • An ### Acceptance Criteria section with at least one checklist item (- [ ] …).

    Enhancements (enhancement label, see .github/ISSUE_TEMPLATE/feature_request.yml):

    • A ### Desired Behavior section.
    • An ### Acceptance Criteria section with at least one checklist item.

    What is missing:

    • The issue has neither the bug nor enhancement label, so its readiness criteria cannot be evaluated. Add the appropriate label.

    Edit the issue to address the gaps and the ready-for-dev label will be
    applied automatically.

    Note: Section headings require exact ### matches from the templates.
    If a missing type label is reported, no action is needed from external
    contributors — maintainers will add the label during triage.

    This is an automated check — no AI was used to generate this comment.

  3. all-hands-bot commented on Oct 9, 2026

    @all-hands-bot
    Collaborator

    [Automatic Post]: This issue has had no activity for 39 days (labels: none). @neubig, could you take a look when you have a chance and help figure out next steps?

    Generated by OpenHands automation on behalf of the user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions