Fountain.Conversation (fountain_sdk v0.1.0)

Copy Markdown View Source

A resumable conversation and its persistent sandbox session.

Its cursor is an :atomics reference: shared across processes like the ETS table it replaced, but reclaimed with the handle. A table would have been owned by the creating process, so a long-lived caller that resumes a conversation per inbound message leaked one table per call.

Summary

Functions

answer(value, request_id, option_id)

cursor(value)

delete(value)

event_page(value, after_cursor \\ 0, limit \\ 1000)

events(value, opts \\ [])

get(value)

history(value, opts \\ [])

Fetches all history pages, requesting server-parsed blocks.

interrupt(value)

last_turn_number(value)

mark_read(value)

new(http, id, cursor \\ 0)

send(value, prompt, opts \\ [])

Sends a follow-up prompt. Cursor and turn number are captured before POST.

status(value)

terminate(value)

tree(value)

turns(value)

url(value)