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
+6 -16
View File
@@ -709,12 +709,10 @@ export interface components {
/** @enum {string} */
priority: "blocked" | "gate" | "review" | "fyi";
blocking: boolean;
/** @description question: context, question, why_blocked, options, recommended_option, 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. */
/** @description 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. */
payload: Record<string, never>;
state: components["schemas"]["InboxState"];
/** Format: date-time */
snoozed_until?: string;
/** Format: date-time */
created_at: string;
resolved_by?: string;
/** Format: date-time */
@@ -722,18 +720,16 @@ export interface components {
responses: components["schemas"]["InboxResponse"][];
};
/** @enum {string} */
InboxResponseType: "option" | "other" | "snooze" | "dismiss";
InboxResponseType: "option" | "other" | "dismiss";
InboxResponse: {
id: string;
item_id: string;
user: string;
type: components["schemas"]["InboxResponseType"];
option?: string;
options?: string[];
text?: string;
attachments: components["schemas"]["Attachment"][];
/** Format: date-time */
snooze_until?: string;
/** Format: date-time */
created_at: string;
/** Format: date-time */
delivered_at?: string;
@@ -741,16 +737,11 @@ export interface components {
InboxResponseCreate: {
item_id: string;
type: components["schemas"]["InboxResponseType"];
/** @description option: one of the question's options. */
option?: string;
/** @description option: the chosen options; exactly one for a pick-one question, one or more for a pick-any question. */
options?: string[];
/** @description other: the text sent to the agent. */
text?: string;
attachments?: components["schemas"]["Attachment"][];
/**
* Format: date-time
* @description snooze: when the item reappears.
*/
snooze_until?: string;
};
InboxRespond: {
responses: components["schemas"]["InboxResponseCreate"][];
@@ -1566,7 +1557,6 @@ export interface operations {
project_id?: string;
task_id?: string;
state?: components["schemas"]["InboxState"];
include_snoozed?: boolean;
};
header?: never;
path?: never;
@@ -1574,7 +1564,7 @@ export interface operations {
};
requestBody?: never;
responses: {
/** @description Matching items with their responses. Defaults to open, unsnoozed items. */
/** @description Matching items with their responses. Defaults to open items. */
200: {
headers: {
[name: string]: unknown;