Enums Reference
Enums Reference
All enums live in linksoul_agentsdk.enums and are re-exported from linksoul_agentsdk.
AgentCallbackType
| Enum value | String value | Description |
|---|---|---|
AUDIO_2_LLM | audio2llm | Audio → ASR + LLM |
AUDIO_2_TTS | audio2tts | Audio → ASR + LLM + TTS |
ASR_2_LLM | asr2llm | Text → LLM |
ASR_2_TTS | asr2tts | Text → LLM + TTS |
ASR_VIDEO_2_TTS | asrVideo2tts | Text + video → VLM + TTS |
ASR_VIDEO_2_VLM | asrVideo2vlm | Text + video → VLM |
AUDIO_VIDEO_2_TTS | audioVideo2tts | Audio + video → VLM + TTS |
AUDIO_VIDEO_2_VLM | audioVideo2vlm | Audio + video → VLM |
PUSH_LISTEN | pushListen | Reserved; no public register_push_listen in v1.4.0 |
ILLEGAL | illegal | Invalid value |
from linksoul_agentsdk import AgentCallbackType
AgentCallbackType.of("audio2tts")
# → AgentCallbackType.AUDIO_2_TTS
Greeting signal, state push, face UID and video passthrough no longer use dedicated callback types — just override
on_greet_signal/on_state/on_face_info/on_video_frameon any registered passive callback.
FlowMode
| Enum value | Description |
|---|---|
SIMPLE | Single-step mode: start_request carries the full payload |
COMPLEX | Multi-step mode: start → task × N → end |
RobotState
| Enum value | Description |
|---|---|
ONLINE | Robot online (triggers on_robot_online) |
OFFLINE | Robot offline (triggers on_robot_offline) |
AgentPolicy
Interaction policy (internal use):
| Enum value | Description |
|---|---|
PASSIVE | Passive (robot-initiated) |
ACTIVE | Active (SDK-initiated) |
TELEOP | Teleop — new in v1.5.0 (wire value "teleop") |
EXT_SKILL | ExtSkill — new in v1.5.0 (wire value "extskill") |
SIGNAL | Signalling |
AgentEventType
WebSocket event types (internal use). Notable values:
| Enum value | Event-type string | Description |
|---|---|---|
AGENTSDK_ROBOT_STATE_SYNC | agentsdk.robot_state.sync | Robot online / offline |
AGENTSDK_AUDIO_REQUEST_START | agentsdk.audio_request.start | VAD start |
AGENTSDK_AUDIO_REQUEST_APPEND | agentsdk.audio_request.append | Audio frame |
AGENTSDK_AUDIO_REQUEST_COMMIT | agentsdk.audio_request.commit | VAD end |
AGENTSDK_ASR_REQUEST_TEXT | agentsdk.asr_request.text | ASR text input |
AGENTSDK_TTS_REQUEST_TEXT | agentsdk.tts_request.text | TTS text input |
AGENTSDK_STATE_REQUEST_META | agentsdk.state_request.meta | State push |
AGENTSDK_GREET_REQUEST_FACE | agentsdk.greet_request.face | Greeting — face/UID signal |
AGENTSDK_GREET_REQUEST_VIDEO | agentsdk.greet_request.video | Greeting — video signal |
AGENTSDK_GREET_REQUEST_SIGNAL | agentsdk.greet_request.signal | Greeting — business signal |
AGENTSDK_GREET_RESPONSE_VLM_DELTA | agentsdk.greet_response.vlm.delta | Greeting VLM streaming chunk |
AGENTSDK_GREET_RESPONSE_VLM_DONE | agentsdk.greet_response.vlm.done | Greeting VLM done |
AGENTSDK_GREET_RESPONSE_TTS_DELTA | agentsdk.greet_response.tts.delta | Greeting TTS streaming chunk |
AGENTSDK_GREET_RESPONSE_TTS_DONE | agentsdk.greet_response.tts.done | Greeting TTS done |
AGENTSDK_TELEOP_ENTER | agentsdk.teleop.enter | v1.5.0: teleop — enter |
AGENTSDK_TELEOP_ENTER_ACK | agentsdk.teleop.enter_ack | v1.5.0: teleop — enter ack |
AGENTSDK_TELEOP_AUDIO_START | agentsdk.teleop_audio.start | v1.5.0: teleop — audio segment start (may carry role / threshold) |
AGENTSDK_TELEOP_AUDIO_DELTA | agentsdk.teleop_audio.delta | v1.5.0: teleop — audio delta (audio field is base64) |
AGENTSDK_TELEOP_AUDIO_DONE | agentsdk.teleop_audio.done | v1.5.0: teleop — audio segment end |
AGENTSDK_TELEOP_EXIT | agentsdk.teleop.exit | v1.5.0: teleop — exit |
AGENTSDK_TELEOP_EXIT_ACK | agentsdk.teleop.exit_ack | v1.5.0: teleop — exit ack |
AGENTSDK_EXT_SKILL_QUERY | agentsdk.ext_skill.query | v1.5.0: ext skill — query request |
AGENTSDK_EXT_SKILL_QUERY_RESULT | agentsdk.ext_skill.query_result | v1.5.0: ext skill — query result |
AGENTSDK_EXT_SKILL_INVOKE | agentsdk.ext_skill.invoke | v1.5.0: ext skill — invoke request |
AGENTSDK_EXT_SKILL_INVOKE_ACK | agentsdk.ext_skill.invoke_ack | v1.5.0: ext skill — invoke ack |
AGENTSDK_EXT_SKILL_REPORT_STATE | agentsdk.ext_skill.report_state | v1.5.0: ext skill — execution state report (gateway → SDK, triggers ExtSkillInvokeCallback.on_state) |
AGENTSDK_EXT_SKILL_INVOKE_RESULT | agentsdk.ext_skill.invoke_result | v1.5.0: ext skill — invoke result |
AGENTSDK_FLOW_START_REQUEST_ACK | agentsdk.flow_start.request_ack | Flow start request ack |
AGENTSDK_FLOW_START_EXECUTE_ACK | agentsdk.flow_start.execute_ack | Flow start execute ack |
AGENTSDK_FLOW_TASK_REQUEST_ACK | agentsdk.flow_task.request_ack | Flow task request ack |
AGENTSDK_FLOW_TASK_EXECUTE_ACK | agentsdk.flow_task.execute_ack | Flow task execute ack |
AGENTSDK_FLOW_END_REQUEST_ACK | agentsdk.flow_end.request_ack | Flow end ack |
AGENTSDK_FLOW_INTERRUPT_REQUEST_ACK | agentsdk.flow_interrupt.request_ack | Flow interrupt ack |
AGENTSDK_FUNCTION_CALL_EXPOSE | agentsdk.function_call.expose | v1.5.0: function call forwarded (gateway → SDK, triggers on_function_call) |
AGENTSDK_FUNCTION_CALL_ARBITER | agentsdk.function_call.arbiter | v1.5.0: arbitration decision returned (SDK → gateway, emitted by on_arbiter) |
AGENTSDK_HISTORIES_EXPOSE | agentsdk.histories.expose | v1.5.0: conversation history forwarded (gateway → SDK, triggers on_histories) |
ILLEGAL | illegal | Unknown / unmatched |
ArbiterDecision
New in v1.5.0. Function-call arbitration decision enum (
linksoul_agentsdk.ArbiterDecision), used as thedecisionargument ofresponse.on_arbiter(event_id, decision, arb_param).
| Enum value | wire value | Description |
|---|---|---|
DELEGATE | delegate | Delegate: let the agent's default pipeline handle the function call |
OVERRIDE | override | Override: the application takes over, overriding the default behaviour |
ILLEGAL | illegal | Illegal / fallback value |
from linksoul_agentsdk import ArbiterDecision
ArbiterDecision.of("delegate") # → ArbiterDecision.DELEGATE
ArbiterDecision.of("unknown") # → ArbiterDecision.ILLEGAL
See Passive Callbacks Guide · Function Call exposure & Arbiter for the interface and usage.
Lookup & default
Every enum exposes of(value) as a classmethod: it returns the matching member, or falls back to
ILLEGAL (or RobotState.ILLEGAL etc.) for unknown / None inputs.