Demo: SDK Reference product (compact layout, 10-SDK polyglot reference)#406
Open
Devon-White wants to merge 9 commits into
Open
Demo: SDK Reference product (compact layout, 10-SDK polyglot reference)#406Devon-White wants to merge 9 commits into
Devon-White wants to merge 9 commits into
Conversation
Contributor
28346a1 to
ce5f3a8
Compare
Own sdk-reference product (like #337), compact layout — true to each SDK's structure: every container page (module/package, class) holds its direct members inline, including its type definitions (interfaces/enums bundle onto the page; nested classes keep their own page). Repo-local non-shipped code (examples/, internal port-audit tooling) is excluded; shipped CLIs are kept. - 2,023 pages (vs 14,573 nested in #337 — ~86% fewer) - fern-check: 0 broken links - 2 hand-written: fern/docs.yml entry + sdk-reference.yml (nav) Requires pipeline branch Devon-White/lustri fix/sdk-reference-compact-quality.
ce5f3a8 to
330529d
Compare
Regenerated all 10 SDKs from latest source. Prose-safety fixes: - placeholder example URLs (http://host:port, http://127.0.0.1:NNNN, http://hostFallback:portFallback{path}) wrapped in code so Fern no longer auto-links + rejects them as Invalid URL. - C#/Java XML-doc <code>/<c> inline tags now render as code spans instead of literal <code> text (58 dotnet + 2 java pages). fern check: 3 errors -> 0 (0 broken links).
Apply the namespace_shape editorial overlay so all 10 SDKs share the four
conceptual areas of the manual server-SDK reference:
- agents — the AI/agent surface (the bulk: agent-base, swml, swaig,
skills, prefabs, pom, livewire, contexts, datamap, server, …)
- relay — the RELAY client subtree (call, message, actions, events)
- rest — the REST client + resource namespaces
- core — foundational surface (logging, webhook-signature security, utils)
Replay-safe (only modulePath/parentId change). SDKs that keep loose
top-level members (root factory functions / version constants) retain a
small root-namespace page for them. fern check: 0 broken links.
Collapse the SDK's REST `namespaces` grouping so resource clients (addresses, calling, compat, video, …) render directly under rest/ — matching the hand-written server-SDK reference — for the SDKs whose resources are sub-modules. fern check: 0 broken links.
…lay/relay doubling - python: lift *Action classes into relay/actions/ and group auth/config under agents/configuration/ — matching the manual server-SDK reference. Same for rust/dotnet (actions) and typescript (configuration). - go/java/php: fix relay/rest path doubling (their extractors include the module's own name in module_path, producing relay/relay) by flattening the duplicated wrapper. fern check: 0 broken links.
Regenerate all 10 SDK references (compact layout) and restructure the sidebar to match the hand-written server-sdks reference. Navigation (sdk-reference.yml): each language now lists four explicit top-level sections — Core / Agents / RELAY / REST Client — instead of a single auto-expanded ./<lang> folder. This gives a clean, curated sidebar and excludes package-root wrapper pages. Content (Lustri namespace_shape + compact-layout fixes): - REST namespaces that wrap a single resource class (addresses, chat, mfa, queues, …) now render that class's methods inline on the namespace page instead of a redundant nested <name>-resource/ subpage. Multi-resource namespaces (compat, fabric, video, …) stay expanded. - relay/call no longer double-renders (module + class) — single page. - TypeScript top-level free functions are routed into their namespace: the skill-registry helpers live under Agents; the restClient factory (duplicate of the RestClient class already under REST) is dropped. Backed by Lustri engine fixes (collapse single-class modules, root-level free-function moves, synth-chain container reuse).
…mapping Regenerate all 10 SDKs after the namespace engine + perl extractor fixes: - python/ruby: skill-registry helper functions now surface under Agents (routed off the package-root module). - perl: Core/Agents now map fully (the PPI double-nesting bug is fixed), and the package facade lands under Core. - typescript, go, dotnet, perl: clean four-section trees. - java/php/cpp/rust retain a nav-excluded package-root facade dir (facade class shares the package-namespace name, so it can't be routed by name).
…rust) The cascade fix lets the package-root facade route into Core without dragging the relay/rest buckets, so java/php/cpp/rust no longer carry a nav-excluded wrapper dir — their factory + skill-helper entry points now appear under Core. perl comment cleanup. 8/10 SDKs are fully clean.
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.
What
Adds the SDK Reference product (same as #337) for all 10 SignalWire SDKs, but rendered with the compact / single-page-per-class layout instead of nested per-symbol.
TypeScript · Python · Ruby · Go · Java · .NET · PHP · Rust · C++ · Perl
Compact vs nested
In the compact layout a class folds its methods and properties inline onto its own page, while keeping the nested folder hierarchy. The result is far fewer pages:
Per language (compact): TS 581 · Python 745 · Ruby 382 · Go 833 · Java 210 · Perl 899 · PHP 136 · .NET 175 · C++ 350 · Rust 321.
What's in the diff
Hand-written (2 files):
fern/docs.yml— one product entry added (ownsdk-referenceproduct, like Demo: SDK Reference product (10-SDK polyglot reference) #337)fern/products/sdk-reference/sdk-reference.yml— variants + folder layout for the 10 SDKs (reused from Demo: SDK Reference product (10-SDK polyglot reference) #337)Generated (under
fern/products/sdk-reference/<language>/):.mdxcarriesauto_generated: true; rewritten on each pipeline runPurpose
Demo/preview to compare the compact single-page-per-class structure against the nested demo (#337) at scale.