All message types are exported from @scenaro/sdk/protocol.

ConfigPayload

Sent on the config topic at session start.
FieldTypeDescription
featuresFeatureDefinition[]Features and their tools
collectionsunknown[]Collection metadata for features
company_idstring | numberTenant identifier
restore_stateRestoreStateCheckpoint for state restoration
voice_stackstringActive voice provider stack
audio_dictationbooleanDictation mode enabled
conversation_idstringActive conversation ID
avatar_enabledbooleanAvatar output enabled

FeatureDefinition

ToolConfig

ConfigAckPayload

ConversationMessage

Sent on message:new.
FieldTypeDescription
idstringMessage ID
role'user' | 'assistant' | 'tool' | 'event'Speaker role
contentstringMessage text
timestampstringISO timestamp
tool_callsunknown[]Tool invocations (assistant)
tool_call_idstringTool result reference
interruptedbooleanSpeech was interrupted
experience_stateRecord<string, unknown>UI state snapshot

SessionEndPayload

API types (client)

Used by ScenaroClient for HTTP calls:

PublicTokenRequest / Response

PublicSessionRequest / Response

RestoreState