Repository navigation
fix: adopt upstream OpenAPI after agent versions removal - #123
Merged
Merged
Conversation
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.
Merged
5 tasks done
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Михайло · project thread
Summary
just sync-openapifailed withconfigured public schema is missing from OpenAPI: AgentVersion. Upstream everruns removed/v1/agents/{id}/versions*(list, create, default, diff, fork, rollback) and allAgentVersion*schemas; the generic/v1/history/{entity_ref}API replaced them. The codegen overlay still listed them.list_versions/listVersions,create_version,set_default_version,diff_versions,fork_version,rollback_version), with their models, tests, README sections andspecs/api-surface.mdentries. Every call already gets a 404 from the current server. Wrapping/v1/historyis a new product concept, so perspecs/upstream-adoption.mdit is a follow-up proposal.FileInfoname collision: upstream now usesFileInfofor stored uploads (/v1/files); the workspace file entry is defined only inline inListResponse_FileInfo. The overlay gainsschemaSources(a local JSON pointer) so the public workspaceFileInfokeeps its shape. Documented incodegen/README.md, with generator tests.Vec::is_emptyfor optional array fields inside union variants (wasOption::is_none, which broke onContentPart.text.annotations).ContentParthelpers handle the newannotationsandnativefields.MessageRoleno longer includestool_result:MessageInputrole isuseronly and theMessageInput.tool_resultshelper (Rust/Python) is removed.create_tool_resultsstill submits tool results.agents.analyze()keeps unset request fields out of the body.Memory.scopeandModelWithProvider.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: passcookbook/rust:cargo checkpassesTests pass locally
Coverage ≥80%
Linting passes
Checklist
Follow-ups: an SDK surface for
/v1/history(revisions, diff, restore). TypeScriptMessage.rolestill overrides to"user" | "assistant" | "tool_result"while the wire enum is nowuser | agent.