feat(entity-client): regenerate from the Entity API spec merged on main - #484
Merged
josecarneiro merged 1 commit intoSep 4, 2026
Merged
Conversation
Picks up two merged Entity API changes: `overridable_attribute` now
documents what it accepts and rejects (scalars and relations accepted;
system, readonly, hidden, computed and repeatable rejected), and a
`select` condition declares its vocabulary as `options` — a bare value or
a `{ value, title }` object — replacing `values: string[]`.
Regenerated with `update-openapi.js` against the merged spec (prod does
not serve it yet), then `typegen` and `generate-sdk-v2`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AjvE4vREJChRUTwAfNW3LZ
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/entity-client(and the v2@epilot/sdkartifacts derived from it) from the Entity API spec as merged onentity-apimain, rather than hand-editing model files. Two merged changes come across:overridable_attributedocuments what it accepts and rejects — accepted on scalar attributes and on relations (a variant overrides a relation by replacing its whole$relationlist, e.g. a product's prices); rejected on system (_-prefixed),readonly,hidden,computedandrepeatableattributes. From entity-api!1704.selectcondition declares its vocabulary asoptions— a bare value or a{ value, title }object, matching aselectattribute'soptions— replacingvalues: string[]. From the select-options MR merged after it.How it was generated
The spec was taken from
entity-apiorigin/main, not fromhttps://docs.api.epilot.io/entity.yaml: the merged changes are not deployed to prod yet, so the published spec still serves the old shape. This is the "use a local spec file (e.g. if still deploying)" path in the SDK client docs. Re-running against prod after the deploy should be a no-op.The generator rewrites every client's
apis/*.tswithout semicolons andlint:fixputs them back, so the intermediate run touched 110 files; after the chainedlint:fixonly the entity files below remain changed.Changed files
clients/entity-client/src/openapi.jsonclients/entity-client/src/openapi.d.tspackages/epilot-sdk-v2/src/types/entity.d.tspackages/epilot-sdk-v2/src/docs/entity.json,docs/entity.md.changeset/entity-client-conditional-pricing-regen.md@epilot/entity-clientand@epilot/sdksrc/definitions/entity*.jsonis a compacted definition that carries no schema descriptions, so it is correctly unchanged.Note for consumers
SelectConditionDefinition.values: string[]becomesoptions?: Array<string | { value: string; title?: string }>. Anything readingvaluesoff a select condition needs updating. This lands as aminorbump, matching how the earlier conditional-pricing regenerations were versioned while the feature is still behind a flag — say the word if you would rather it went out asmajor.Relationship to #479
#479 (relation types added to
OVERRIDABLE_ATTRIBUTE_TYPE_LISTin the pricing model) has since been merged and released as@epilot/sdk@2.20.4. This PR is complementary and does not touch those files — it is scoped to the entity-client regeneration, so the two compose cleanly andmergeable_stateis stillcleanagainst the advanced base.Test plan
pnpm --filter @epilot/entity-client run test— 3 passed;tsc --noEmitcleanpnpm lint(biome, 524 files) — no fixes appliedf0bd4a6— Lint, Test, Analyze (javascript), CodeQL all pass. (The 30@epilot/sdktest failures seen while developing were local only: the sandbox's HTTPS proxy prepends itself to test URLs, givingERR_INVALID_URL. Identical counts on a cleanmaincheckout, and CI has no such proxy.)🤖 Generated with Claude Code
https://claude.ai/code/session_01AjvE4vREJChRUTwAfNW3LZ
Generated by Claude Code