Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/NickTikhonov/shuo
/ functions
Functions
148 in github.com/NickTikhonov/shuo
⨍
Functions
148
◇
Types & classes
33
↳
Endpoints
5
Method
clear_history
(self)
shuo/services/llm.py:50
Method
error
(self, msg: str, exc: Optional[Exception] = None)
shuo/log.py:280
Method
format
(self, record: logging.LogRecord)
shuo/log.py:70
Function
health
Health check endpoint.
shuo/server.py:40
Method
history
Read-only access to conversation history (owned by LLM).
shuo/agent.py:84
Method
history
(self)
shuo/services/llm.py:47
Function
initial_state
Fresh state at the start of a call.
tests/test_update.py:26
Method
is_active
(self)
shuo/services/llm.py:43
Method
is_active
(self)
shuo/services/tts.py:42
Method
is_active
(self)
shuo/services/flux.py:47
Method
is_playing
(self)
shuo/services/player.py:47
Method
is_turn_active
(self)
shuo/agent.py:80
Function
latest_trace
Return the most recent call trace as JSON.
shuo/server.py:78
Function
listening_state
State after stream has started.
tests/test_update.py:32
Function
on_flux_end_of_turn
(transcript: str)
shuo/conversation.py:62
Function
on_flux_start_of_turn
()
shuo/conversation.py:65
Method
play
Start playing a fixed list of audio chunks (legacy mode).
shuo/services/player.py:73
Function
responding_state
State while agent is responding.
tests/test_update.py:38
Function
start_server
Start the FastAPI server.
main.py:62
Method
stop
Close connection gracefully after flushing.
shuo/services/tts.py:121
Method
test_agent_done_in_wrong_phase_is_safe
AgentTurnDoneEvent in LISTENING should not crash.
tests/test_update.py:291
Method
test_audio_always_forwarded_to_flux
MediaEvents should always produce FeedFluxAction.
tests/test_update.py:239
Method
test_done_ignored_if_listening
AgentTurnDoneEvent should be ignored if already listening.
tests/test_update.py:181
Method
test_done_transitions_to_listening
AgentTurnDoneEvent should transition back to LISTENING.
tests/test_update.py:173
Method
test_end_of_turn_empty_transcript_ignored
Empty transcript should be ignored.
tests/test_update.py:130
Method
test_end_of_turn_ignored_if_responding
EndOfTurn should be ignored if already responding.
tests/test_update.py:138
Method
test_end_of_turn_starts_agent
FluxEndOfTurnEvent with transcript should start agent turn.
tests/test_update.py:120
Method
test_end_of_turn_without_stream_sid
EndOfTurn before stream starts should still work.
tests/test_update.py:303
Method
test_full_conversation_turn
Complete turn: Flux EndOfTurn -> Agent responds -> Done.
tests/test_update.py:196
Method
test_interrupt_during_response
Barge-in: Agent responding -> Flux StartOfTurn -> Reset.
tests/test_update.py:210
Method
test_interrupt_then_new_turn
After barge-in, a new turn can start.
tests/test_update.py:252
Method
test_media_does_not_change_state
MediaEvent should not change application state.
tests/test_update.py:106
Method
test_media_feeds_flux
MediaEvent should always produce FeedFluxAction.
tests/test_update.py:89
Method
test_media_feeds_flux_in_any_phase
Audio should flow to Flux regardless of phase.
tests/test_update.py:98
Method
test_multi_turn
Multiple turns work correctly.
tests/test_update.py:223
Method
test_start_of_turn_ignored_if_listening
StartOfTurn during LISTENING should be a no-op.
tests/test_update.py:158
Method
test_start_of_turn_in_listening_is_safe
FluxStartOfTurnEvent in LISTENING is normal (user talking).
tests/test_update.py:297
Method
test_start_of_turn_interrupts_agent
StartOfTurn during RESPONDING should trigger barge-in.
tests/test_update.py:149
Method
test_state_immutability
State updates should not mutate original.
tests/test_update.py:278
Method
test_stream_start_resets_phase
StreamStartEvent should reset to LISTENING even if RESPONDING.
tests/test_update.py:58
Method
test_stream_start_sets_stream_sid
StreamStartEvent should set the stream_sid.
tests/test_update.py:49
Method
test_stream_stop_in_listening_is_safe
StreamStopEvent while listening should produce no actions.
tests/test_update.py:286
Method
test_stream_stop_no_action_if_listening
StreamStopEvent should produce no actions when listening.
tests/test_update.py:75
Method
test_stream_stop_resets_agent_if_responding
StreamStopEvent should reset agent turn if responding.
tests/test_update.py:67
Function
trigger_call
Initiate an outbound call. Usage: curl https://your-server/call/+1234567890
shuo/server.py:93
Function
twiml
Return TwiML instructing Twilio to connect a WebSocket stream. Twilio calls this URL when the call is answered. During graceful shut
shuo/server.py:46
Method
wait_until_done
Wait for playback to complete (or be interrupted).
shuo/services/player.py:103
Function
websocket_endpoint
WebSocket endpoint for Twilio Media Streams. Handles the bidirectional audio stream for a single call. Tracks active connections for
shuo/server.py:287
← previous
101–148 of 148, ranked by callers