A typed SDK is a per-model package that wraps the baseDocumentation Index
Fetch the complete documentation index at: https://docs.reactor.inc/llms.txt
Use this file to discover all available pages before exploring further.
Reactor
class with named methods and React hooks mirroring that model’s published schema.
It only adds ergonomics to aid in development, such as
autocomplete, typed parameters, and named hooks. Every typed method
ultimately calls sendCommand() on the base class. See the
SDK Reference overview for when to reach for a typed SDK vs. the base
class.
Each package ships two layers: an imperative class and a React layer. The examples below use Helios;
LingBot is identical with the names swapped (LingbotModel, LingbotProvider, useLingbot,
LingbotMainVideoView, and so on).
Imperative class
HeliosModel (and LingbotModel) extends Reactor, so it keeps
every base method (connect, disconnect, uploadFile, on, …) and adds a typed method per
command. The model name is set for you.
helios.setPrompt(...) sends the
set_prompt command. The canonical list of methods and
their parameters is each model’s Commands table:
Helios commands /
LingBot commands.
Non-React apps can import the class from the package’s
./core entry
(@reactor-models/helios/core) to skip the React dependency. The default import includes both
layers.React layer
For React apps the package also exports a provider, hooks, and a typed video component.<HeliosProvider>is<ReactorProvider>withmodelNamepre-set. Pass the same props (jwtToken,connectOptions, …) minusmodelName.useHelios()returns the baseuseReactorstore (status,connect,disconnect,sendCommand,uploadFile,lastError, …) plus a typed method per command (setPrompt,schedulePrompt,setImage,setSeed,setSrScale,setImageStrength,start,pause,resume,reset, andsetConditioningon Helios 0.9.0+).- Per-message hooks are typed equivalents of
useReactorMessage, each filtered to one message type, plus the catch-alluseHeliosMessage. Helios exposesuseHeliosState,useHeliosCommandError,useHeliosImageAccepted,useHeliosPromptAccepted,useHeliosConditionsReady,useHeliosChunkComplete,useHeliosGenerationStarted/useHeliosGenerationPaused/useHeliosGenerationResumed. LingBot mirrors these and addsuseLingbotGenerationCompleteanduseLingbotGenerationReset. Payloads match the model’s Messages table. <HeliosMainVideoView>is<ReactorView>withtrack="main_video"pre-bound; it accepts the otherReactorViewprops.useHeliosTrack(name)returns a rawMediaStreamTrackfor a named track.
How typed names map to the base SDK
| Typed SDK | Base SDK equivalent |
|---|---|
new HeliosModel() | new Reactor({ modelName: "helios" }) |
helios.setPrompt({ prompt }) | reactor.sendCommand("set_prompt", { prompt }) |
<HeliosProvider> | <ReactorProvider modelName="helios"> |
useHelios() | useReactor((s) => s) plus typed command methods |
useHeliosState(fn) | useReactorMessage filtered to state messages |
<HeliosMainVideoView /> | <ReactorView track="main_video" /> |