Peter Steinberger
da44d52ac6
feat: ask_user — structured questions from the agent with web card, channel buttons, and text answers (#109922)
* feat(gateway): add transient question runtime (question.* methods + broadcasts)
* feat(agents): add blocking ask_user question tool with chat prompt delivery and text-reply claim
* feat(ui): interactive in-thread question cards for ask_user
* feat(channels): native tap-to-answer buttons for ask_user on Telegram, Discord, and Slack
* feat(ui): unify codex and gateway question cards with interactive gateway answering
* refactor(agents): collapse ask_user pending state to one registry; docs for ask_user
* fix(agents): include ask_user in normal gateway runs; add question-flow control-ui e2e
* test(ui): avoid credential-shaped fixture in question card test
* refactor(ui): reorder stream-group context keys
* fix(gateway,ui): validate question answers at resolve; reject secret/duplicate-label questions; UI retry and reconnect hardening
* fix(gateway,agents): canonicalize accepted option answers; bound ask_user option labels to 64 chars
* chore(ci): prune unused question exports, allowlist mobile question events, fix discord lint
* chore(ci): regenerate protocol/i18n/docs/tool-display artifacts for question surface
* fix(protocol): flatten QuestionRecord for native codegen; drop TS-only alias from schema registry
* chore(android): regenerate ask-user localization resources
* docs: regenerate docs map after rebase
* fix(ci): avoid stale read-only dependency disks
* test: remove stale reef lint suppression ratchet
* fix(ci): keep source locale drift advisory in release gates
* fix(ci): scope locale advisory handling to parity check
2026-07-17 22:24:17 +01:00
..
2026-07-17 22:24:17 +01:00
2026-07-10 10:42:36 +01:00
2026-07-16 19:24:41 -07:00
2026-07-09 15:53:02 +01:00
2026-07-09 15:53:02 +01:00
2026-07-10 18:12:00 +01:00
2026-07-12 17:35:47 -07:00
2026-07-15 01:49:23 -07:00
2026-07-12 17:35:47 -07:00
2026-07-12 17:35:47 -07:00
2026-07-10 18:12:00 +01:00
2026-07-12 17:35:47 -07:00
2026-07-10 18:12:00 +01:00
2026-07-12 17:35:47 -07:00
2026-07-12 12:52:38 -07:00
2026-07-10 06:47:56 +01:00
2026-07-10 06:47:56 +01:00
2026-07-05 12:31:53 -07:00
2026-07-12 17:35:47 -07:00
2026-07-11 19:59:07 -07:00
2026-07-15 01:49:23 -07:00
2026-07-12 17:35:47 -07:00
2026-07-10 19:01:17 -07:00
2026-07-17 20:38:35 +01:00
2026-07-11 10:25:14 -07:00
2026-07-12 10:18:03 -07:00
2026-07-12 18:33:47 +02:00
2026-07-16 19:24:41 -07:00
2026-07-12 13:16:07 -07:00
2026-07-06 17:17:07 +01:00
2026-07-10 18:12:00 +01:00
2026-07-10 18:12:00 +01:00
2026-07-17 13:44:48 +01:00
2026-07-17 13:44:48 +01:00
2026-07-12 17:35:47 -07:00
2026-07-16 19:24:41 -07:00
2026-07-14 11:03:02 -07:00
2026-07-16 19:24:41 -07:00
2026-07-10 15:03:40 +01:00
2026-07-16 03:50:54 -07:00
2026-07-12 12:52:38 -07:00
2026-07-09 15:53:02 +01:00
2026-07-12 17:35:47 -07:00
2026-07-12 17:35:47 -07:00
2026-07-10 18:12:00 +01:00
2026-07-10 18:12:00 +01:00
2026-07-10 18:12:00 +01:00
2026-06-19 12:53:45 +02:00
2026-07-12 17:35:47 -07:00
2026-07-12 17:35:47 -07:00
2026-07-11 19:59:07 -07:00
2026-07-11 15:16:45 -07:00
2026-05-28 17:23:26 +03:00
2026-07-10 11:54:08 +01:00
2026-07-13 15:35:32 -07:00
2026-07-12 17:35:47 -07:00
2026-07-15 01:49:23 -07:00
2026-07-10 18:12:00 +01:00
2026-07-12 17:35:47 -07:00
2026-07-10 11:54:08 +01:00
2026-07-12 17:35:47 -07:00
2026-07-12 17:35:47 -07:00
2026-07-12 18:33:47 +02:00
2026-07-12 13:02:27 +01:00