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
+116 -137
View File
@@ -209,7 +209,6 @@ const (
Dismiss InboxResponseType = "dismiss"
Option InboxResponseType = "option"
Other InboxResponseType = "other"
Snooze InboxResponseType = "snooze"
)
// Valid indicates whether the value is a known member of the InboxResponseType enum.
@@ -221,8 +220,6 @@ func (e InboxResponseType) Valid() bool {
return true
case Other:
return true
case Snooze:
return true
default:
return false
}
@@ -449,17 +446,16 @@ type InboxItem struct {
Id string `json:"id"`
Kind InboxItemKind `json:"kind"`
// Payload 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.
Payload map[string]interface{} `json:"payload"`
Priority InboxItemPriority `json:"priority"`
ProjectId string `json:"project_id"`
ResolvedAt *time.Time `json:"resolved_at,omitempty"`
ResolvedBy *string `json:"resolved_by,omitempty"`
Responses []InboxResponse `json:"responses"`
SnoozedUntil *time.Time `json:"snoozed_until,omitempty"`
State InboxState `json:"state"`
TaskId string `json:"task_id"`
ThreadId string `json:"thread_id"`
// Payload 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 map[string]interface{} `json:"payload"`
Priority InboxItemPriority `json:"priority"`
ProjectId string `json:"project_id"`
ResolvedAt *time.Time `json:"resolved_at,omitempty"`
ResolvedBy *string `json:"resolved_by,omitempty"`
Responses []InboxResponse `json:"responses"`
State InboxState `json:"state"`
TaskId string `json:"task_id"`
ThreadId string `json:"thread_id"`
}
// InboxItemKind defines model for InboxItem.Kind.
@@ -480,8 +476,7 @@ type InboxResponse struct {
DeliveredAt *time.Time `json:"delivered_at,omitempty"`
Id string `json:"id"`
ItemId string `json:"item_id"`
Option *string `json:"option,omitempty"`
SnoozeUntil *time.Time `json:"snooze_until,omitempty"`
Options *[]string `json:"options,omitempty"`
Text *string `json:"text,omitempty"`
Type InboxResponseType `json:"type"`
User string `json:"user"`
@@ -492,11 +487,8 @@ type InboxResponseCreate struct {
Attachments *[]Attachment `json:"attachments,omitempty"`
ItemId string `json:"item_id"`
// Option option: one of the question's options.
Option *string `json:"option,omitempty"`
// SnoozeUntil snooze: when the item reappears.
SnoozeUntil *time.Time `json:"snooze_until,omitempty"`
// Options option: the chosen options; exactly one for a pick-one question, one or more for a pick-any question.
Options *[]string `json:"options,omitempty"`
// Text other: the text sent to the agent.
Text *string `json:"text,omitempty"`
@@ -756,10 +748,9 @@ type StreamEventsParams struct {
// ListInboxParams defines parameters for ListInbox.
type ListInboxParams struct {
ProjectId *string `form:"project_id,omitempty" json:"project_id,omitempty"`
TaskId *string `form:"task_id,omitempty" json:"task_id,omitempty"`
State *InboxState `form:"state,omitempty" json:"state,omitempty"`
IncludeSnoozed *bool `form:"include_snoozed,omitempty" json:"include_snoozed,omitempty"`
ProjectId *string `form:"project_id,omitempty" json:"project_id,omitempty"`
TaskId *string `form:"task_id,omitempty" json:"task_id,omitempty"`
State *InboxState `form:"state,omitempty" json:"state,omitempty"`
}
// RemovePushSubscriptionParams defines parameters for RemovePushSubscription.
@@ -1079,19 +1070,6 @@ func (siw *ServerInterfaceWrapper) ListInbox(w http.ResponseWriter, r *http.Requ
return
}
// ------------- Optional query parameter "include_snoozed" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "include_snoozed", r.URL.Query(), &params.IncludeSnoozed, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "include_snoozed"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "include_snoozed", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListInbox(w, r, params)
}))
@@ -2004,105 +1982,106 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
// const string: with thousands of chunks the chained `+` fold is several
// times slower for the Go compiler than parsing a slice literal.
var swaggerSpec = []string{
"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",
"Hcb+fbj9YfYvm3e6vf2fAAAA//8=",
"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",
"8ZDdxWGNsQ5j/z5c1zD5p8073d7+bwAAAP//",
}
// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes,