Skip to content

Fill automation gaps in existing conversation and workspace APIs #5009

Description

@neubig

Desired Behavior

Automation dispatch and workflow bundles should use the existing SDK conversation/workspace interfaces. Fill the missing Python entry points without introducing a parallel AgentServerClient/RuntimeClient hierarchy or a second HTTP request layer.

Acceptance Criteria

  • RemoteConversation has explicit create(workspace, StartConversationRequest) and attach(workspace, id) methods. Neither falls back to the other; the constructor keeps requiring an agent. Creation reuses canonical request/profile resolution and all paths share connection, messaging, run, event, and interruption machinery.
  • Existing remote workspaces expose conversation-scoped file/command operations and separate command start/output retrieval, sharing the request generators already used by execute_command.
  • Conversation-scoped runtime credentials and resource release use SDK workspace methods; unrelated or missing scope cannot become a host-runtime fallback.
  • Automation consumers stop importing the parallel SDK clients; extensions use explicit RemoteConversation.attach and the existing lifecycle.
  • Existing SDK APIs remain compatible. Sync/async scope and lifecycle tests pass; isolated local/Docker demonstration exercises the explicit methods.

This issue is ready-for-dev. Server/runtime prerequisites: #4966 and #3403. Consumers: OpenHands/automation#449/#453 and OpenHands/extensions#570–#573. Documentation: OpenHands/docs#793.

Implemented in #5010 (4bbab2dd0) with migrated consumers. Fresh isolated Canvas before/after + local/Docker evidence passed with the same bundle, real model turns, exact docs examples, and missing-attach no-creation verification. 288 SDK regressions pass. Merge/release dependencies and current CI/review status remain recorded in the PR.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-devIssue meets development readiness criteria

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions