test(gateway): consolidate agent event fixtures (#112878)

This commit is contained in:
Peter Steinberger
2026-07-23 01:47:11 -04:00
committed by GitHub
parent 7381924c44
commit 68046b2011
2 changed files with 993 additions and 1781 deletions

View File

@@ -0,0 +1,58 @@
import type { AgentEventPayload, AgentEventStream } from "../infra/agent-events.js";
import type { ChatRunRegistration, ChatRunState } from "./server-chat-state.js";
type AgentEventHandler = (event: AgentEventPayload) => void;
type AgentEventOverrideKey =
| "agentId"
| "lifecycleGeneration"
| "seq"
| "sessionId"
| "sessionKey"
| "ts";
type AgentEventOverrides = {
[Key in AgentEventOverrideKey]?: AgentEventPayload[Key] | undefined;
};
type AgentEventCase = readonly [
stream: AgentEventStream,
data: Record<string, unknown>,
overrides?: AgentEventOverrides,
];
export function emitAgentEvent(
handler: AgentEventHandler,
runId: string,
stream: AgentEventStream,
data: Record<string, unknown>,
overrides: AgentEventOverrides = {},
) {
handler({ runId, seq: 1, stream, ts: Date.now(), data, ...overrides });
}
export function emitAgentEvents(
handler: AgentEventHandler,
runId: string,
events: readonly AgentEventCase[],
) {
events.forEach(([stream, data, overrides], index) =>
emitAgentEvent(handler, runId, stream, data, { seq: index + 1, ...overrides }),
);
}
export function registerChatRun(
state: ChatRunState,
runId: string,
sessionKey: string,
clientRunId: string,
overrides: Omit<ChatRunRegistration, "clientRunId" | "sessionKey"> = {},
) {
state.registry.add(runId, { sessionKey, clientRunId, ...overrides });
}
export function registerNamedChatRun(
state: ChatRunState,
name: string,
overrides: Omit<ChatRunRegistration, "clientRunId" | "sessionKey"> = {},
) {
registerChatRun(state, `run-${name}`, `session-${name}`, `client-${name}`, overrides);
}

File diff suppressed because it is too large Load Diff