services/titler/titler
Auto-titling — generates session titles after the first exchange. Fire-and-forget via Erlang spawn — never blocks the REPL.
Values
pub fn maybe_auto_title(
conn: sqlight.Connection,
session_id: String,
client: client.Client,
user_message: String,
assistant_response: String,
message_count: Int,
db_path: String,
llm_client: behaviours.LLMClient,
session_store: behaviours.SessionStore,
) -> Nil
Fire-and-forget: spawn a process that generates and sets a title. Called after the first user-assistant exchange completes. Uses conn for synchronous checks (fast); spawned process opens its own connection because SQLite NIFs are process-specific.
pub fn service() -> service.Service