Inline question choices, compact one-click inbox cards, drop snooze

This commit is contained in:
Ian Gulliver
2026-10-14 23:34:39 -07:00
parent 4dc86e5479
commit c7cfad88a1
30 changed files with 1022 additions and 647 deletions
+11 -9
View File
@@ -451,10 +451,9 @@ paths:
- { name: project_id, in: query, required: false, schema: { type: string } }
- { name: task_id, in: query, required: false, schema: { type: string } }
- { name: state, in: query, required: false, schema: { $ref: "#/components/schemas/InboxState" } }
- { name: include_snoozed, in: query, required: false, schema: { type: boolean } }
responses:
"200":
description: Matching items with their responses. Defaults to open, unsnoozed items.
description: Matching items with their responses. Defaults to open items.
content:
application/json:
schema:
@@ -766,12 +765,12 @@ components:
payload:
type: object
description: >
question: context, question, why_blocked, options, recommended_option, attachments.
question: context (Markdown with the choices inline as `- ( ) text` / `- (*) text` pick-one or `- [ ] text` / `- [x] text` pick-any list items),
question, why_blocked, options (each choice's text, in order), multiple (true for pick-any), recommended (the marked choices' text), attachments.
report: text (the final message of a turn that ended normally).
session_error: error.
rate_limited: vendor, rate_limit (the vendor's rate-limit status), error.
state: { $ref: "#/components/schemas/InboxState" }
snoozed_until: { type: string, format: date-time }
created_at: { type: string, format: date-time }
resolved_by: { type: string }
resolved_at: { type: string, format: date-time }
@@ -781,7 +780,7 @@ components:
InboxResponseType:
type: string
enum: [option, other, snooze, dismiss]
enum: [option, other, dismiss]
InboxResponse:
type: object
@@ -791,12 +790,13 @@ components:
item_id: { type: string }
user: { type: string }
type: { $ref: "#/components/schemas/InboxResponseType" }
option: { type: string }
options:
type: array
items: { type: string }
text: { type: string }
attachments:
type: array
items: { $ref: "#/components/schemas/Attachment" }
snooze_until: { type: string, format: date-time }
created_at: { type: string, format: date-time }
delivered_at: { type: string, format: date-time }
@@ -806,12 +806,14 @@ components:
properties:
item_id: { type: string }
type: { $ref: "#/components/schemas/InboxResponseType" }
option: { type: string, description: "option: one of the question's options." }
options:
type: array
items: { type: string }
description: "option: the chosen options; exactly one for a pick-one question, one or more for a pick-any question."
text: { type: string, description: "other: the text sent to the agent." }
attachments:
type: array
items: { $ref: "#/components/schemas/Attachment" }
snooze_until: { type: string, format: date-time, description: "snooze: when the item reappears." }
InboxRespond:
type: object