Skip to content

fix: adopt upstream OpenAPI after agent versions removal - #123

Merged
chaliy merged 1 commit into
mainfrom
claude/project-thread-pgfa9p
Oct 13, 2026
Merged

chaliy merged 1 commit into
mainfrom
claude/project-thread-pgfa9p

Conversation

@chaliy

@chaliy chaliy commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Михайло · project thread

Summary

  • just sync-openapi failed with configured public schema is missing from OpenAPI: AgentVersion. Upstream everruns removed /v1/agents/{id}/versions* (list, create, default, diff, fork, rollback) and all AgentVersion* schemas; the generic /v1/history/{entity_ref} API replaced them. The codegen overlay still listed them.
  • Breaking SDK change (all three languages): the agent version methods are removed (list_versions/listVersions, create_version, set_default_version, diff_versions, fork_version, rollback_version), with their models, tests, README sections and specs/api-surface.md entries. Every call already gets a 404 from the current server. Wrapping /v1/history is a new product concept, so per specs/upstream-adoption.md it is a follow-up proposal.
  • FileInfo name collision: upstream now uses FileInfo for stored uploads (/v1/files); the workspace file entry is defined only inline in ListResponse_FileInfo. The overlay gains schemaSources (a local JSON pointer) so the public workspace FileInfo keeps its shape. Documented in codegen/README.md, with generator tests.
  • Other upstream deltas:
    • Rust codegen emits Vec::is_empty for optional array fields inside union variants (was Option::is_none, which broke on ContentPart.text.annotations).
    • ContentPart helpers handle the new annotations and native fields.
    • MessageRole no longer includes tool_result: MessageInput role is user only and the MessageInput.tool_results helper (Rust/Python) is removed. create_tool_results still submits tool results.
    • Python agents.analyze() keeps unset request fields out of the body.
    • Test fixtures include the newly required Memory.scope and ModelWithProvider.profile_key/service.

Changelog: companion entry docs/changelog/2026-10-13-sdk-agent-versions-removed/ in everruns/everruns (opened right after this merges).

Test Plan

  • just sync-openapi: passes against current upstream main (failed before)

  • just generate-check, just lint, just test, just pre-push: pass

  • cookbook/rust: cargo check passes

  • Tests pass locally

  • Coverage ≥80%

  • Linting passes

Checklist

  • Follows SDK API consistency guidelines
  • Updated relevant specs (if applicable)
  • Added/updated tests
  • Updated documentation (if applicable)

Follow-ups: an SDK surface for /v1/history (revisions, diff, restore). TypeScript Message.role still overrides to "user" | "assistant" | "tool_result" while the wire enum is now user | agent.

Upstream everruns removed the /v1/agents/{id}/versions endpoints and the
AgentVersion* schemas (replaced by the generic /v1/history API), so
`just sync-openapi` failed on the codegen overlay still listing them.

- Drop agent version models from codegen/sdk-models.json and the
  list/create/set-default/diff/fork/rollback version methods, tests and
  README sections from the Rust, Python and TypeScript SDKs.
- Add `schemaSources` to the codegen overlay: upstream reused the
  FileInfo component name for stored uploads and inlined the workspace
  file entry into ListResponse_FileInfo; point the public FileInfo there.
- Rust codegen: optional Vec fields in union variants skip with
  Vec::is_empty; ContentPart helpers cover new text annotations and
  tool_call native fields.
- MessageRole no longer has tool_result: restrict synthetic MessageInput
  role to user and drop the MessageInput tool_results helpers (tool
  results go through create_tool_results).
- Python analyze() keeps unset request fields off the wire.
- Update fixtures for newly required Memory.scope and
  ModelWithProvider.profile_key/service.
@chaliy
chaliy merged commit 2af0413 into main Oct 13, 2026
13 checks passed
@chaliy
chaliy deleted the claude/project-thread-pgfa9p branch October 13, 2026 14:00
chaliy added a commit to everruns/everruns that referenced this pull request Oct 13, 2026
#4712)

- OpenAPI summaries are short names (prefix stripped, first sentence, long text moved to the description); server test caps them at 58 chars.
- Docs titles drop suffixes past 70 chars; verify-seo fails the build on any title over 70.
- Remove the pages-only _redirects block; docs.everruns.com resolves via a proxied placeholder record.
- Changelog entry for the SDK agent version method removal (everruns/sdk#123).
- Regenerate UI API types.
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