Frontend tool execution uses Transport RPC (LiveKit RPC today). Method names and timeouts are defined in @scenaro/sdk/protocol.

Built-in RPC methods

ConstantMethod nameTimeout
UI_ACTIVITY_CHECKscenaro__ui_activity_check3000ms
COMPOSER_START_DICTATIONcomposer_start_dictation10000ms
COMPOSER_END_DICTATIONcomposer_end_dictation15000ms
COMPOSER_CANCEL_DICTATIONcomposer_cancel_dictation8000ms

Timeout constants

Frontend tool handlers must respond within FRONTEND_TOOL_MS (10s) or the agent receives a timeout error.

Tool method resolution

Cockpit can override the RPC method name per tool:
The SDK registers RPC methods dynamically from the config payload — via session tools (useScenaroSession({ tools })) or FeatureProvider / local feature runtime.

Request / response shapes

RpcToolRequest (inbound)

RpcToolResponse (outbound)

Example handler

The response.data is sent back to the agent. componentData updates the feature UI via FeatureProvider.

Agent-side RPC

The voice agent may also call built-in methods like scenaro__ui_activity_check to verify the user is interacting with feature panels. The SDK’s ui-activity-tracker responds automatically during an active session.