Skip to content

feat(entity-client, pricing-client): a select condition declares options like a select attribute - #478

Open
josecarneiro wants to merge 3 commits into
mainfrom
claude/conditional-pricing-select-options
Open

feat(entity-client, pricing-client): a select condition declares options like a select attribute#478
josecarneiro wants to merge 3 commits into
mainfrom
claude/conditional-pricing-select-options

Conversation

@josecarneiro

Copy link
Copy Markdown
Contributor

Summary

Regenerates @epilot/entity-client and @epilot/pricing-client from the updated Entity API and Pricing API specs (Conditional Pricing), plus the epilot-sdk-v2 derived types/docs via pnpm generate, with a minor changeset for both clients and @epilot/sdk.

A select condition now follows a select attribute's shape:

  • ConditionDefinition declares its vocabulary under options, whose entries are either a bare value or a { value, title } object — replacing the Entity API's values: string[].
  • The one deliberate difference stays: a condition has no allow_any (removed from the Pricing API's ConditionDefinition), since a variant can only ever pin a declared option.

Specs were pulled from the local API repos (npm run openapi <path>), so this can merge before the API deploys land; a later npm run openapi against prod produces no further diff once they do.

Companion MRs: entity-api and pricing-api (GitLab) claude/conditional-pricing-select-options.

Test plan

  • tsc --noEmit in both clients — clean
  • pnpm generate in packages/epilot-sdk-v2 — regenerated, biome clean
  • sdk-v2 tsc error count unchanged vs main (2 pre-existing, unrelated)
  • CI green

🤖 Generated with Claude Code

https://claude.ai/code/session_01515iUBYHWajkSBDVD6Cp5z


Generated by Claude Code

josecarneiro and others added 3 commits September 2, 2026 14:58
…ons like a select attribute

Regenerate both clients from the updated Entity API and Pricing API specs:
a `ConditionDefinition` now declares a select condition's vocabulary under
`options`, whose entries are either a bare value or a `{ value, title }`
object, exactly as a select attribute's `options` — replacing the Entity
API's `values: string[]`. The Pricing API drops `allow_any` from the
definition, since a condition's vocabulary is always enforced.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01515iUBYHWajkSBDVD6Cp5z
…options description

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01515iUBYHWajkSBDVD6Cp5z
…ect condition descriptions

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01515iUBYHWajkSBDVD6Cp5z
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.

2 participants