Mark unread turn summaries in the switcher and Project rows
This commit is contained in:
+35
-1
@@ -125,6 +125,16 @@ paths:
|
||||
"400": { $ref: "#/components/responses/Error" }
|
||||
"404": { $ref: "#/components/responses/Error" }
|
||||
|
||||
/api/me/summary-reads:
|
||||
get:
|
||||
operationId: getSummaryReads
|
||||
responses:
|
||||
"200":
|
||||
description: For each active task the calling user has read a turn summary of, the highest seq read.
|
||||
content:
|
||||
application/json:
|
||||
schema: { type: object, additionalProperties: { type: integer, format: int64 } }
|
||||
|
||||
/api/me/pane-focus:
|
||||
put:
|
||||
operationId: setPaneFocus
|
||||
@@ -277,6 +287,23 @@ paths:
|
||||
schema: { $ref: "#/components/schemas/TaskWorkflow" }
|
||||
"404": { $ref: "#/components/responses/Error" }
|
||||
|
||||
/api/tasks/{taskId}/summary-read:
|
||||
parameters:
|
||||
- { name: taskId, in: path, required: true, schema: { type: string } }
|
||||
put:
|
||||
operationId: markSummaryRead
|
||||
description: Records that the calling user has read the task's turn summaries up to seq. A seq at or below the one already recorded changes nothing; a higher one emits summary.read, owned by the user.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema: { $ref: "#/components/schemas/SummaryRead" }
|
||||
responses:
|
||||
"204":
|
||||
description: Recorded.
|
||||
"400": { $ref: "#/components/responses/Error" }
|
||||
"404": { $ref: "#/components/responses/Error" }
|
||||
|
||||
/api/tasks/{taskId}/workflow/run:
|
||||
parameters:
|
||||
- { name: taskId, in: path, required: true, schema: { type: string } }
|
||||
@@ -985,7 +1012,7 @@ components:
|
||||
|
||||
Task:
|
||||
type: object
|
||||
required: [id, project_id, title, merge_title, branch, worktree_path, base_ref, port_base, color, status, created_by, created_at, reviewing, merging, discarding, merging_into_parent]
|
||||
required: [id, project_id, title, merge_title, branch, worktree_path, base_ref, port_base, color, status, created_by, created_at, reviewing, merging, discarding, merging_into_parent, summary_seq]
|
||||
properties:
|
||||
id: { type: string }
|
||||
project_id: { type: string }
|
||||
@@ -1016,6 +1043,7 @@ components:
|
||||
discarding: { type: boolean, description: "Whether a Discard was started and the task isn't closed yet: its summary turn is waiting for the running turn, running, or done and the task is being removed." }
|
||||
parent_task_id: { type: string, description: "The task whose agent created this one as its subtask; absent for other tasks." }
|
||||
merging_into_parent: { type: boolean, description: "Whether a merge of this subtask into its parent was requested and the parent hasn't merged it yet." }
|
||||
summary_seq: { type: integer, format: int64, description: "The seq of the task's latest turn.ended event with summary: true; 0 when it has none." }
|
||||
|
||||
Todo:
|
||||
type: object
|
||||
@@ -1502,6 +1530,12 @@ components:
|
||||
created_at: { type: string, format: date-time }
|
||||
updated_at: { type: string, format: date-time }
|
||||
|
||||
SummaryRead:
|
||||
type: object
|
||||
required: [seq]
|
||||
properties:
|
||||
seq: { type: integer, format: int64, description: "The seq of the turn.ended event whose summary was shown." }
|
||||
|
||||
PaneFocus:
|
||||
type: object
|
||||
required: [focused, drafting]
|
||||
|
||||
Reference in New Issue
Block a user