Skip to content

feat(studio): playground run endpoint - #743

Merged
LinuxDevil merged 2 commits into
mainfrom
obs/o27-playground-endpoint
Oct 24, 2026
Merged

LinuxDevil merged 2 commits into
mainfrom
obs/o27-playground-endpoint

Conversation

@LinuxDevil

Copy link
Copy Markdown
Owner

Studio gets a playground run endpoint: POST /playground/run streams delta/tool_call/done/error over SSE using the stored provider keys, and every run reports to the observe daemon as agent playground (with lousho.prompt.ref when a promptRef is sent).

Ticket: O27 (Forge Observe vs LangSmith evaluation follow-up)

Changes

  • fix(studio): playground review round 1
  • feat(studio): playground run endpoint

Verification: focused vitest, tsc --noEmit, eslint on changed files (details in the review package); full suite and fallow run in CI.

🤖 Generated with Claude Code

LinuxDevil and others added 2 commits October 25, 2026 01:56
POST /playground/run takes { messages, variables?, model, tools?, promptRef? },
substitutes {var} placeholders, resolves the provider/key through buildAgent
(secretsStore first), and streams the run as SSE delta / tool_call / done /
error events. Unknown model or missing key is an error event, a bad body a
400. Every run reports to the observe daemon the Studio reads as agent
`playground`, with lousho.prompt.ref on the root span when promptRef is set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- One terminal event per stream: a run that stops after an error without
  run.done (or with no events) ends with an `error` event (pumpRunEvents).
- A failure after the SSE headers ends the stream with an `error` event
  instead of reaching the JSON 500 handler.
- The playground's own reporter sends LOUSHO_OBSERVE_TOKEN like the env one.
- `done.usage` is typed AgentEventUsage.
- Tests: client disconnect aborts the run; bearer token; terminal-event guard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@LinuxDevil
LinuxDevil force-pushed the obs/o27-playground-endpoint branch from 6f97716 to 59d49f8 Compare October 24, 2026 22:57
@LinuxDevil
LinuxDevil merged commit 11abf7a into main Oct 24, 2026
2 checks passed
@LinuxDevil
LinuxDevil deleted the obs/o27-playground-endpoint branch October 24, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant