chore(journey-client): revision reads and revision names - #498
Merged
Conversation
getJourney takes an optional revision_id and reports which revision it served; the create-revision request takes an optional revision_name. Generated from journey-api's spec file: the public docs still serve 1.5.0 until journey-api reaches prod. The servers block, which publication injects rather than the repo carrying it, is preserved as published. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0141GA3wvnTSZnewvXPHeq6d
The v2 SDK keeps its own compact definition, types and docs per API, so updating the journey client alone left them behind and compact.test.ts failed on the missing revision_id parameter. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0141GA3wvnTSZnewvXPHeq6d
journey-api is on prod, so docs.api.epilot.io now serves 1.6.0 and the client is generated from it rather than the repo's spec file. The published spec declares only the prod server, so the dev entry this branch had added is gone: CI regenerates from the same URL and would strip it anyway. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0141GA3wvnTSZnewvXPHeq6d
stewarthsoj
marked this pull request as ready for review
September 11, 2026 07:31
The client's own version is bumped by hand in the PR; the auto-release job only covers @epilot/sdk and @epilot/cli. Without this the package stays at 0.7.0 and journey-monorepo's 0.8.0 pin cannot resolve. Also asserts the runtime read carries revision_id, ported from !490. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0141GA3wvnTSZnewvXPHeq6d
5 tasks
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.
Summary
Regenerates
@epilot/journey-clientfrom journey-config spec1.6.0, which adds two fields the platform already relies on:revision_id— an optional query parameter ongetJourney(GET /v1/journey/configuration/{id}), and a field on its response naming the revision served. This is what lets a save-and-continue session stay on the revision it started on.revision_name— optional onJourneyRevisionRequest: what a save changed, for the revision history to list. Distinct fromname, the journey's own name.revision_nameshipped to journey-api'smasterwithout an OpenAPI version bump, so it has been untyped for every consumer since. The journey builder sends it today and works only becauseJourneyRevisionRequestcarries an index signature. This release is the first to type it.What changed
src/openapi.json,src/openapi-runtime.json,src/openapi.d.tsregenerated. The only removal in the diff is theversionstring; everything else is additive.@epilot/sdkas a minor release.Test plan
npm run typegen—revision_name?: stringonJourneyRevisionRequest;revision_id?inGetJourney.QueryParameters.npm run typescript(tsc) clean;npm run bundle-definitionsucceeds.npm test— 3 tests pass.serversunchanged from the published client: prod + dev, both retained.revision_id+version→ 400, legacy?version=nuntouched.Backwards compatibility
Both fields are optional and additive. Existing operations, schemas and the default base URLs are unchanged, so consumers that never pass
revision_idorrevision_namebehave exactly as before. Withjourneys-versioningoff no journey adopts versioning, so the API never servesrevision_idat all.