Unlike the other SDKs, the facade is constructed rather than imported as a singleton.
createRunAnywhere(backend) is how you get one.Packages
All seven publish at 0.20.24. Electron is the one platform where QHexRT is not pinned back
to 0.20.19, because it ships as an npm prebuild rather than through Maven or pub.dev.
Which platform gets which engines
The two Windows lanes are mutually exclusive by construction: QAIRT ships no Hexagon stub for
x86_64, and neither ggml nor ONNX Runtime builds for win-arm64. The NPU is the only engine on
an ARM64 Windows host, with no CPU fallback behind it.
Declaring all the backend packages unconditionally stays safe. A package with no payload for
the running platform records a path that does not exist, and the SDK drops non-existent paths
before forking the utility host. Only what your platform can run shows up in
capabilities().backends.
The namespaces
Fourteen modality namespaces:llm, vlm, stt, tts, vad, voice, rag, models,
embeddings, rerank, lora, images, diarization, segmentation.
Five platform namespaces: storage, logging, secure, auth, telemetry.
Input constructors also hang off the facade as audio, image, and ragDocument, so renderer
code can build the same values main-process code builds.
What Electron has that nothing else does
- Download control:
models.pause,models.resume,models.cancel,models.interrupted(). - A delete dry-run:
storage.deletePlan()tells you what a delete would remove before you do it. - A live log stream:
logging.records(). - A
cancelledterminal event on generation streams. - The full LoRA catalog surface, matching Swift rather than the short form the other TypeScript SDKs carry.
Where to go next
Installation
Packages, processes, and packaging
Quick Start
A working window
Configuration
Models, storage, logging, auth