Skip to content

docs(platform): Platform SDK reference review and docs pipeline fixes - #343

Merged
wixysam merged 1 commit into
mainfrom
samm/platform-sdk-docs-review
Oct 20, 2026
Merged

wixysam merged 1 commit into
mainfrom
samm/platform-sdk-docs-review

Conversation

@wixysam

@wixysam wixysam commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Review of the Platform SDK reference, and the docs pipeline fixes it needed. The generated pages are in base44-dev/mintlify-docs#2641, so this should merge before or with it. Otherwise the next create-docs run from main puts the old wording back.

Platform SDK JSDoc

  • createPlatformClient, chat, createPlatformServer, webhooks, and the error classes: clearer descriptions, Throws as full sentences that name the error, parentheses on function names, serial commas, and "the AI" or "test event" where the text said "builder" or "activation probe".
  • onSnapshot no longer says to merge snapshot messages by ID. A snapshot replaces what you hold, and after an undo the SDK rejoins for a fresh one.

Types

  • PlatformEvent is an explicit union of AppEvent<"…"> members plus UnknownEvent, both new exported interfaces, in place of the mapped type that rendered with ellipses. gen-events.mjs writes the members between markers, and --check fails if they drift from the AsyncAPI document.
  • maxTypeConversionDepth is 5 in typedoc.mintlify.json, so callback types such as Promise<void | Response> aren't cut.

Docs pipeline (shared with the App SDK)

  • A Throws section is no longer swallowed by a rewritten Returns.
  • Consecutive Throws sections merge into one heading with a list.
  • Returns no longer inlines a returned type alias's whole page. The App SDK's actors workaround for the same bug now always fixes its ActorRef link.
  • A page can hold several type groups. A group can mark types as nested, which shows them in an accordion under the previous type's code field. The Platform SDK error codes use this.
  • copy-to-local-docs finds a reference group nested inside a per-SDK group, for the new SDKs dropdown, and generated reference groups start collapsed.

App SDK output: the only changes are one Throws section that used to be dropped (auth), one restored Returns description (actors), and five Throws headings on integrations.custom.call() merged into one list. The build warnings are unchanged.

Platform SDK docs config

Errors move onto their module pages (chat, webhooks), with no Errors nav group. Both packages target the SDKs dropdown.

Skills

sdk-docs-writing gains the serial comma rule and App SDK and Platform SDK naming.

Checks

  • npm test -w @base44/platform: types, 155 unit, docs with no warnings, and 9 package tests.
  • npm run check:events: up to date.
  • npm run create-docs -w @base44/sdk: same 11 warnings as main.

🤖 Generated with Claude Code

- JSDoc review of createPlatformClient, chat, createPlatformServer, webhooks, and the error classes.
- PlatformEvent is an explicit union (AppEvent and UnknownEvent), and gen-events.mjs generates its members and checks them for drift.
- Pipeline: a Throws section isn't swallowed by Returns, consecutive Throws merge into one list, a returned type alias's page isn't inlined, a page can hold several type groups, error codes show in accordions under the error's code field, the SDKs dropdown target with nested reference groups, and reference groups start collapsed.
- Platform SDK: errors move onto their module pages, and the type conversion depth is 5 so callback types aren't cut.
- sdk-docs-writing: serial comma and App SDK and Platform SDK naming.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/sdk@0.8.54-pr.343.fe53e54

Prefer not to change any import paths? Install using npm alias so your code still imports @base44/sdk:

npm i "@base44/sdk@npm:@base44-preview/sdk@0.8.54-pr.343.fe53e54"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "@base44/sdk": "npm:@base44-preview/sdk@0.8.54-pr.343.fe53e54"
  }
}

Preview published to npm registry — try new features instantly!

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Package Preview Available! (@base44/platform)


Install this PR's preview build with npm:

npm i @base44-preview/platform@0.4.0-pr.343.fe53e54

Prefer not to change any import paths? Install using npm alias so your code still imports @base44/platform:

npm i "@base44/platform@npm:@base44-preview/platform@0.4.0-pr.343.fe53e54"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "@base44/platform": "npm:@base44-preview/platform@0.4.0-pr.343.fe53e54"
  }
}

Preview published to npm registry — try new features instantly!

@abrahams-wix
abrahams-wix self-requested a review October 20, 2026 11:41
@wixysam
wixysam merged commit 9db8e6c into main Oct 20, 2026
7 checks passed
@wixysam
wixysam deleted the samm/platform-sdk-docs-review branch October 20, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants