[pull] main from fern-api:main#682
Merged
Merged
Conversation
… configured in IR (#14407) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: dsinghvi <10870189+dsinghvi@users.noreply.github.com>
* feat(docs): add translations block to docs.yml for multi-language docs Add a `translations` block to `docs.yml` that lets users declare which locales their documentation supports, with an optional `default` flag. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): add translations handler to docs AST visitor Add noop handler for the new `translations` field in the exhaustive ObjectPropertiesVisitor<DocsConfiguration> call inside visitDocsConfigFileYamlAst, fixing the TS2345 compile error. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(docs): load translations/<lang>/ pages and register with FDR - ParsedDocsConfiguration gains translationPages: Record<locale, pages> - parseDocsConfiguration reads translations/<lang>/ directories, errors clearly when a declared locale directory is missing, and warns about individual missing files (partial translations are allowed) - DocsDefinitionResolver exposes getTranslationPages() after resolve() - publishDocs calls POST /v2/registry/docs/translations/register for each locale after finishDocsRegister, using a direct axios call (registerTranslation is not yet in the published fdr-sdk version) - visitDocsConfigFileYamlAst gains translations: noop to satisfy the exhaustive ObjectPropertiesVisitor<DocsConfiguration> type - Integration tests use real temp directories to exercise FS loading Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(deps): upgrade @fern-api/fdr-sdk to 1.1.23-d25ead8e05 Upgrades fdr-sdk from 1.1.13-c1ad12a2b8 to 1.1.23-d25ead8e05 which includes the registerTranslation SDK call used by the docs translations feature. Fixes resulting type errors: - IntegrationsConfig.context7 changed from string to FileId — suppress the raw path string by setting context7: undefined in parseDocsConfiguration (the resolved AbsoluteFilePath is already stored as context7File) - AiChatLocation now excludes "discord" in the SDK type — cast at the API boundary in DocsDefinitionResolver - Remove now-resolved @ts-expect-error directive for agents field Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix docs upstream issue * fix(docs): skip default locale when loading translation pages When a locale listed in `translations:` has no corresponding `translations/<lang>/` directory, and that locale is the default (first entry or marked `default: true`), skip it silently rather than erroring. The default locale's pages already live in `pages/`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): apply translated frontmatter to nav tree in CLI For i18n translations, the CLI now: 1. Uses gray-matter (from docs-resolver) to parse sidebar-title and slug overrides from translated page frontmatter 2. Walks the navigation tree and updates PageNode title/slug where translated pages have frontmatter overrides 3. Sends the fully-computed DocsDefinition (with updated nav root) to FDR so the server can write a correct LoadDocsForUrlResponse to S3 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): add blank line before translations config in DocsDefinitionResolver Address reviewer feedback requesting a missing blank line. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(docs): mark translations feature as alpha in changelog 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(lint): fix biome formatting in package.json files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): address review comments for translations alpha - Filter 'discord' from AIChatLocation at runtime instead of using type cast - Add TODO comment documenting that translated pages bypass MDX transformation pipeline 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): address remaining review comments for translations alpha - Fix language code jp -> ja in docs.yml example - Add preview mode guard to prevent translations overwriting prod in preview - Remove slug override support (requires proper composition with parent slugs) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): apply MDX transformations to translated pages - Add getCollectedFileIds() and getDocsWorkspacePath() to DocsDefinitionResolver - Re-export stripMdxComments and replaceImagePathsAndUrls from docs-resolver - Apply stripMdxComments to translated pages to prevent comment leakage - Preserve editThisPageUrl/editThisPageLaunch from base pages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): add image path rewriting and tests for translations - Apply replaceImagePathsAndUrls to translated pages using base page path for resolution - Add comprehensive tests for applyTranslatedFrontmatterToNavTree - Remaining TODOs: <Markdown src=.../>, <CodeBlock src=.../>, @-prefix imports 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): address remaining review comments for translations - Hoist default locale skip above existence check in loadTranslationPages - Add superRefine validation to reject multiple default translations - Handle section nodes in applyTranslatedFrontmatterToNavTree (overviewPageId) - Rewrite editThisPageUrl to point to translated file path - Add tests for section node handling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): add telemetry headers and error logging for translations - Spread telemetry headers (X-CLI-Version, X-CI-Source, etc.) into translation registration fetch - Add logging for frontmatter parse errors in applyTranslatedFrontmatterToNavTree 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(lint): fix biome linting errors in translation tests - Replace `as any` with helper functions using proper type casts - Fix import ordering in docs-resolver/index.ts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(docs): fix translation tests to include default locale The translation tests were failing because they only specified a single translation locale without marking any as the default. The code treats the first translation without a `default: true` flag as the default locale, which means it gets skipped during translation loading. Fixed by adding `{ lang: "en", default: true }` to each test's translations config so the other locales (fr, ja) are correctly treated as translations. Also fixes TypeScript errors in applyTranslatedFrontmatterToNavTree tests by using optional chaining on array access. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(docs): regenerate docs-yml SDK types and schema Regenerates the TypeScript SDK types and JSON schemas for the docs-yml API definition to include the translations configuration documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(internal): update IR test definition snapshots Updates IR test definition snapshots to include the new tokenPlaceholder field added in main. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Deep Singhvi <deep@buildwithfern.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Jacob Schein <scheinjacob@gmail.com>
…zer + replace switch-on-type WebSocket dispatch with shape-based trial deserialization (#15349) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
Co-authored-by: Swimburger <3382717+Swimburger@users.noreply.github.com>
) * [Dependabot Alert #2041] Scaffold PR for postcss * chore(deps): deduplicate postcss to 8.5.10 to fix CVE-2026-41305 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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 : )