Skip to content

feat: add cloud conversation observability fields - #314

Merged
juanmichelini merged 2 commits into
mainfrom
juan/cloud-conversation-observability-fields
Aug 25, 2026
Merged

feat: add cloud conversation observability fields#314
juanmichelini merged 2 commits into
mainfrom
juan/cloud-conversation-observability-fields

Conversation

@juanmichelini

@juanmichelini juanmichelini commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add observability_metadata, observability_tags, and observability_span_name to CloudConversationStartRequest
  • export the observability metadata helper types
  • cover CloudClient.createConversation forwarding these fields to /api/v1/app-conversations

Context

Companion client typing update for OpenHands/sandbox-server#3, which exposes these fields on POST /api/v1/app-conversations after the Agent Canvas/app-server migration.

Related docs: OpenHands/docs#670.

Testing

  • npm ci (runs build via prepare)
  • npm test -- --runTestsByPath src/tests/api-clients.test.ts

@github-actions

Copy link
Copy Markdown
Contributor

Endpoint audit

⚠️ 7 actionable Agent Server contract divergence(s) · report-only

Contract: pinned release artifact

Category Count
Actionable client-only calls 0
Actionable server-only operations 7
Documented non-divergences 12
Agent Server contract operations 117
Audited handwritten client endpoints 118

Actionable client-only calls (0)

none

Actionable server-only operations (7)

  • GET /api/conversations/{}/events
  • GET /api/file/archive
  • GET /api/git/commits
  • GET /api/git/commits/{}/changes
  • GET /api/init
  • POST /api/conversations/{}/load_plugin
  • POST /api/init
Documented non-divergences (12)

Client calls intentionally absent from the filtered contract (10)

  • GET /
  • GET /alive
  • GET /health
  • GET /ready
  • GET /server_info

Reason: Operational Agent Server endpoints intentionally excluded from the filtered public release artifact.
Owner: OpenHands runtime maintainers

  • DELETE /api/meta-profiles/{}
  • GET /api/meta-profiles
  • GET /api/meta-profiles/{}
  • POST /api/meta-profiles/{}
  • POST /api/meta-profiles/{}/activate

Reason: Client-ahead API stacked on the pending Agent Server meta-profiles implementation.
Owner: OpenHands SDK maintainers
Tracking: OpenHands/software-agent-sdk#3744

Server operations covered by an exposed browser URL (2)

  • GET /api/conversations/{}/workspace
  • GET /api/conversations/{}/workspace/{}

Reason: RemoteWorkspace.startWorkspaceSession exposes these authenticated URLs for browser iframe and file requests; they are not HttpClient method calls.
Owner: OpenHands TypeScript client maintainers

@juanmichelini juanmichelini changed the title Add cloud conversation observability fields feat: add cloud conversation observability fields Aug 1, 2026
@github-actions github-actions Bot added the type: feat A new feature label Aug 1, 2026
@all-hands-bot

Copy link
Copy Markdown
Contributor

👋 This PR needs a couple of things fixed before OpenHands can review it:

  • the PR description's HUMAN: section needs at least 20 characters describing what you tested, not just the template placeholder

Push an update once this is addressed and this check re-runs automatically.

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

@juanmichelini
juanmichelini requested review from aivong-openhands and removed request for enyst August 21, 2026 03:31
@juanmichelini
juanmichelini merged commit 7abda5b into main Aug 25, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feat A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants