Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion deployments/k8s
Submodule k8s updated from d19d66 to d94b52
2 changes: 2 additions & 0 deletions frontend/src/app/workspaces/[workspaceId]/inbox/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export default function InboxPage() {

const {
sessions,
groups,
selectedId,
setSelectedId,
isLoading: inboxIsLoading,
Expand Down Expand Up @@ -55,6 +56,7 @@ export default function InboxPage() {
return (
<ActivityLayout
sessions={sessions}
groups={groups}
selectedId={selectedId}
onSelect={setSelectedId}
isLoading={inboxIsLoading}
Expand Down
68 changes: 67 additions & 1 deletion frontend/src/client/schemas.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14113,6 +14113,16 @@ distinguish multiple files.`,
description: "A URL to an image.",
} as const

export const $InboxGroup = {
type: "string",
enum: ["review_required", "running", "error", "completed"],
title: "InboxGroup",
description: `Display groups for inbox items.

Groups are derived from approval state and live workflow execution status,
so membership cannot be expressed as a pure SQL filter.`,
} as const

export const $InboxItemRead = {
properties: {
id: {
Expand Down Expand Up @@ -14167,6 +14177,18 @@ export const $InboxItemRead = {
],
description: "Associated workflow",
},
created_by: {
anyOf: [
{
$ref: "#/components/schemas/UserSummary",
},
{
type: "null",
},
],
description:
"User who created the source entity (None for automation-initiated items)",
},
source_id: {
type: "string",
format: "uuid",
Expand Down Expand Up @@ -14218,7 +14240,7 @@ export const $InboxItemStatus = {

export const $InboxItemType = {
type: "string",
enum: ["approval"],
enum: ["approval", "agent_run"],
title: "InboxItemType",
description: "Types of inbox items.",
} as const
Expand Down Expand Up @@ -25770,6 +25792,50 @@ export const $UserScopesRead = {
description: "Read schema for a user's effective scopes.",
} as const

export const $UserSummary = {
properties: {
id: {
type: "string",
format: "uuid",
title: "Id",
description: "User ID",
},
email: {
type: "string",
title: "Email",
description: "User email",
},
first_name: {
anyOf: [
{
type: "string",
},
{
type: "null",
},
],
title: "First Name",
description: "User first name",
},
last_name: {
anyOf: [
{
type: "string",
},
{
type: "null",
},
],
title: "Last Name",
description: "User last name",
},
},
type: "object",
required: ["id", "email"],
title: "UserSummary",
description: "Summary of a user for inbox item context.",
} as const

export const $UserUpdate = {
properties: {
password: {
Expand Down
4 changes: 4 additions & 0 deletions frontend/src/client/services.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7968,6 +7968,8 @@ export const inboxGetPendingCount = (
* @param data.reverse
* @param data.orderBy Column name to order by (created_at, updated_at, status)
* @param data.sort Sort direction (asc or desc)
* @param data.search Case-insensitive search on item title
* @param data.group Filter items to a single display group
* @returns CursorPaginatedResponse_InboxItemRead_ Successful Response
* @throws ApiError
*/
Expand All @@ -7986,6 +7988,8 @@ export const inboxListItems = (
reverse: data.reverse,
order_by: data.orderBy,
sort: data.sort,
search: data.search,
group: data.group,
},
errors: {
422: "Validation Error",
Expand Down
44 changes: 43 additions & 1 deletion frontend/src/client/types.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4271,6 +4271,14 @@ export type ImageUrl = {
readonly identifier: string
}

/**
* Display groups for inbox items.
*
* Groups are derived from approval state and live workflow execution status,
* so membership cannot be expressed as a pure SQL filter.
*/
export type InboxGroup = "review_required" | "running" | "error" | "completed"

/**
* Read model for inbox items.
*/
Expand Down Expand Up @@ -4311,6 +4319,10 @@ export type InboxItemRead = {
* Associated workflow
*/
workflow?: WorkflowSummary | null
/**
* User who created the source entity (None for automation-initiated items)
*/
created_by?: UserSummary | null
/**
* ID of the source entity
*/
Expand All @@ -4335,7 +4347,7 @@ export type InboxItemStatus = "pending" | "completed" | "failed"
/**
* Types of inbox items.
*/
export type InboxItemType = "approval"
export type InboxItemType = "approval" | "agent_run"

/**
* Count of pending inbox items that require attention.
Expand Down Expand Up @@ -7799,6 +7811,28 @@ export type UserScopesRead = {
scopes: Array<string>
}

/**
* Summary of a user for inbox item context.
*/
export type UserSummary = {
/**
* User ID
*/
id: string
/**
* User email
*/
email: string
/**
* User first name
*/
first_name?: string | null
/**
* User last name
*/
last_name?: string | null
}

export type UserUpdate = {
password?: string | null
email?: string | null
Expand Down Expand Up @@ -11309,12 +11343,20 @@ export type InboxGetPendingCountResponse = InboxPendingCount

export type InboxListItemsData = {
cursor?: string | null
/**
* Filter items to a single display group
*/
group?: InboxGroup | null
limit?: number
/**
* Column name to order by (created_at, updated_at, status)
*/
orderBy?: string | null
reverse?: boolean
/**
* Case-insensitive search on item title
*/
search?: string | null
/**
* Sort direction (asc or desc)
*/
Expand Down
Loading
Loading