Revert the timeline optimistic and pagination rework (#2596)

* Add npm release track invariant and beta dist-tag procedure

* Revert "Keep older chat history and image previews stable (#2490)"

The timeline optimistic/pagination rework needs more work than main releases can wait for. Reverted together with #2484; both are reapplied on integration/timeline-optimistic-rework.

* Revert "Stop completed turns from appearing stuck (#2484)"

See the #2490 revert. #2490 built on this submission-authority change, so the two revert and reapply as a pair.
This commit is contained in:
Mohamed Boudra
2026-07-29 13:35:43 +02:00
committed by GitHub
parent ab24070075
commit acb8506d1f
81 changed files with 1721 additions and 7893 deletions
+1 -7
View File
@@ -324,11 +324,6 @@ export interface SendMessageOptions {
attachments?: SendAgentMessageRequest["attachments"];
}
export interface SendMessageResult {
/** Undefined when connected to a daemon predating message submission disposition. */
outOfBand?: boolean;
}
export interface AgentAttentionRequiredNotification {
agentId: string;
reason: "finished" | "error" | "permission";
@@ -2864,7 +2859,7 @@ export class DaemonClient {
agentId: string,
text: string,
options?: SendMessageOptions,
): Promise<SendMessageResult> {
): Promise<void> {
const requestId = this.createRequestId();
const messageId = options?.messageId ?? crypto.randomUUID();
const message = SessionInboundMessageSchema.parse({
@@ -2893,7 +2888,6 @@ export class DaemonClient {
if (!payload.accepted) {
throw new Error(payload.error ?? "sendAgentMessage rejected");
}
return payload.outOfBand === undefined ? {} : { outOfBand: payload.outOfBand };
}
async sendMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void> {
+1 -3
View File
@@ -478,9 +478,7 @@ function createAgentHandleFactory(daemonClient: DaemonClient): AgentHandleFactor
latest = result?.agent ?? null;
return result;
},
send: async (text, options) => {
await daemonClient.sendAgentMessage(id, text, options);
},
send: (text, options) => daemonClient.sendAgentMessage(id, text, options),
archive: async () => {
const result = await daemonClient.archiveAgent(id);
if (latest) {