Synaptic.Voice (synaptic v0.3.0-alpha.8)

View Source

Headless voice session APIs for integrating audio input/output with Synaptic workflows.

Summary

Types

start_result()

@type start_result() ::
  {:ok, String.t()}
  | {:ok, %{session_id: String.t(), run_id: String.t(), realtime: map()}}
  | {:error, term()}

Functions

attach_run(run_id, opts \\ [])

@spec attach_run(
  String.t(),
  keyword()
) :: {:ok, String.t()} | {:error, term()}

cancel_output(session_id)

client_connected(session_id, meta \\ %{})

client_disconnected(session_id, meta \\ %{})

end_turn(session_id, opts \\ [])

ingest_provider_event(session_id, payload)

inspect_session(session_id)

playback_drained(session_id)

push_audio(session_id, audio_chunk, opts \\ [])

push_text(session_id, text, opts \\ [])

start_session(workflow_module, input \\ %{}, opts \\ [])

@spec start_session(module(), map(), keyword()) :: start_result()

stop_session(session_id, reason \\ :normal)

subscribe_session(session_id)

unsubscribe_session(session_id)