AbstractAbstractChannelChannel name (matches the MJ: AI Agent Channels row + the EnabledChannels entry), e.g. 'Whiteboard'.
AbstractSurfaceHuman label for the surface's header in the widget.
AbstractToolPrefix every one of this channel's tool names share, e.g. 'Whiteboard_'. Used to route tool calls.
AbstractApplyApplies one model-issued tool call to the channel's surface and returns the result as a JSON
string (fed back to the model as the tool result). Must not throw — return an { "error": … }
JSON payload on a bad call so the model can recover.
AbstractBindRenders the channel's surface into the supplied host element (inside the widget's shadow DOM).
Tears down the surface + subscriptions. Default: clears the context.
AbstractGetThe client tools this channel contributes to the realtime session (declared at mint).
Wires the perception seam. Called once before the first tool call.
Base class for a framework-free widget interactive channel. Concrete channels (e.g. the Whiteboard) subclass this and register with
@RegisterClass(BaseWidgetChannel, '<ChannelName>'). Resolved viaMJGlobal.ClassFactory.CreateInstance(BaseWidgetChannel, channelName).