Skip to content

[pull] main from fern-api:main#788

Merged
pull[bot] merged 8 commits into
code:mainfrom
fern-api:main
Jun 11, 2026
Merged

[pull] main from fern-api:main#788
pull[bot] merged 8 commits into
code:mainfrom
fern-api:main

Conversation

@pull

@pull pull Bot commented Jun 11, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

iamnamananand996 and others added 8 commits June 11, 2026 23:32
)

* fix(python): remove trace from allowedFailures (already passing)

* fix(python): add norecursedirs to prevent pytest collecting from src/

The seed test scripts run 'poetry run pytest -rP .' with an explicit '.'
path, which overrides the testpaths setting and causes pytest to collect
from src/ too. Files named test_*.py in src/ (e.g., test_case.py,
test_submission_update_info.py) with Test* classes trigger pytest
collection errors.

Adding norecursedirs = ["src"] to the generated pyproject.toml prevents
pytest from descending into src/ during collection.
…nd add the Install-skills page action config (#16446)

* feat(cli): upload .well-known agent skills bundles with docs publish

Companion to fern-api/fern-platform#11973 (ADR 0015): the docs site now
serves author-supplied Agent Skills at /.well-known/skills/ and
/.well-known/agent-skills/ from uploaded artifacts. This makes the CLI
upload everything under those directories in the docs folder as ordinary
file artifacts (fullPath preserved), and adds a valid-well-known-skills
docs validation rule covering the index.json discovery manifest and
SKILL.md frontmatter (kebab-case name <= 64 chars matching the parent
directory, non-empty description <= 1024 chars).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(cli): add page-actions.options.skills docs.yml config

Producer half of the "Install skills" page action shipped in
fern-platform#11947 (FER-11043). Adds the skills block to the docs.yml
schema (kebab-case mapped 1:1 to the SkillsConfig wire shape), parses it
through ParsedDocsConfiguration, and emits it on the docs register
payload. Presence of the key enables the action; an empty object is
valid and enables it with all defaults. Bumps @fern-api/fdr-sdk to
1.2.32-f5a3d6f517 so the write types carry pageActions.options.skills.
Adds a valid-skills-page-action docs-validator rule (non-empty skill
names and install-command entries as errors, malformed URLs as
warnings).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…g is absent (#16445)

The v3 OpenAPI importer produced empty discriminated unions when
discriminator.propertyName was set but discriminator.mapping was absent.
This is valid per the OpenAPI spec — the mapping should be inferred from
the oneOf/anyOf $ref schema names.

Added inferDiscriminatorMapping() which:
- Iterates oneOf/anyOf $ref schemas
- Checks each resolved schema's discriminant property for const/enum values
- Falls back to the schema name from the $ref path

This fixes the missing 'Show N variants' UI in docs for specs like
Cohere's chat messages field (array of discriminated union by role).

Co-authored-by: adi.david <adi.david@buildwithfern.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…rred-auth (#16478)

fix(php-sdk): construct typed token request for reference-body OAuth/inferred-auth

When the OAuth or inferred-auth token endpoint uses a referenced (non-inlined) request body, the generated provider passed an associative array to the token endpoint method, which expects the typed request object. This caused PHPStan failures. Resolve the request class reference for reference bodies and construct the typed request. Removes oauth-client-credentials-reference and inferred-auth-implicit-reference from php-sdk allowedFailures.
…re-tests (#16458)

* fix(python): fix WireMock stub collision in unions by changing bigunion base-path

Changed bigunion service base-path from / to /bigunion to disambiguate
from the union service which also exposes GET /{id} on root base-path.
This resolves the WireMock routing ambiguity that caused bigunion
endpoints to receive union service responses.

Also fixes pydantic-v2 build.mjs to copy asIs files to dist (matching
the pattern used by csharp, go-v2, php, and ruby-v2 generators).

Regenerated unions fixture across all 11 generators.

* chore: scope PR to wiremock fix only

Revert unrelated changes that were not needed to remove the
unions:union-naming-v1-wire-tests allowedFailure:
- pydantic-model build.mjs asIs copy + pydantic-v2/openapi fixture regen
- invokedBy/ciProvider metadata + generated ci.yml publish-job churn
- python-sdk changelog entry (no generator code changed)

Keeps the bigunion base-path change, the seed.yml allowedFailure removal,
and the path-related regenerated outputs across generators.

* test: regenerate unions IR snapshots for /bigunion base-path

* test: regenerate stale ir-generator-tests snapshots (exhaustive, java-idempotency)

These snapshots were left stale on main: exhaustive types from #16327
and the java-idempotency-headers-file-upload fixture from #16219 were
never regenerated. Regenerating to get the required test check green.
@pull pull Bot locked and limited conversation to collaborators Jun 11, 2026
@pull pull Bot added the ⤵️ pull label Jun 11, 2026
@pull pull Bot merged commit b9765bc into code:main Jun 11, 2026
3 of 5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants