Arbitrator¶
Outgoing Messages¶
OnAgentStateUpdated¶
Notifies platform of an update to the agent state.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "OnAgentStateUpdated"
}
},
"payload": {
"assistantId": {{String}},
"name": {{String}},
"state": {{AgentState}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | The unique identifier of agent whose state is updated. | |
name | String | Yes | The name of agent whose state is updated. | |
state | AgentState | Yes | The updated state. |
OnDialogTerminated¶
Notifies platform that the dialog is terminated for the agent.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "OnDialogTerminated"
}
},
"payload": {
"assistantId": {{String}},
"dialogId": {{String}},
"reason": {{String}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | The unique identifier of agent whose dialog is terminated. | |
dialogId | String | Yes | The unique identifier of dialog request that is terminated. | |
reason | String | Yes | The reason for terminating the dialog. |
RegisterAgentReply¶
Reply for RegisterAgent message.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Reply",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "RegisterAgent",
"replyToId": {{String}}
}
},
"payload": {
"success": {{Bool}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
success | Bool | Yes | True if agent was successfully registered, False otherwise. |
DeregisterAgentReply¶
Reply for DeregisterAgent message.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Reply",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "DeregisterAgent",
"replyToId": {{String}}
}
},
"payload": {
"success": {{Bool}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
success | Bool | Yes | True if agent was successfully deregistered, False otherwise. |
StartDialogReply¶
Reply for StartDialog message.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Reply",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "StartDialog",
"replyToId": {{String}}
}
},
"payload": {
"success": {{Bool}},
"assistantId": {{String}},
"dialogId": {{String}},
"reason": {{String}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
success | Bool | Yes | True if dialog was started, False otherwise. | |
assistantId | String | Yes | A unique identifier of agent for whom the dialog is requested. | |
dialogId | String | Yes | The unique identifier generated for the started dialog, returned if the dialog was started, empty otherwise | |
reason | String | Yes | The reason for the dialog not started, returned if request was denied, empty otherwise. This field is informational and is used only for logging purpose. |
Incoming Messages¶
RegisterAgent¶
Register an agent with the Engine.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "RegisterAgent"
}
},
"payload": {
"assistantId": {{String}},
"name": {{String}},
"dialogStateRules": [{{DialogStateRule}}]
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | A unique identifier of agent to register. | |
name | String | Yes | A name of agent that is registered. | |
dialogStateRules | DialogStateRule[] | Yes | List of dialog state rules for the agent. |
DeregisterAgent¶
Deregister an agent with the Engine.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "DeregisterAgent"
}
},
"payload": {
"assistantId": {{String}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | A unique identifier of agent to deregister. |
StartDialog¶
Start a dialog request to become the active agent. A dialog represents the lifecycle of user interaction with the agent.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "StartDialog"
}
},
"payload": {
"assistantId": {{String}},
"mode": {{Mode}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | A unique identifier of agent for whom the dialog is requested. | |
mode | Mode | Yes | The mode of dialog request. |
SetDialogState¶
Notifies Engine to set the dialog state for the specified agent.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "SetDialogState"
}
},
"payload": {
"assistantId": {{String}},
"dialogId": {{String}},
"state": {{String}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | The unique identifier of agent whose dialog state should be set. | |
dialogId | String | Yes | The unique identifier of dialog whose state should be set. This refers to the same Id that was returned when the dialog was started. | |
state | String | Yes | The new state to set to. |
StopDialog¶
Notifies Engine to stop the dialog state for the specified agent. Stopping the dialog results in the agent becoming INACTIVE. This triggers the Engine to send the OnAgentStateUpdated message.
JSON Structure¶
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "Arbitrator",
"action": "StopDialog"
}
},
"payload": {
"assistantId": {{String}},
"dialogId": {{String}}
}
}
Payload¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
assistantId | String | Yes | The unique identifier of agent whose dialog should be stopped. | |
dialogId | String | Yes | The unique identifier of dialog to stop. |
Type Definitions¶
DialogStateRule¶
JSON Structure¶
{
"state": {{String}},
"wakewordInterruptionAllowed": {{Bool}}
}
Properties¶
Property | Type | Required | Description | Example |
---|---|---|---|---|
state | String | Yes | Name of the dialog state | |
wakewordInterruptionAllowed | Bool | Yes | Whether interruption (barge in) via wakeword allowed for this state |
Enums¶
Mode¶
Values¶
Value | Description |
---|---|
"WAKEWORD" | Dialog request is through wakeword. |
"GESTURE" | Dialog request is through gesture (PTT, TTT, etc). |
AgentState¶
Values¶
Value | Description |
---|---|
"ACTIVE" | Denotes agent is active. |
"INACTIVE" | Denotes agent is inactive. |