ReadonlycontextReadonlyearlierReadonlyidReadonlyprogramReadonlysendsReadonlysettingsReadonlystoreOne turn: the program's answer. (The conversation is also callable: await chat(input).)
This conversation, continuing after turn (a Turn or its id): the next
turn is a new branch. Nothing is deleted.
A plugin's entries of a kind on the branch through branch (default: this view's head), oldest first: { turn, data, at }.
The turn this conversation continues from next (null: none yet).
A turn after this conversation's head made from several branches by
another AI function (fn): its answer becomes this program's answer,
recorded as a turn (madeBy fn, reads the branches), so the next turn
sees it. inputs: fn's; when fn has one input and none is given, it
is given the branches' answers ([{ model, ...inputs, ...outputs }]).
One turn of an AI function: the whole call (every output, the lmcc turn; p.callId is the turn's id).
Keep a plugin's entry in this conversation, at a turn (it then belongs to the branches through that turn): what the plugin needs later, never shown to the model by itself.
The exact request the next turn would send (nothing is sent or recorded).
call: helper: the request that helper would get, with the memory the
conversation gives it (the inputs are then the helper's).
Make a turn the conversation's head, for everyone who opens it.
Stop a running turn, wherever it runs: in this process or another that
opened the same store. It ends stopped within about a second. A turn
that waits or was interrupted has nothing running it: stopping it ends it
abandoned. A turn that already ended is left as it is.
One turn, watched while it is made: the turn is saved before the model is asked (await s.turn).
The turns from the first to the head, in order.
Every turn of every branch, in the order they were made.