Let bots ask multiple-choice questions before acting

ask_user puts up to six questions on one card (radios for one pick,
checkboxes for several, an optional typed Other) as a [question:ID] chip.
The user's answers are checked against the questions, stored in
bot_questions and sent to the bot as their chat message; Skip says so.
Offered in chat replies and user-started tasks, never in routines, hook
calls or chatroom sessions.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-28 11:10:23 +01:00
co-authored by Claude Opus 5.5
parent 07f87ce4ea
commit d7dfe0e78e
45 changed files with 1448 additions and 6 deletions
+15
View File
@@ -0,0 +1,15 @@
/**
* Where questions a bot asked a user stand (`bot_questions.status`):
* `pending` until the user answers them (`answered`) or skips them.
*/
export const BotQuestionStatuses = ["pending", "answered", "skipped"] as const;
export type BotQuestionStatus = (typeof BotQuestionStatuses)[number];
/**
* How a question is answered: `single` picks one option (radios),
* `multiple` any number of them, at least one (checkboxes).
*/
export const BotQuestionKinds = ["single", "multiple"] as const;
export type BotQuestionKind = (typeof BotQuestionKinds)[number];