Skip to main content

Module app

Module app 

Source
Expand description

The chat: one screen where the person writes, the reply streams in, and the actions the model asks for are done, or shown and asked about first.

A turn goes round like this. What the person wrote joins the conversation and a request goes out on a task, which hands the reply back piece by piece. When the reply asks for tools, each call is taken in order: reading, listing and searching are done at once; an edit or a command is shown on a card and waits for the person. When every call has its result the results go back to the model in the next request, until it ends its turn. Esc stops whatever is going on and every call still waiting is answered as stopped, so the conversation stays one the API accepts.

Structs§

ProviderForm
The form’s values while it is open, with what the last save found wrong in the framework’s own FormErrors, named after the controls the problems belong to.
QCli
The application.

Enums§

FormField
The fields of the form.
Live
A piece of the reply as it streams in.
Msg
Everything that can happen.
Notice
Something the screen says under the conversation until the next turn.
Phase
What the chat is doing.

Constants§

KEYMAP
The keys of the application, layered over the framework’s.
MAX_ROUNDS
How many requests one turn may make before it stops and says so. A model that keeps asking for tools would otherwise go on spending the person’s money without an end.
QUIET
How long a card stands in front of the person, with no key pressed and no click, before it takes an answer. A card can come up while the person is typing their next message, and the letter that allows it or the space and Enter that press a button would otherwise answer an edit or a command they never saw.

Functions§

run
Opens qcli in the folder it was started in.