Skip to content

Commit 05ca0e3

Browse files
committed
refactor(gateway): trim chat abort cleanup inputs
1 parent fcaf700 commit 05ca0e3

6 files changed

Lines changed: 20 additions & 37 deletions

File tree

src/gateway/chat-abort.test.ts

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ function createOps(params: {
4444
broadcast: ReturnType<typeof vi.fn>;
4545
nodeSendToSession: ReturnType<typeof vi.fn>;
4646
removeChatRun: ReturnType<typeof vi.fn>;
47+
clearedState: {
48+
chatDeltaSentAt: Map<string, number>;
49+
chatDeltaLastBroadcastLen: Map<string, number>;
50+
chatDeltaLastBroadcastText: Map<string, string>;
51+
agentDeltaSentAt: Map<string, number>;
52+
bufferedAgentEvents: Map<string, unknown>;
53+
};
4754
} {
4855
const { runId, entry, buffer } = params;
4956
const broadcast = vi.fn();
@@ -54,7 +61,7 @@ function createOps(params: {
5461
const chatDeltaLastBroadcastLen = new Map([[runId, buffer?.length ?? 0]]);
5562
const chatDeltaLastBroadcastText = new Map(buffer !== undefined ? [[runId, buffer]] : []);
5663
const agentDeltaSentAt = new Map([[`${runId}:assistant`, Date.now()]]);
57-
const bufferedAgentEvents: ChatAbortOps["bufferedAgentEvents"] = new Map([
64+
const bufferedAgentEvents = new Map<string, unknown>([
5865
[
5966
`${runId}:assistant`,
6067
{
@@ -72,11 +79,6 @@ function createOps(params: {
7279
return {
7380
chatAbortControllers: new Map([[runId, entry]]),
7481
chatRunBuffers,
75-
chatDeltaSentAt,
76-
chatDeltaLastBroadcastLen,
77-
chatDeltaLastBroadcastText,
78-
agentDeltaSentAt,
79-
bufferedAgentEvents,
8082
chatAbortedRuns: new Map(),
8183
clearChatRunState: (id: string) => {
8284
chatRunBuffers.delete(id);
@@ -92,6 +94,13 @@ function createOps(params: {
9294
agentRunSeq: new Map(),
9395
broadcast,
9496
nodeSendToSession,
97+
clearedState: {
98+
chatDeltaSentAt,
99+
chatDeltaLastBroadcastLen,
100+
chatDeltaLastBroadcastText,
101+
agentDeltaSentAt,
102+
bufferedAgentEvents,
103+
},
95104
};
96105
}
97106

@@ -142,11 +151,11 @@ describe("abortChatRunById", () => {
142151
expect(entry.controller.signal.aborted).toBe(true);
143152
expect(ops.chatAbortControllers.has(runId)).toBe(false);
144153
expect(ops.chatRunBuffers.has(runId)).toBe(false);
145-
expect(ops.chatDeltaSentAt.has(runId)).toBe(false);
146-
expect(ops.chatDeltaLastBroadcastLen.has(runId)).toBe(false);
147-
expect(ops.chatDeltaLastBroadcastText.has(runId)).toBe(false);
148-
expect(ops.agentDeltaSentAt?.has(`${runId}:assistant`)).toBe(false);
149-
expect(ops.bufferedAgentEvents?.has(`${runId}:assistant`)).toBe(false);
154+
expect(ops.clearedState.chatDeltaSentAt.has(runId)).toBe(false);
155+
expect(ops.clearedState.chatDeltaLastBroadcastLen.has(runId)).toBe(false);
156+
expect(ops.clearedState.chatDeltaLastBroadcastText.has(runId)).toBe(false);
157+
expect(ops.clearedState.agentDeltaSentAt.has(`${runId}:assistant`)).toBe(false);
158+
expect(ops.clearedState.bufferedAgentEvents.has(`${runId}:assistant`)).toBe(false);
150159
expect(ops.removeChatRun).toHaveBeenCalledWith(runId, runId, sessionKey);
151160
expect(ops.agentRunSeq.has(runId)).toBe(false);
152161
expect(ops.agentRunSeq.has("client-run-1")).toBe(false);

src/gateway/chat-abort.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { isAbortRequestText } from "../auto-reply/reply/abort-primitives.js";
22
import { emitAgentEvent } from "../infra/agent-events.js";
3-
import type { BufferedAgentEvent } from "./server-chat-state.js";
43

54
const DEFAULT_CHAT_RUN_ABORT_GRACE_MS = 60_000;
65

@@ -139,11 +138,6 @@ function normalizeProviderIdForActiveRun(providerId: string | undefined): string
139138
export type ChatAbortOps = {
140139
chatAbortControllers: Map<string, ChatAbortControllerEntry>;
141140
chatRunBuffers: Map<string, string>;
142-
chatDeltaSentAt: Map<string, number>;
143-
chatDeltaLastBroadcastLen: Map<string, number>;
144-
chatDeltaLastBroadcastText: Map<string, string>;
145-
agentDeltaSentAt: Map<string, number>;
146-
bufferedAgentEvents: Map<string, BufferedAgentEvent>;
147141
chatAbortedRuns: Map<string, number>;
148142
clearChatRunState: (runId: string) => void;
149143
removeChatRun: (

src/gateway/server-close.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,6 @@ function abortActiveRunsForRestart(params: {
180180
{
181181
chatAbortControllers: params.chatAbortControllers,
182182
chatRunBuffers: params.chatRunState.buffers,
183-
chatDeltaSentAt: params.chatRunState.deltaSentAt,
184-
chatDeltaLastBroadcastLen: params.chatRunState.deltaLastBroadcastLen,
185-
chatDeltaLastBroadcastText: params.chatRunState.deltaLastBroadcastText,
186-
agentDeltaSentAt: params.chatRunState.agentDeltaSentAt,
187-
bufferedAgentEvents: params.chatRunState.bufferedAgentEvents,
188183
chatAbortedRuns: params.chatRunState.abortedRuns,
189184
clearChatRunState: params.chatRunState.clearRun,
190185
removeChatRun: params.removeChatRun,

src/gateway/server-maintenance.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,6 @@ export function startGatewayMaintenanceTimers(params: {
190190
{
191191
chatAbortControllers: params.chatAbortControllers,
192192
chatRunBuffers: params.chatRunBuffers,
193-
chatDeltaSentAt: params.chatDeltaSentAt,
194-
chatDeltaLastBroadcastLen: params.chatDeltaLastBroadcastLen,
195-
chatDeltaLastBroadcastText: params.chatRunState.deltaLastBroadcastText,
196-
agentDeltaSentAt: params.chatRunState.agentDeltaSentAt,
197-
bufferedAgentEvents: params.chatRunState.bufferedAgentEvents,
198193
chatAbortedRuns: params.chatRunState.abortedRuns,
199194
clearChatRunState: params.chatRunState.clearRun,
200195
removeChatRun: params.removeChatRun,

src/gateway/server-methods/chat.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1607,11 +1607,6 @@ function createChatAbortOps(context: GatewayRequestContext): ChatAbortOps {
16071607
return {
16081608
chatAbortControllers: context.chatAbortControllers,
16091609
chatRunBuffers: context.chatRunBuffers,
1610-
chatDeltaSentAt: context.chatDeltaSentAt,
1611-
chatDeltaLastBroadcastLen: context.chatDeltaLastBroadcastLen,
1612-
chatDeltaLastBroadcastText: context.chatDeltaLastBroadcastText,
1613-
agentDeltaSentAt: context.agentDeltaSentAt,
1614-
bufferedAgentEvents: context.bufferedAgentEvents,
16151610
chatAbortedRuns: context.chatAbortedRuns,
16161611
clearChatRunState: context.clearChatRunState,
16171612
removeChatRun: context.removeChatRun,

src/gateway/server-methods/models-auth-status.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,6 @@ function createAuthLogoutAbortOps(context: GatewayRequestContext): ChatAbortOps
114114
return {
115115
chatAbortControllers: context.chatAbortControllers,
116116
chatRunBuffers: context.chatRunBuffers,
117-
chatDeltaSentAt: context.chatDeltaSentAt,
118-
chatDeltaLastBroadcastLen: context.chatDeltaLastBroadcastLen,
119-
chatDeltaLastBroadcastText: context.chatDeltaLastBroadcastText,
120-
agentDeltaSentAt: context.agentDeltaSentAt,
121-
bufferedAgentEvents: context.bufferedAgentEvents,
122117
chatAbortedRuns: context.chatAbortedRuns,
123118
clearChatRunState: context.clearChatRunState,
124119
removeChatRun: context.removeChatRun,

0 commit comments

Comments
 (0)