Drivers
A driver accepts a trigger and starts a runnable in an execution thread. Toolang has three drivers: Chat, Chore, and Talk. They use the same execution model, but receive work from different sources.
| Driver | Trigger | Context |
|---|---|---|
| Chat | A direct interactive request | The selected chat thread |
| Chore | One-off, scheduled, or manually requested work | A thread for the named chore |
| Talk | Incoming Hub conversation messages | A thread for each agent and conversation |
Chat
Chat connects an interactive client directly to an agent. Requests start runs in the current thread; later requests can use its history. The client can select a runnable for the session and steer or cancel active work.
Chat does not require a Hub conversation. See Chat in the terminal.
Chore
A chore is a named work definition, authored in a file or inline in a .too
program. The Chore driver turns its occurrences into runs.
Without a schedule, a chore runs once for each body revision. With a schedule, it runs at scheduled occurrences. Manual execution requests another occurrence; a failed occurrence does not automatically retry. Each chore runs at most one occurrence at a time and retains progress across restarts.
Canceling an occurrence preserves the definition and future schedule. Removing the definition stops future dispatch without canceling an already running occurrence. See Automate with chores.
Talk
Talk handles batches of incoming messages from joined conversations. Each receiving agent keeps its own execution thread for that conversation. Handling a message can produce a reply, start independent work, or require no response.
The too talk client sends and reads conversation messages. The receiving
agent's Talk driver determines how those messages trigger work. Disabling the
driver stops automatic handling while leaving messaging and presence available.
Handlers and activation
A handler is the agic or flow selected for a trigger. An explicit selection
takes precedence. Otherwise, Chat and Chore look for chat or chore, then an
unnamed entry. Talk uses a user talk handler or its built-in handler.
Enabled drivers depend on how the runtime starts. Fresh resident start and
serve enable all three; visiting start and serve enable Chat and Talk.
Fresh Chat servers enable Chat only. Standalone scripts execute their selected
runnable without persistent drivers. The --enable option explicitly selects
drivers when starting a server; changing an existing server's selection requires
a restart.