Repository navigation
docs(platform): the React hook is one page, like the chat module - #346
Merged
Merged
Conversation
useChat, ChatBackend, ChatItem and ChatQuestion were four pages, with the hook's own types appended to each and an unlabelled Methods section in the middle of useChat. They are now one useChat page in the layout of the chat module page: Overview, then "Actions" (send, create, clearError), "Backend calls" (the four ChatBackend calls), "Type Definitions" and "Questions". ChatOptions has no section of its own: Parameters already documents it. The shared pipeline gets three generic pieces for this, with no effect on the app SDK reference, which generates byte-identical: - In a type definition group, a type's own methods nest under it instead of sitting at the level of the types, and the bare Methods label goes. - A type's properties become fields up to its first method, which keeps its heading. - A last pass points in-page links at headings and explicit anchors that exist: a type whose section was renamed is linked by its new heading, and a link to anything the page no longer has keeps its text without the link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
🚀 Package Preview Available!Install this PR's preview build with npm: npm i @base44-preview/sdk@0.8.56-pr.346.ce5b5bePrefer not to change any import paths? Install using npm alias so your code still imports npm i "@base44/sdk@npm:@base44-preview/sdk@0.8.56-pr.346.ce5b5be"Or add it to your {
"dependencies": {
"@base44/sdk": "npm:@base44-preview/sdk@0.8.56-pr.346.ce5b5be"
}
}
Preview published to npm registry — try new features instantly! |
Contributor
🚀 Package Preview Available! (
|
…d mentions Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Platform SDK's useChat page goes under React instead of Clients, so a regeneration keeps the React group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A field typed with a union of string literals, such as useChat's status or a purchase's status, only named the type, and its values sat in a separate section, or nowhere when the type wasn't exposed. Post-processing now reads each such union from TypeDoc's pages, adds its comment (after the summary paragraph) to every field that uses it, and drops the union's own section. A comment that doesn't name every value gets a line listing them. Unions that document each value as a field, like the webhook error codes, are left alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…them ChatItem, ChatStep, ChatAnswer, ChatError, ChatApp, and ToolCallAnswer were already nested in full under the fields that use them, so their Type Definitions sections only repeated them. The page keeps one types section, Questions, which the step's question field now links to. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Returned actions useChat returns one object of state to render and functions to call. Its page split them unevenly, with the state in a collapsed Returns accordion and the functions in an Actions section opened by the wrong intro, and none of the state in the page's table of contents. page-sections.json `returnedState` now names a section for a returned type's properties. The function's Returns gives way to that section, with one heading per property that keeps what Returns showed for it, and the type's methods follow in their own section. Each section opens with its @groupDescription. The page keeps Parameters at the top level, and the Returns example moves to the Overview. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tself Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ssion_id on the server Create socket session's own docs say to keep session_id on your server, but the chat module and useChat told backends to pass the whole response through unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts intro type On the useChat page, ChoiceEntry, SecretField, and ApprovalDetails each had a section of their own though only one field uses each, and nothing linked them. page-sections.json `inlineTypes` now moves such a type into the field that uses it, as a Properties accordion. A typeDefinitionGroups entry's `intro` type opens its section with no heading of its own, with each type its signature names linked to its heading, so ChatQuestion introduces Questions and links the three kinds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
abrahams-wix
approved these changes
Oct 22, 2026
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
The
@base44/platform/reactreference was hard to read. It was four pages:useChat,ChatBackend,ChatItemandChatQuestion. Each had more types appended to it, and an unlabelled "Methods" section (send,create,clearError) appeared in the middle ofuseChat. Thechatmodule, by contrast, is one page with its types as definitions under it.What
useChatis now one page, laid out like thechatmodule page:send(),create(),clearError().createApp(),openLiveSession(),sendMessage(),submitToolCallInput().ChatItem,ChatStep,ChatAnswer,ChatStatus,ChatConnection,ChatError,ChatApp,ToolCallAnswer.ChatQuestion, then each kind with its methods nested under it (answer(),submit(),approve(),decline()) and its entry types.ChatOptionshas no section of its own, since Parameters already documents every option. The config for all this isappended-articles.json,page-sections.jsonand a newtypes-to-delete-after-processing.jsoninpackages/platform.Pipeline
Three generic pieces in the shared pipeline. The app SDK reference generates byte-identical, and so do the Platform SDK's other pages:
nestUnderGroupTypes: in a type definition group, a type's own methods arrive at the level of the types themselves. They now nest under their type, and the bare "Methods" label goes.propertiesAsFields: a type's properties become fields up to its first method (name()), which keeps its heading. Before, a nested method would have been swallowed as a field.fixInPageAnchors: a last pass that checks every in-page link against the page's headings and explicitids.typesWithOwnMethods) follows the new heading, for example#chatbackend→#backend-calls.UseChatResult.status, which is now a field.Testing
tests/unit/typedoc-mintlify.test.ts. Undoing any one of them fails a test.vitest run tests/unitinpackages/sdk: 387 passed.useChatresolves.🤖 Generated with Claude Code