Skip to content

feat: add http_async runtime_kind for async-shaped HTTP APIs#2

Merged
Velascat merged 1 commit intomainfrom
feat/http-async-runtime-kind
May 7, 2026
Merged

feat: add http_async runtime_kind for async-shaped HTTP APIs#2
Velascat merged 1 commit intomainfrom
feat/http-async-runtime-kind

Conversation

@Velascat
Copy link
Copy Markdown
Owner

@Velascat Velascat commented May 7, 2026

Summary

  • Adds `http_async` to `RUNTIME_KINDS` tuple. Distinct from `http` (sync) so adapters declare the shape they need.
  • Updates v0.1 JSON schemas (`runtime_invocation`, `runtime_result`) to allow the new value.
  • Targeted test constructs `RuntimeInvocation`/`RuntimeResult` with the new kind.
  • Version 0.1.0 → 0.2.0 (additive — existing values preserved).

Why

Pairs with the `AsyncHttpRunner` being added to ExecutorRuntime. Async-shaped HTTP APIs (kickoff returns 202 + run_id, runner polls a status URL until terminal) need a named shape so adapters can ask for them explicitly. `HttpRunner`'s docstring already explicitly says it's sync-only and tells callers to use `ManualRunner` with a backend dispatcher for async — that's the workaround `http_async` removes.

Test plan

  • 16 unit tests pass (was 15; +1 new)
  • Both schemas updated; vocab/schema parity test still passes

🤖 Generated with Claude Code

New runtime_kind value for the kickoff (POST 202) -> poll-until-terminal pattern. Pairs with the AsyncHttpRunner being added to ExecutorRuntime in a separate PR. Distinct from 'http' (sync request/response) so adapters declare the shape they need explicitly. Added to RUNTIME_KINDS tuple, both v0.1 schemas, and a targeted test that constructs RuntimeInvocation/RuntimeResult with the new kind. Version bumped 0.1.0 -> 0.2.0 (additive — existing values preserved, no breaking change). 16 tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Velascat Velascat merged commit c4f7d48 into main May 7, 2026
6 checks passed
@Velascat Velascat deleted the feat/http-async-runtime-kind branch May 7, 2026 22:14
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