Load the lead's scrollback 50 turns at a time

This commit is contained in:
Ian Gulliver
2026-10-16 18:11:00 -07:00
parent 5dddc15ab9
commit 859aa2dd8b
20 changed files with 625 additions and 238 deletions
+45
View File
@@ -54,6 +54,23 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/me/lead/events": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description The calling user's lead events, oldest first, a page of whole turns: those after the turns+1'th turn.ended before the before seq (or before the latest event when before is absent). Page back by passing the first event's seq as before. */
get: operations["listLeadEvents"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/me/lead/messages": {
parameters: {
query?: never;
@@ -1374,6 +1391,11 @@ export interface components {
/** Format: date-time */
created_at: string;
};
EventPage: {
events: components["schemas"]["Event"][];
/** @description Whether there are earlier events than this page. */
more: boolean;
};
Focus: {
/** @description The project the right pane shows; the task's project when task_id is set */
project_id?: string;
@@ -1595,6 +1617,29 @@ export interface operations {
};
};
};
listLeadEvents: {
parameters: {
query?: {
before?: number;
turns?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Up to turns turns (default 50), plus any turn still running when before is absent. */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EventPage"];
};
};
};
};
messageLead: {
parameters: {
query?: never;