[pull] main from fern-api:main#788
Merged
Merged
Conversation
) * 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.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
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 : )