Skip to content

feat: sync SDK to OnePin API v0.41.147 - #128

Open
onepin-pipeline-bot[bot] wants to merge 1 commit into
mainfrom
fern-regen/8c8c6f7f8bdffec317e65c2abf9e2af93692424f
Open

onepin-pipeline-bot[bot] wants to merge 1 commit into
mainfrom
fern-regen/8c8c6f7f8bdffec317e65c2abf9e2af93692424f

Conversation

@onepin-pipeline-bot

Copy link
Copy Markdown
Contributor

Auto-regenerated from the shaped OnePin API OpenAPI spec.

  • Spec commit: 8c8c6f7f8bdffec317e65c2abf9e2af93692424f
  • Spec version: 0.41.147
  • Trigger env: prod

The hand-rolled CLI under src/onepin/_cli/ is preserved via src/onepin/.fernignore.
Review the diff, let CI run, then merge to ship the new SDK surface.

@onepin-pipeline-bot

Copy link
Copy Markdown
Contributor Author

Regen guards: failing. tests/build is red against the freshly generated SDK:

FAILED tests/build/test_sdk_contract.py::test_no_unexposed_sdk_params[voices.list] - AssertionError: voices.list: voices.list accepts ['provider_voice_id'] but the CLI has no flag for it. Either add an Opt(...) to the row in _spec.py, or record the decision in _INTENTIONALLY_UNEXPOSED with the reason.

This does not block the PR -- the diff is here to fix forward from. ci.yml runs the same suite as a required check, so the merge is gated on it being green.

run log

@onepin-pipeline-bot

Copy link
Copy Markdown
Contributor Author

Fixed the `tests/build` failure: it was SDK→CLI drift (`test_no_unexposed_sdk_params[voices.list]`) — the regen gave `voices.list` a native `provider_voice_id` keyword that no CLI flag reached.

Added `--provider-voice-id` (plain string, no transform — it's a single exact-match id, not a repeatable filter) to the `voices list` row in `_spec.py`, regenerated the README block and the manifest snapshot, and added a forwarding test in `tests/cli/test_cli_extra.py`. `ruff`, `ruff format`, `mypy -p onepin._cli`, and the full `pytest` suite (95% coverage on `onepin._cli`) all pass.

Needs a human call on whether this filter needs a Cmd(gate=) handler, per the AGENTS.md callout: provider_voice_id is an exact-match filter that ANDs with every other filter. If a workspace's API is older than this parameter, the server (per FastAPI's behavior with undeclared query params) will silently ignore it and return 200 with the full unfiltered catalog instead of erroring — so a caller filtering to one vendor id could get back every voice without any signal that the filter wasn't applied. That's the same shape of problem --buildable was gated for. I did not add a gate myself, per instructions — flagging for a decision.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants